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 = {
PREP_TIME_WF = {
DataSource = DDB1
Type = uint32
}
MHVPS_PREP_WF = {
DataSource = DDB1
Type = float32
}
BPS_PREP_WF = {
DataSource = DDB1
Type = float32
}
APS_PREP_WF = {
DataSource = DDB1
Type = float32
}
MCPS_PREP_WF = {
Type = float32
DataSource = DDB1
}
GCPS_PREP_WF = {
Type = float32
DataSource = DDB1
}
FHPS_PREP_WF = {
Type = float32
DataSource = DDB1
}
}

View File

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

View File

@@ -6,6 +6,12 @@
PXI_FAULT = {
Type = uint32
}
PXI6528_Status = {
Type = uint32
}
PXI6259_Status = {
Type = uint32
}
PCF_FLT_6259 = {
Type = uint32
}
@@ -15,60 +21,320 @@
PCF_FLT_6368_ERRNO_03 = {
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
//# TODO: configure it
+NI6528_DI = {
Class = GAMDataSource // TODO Change
+NI6528_0_DIO = {
Class = NI6528
DeviceName = "/dev/pxi6528"
BoardId = 0 // TODO: check if not 1
Signals = {
//# PXI 6528 Board Status
PXI6528_Status = {
Type = uint32
//# P0.0 I.00 APS A Ready
//# P0.1 I.01 APS A Fault
//# 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
GYA_APS_FLT = {
Type = uint32
//# P1.0 I.08 ECPC Modulation
//# P1.1 I.09 Fast Protection Trip
//# 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
GYA_BPS_FLT = {
Type = uint32
//# P2.0 I.16 PLC READY
//# P2.1 I.17 PLC ON
//# 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
MHVPS_OV = {
Type = uint32
//# P3.0 O.00 APS_HVON
//# P3.1 O.01 APS_SWON
//# 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
MHVPS_OC = {
Type = uint32
//# P4.0 O.08 RV6 _cRIO
//# P4.1 O.09 RV7 _cRIO
//# 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
MHVPS_FLT = {
Type = uint32
}
//# DI.9 or DI.14
PLC_ITL = {
Type = uint32
}
//# DI.15
PLC_STANDBY = {
Type = uint32
}
//# DI.16
PLC_READY = {
Type = uint32
}
//# DI.21
PLC_SYNCMODE = {
Type = uint32
}
//# DI.18
PLC_PERMIT = {
Type = uint32
}
//# DI.17
PLC_ON = {
Type = uint32
//# P5.0 O.16 HVInjection
//# P5.1 O.17 RFON
//# P5.2 O.18 FHPS_Rampup_complete
//# P5.3 O.19 SCM_RU_Complete
//# P5.4 O.20 SCM_RD_Complete
//# P5.5 O.21 CCPS_IN_OPERATION
//# P5.6 O.22 PXI_FLT
//# P5.7 O.23
DO5 = {
Type = uint8
PortId = 5
}
}
}
@@ -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 = {
Class = GAMDataSource
Signals = {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,276 +1,232 @@
#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.
// EPICS PV to one uint8 variable
+NI6528P3GAM = {
Class = JABitSumGAM
+NI6528_0_WriterGAM = {
Class = NI6528WriterGAM
InputSignals = {
APS_HVON = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
APS_SWON = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
APS_STOP = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
BPS_HVON = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
BPS_SWON = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
BPS_STOP = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
BEAM_ON_STAT = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
DO_REV5 = {
DataSource = EPICSCAInput
Type = uint32
}
}
OutputSignals = {
NI6528P3CurrentValue = {
DataSource = DDB3
Type = uint8
}
}
}
+NI6528P4GAM = {
Class = JABitSumGAM
InputSignals = {
DO_REV6 = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
DO_REV7 = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
DO_REV8 = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
MHVPS_HVON = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
MHVPS_STOP = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
MHVPS_MODSW = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
PCF_FLT = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
HVARMED = {
DataSource = EPICSCAInput
Type = uint32
}
}
OutputSignals = {
NI6528P4CurrentValue = {
DataSource = DDB3
Type = uint8
}
}
}
+NI6528P5GAM = {
Class = JABitSumGAM
InputSignals = {
HVINJECTION = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
RFON = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
FHPS_RU = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
SCM_RU = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
SCM_RD = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
CCPS_IN_OPERATION = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
PXI_FLT = {
DataSource = DDB3
Type = uint32
}
NONE2 = {
//! implicit: Placeholder for spare output
NONE_DO23 = {
DataSource = DDB3
Type = uint32
Type = uint8
Default = 0
}
}
OutputSignals = {
NI6528P5CurrentValue = {
DataSource = DDB3
Type = uint8
}
}
}
// reversed uint8 variable (value to write on port.)
+NI6528P3PV2PortGAM = {
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
DO3 = {
DataSource = NI6528_0_DIO
}
DO4 = {
DataSource = NI6528_0_DIO
}
DO5 = {
DataSource = NI6528_0_DIO
}
}
}
// //# 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 = {
DataSource = DDB3
Type = uint32
}
MHVPS_DT = {
DataSource = DDB3
@@ -41,26 +40,22 @@
DataSource = DDB3
Type = uint32
}
StopRequest = {
FAST_STOP = {
DataSource = DDB3
Type = uint32
}
MODE_SHOTLEN_FLAG = {
DataSource = DDB3
Type = uint32
}
SHORT_PULSE_MODE = {
DataSource = EPICSCAInput
Type = uint32
}
MHVPS_MODSW = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
// Add 20210121
DO_REV6 = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
}
@@ -71,66 +66,49 @@
Trigger = 1
}
BEAM_ON_STAT = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB3
}
HVARMED = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB3
}
HVINJECTION = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB3
}
RFON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB3
}
BeamONTime = {
DataSource = RealTimeThreadAsyncBridge
DataSource = DDB3
Type = uint32
}
RFONTime = {
DataSource = RealTimeThreadAsyncBridge
DataSource = DDB3
Type = uint32
}
SHOT_ID = {
DataSource = RealTimeThreadAsyncBridge
DataSource = DDB3
Type = uint32
}
APS_HVON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB3
}
APS_SWON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB3
}
BPS_HVON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB3
}
BPS_SWON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB3
}
MHVPS_HVON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB3
}
NI6259Value = {
DataSource = NI6259_DIO_P0
Type = uint32
Trigger = 1
}
NI6528P3Value = {
DataSource = NI6528_DO_P3
Type = uint8
}
NI6528P4Value = {
DataSource = NI6528_DO_P4
Type = uint8
}
}
}
+GAMSDNRealTimeStateMachine = {
@@ -148,7 +126,6 @@
}
PLC_ON = {
DataSource = DDB3
Type = uint32
}
MHVPS_DT = {
DataSource = DDB3
@@ -174,13 +151,11 @@
DataSource = DDB3
Type = uint32
}
StopRequest = {
FAST_STOP = {
DataSource = DDB3
Type = uint32
}
MODE_SHOTLEN_FLAG = {
DataSource = DDB3
Type = uint32
}
Command = {
DataSource = RealTimeThreadAsyncBridge
@@ -190,35 +165,31 @@
OutputSignals = {
RTSMValue = {
DataSource = DDB3
Type = uint32
Trigger = 1
}
BeamON = {
DataSource = RealTimeThreadAsyncBridge
DataSource = DDB3
Type = uint32
}
HVARMED = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB3
}
HVINJECTION = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB3
}
RFON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB3
}
BeamONTime = {
DataSource = RealTimeThreadAsyncBridge
DataSource = DDB3
Type = uint32
}
RFONTime = {
DataSource = RealTimeThreadAsyncBridge
DataSource = DDB3
Type = uint32
}
SHOT_ID = {
DataSource = RealTimeThreadAsyncBridge
DataSource = DDB3
Type = uint32
}
}