using NI6528 datasource

This commit is contained in:
Martino Ferrari
2026-01-28 15:13:26 +01:00
parent 452ee198d1
commit 41fb7bc3b2
11 changed files with 1017 additions and 896 deletions

View File

@@ -1431,23 +1431,30 @@
OutputSignals = { OutputSignals = {
PREP_TIME_WF = { PREP_TIME_WF = {
DataSource = DDB1 DataSource = DDB1
Type = uint32
} }
MHVPS_PREP_WF = { MHVPS_PREP_WF = {
DataSource = DDB1 DataSource = DDB1
Type = float32
} }
BPS_PREP_WF = { BPS_PREP_WF = {
DataSource = DDB1 DataSource = DDB1
Type = float32
} }
APS_PREP_WF = { APS_PREP_WF = {
DataSource = DDB1 DataSource = DDB1
Type = float32
} }
MCPS_PREP_WF = { MCPS_PREP_WF = {
Type = float32
DataSource = DDB1 DataSource = DDB1
} }
GCPS_PREP_WF = { GCPS_PREP_WF = {
Type = float32
DataSource = DDB1 DataSource = DDB1
} }
FHPS_PREP_WF = { FHPS_PREP_WF = {
Type = float32
DataSource = DDB1 DataSource = DDB1
} }
} }

View File

@@ -16,7 +16,7 @@
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = { FastTimerGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM } Functions = { FastTimerGAM NI6528_0_ReaderGAM NI6528_0_WriterGAM }
CPUs = 0x400 CPUs = 0x400
} }
} }
@@ -37,7 +37,7 @@
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = { FastTimerGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM } Functions = { FastTimerGAM NI6528_0_ReaderGAM NI6528_0_WriterGAM}
CPUs = 0x400 CPUs = 0x400
} }
} }
@@ -58,7 +58,7 @@
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = { FastTimerGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM } Functions = { FastTimerGAM NI6528_0_ReaderGAM NI6528_0_WriterGAM}
CPUs = 0x400 CPUs = 0x400
} }
} }
@@ -79,7 +79,7 @@
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = { FastTimerGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM } Functions = { FastTimerGAM NI6528_0_ReaderGAM NI6528_0_WriterGAM}
CPUs = 0x400 CPUs = 0x400
} }
} }
@@ -101,7 +101,7 @@
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = { FastTimerGAM FastEpicsInputGAM FastStopRequestGAM ModeLimitGAM NI6528P3GAM NI6528P4GAM GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM } Functions = { FastTimerGAM NI6528_0_ReaderGAM FastEpicsInputGAM FastStopRequestGAM ModeLimitGAM GAMRealTimeStateMachine NI6528_0_WriterGAM}
CPUs = 0x400 CPUs = 0x400
} }
} }
@@ -122,7 +122,7 @@
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = { FastTimerGAM FastEpicsInputGAM FastStopRequestGAM ModeLimitGAM NI6528P3GAM NI6528P4GAM GAMSDNRealTimeStateMachine TerminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM } Functions = { FastTimerGAM NI6528_0_ReaderGAM FastEpicsInputGAM FastStopRequestGAM ModeLimitGAM GAMSDNRealTimeStateMachine NI6528_0_WriterGAM}
CPUs = 0x400 CPUs = 0x400
} }
} }
@@ -143,7 +143,7 @@
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = { FastTimerGAM FastEpicsInputGAM FastStopRequestGAM ModeLimitGAM NI6528P3GAM NI6528P4GAM GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM } Functions = { FastTimerGAM NI6528_0_ReaderGAM FastEpicsInputGAM FastStopRequestGAM ModeLimitGAM GAMRealTimeStateMachine NI6528_0_WriterGAM }
CPUs = 0x400 CPUs = 0x400
} }
} }
@@ -164,7 +164,7 @@
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = { FastTimerGAM FastEpicsInputGAM FastStopRequestGAM ModeLimitGAM NI6528P3GAM NI6528P4GAM GAMSDNRealTimeStateMachine TerminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM } Functions = { FastTimerGAM NI6528_0_ReaderGAM FastEpicsInputGAM FastStopRequestGAM ModeLimitGAM GAMSDNRealTimeStateMachine }
CPUs = 0x400 CPUs = 0x400
} }
} }
@@ -187,7 +187,7 @@
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = { FastTimerGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM } Functions = { FastTimerGAM NI6528_0_ReaderGAM NI6528_0_WriterGAM}
CPUs = 0x400 CPUs = 0x400
} }
} }

View File

@@ -6,6 +6,12 @@
PXI_FAULT = { PXI_FAULT = {
Type = uint32 Type = uint32
} }
PXI6528_Status = {
Type = uint32
}
PXI6259_Status = {
Type = uint32
}
PCF_FLT_6259 = { PCF_FLT_6259 = {
Type = uint32 Type = uint32
} }
@@ -15,60 +21,320 @@
PCF_FLT_6368_ERRNO_03 = { PCF_FLT_6368_ERRNO_03 = {
Type = uint32 Type = uint32
} }
GYA_APS_FLT = {
Type = uint8
}
GYA_BPS_FLT = {
Type = uint8
}
MHVPS_OV = {
Type = uint8
}
MHVPS_OC = {
Type = uint8
}
MHVPS_FLT = {
Type = uint8
}
PLC_ITL = {
Type = uint8
}
PLC_STANDBY = {
Type = uint8
}
PLC_READY = {
Type = uint8
}
PLC_PERMIT = {
Type = uint8
}
PLC_SYNCMODE = {
Type = uint8
}
APS_HVON = {
Type = uint8
}
APS_SWON = {
Type = uint8
}
BPS_HVON = {
Type = uint8
}
BPS_SWON = {
Type = uint8
}
MHVPS_HVON = {
Type = uint8
}
}
}
+DDB3 = {
Signals = {
//! unused: To be udpdated
PXI6528_Status = {
// PXI 6528 Board Status
Type = uint32
}
//# DI.0
GYA_APS_READY = {
Type = uint8
}
//# DI.1
GYA_APS_FLT = {
Type = uint8
}
//# DI.2
GYA_BPS_READY = {
Type = uint8
}
//# DI.3
GYA_BPS_FLT = {
Type = uint8
}
//# DI.4
MHVPS_OV = {
Type = uint8
}
//# DI.5
MHVPS_OC = {
Type = uint8
}
//# DI.6
MHVPS_FLT = {
Type = uint8
}
//# DI.7
MHVPS_READY = {
Type = uint8
}
//# DI.8
ECPC_MOD = {
Type = uint8
}
//# DI.9
FAST_TRIP = {
Type = uint8
}
//# DI.14
PLC_ITL = {
Type = uint8
}
//# DI.15
PLC_STANDBY = {
Type = uint8
}
//# DI.16
PLC_READY = {
Type = uint8
}
//# DI.17
PLC_ON = {
Type = uint8
}
//# DI.18
PLC_PERMIT = {
Type = uint8
}
//# DI.19
PLC_OP_SELECTED = {
Type = uint8
}
//# DI.20
PLC_CC_OP_SELECTED = {
Type = uint8
}
//# DI.21
PLC_SYNCMODE = {
Type = uint8
}
//# DI.21
TRIGGER = {
Type = uint8
}
//# DO.0
APS_HVON = {
Type = uint8
}
//# DO.1
APS_SWON = {
Type = uint8
}
//# DO.2
APS_STOP = {
Type = uint8
}
//# DO.3
BPS_HVON = {
Type = uint8
}
//# DO.4
BPS_SWON = {
Type = uint8
}
//# DO.5
BPS_STOP = {
Type = uint8
}
//# DO.6
BEAM_ON_STAT = {
Type = uint8
}
//# DO.7 PCF -> CRIO
DO_REV5 = {
Type = uint8
}
//# DO.8 PCF -> CRIO (PROTECTION PAUSE SIGNAL)
DO_REV6 = {
Type = uint8
}
//# DO.9 PCF -> CRIO
DO_REV7 = {
Type = uint8
}
//# DO.10 PCF -> CRIO
DO_REV8 = {
Type = uint8
}
//# DO.11
MHVPS_HVON = {
Type = uint8
}
//# DO.12
MHVPS_STOP = {
Type = uint8
}
//# DO.13
MHVPS_MODSW = {
Type = uint8
}
//# DO.14
PCF_FLT = {
Type = uint8
}
//# DO.15
HVARMED = {
Type = uint8
}
//# DO.16
HVINJECTION = {
Type = uint8
}
//# DO.17
RFON = {
Type = uint8
}
//# DO.18
FHPS_RU = {
Type = uint8
}
//# DO.19
SCM_RU = {
Type = uint8
}
//# DO.20
SCM_RD = {
Type = uint8
}
//# DO.21
CCPS_IN_OPERATION = {
Type = uint8
}
//# DO.22
PXI_FLT = {
Type = uint8
}
//# Internal Fast Stop signal
FAST_STOP = {
Type = uint8
}
//# Computed Shot length flag
MODE_SHOTLEN_FLAG = {
Type = uint32
}
//# TODO: Document signal
RTSMValue = {
Type = uint32
}
} }
} }
//# PXI NI6528 Digital input datasource //# PXI NI6528 Digital input datasource
//# TODO: configure it //# TODO: configure it
+NI6528_DI = { +NI6528_0_DIO = {
Class = GAMDataSource // TODO Change Class = NI6528
DeviceName = "/dev/pxi6528"
BoardId = 0 // TODO: check if not 1
Signals = { Signals = {
//# PXI 6528 Board Status //# P0.0 I.00 APS A Ready
PXI6528_Status = { //# P0.1 I.01 APS A Fault
Type = uint32 //# P0.2 I.02 BPS A Ready
//# P0.3 I.03 BPS A Fault
//# P0.4 I.04 MHVPS Over volage
//# P0.5 I.05 MHVPS Over current
//# P0.6 I.06 MHVPS Trip
//# P0.7 I.07 MHVPS Ready
DI0 = {
Type = uint8
PortId = 0
} }
//# DI.1 //# P1.0 I.08 ECPC Modulation
GYA_APS_FLT = { //# P1.1 I.09 Fast Protection Trip
Type = uint32 //# P1.2 I.10
//# P1.3 I.11
//# P1.4 I.12
//# P1.5 I.13
//# P1.6 I.14 LV1 Alarm
//# P1.7 I.15 PLC STANDBY
DI1 = {
Type = uint8
PortId = 1
} }
//# DI.3 //# P2.0 I.16 PLC READY
GYA_BPS_FLT = { //# P2.1 I.17 PLC ON
Type = uint32 //# P2.2 I.18 PLC Gyrotron A Operation permitted
//# P2.3 I.19 Gyrotron A Operation Selected
//# P2.4 I.20 Gyrotron A Collector Coil Operation
//# P2.5 I.21 Sync Mode Selected
//# P2.6 I.22 Trigger
//# P2.7 I.23
DI2 = {
Type = uint8
PortId = 2
} }
//# DI.4 //# P3.0 O.00 APS_HVON
MHVPS_OV = { //# P3.1 O.01 APS_SWON
Type = uint32 //# P3.2 O.02 APS_Shutdown
//# P3.3 O.03 BPS_HVON
//# P3.4 O.04 BPS_SWON
//# P3.5 O.05 BPS_Shutdown
//# P3.6 O.06 GY1_Beam_ON_status
//# P3.7 O.07 RV5 _cRIO
DO3 = {
Type = uint8
PortId = 3
} }
//# DI.5 //# P4.0 O.08 RV6 _cRIO
MHVPS_OC = { //# P4.1 O.09 RV7 _cRIO
Type = uint32 //# P4.2 O.10 RV8 _cRIO
//# P4.3 O.11 MHVPS_HVON
//# P4.4 O.12 MHVPS_Shutdown
//# P4.5 O.13 MHVPS_MOD
//# P4.6 O.14 PCF_FLT
//# P4.7 O.15 HVArmed
DO4 = {
Type = uint8
PortId = 4
} }
//# DI.6 //# P5.0 O.16 HVInjection
MHVPS_FLT = { //# P5.1 O.17 RFON
Type = uint32 //# P5.2 O.18 FHPS_Rampup_complete
} //# P5.3 O.19 SCM_RU_Complete
//# DI.9 or DI.14 //# P5.4 O.20 SCM_RD_Complete
PLC_ITL = { //# P5.5 O.21 CCPS_IN_OPERATION
Type = uint32 //# P5.6 O.22 PXI_FLT
} //# P5.7 O.23
//# DI.15 DO5 = {
PLC_STANDBY = { Type = uint8
Type = uint32 PortId = 5
}
//# DI.16
PLC_READY = {
Type = uint32
}
//# DI.21
PLC_SYNCMODE = {
Type = uint32
}
//# DI.18
PLC_PERMIT = {
Type = uint32
}
//# DI.17
PLC_ON = {
Type = uint32
} }
} }
} }
@@ -87,62 +353,6 @@
} }
} }
} }
//# NI6528 digital output has logic low == 0 == close relay. ((See Driver Manual.)
//# When the program send ON signal, this program writes 0 on the data source.
//# P3.0 APS_HVON
//# P3.1 APS_SWON
//# P3.2 APS_Shutdown
//# P3.3 BPS_HVON
//# P3.4 BPS_SWON
//# P3.5 BPS_Shutdown
//# P3.6 GY1_Beam_ON_status
//# P3.7 RV5 _cRIO
+NI6528_DO_P3 = {
Class = NI6528
DeviceName = "/dev/pxi6528.1"
Port = 3
Signals = {
NI6528P3Value = {
Type = uint8
}
}
}
//# P4.0 RV6 _cRIO
//# P4.1 RV7 _cRIO
//# P4.2 RV8 _cRIO
//# P4.3 MHVPS_HVON
//# P4.4 MHVPS_Shutdown
//# P4.5 MHVPS_MOD
//# P4.6 PCF_FLT
//# P4.7 HVArmed
+NI6528_DO_P4 = {
Class = NI6528
DeviceName = "/dev/pxi6528.1"
Port = 4
Signals = {
NI6528P4Value = {
Type = uint8
}
}
}
//# P5.0 HVInjection
//# P5.1 RFON
//# P5.2 FHPS_Rampup_complete
//# P5.3 SCM_RU_Complete
//# P5.4 SCM_RD_Complete
//# P5.5 CCPS_IN_OPERATION
//# P5.6 None
//# P5.7 None
+NI6528_DO_P5 = {
Class = NI6528
DeviceName = "/dev/pxi6528.1"
Port = 5
Signals = {
NI6528P5Value = {
Type = uint8
}
}
}
+NI6259_AO = { +NI6259_AO = {
Class = GAMDataSource Class = GAMDataSource
Signals = { Signals = {

View File

@@ -10,10 +10,10 @@
InputSignals = { InputSignals = {
// Conditional signals // Conditional signals
PXI6259_Status = { PXI6259_Status = {
DataSource = NI6259_AI DataSource = DDB1
} }
PXI6528_Status = { PXI6528_Status = {
DataSource = NI6528_DI DataSource = DDB1
} }
} }
OutputSignals = { OutputSignals = {

View File

@@ -18,7 +18,7 @@
} }
PLCSTANDBY = { PLCSTANDBY = {
Alias = PLC_STANDBY Alias = PLC_STANDBY
DataSource = NI6528_DI DataSource = DDB1
} }
} }
OutputSignals = { OutputSignals = {
@@ -188,7 +188,7 @@
} }
PLC_STANDBY = { PLC_STANDBY = {
Alias = PLC_STANDBY Alias = PLC_STANDBY
DataSource = NI6528_DI DataSource = NI6528_0_DIO
Type = uint32 Type = uint32
} }
MANUAL_AUTO = { MANUAL_AUTO = {

View File

@@ -35,23 +35,23 @@
Operation = OR Operation = OR
InputSignals = { InputSignals = {
GYA_APS_FLT = { GYA_APS_FLT = {
DataSource = NI6528_DI DataSource = DDB1
ExpectedValue = 1 ExpectedValue = 1
} }
GYA_BPS_FLT = { GYA_BPS_FLT = {
DataSource = NI6528_DI DataSource = DDB1
ExpectedValue = 1 ExpectedValue = 1
} }
MHVPS_OV = { MHVPS_OV = {
DataSource = NI6528_DI DataSource = DDB1
ExpectedValue = 1 ExpectedValue = 1
} }
MHVPS_OC = { MHVPS_OC = {
DataSource = NI6528_DI DataSource = DDB1
ExpectedValue = 1 ExpectedValue = 1
} }
MHVPS_FLT = { MHVPS_FLT = {
DataSource = NI6528_DI DataSource = DDB1
ExpectedValue = 1 ExpectedValue = 1
} }
MIS_ITL = { MIS_ITL = {
@@ -59,7 +59,7 @@
ExpectedValue = 1 ExpectedValue = 1
} }
PLC_ITL = { PLC_ITL = {
DataSource = NI6528_DI DataSource = DDB1
ExpectedValue = 1 ExpectedValue = 1
} }
} }
@@ -79,23 +79,23 @@
ExpectedValue = 1 ExpectedValue = 1
} }
GYA_APS_FLT = { GYA_APS_FLT = {
DataSource = NI6528_DI DataSource = DDB1
ExpectedValue = 0 ExpectedValue = 0
} }
GYA_BPS_FLT = { GYA_BPS_FLT = {
DataSource = NI6528_DI DataSource = DDB1
ExpectedValue = 0 ExpectedValue = 0
} }
MHVPS_OV = { MHVPS_OV = {
DataSource = NI6528_DI DataSource = DDB1
ExpectedValue = 0 ExpectedValue = 0
} }
MHVPS_OC = { MHVPS_OC = {
DataSource = NI6528_DI DataSource = DDB1
ExpectedValue = 0 ExpectedValue = 0
} }
MHVPS_FLT = { MHVPS_FLT = {
DataSource = NI6528_DI DataSource = DDB1
ExpectedValue = 0 ExpectedValue = 0
} }
MIS_ITL = { MIS_ITL = {
@@ -103,7 +103,7 @@
ExpectedValue = 0 ExpectedValue = 0
} }
PLC_ITL = { PLC_ITL = {
DataSource = NI6528_DI DataSource = DDB1
ExpectedValue = 0 ExpectedValue = 0
} }
} }
@@ -201,8 +201,7 @@
Value = 1 Value = 1
} }
PLC_READY = { PLC_READY = {
DataSource = NI6528_DI DataSource = DDB1
Type = uint32
Comparator = "EQUALS" Comparator = "EQUALS"
Value = 1 Value = 1
} }
@@ -218,8 +217,7 @@
Operation = "AND" Operation = "AND"
InputSignals = { InputSignals = {
PLC_STANDBY = { PLC_STANDBY = {
DataSource = NI6528_DI DataSource = DDB1
Type = uint32
Value = 0 Value = 0
Comparator = "EQUALS" Comparator = "EQUALS"
} }
@@ -236,13 +234,11 @@
Operation = OR Operation = OR
InputSignals = { InputSignals = {
PLC_STANDBY = { PLC_STANDBY = {
DataSource = NI6528_DI DataSource = DDB1
Comparator = "EQUALS"
Value = 0 Value = 0
} }
PLC_READY = { PLC_READY = {
DataSource = NI6528_DI DataSource = DDB1
Comparator = "EQUALS"
Value = 0 Value = 0
} }
} }
@@ -257,7 +253,7 @@
Operation = AND Operation = AND
InputSignals = { InputSignals = {
PLC_SYNCMODE = { PLC_SYNCMODE = {
DataSource = NI6528_DI DataSource = DDB1
Operator = "EQUALS" Operator = "EQUALS"
Value = 0 Value = 0
} }
@@ -267,8 +263,7 @@
Value = 0 Value = 0
} }
PLC_PERMIT = { PLC_PERMIT = {
DataSource = NI6528_DI DataSource = DDB1
Operator = "EQUALS"
Value = 1 Value = 1
} }
} }
@@ -283,8 +278,7 @@
Operation = AND Operation = AND
InputSignals = { InputSignals = {
PLC_SYNCMODE = { PLC_SYNCMODE = {
DataSource = NI6528_DI DataSource = DDB1
Operator = "EQUALS"
Value = 0 Value = 0
} }
PREP_MODE = { PREP_MODE = {
@@ -293,8 +287,7 @@
Value = 1 Value = 1
} }
PLC_PERMIT = { PLC_PERMIT = {
DataSource = NI6528_DI DataSource = DDB1
Operator = "EQUALS"
Value = 1 Value = 1
} }
} }
@@ -309,8 +302,7 @@
Operation = AND Operation = AND
InputSignals = { InputSignals = {
PLC_SYNCMODE = { PLC_SYNCMODE = {
DataSource = NI6528_DI DataSource = DDB1
Operator = "EQUALS"
Value = 1 Value = 1
} }
PREP_MODE = { PREP_MODE = {
@@ -319,8 +311,7 @@
Value = 0 Value = 0
} }
PLC_PERMIT = { PLC_PERMIT = {
DataSource = NI6528_DI DataSource = DDB1
Operator = "EQUALS"
Value = 1 Value = 1
} }
} }
@@ -335,8 +326,7 @@
Operation = AND Operation = AND
InputSignals = { InputSignals = {
PLC_SYNCMODE = { PLC_SYNCMODE = {
DataSource = NI6528_DI DataSource = DDB1
Operator = "EQUALS"
Value = 1 Value = 1
} }
PREP_MODE = { PREP_MODE = {
@@ -345,8 +335,7 @@
Value = 1 Value = 1
} }
PLC_PERMIT = { PLC_PERMIT = {
DataSource = NI6528_DI DataSource = DDB1
Operator = "EQUALS"
Value = 1 Value = 1
} }
} }
@@ -362,8 +351,7 @@
Operation = AND Operation = AND
InputSignals = { InputSignals = {
PLC_READY = { PLC_READY = {
DataSource = NI6528_DI DataSource = DDB1
Comparator = EQUALS
Value = 0 Value = 0
} }
} }
@@ -379,37 +367,31 @@
Operation = AND Operation = AND
InputSignals = { InputSignals = {
PLC_PERMIT = { PLC_PERMIT = {
DataSource = NI6528_DI DataSource = DDB1
Comparator = EQUALS
Value = 0 Value = 0
} }
APS_HVON = { APS_HVON = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB1
Type = uint32
Comparator = EQUALS Comparator = EQUALS
Value = 0 Value = 0
} }
BPS_HVON = { BPS_HVON = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB1
Type = uint32
Comparator = EQUALS Comparator = EQUALS
Value = 0 Value = 0
} }
MHVPS_HVON = { MHVPS_HVON = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB1
Type = uint32
Comparator = EQUALS Comparator = EQUALS
Value = 0 Value = 0
} }
BPS_SWON = { BPS_SWON = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB1
Type = uint32
Comparator = EQUALS Comparator = EQUALS
Value = 0 Value = 0
} }
APS_SWON = { APS_SWON = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB1
Type = uint32
Comparator = EQUALS Comparator = EQUALS
Value = 0 Value = 0
} }

View File

@@ -30,9 +30,6 @@
DataSource = EPICSCAInput DataSource = EPICSCAInput
Type = uint32 Type = uint32
} }
PLC_ON = {
DataSource = NI6528_DI
}
} }
OutputSignals = { OutputSignals = {
MHVPS_DT = { MHVPS_DT = {
@@ -59,10 +56,6 @@
DataSource = DDB3 DataSource = DDB3
Type = uint32 Type = uint32
} }
PLC_ON = {
DataSource = DDB3
Type = uint32
}
} }
} }
} }

View File

@@ -5,28 +5,27 @@
Operation = OR Operation = OR
InputSignals = { InputSignals = {
GYA_APS_FLT = { GYA_APS_FLT = {
DataSource = NI6528_DI DataSource = DDB3
Type = uint32
Comparators = EQUALS Comparators = EQUALS
Value = 1 Value = 1
} }
GYA_BPS_FLT = { GYA_BPS_FLT = {
DataSource = NI6528_DI DataSource = DDB3
Comparators = EQUALS Comparators = EQUALS
Value = 1 Value = 1
} }
MHVPS_OV = { MHVPS_OV = {
DataSource = NI6528_DI DataSource = DDB3
Comparators = EQUALS Comparators = EQUALS
Value = 1 Value = 1
} }
MHVPS_OC = { MHVPS_OC = {
DataSource = NI6528_DI DataSource = DDB3
Comparators = EQUALS Comparators = EQUALS
Value = 1 Value = 1
} }
MHVPS_FLT = { MHVPS_FLT = {
DataSource = NI6528_DI DataSource = DDB3
Comparators = EQUALS Comparators = EQUALS
Value = 1 Value = 1
} }
@@ -37,15 +36,14 @@
Value = 1 Value = 1
} }
PLC_ITL = { PLC_ITL = {
DataSource = NI6528_DI DataSource = DDB3
Comparators = EQUALS Comparators = EQUALS
Value = 1 Value = 1
} }
} }
OutputSignals = { OutputSignals = {
StopRequest = { FAST_STOP = {
DataSource = DDB3 DataSource = DDB3
Type = uint32
Default = 0 Default = 0
Value = 1 Value = 1
} }
@@ -92,7 +90,6 @@
OutputSignals = { OutputSignals = {
MODE_SHOTLEN_FLAG = { MODE_SHOTLEN_FLAG = {
DataSource = DDB3 DataSource = DDB3
Type = uint32
} }
} }
} }

View File

@@ -1,276 +1,232 @@
#package jada_gyro.RTApp.Functions #package jada_gyro.RTApp.Functions
+NI6528_0_ReaderGAM = {
Class = NI6528ReaderGAM
InputSignals = {
DI0 = {
DataSource = NI6528_0_DIO
}
DI1 = {
DataSource = NI6528_0_DIO
}
DI2 = {
DataSource = NI6528_0_DIO
}
}
OutputSignals = {
GYA_APS_READY = {
DataSource = DDB3
}
GYA_APS_FLT = {
DataSource = DDB3
}
GYA_BPS_READY = {
DataSource = DDB3
}
GYA_BPS_FLT = {
DataSource = DDB3
}
MHVPS_OV = {
DataSource = DDB3
}
MHVPS_OC = {
DataSource = DDB3
}
MHVPS_FLT = {
DataSource = DDB3
}
MHVPS_READY = {
DataSource = DDB3
}
ECPC_MOD = {
DataSource = DDB3
}
FAST_TRIP = {
DataSource = DDB3
}
//! implicit: placeholder for spare
NONE_DI10 = {
DataSource = DDB3
Type = uint8
}
//! implicit: placeholder for spare
NONE_DI11 = {
DataSource = DDB3
Type = uint8
}
//! implicit: placeholder for spare
NONE_DI12 = {
DataSource = DDB3
Type = uint8
}
//! implicit: placeholder for spare
NONE_DI13 = {
DataSource = DDB3
Type = uint8
}
PLC_ITL = {
DataSource = DDB3
}
PLC_STANDBY = {
DataSource = DDB3
}
PLC_READY = {
DataSource = DDB3
}
PLC_ON = {
DataSource = DDB3
}
PLC_PERMIT = {
DataSource = DDB3
}
PLC_OP_SELECTED = {
DataSource = DDB3
}
PLC_CC_OP_SELECTED = {
DataSource = DDB3
}
PLC_SYNCMODE = {
DataSource = DDB3
}
TRIGGER = {
DataSource = DDB3
}
}
}
// Digital Output port access. // Digital Output port access.
// EPICS PV to one uint8 variable // EPICS PV to one uint8 variable
+NI6528P3GAM = { +NI6528_0_WriterGAM = {
Class = JABitSumGAM Class = NI6528WriterGAM
InputSignals = { InputSignals = {
APS_HVON = { APS_HVON = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
APS_SWON = { APS_SWON = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
APS_STOP = { APS_STOP = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
BPS_HVON = { BPS_HVON = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
BPS_SWON = { BPS_SWON = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
BPS_STOP = { BPS_STOP = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
BEAM_ON_STAT = { BEAM_ON_STAT = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
DO_REV5 = { DO_REV5 = {
DataSource = EPICSCAInput
Type = uint32
}
}
OutputSignals = {
NI6528P3CurrentValue = {
DataSource = DDB3 DataSource = DDB3
Type = uint8
} }
}
}
+NI6528P4GAM = {
Class = JABitSumGAM
InputSignals = {
DO_REV6 = { DO_REV6 = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
DO_REV7 = { DO_REV7 = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
DO_REV8 = { DO_REV8 = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
MHVPS_HVON = { MHVPS_HVON = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
MHVPS_STOP = { MHVPS_STOP = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
MHVPS_MODSW = { MHVPS_MODSW = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
PCF_FLT = { PCF_FLT = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
HVARMED = { HVARMED = {
DataSource = EPICSCAInput
Type = uint32
}
}
OutputSignals = {
NI6528P4CurrentValue = {
DataSource = DDB3 DataSource = DDB3
Type = uint8
} }
}
}
+NI6528P5GAM = {
Class = JABitSumGAM
InputSignals = {
HVINJECTION = { HVINJECTION = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
RFON = { RFON = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
FHPS_RU = { FHPS_RU = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
SCM_RU = { SCM_RU = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
SCM_RD = { SCM_RD = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
CCPS_IN_OPERATION = { CCPS_IN_OPERATION = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
PXI_FLT = { PXI_FLT = {
DataSource = DDB3 DataSource = DDB3
Type = uint32
} }
NONE2 = { //! implicit: Placeholder for spare output
NONE_DO23 = {
DataSource = DDB3 DataSource = DDB3
Type = uint32 Type = uint8
Default = 0 Default = 0
} }
} }
OutputSignals = { OutputSignals = {
NI6528P5CurrentValue = { DO3 = {
DataSource = DDB3 DataSource = NI6528_0_DIO
Type = uint8 }
} DO4 = {
} DataSource = NI6528_0_DIO
} }
// reversed uint8 variable (value to write on port.) DO5 = {
+NI6528P3PV2PortGAM = { DataSource = NI6528_0_DIO
Class = JABitReverseGAM
InputSignals = {
NI6528P3CurrentValue = {
DataSource = DDB3
Type = uint8
}
}
OutputSignals = {
NI6528P3PortValue = {
DataSource = DDB3
Type = uint8
}
}
}
+NI6528P4PV2PortGAM = {
Class = JABitReverseGAM
InputSignals = {
NI6528P4CurrentValue = {
DataSource = DDB3
Type = uint8
}
}
OutputSignals = {
NI6528P4PortValue = {
DataSource = DDB3
Type = uint8
}
}
}
+NI6528P5PV2PortGAM = {
Class = JABitReverseGAM
InputSignals = {
NI6528P5CurrentValue = {
DataSource = DDB3
Type = uint8
}
}
OutputSignals = {
NI6528P5Value = {
DataSource = NI6528_DO_P5
Type = uint8
}
}
}
// write a uint8 port value to PXI data source.
+NI6528P3WriteGAM = {
Class = IOGAM
InputSignals = {
NI6528P3PortValue = {
DataSource = DDB3
Type = uint8
}
}
OutputSignals = {
NI6528P3Value = {
DataSource = NI6528_DO_P3
Type = uint8
}
}
}
+NI6528P4WriteGAM = {
Class = IOGAM
InputSignals = {
NI6528P4PortValue = {
DataSource = DDB3
Type = uint8
}
}
OutputSignals = {
NI6528P4Value = {
DataSource = NI6528_DO_P4
Type = uint8
}
}
}
//# INPUTs: StateMahine Value, NI6528P3Value and NI6528P4Value
//# OUTPUTs: Each NIxxx data sources.
//# TODO: name is very ambiguos
+TerminalInterfaceGAM = {
Class = JATerminalInterfaceGAM
mhvps_hvon_term = 4
aps_hvon_term = 1
aps_swon_term = 16
bps_hvon_term = 2
bps_swon_term = 8
InputSignals = {
MHVPS_HVON = {
DataSource = DDB3
Type = uint32
}
APS_HVON = {
DataSource = DDB3
Type = uint32
}
APS_SWON = {
DataSource = DDB3
Type = uint32
}
BPS_HVON = {
DataSource = DDB3
Type = uint32
}
BPS_SWON = {
DataSource = DDB3
Type = uint32
}
SHORT_PULSE_MODE = {
DataSource = EPICSCAInput
Type = uint32
}
// Input signals about HW terminal.
RTSMValue = {
DataSource = DDB3
Type = uint32
}
NI6528P3CurrentValue = {
DataSource = DDB3
Type = uint8
}
NI6528P4CurrentValue = {
DataSource = DDB3
Type = uint8
}
}
OutputSignals = {
NI6259Value = {
DataSource = NI6259_DIO_P0
Type = uint32
Trigger = 1
}
NI6528P3Value = {
DataSource = NI6528_DO_P3
Type = uint8
}
NI6528P4Value = {
DataSource = NI6528_DO_P4
Type = uint8
} }
} }
} }
// //# INPUTs: StateMahine Value, NI6528P3Value and NI6528P4Value
// //# OUTPUTs: Each NIxxx data sources.
// //# TODO: name is very ambiguos
// +TerminalInterfaceGAM = {
// Class = JATerminalInterfaceGAM
// mhvps_hvon_term = 4
// aps_hvon_term = 1
// aps_swon_term = 16
// bps_hvon_term = 2
// bps_swon_term = 8
// InputSignals = {
// MHVPS_HVON = {
// DataSource = DDB3
// }
// APS_HVON = {
// DataSource = DDB3
// }
// APS_SWON = {
// DataSource = DDB3
// }
// BPS_HVON = {
// DataSource = DDB3
// }
// BPS_SWON = {
// DataSource = DDB3
// }
// SHORT_PULSE_MODE = {
// DataSource = EPICSCAInput
// Type = uint32
// }
// // Input signals about HW terminal.
// RTSMValue = {
// DataSource = DDB3
// Type = uint32
// }
// }
// OutputSignals = {
// NI6259Value = {
// DataSource = NI6259_DIO_P0
// Type = uint32
// Trigger = 1
// }
// }
// }

View File

@@ -15,7 +15,6 @@
} }
PLC_ON = { PLC_ON = {
DataSource = DDB3 DataSource = DDB3
Type = uint32
} }
MHVPS_DT = { MHVPS_DT = {
DataSource = DDB3 DataSource = DDB3
@@ -41,26 +40,22 @@
DataSource = DDB3 DataSource = DDB3
Type = uint32 Type = uint32
} }
StopRequest = { FAST_STOP = {
DataSource = DDB3 DataSource = DDB3
Type = uint32
} }
MODE_SHOTLEN_FLAG = { MODE_SHOTLEN_FLAG = {
DataSource = DDB3 DataSource = DDB3
Type = uint32
} }
SHORT_PULSE_MODE = { SHORT_PULSE_MODE = {
DataSource = EPICSCAInput DataSource = EPICSCAInput
Type = uint32 Type = uint32
} }
MHVPS_MODSW = { MHVPS_MODSW = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
// Add 20210121 // Add 20210121
DO_REV6 = { DO_REV6 = {
DataSource = EPICSCAInput DataSource = DDB3
Type = uint32
} }
} }
@@ -71,66 +66,49 @@
Trigger = 1 Trigger = 1
} }
BEAM_ON_STAT = { BEAM_ON_STAT = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32
} }
HVARMED = { HVARMED = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32
} }
HVINJECTION = { HVINJECTION = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32
} }
RFON = { RFON = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32
} }
BeamONTime = { BeamONTime = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32 Type = uint32
} }
RFONTime = { RFONTime = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32 Type = uint32
} }
SHOT_ID = { SHOT_ID = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32 Type = uint32
} }
APS_HVON = { APS_HVON = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32
} }
APS_SWON = { APS_SWON = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32
} }
BPS_HVON = { BPS_HVON = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32
} }
BPS_SWON = { BPS_SWON = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32
} }
MHVPS_HVON = { MHVPS_HVON = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32
} }
NI6259Value = { NI6259Value = {
DataSource = NI6259_DIO_P0 DataSource = NI6259_DIO_P0
Type = uint32 Type = uint32
Trigger = 1 Trigger = 1
} }
NI6528P3Value = {
DataSource = NI6528_DO_P3
Type = uint8
}
NI6528P4Value = {
DataSource = NI6528_DO_P4
Type = uint8
}
} }
} }
+GAMSDNRealTimeStateMachine = { +GAMSDNRealTimeStateMachine = {
@@ -148,7 +126,6 @@
} }
PLC_ON = { PLC_ON = {
DataSource = DDB3 DataSource = DDB3
Type = uint32
} }
MHVPS_DT = { MHVPS_DT = {
DataSource = DDB3 DataSource = DDB3
@@ -174,13 +151,11 @@
DataSource = DDB3 DataSource = DDB3
Type = uint32 Type = uint32
} }
StopRequest = { FAST_STOP = {
DataSource = DDB3 DataSource = DDB3
Type = uint32
} }
MODE_SHOTLEN_FLAG = { MODE_SHOTLEN_FLAG = {
DataSource = DDB3 DataSource = DDB3
Type = uint32
} }
Command = { Command = {
DataSource = RealTimeThreadAsyncBridge DataSource = RealTimeThreadAsyncBridge
@@ -190,35 +165,31 @@
OutputSignals = { OutputSignals = {
RTSMValue = { RTSMValue = {
DataSource = DDB3 DataSource = DDB3
Type = uint32
Trigger = 1 Trigger = 1
} }
BeamON = { BeamON = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32 Type = uint32
} }
HVARMED = { HVARMED = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32
} }
HVINJECTION = { HVINJECTION = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32
} }
RFON = { RFON = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32
} }
BeamONTime = { BeamONTime = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32 Type = uint32
} }
RFONTime = { RFONTime = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32 Type = uint32
} }
SHOT_ID = { SHOT_ID = {
DataSource = RealTimeThreadAsyncBridge DataSource = DDB3
Type = uint32 Type = uint32
} }
} }