Files
ec-gn-ja-pcf/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotron/Functions_Th3.cfg
2026-01-06 13:03:20 +00:00

1191 lines
36 KiB
INI

//GAM for realtime statemachine
+Timer100kHzGAM = {
Class = IOGAM
InputSignals = {
Time = {
DataSource = Timer
Type = uint32
}
Counter = {
DataSource = Timer
Type = uint32
Frequency = 200000 //operation:10k(=100us cyc)
//Frequency = 100000 //operation:100k(=10us cyc)
}
RTThreadPerf = {
DataSource = Timings
Alias = "WaitHVON.Thread3_CycleTime"
Type = uint32
}
MHVPS_DT = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
APS_HVON_DT = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
APS_SWON_DT = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
BPS_HVON_DT = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
BPS_SWON_DT = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
SHOTLEN = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
PLC_ON = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
GYA_APS_FLT = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
GYB_APS_FLT = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
GYA_BPS_FLT = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
GYB_BPS_FLT = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
MHVPS_OV = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
MHVPS_OC = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
MHVPS_FLT = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
MIS_ITL = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
MISB_ITL = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
PLC_ITL = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
PLC_MODE1 = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
MD1_SHOTLEN_LIM = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
PLC_MODE2 = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
MD2_SHOTLEN_LIM = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
PLC_MODE3 = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
MD3_SHOTLEN_LIM = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
PLC_MODE4 = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
MD4_SHOTLEN_LIM = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
APS_HVON = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
APS_SWON = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
APS_STOP = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
BPS_HVON = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
BPS_SWON = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
BPS_STOP = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
BEAM_ON_STAT = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
DO_REV5 = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
DO_REV6 = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
DO_REV7 = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
DO_REV8 = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
MHVPS_HVON = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
MHVPS_STOP = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
MHVPS_MODSW = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
PCF_FLT = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
HVARMED = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
SHORT_PULSE_MODE = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
HVINJECTION = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
RFON = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
FHPS_RU = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
SCM_RU = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
SCM_RD = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
CCPS_IN_OPERATION = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
PXI_FLT = {
DataSource = EPICSCAInput_Th3
Type = uint32
}
}
OutputSignals = {
Time = {
DataSource = DDB3
Type = uint32
}
Counter = {
DataSource = DDB3
Type = uint32
}
RTThreadPerf = {
DataSource = DDB3
Type = uint32
}
MHVPS_DT = {
DataSource = DDB3
Type = uint32
}
APS_HVON_DT = {
DataSource = DDB3
Type = uint32
}
APS_SWON_DT = {
DataSource = DDB3
Type = uint32
}
BPS_HVON_DT = {
DataSource = DDB3
Type = uint32
}
BPS_SWON_DT = {
DataSource = DDB3
Type = uint32
}
SHOTLEN = {
DataSource = DDB3
Type = uint32
}
PLC_ON = {
DataSource = DDB3
Type = uint32
}
GYA_APS_FLT = {
DataSource = DDB3
Type = uint32
}
GYB_APS_FLT = {
DataSource = DDB3
Type = uint32
}
GYA_BPS_FLT = {
DataSource = DDB3
Type = uint32
}
GYB_BPS_FLT = {
DataSource = DDB3
Type = uint32
}
MHVPS_OV = {
DataSource = DDB3
Type = uint32
}
MHVPS_OC = {
DataSource = DDB3
Type = uint32
}
MHVPS_FLT = {
DataSource = DDB3
Type = uint32
}
MIS_ITL = {
DataSource = DDB3
Type = uint32
}
MISB_ITL = {
DataSource = DDB3
Type = uint32
}
PLC_ITL = {
DataSource = DDB3
Type = uint32
}
PLC_MODE1 = {
DataSource = DDB3
Type = uint32
}
MD1_SHOTLEN_LIM = {
DataSource = DDB3
Type = uint32
}
PLC_MODE2 = {
DataSource = DDB3
Type = uint32
}
MD2_SHOTLEN_LIM = {
DataSource = DDB3
Type = uint32
}
PLC_MODE3 = {
DataSource = DDB3
Type = uint32
}
MD3_SHOTLEN_LIM = {
DataSource = DDB3
Type = uint32
}
PLC_MODE4 = {
DataSource = DDB3
Type = uint32
}
MD4_SHOTLEN_LIM = {
DataSource = DDB3
Type = uint32
}
APS_HVON = {
DataSource = DDB3
Type = uint32
}
APS_SWON = {
DataSource = DDB3
Type = uint32
}
APS_STOP = {
DataSource = DDB3
Type = uint32
}
BPS_HVON = {
DataSource = DDB3
Type = uint32
}
BPS_SWON = {
DataSource = DDB3
Type = uint32
}
BPS_STOP = {
DataSource = DDB3
Type = uint32
}
BEAM_ON_STAT = {
DataSource = DDB3
Type = uint32
}
DO_REV5 = {
DataSource = DDB3
Type = uint32
}
DO_REV6 = {
DataSource = DDB3
Type = uint32
}
DO_REV7 = {
DataSource = DDB3
Type = uint32
}
DO_REV8 = {
DataSource = DDB3
Type = uint32
}
MHVPS_HVON = {
DataSource = DDB3
Type = uint32
}
MHVPS_STOP = {
DataSource = DDB3
Type = uint32
}
MHVPS_MODSW = {
DataSource = DDB3
Type = uint32
}
PCF_FLT = {
DataSource = DDB3
Type = uint32
}
HVARMED = {
DataSource = DDB3
Type = uint32
}
SHORT_PULSE_MODE = {
DataSource = DDB3
Type = uint32
}
HVINJECTION = {
DataSource = DDB3
Type = uint32
}
RFON = {
DataSource = DDB3
Type = uint32
}
FHPS_RU = {
DataSource = DDB3
Type = uint32
}
SCM_RU = {
DataSource = DDB3
Type = uint32
}
SCM_RD = {
DataSource = DDB3
Type = uint32
}
CCPS_IN_OPERATION = {
DataSource = DDB3
Type = uint32
}
PXI_FLT = {
DataSource = DDB3
Type = uint32
}
}
}
+StopRequestGAM = {
Class = JAConditionalSignalUpdateGAM
Operation = OR
ExpectedValues = {1 1 1 1 1 1 1 1 1 1}
Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS}
Values = {1}
InputSignals = {
GYA_APS_FLT = {
DataSource = DDB3
Type = uint32
}
GYB_APS_FLT = {
DataSource = DDB3
Type = uint32
}
GYA_BPS_FLT = {
DataSource = DDB3
Type = uint32
}
GYB_BPS_FLT = {
DataSource = DDB3
Type = uint32
}
MHVPS_OV = {
DataSource = DDB3
Type = uint32
}
MHVPS_OC = {
DataSource = DDB3
Type = uint32
}
MHVPS_FLT = {
DataSource = DDB3
Type = uint32
}
MIS_ITL = {
DataSource = DDB3
Type = uint32
}
MISB_ITL = {
DataSource = DDB3
Type = uint32
}
PLC_ITL = {
DataSource = DDB3
Type = uint32
}
StopRequest_DEFAULT = {
DataSource = DDB3
Type = uint32
Default = 0
}
}
OutputSignals = {
StopRequest = {
DataSource = DDB3
Type = uint32
}
}
}
// Check the selected mode, and check maximum pulse length. Use with a StateMachineGAM
+ModeLimitGAM = {
Class = JAModeControlGAM
InputSignals = {
PLC_MODE1 = {
DataSource = DDB3
Type = uint32
}
MD1_SHOTLEN_LIM = {
DataSource = DDB3
Type = uint32
}
PLC_MODE2 = {
DataSource = DDB3
Type = uint32
}
MD2_SHOTLEN_LIM = {
DataSource = DDB3
Type = uint32
}
PLC_MODE3 = {
DataSource = DDB3
Type = uint32
}
MD3_SHOTLEN_LIM = {
DataSource = DDB3
Type = uint32
}
PLC_MODE4 = {
DataSource = DDB3
Type = uint32
}
MD4_SHOTLEN_LIM = {
DataSource = DDB3
Type = uint32
}
RFON_Share = {
DataSource = DDB3
Type = uint32
}
Time = {
DataSource = DDB3
Type = uint32
}
HVINJECTION_Share = {
DataSource = DDB3
Type = uint32
}
}
OutputSignals = {
MODE_SHOTLEN_FLAG = {
DataSource = DDB3
Type = uint32
}
}
}
// Digital Output port access.
// EPICS PV to one uint8 variable
+NI6528P3GAM = {
Class = JABitSumGAM
InputSignals = {
APS_HVON = {
DataSource = DDB3
Type = uint32
}
APS_SWON = {
DataSource = DDB3
Type = uint32
}
APS_STOP = {
DataSource = DDB3
Type = uint32
}
BPS_HVON = {
DataSource = DDB3
Type = uint32
}
BPS_SWON = {
DataSource = DDB3
Type = uint32
}
BPS_STOP = {
DataSource = DDB3
Type = uint32
}
BEAM_ON_STAT = {
DataSource = DDB3
Type = uint32
}
DO_REV5 = {
DataSource = DDB3
Type = uint32
}
}
OutputSignals = {
NI6528P3CurrentValue = {
DataSource = DDB3
Type = uint8
}
}
}
+NI6528P4GAM = {
Class = JABitSumGAM
InputSignals = {
DO_REV6 = {
DataSource = DDB3
Type = uint32
}
DO_REV7 = {
DataSource = DDB3
Type = uint32
}
DO_REV8 = {
DataSource = DDB3
Type = uint32
}
MHVPS_HVON = {
DataSource = DDB3
Type = uint32
}
MHVPS_STOP = {
DataSource = DDB3
Type = uint32
}
MHVPS_MODSW = {
DataSource = DDB3
Type = uint32
}
PCF_FLT = {
DataSource = DDB3
Type = uint32
}
HVARMED = {
DataSource = DDB3
Type = uint32
}
}
OutputSignals = {
NI6528P4CurrentValue = {
DataSource = DDB3
Type = uint8
}
}
}
// Real-Time state machine GAMs
+GAMRealTimeStateMachine = {
Class = JARTStateMachineGAM
ConditionTrigger = 1
mhvps_hvon = 4
aps_hvon = 1
aps_swon = 16
bps_hvon = 2
bps_swon = 8
InputSignals = {
Time = {
DataSource = DDB3
Type = uint32
}
PLC_ON = {
DataSource = DDB3
Type = uint32
}
MHVPS_DT = {
DataSource = DDB3
Type = uint32
}
APS_HVON_DT = {
DataSource = DDB3
Type = uint32
}
APS_SWON_DT = {
DataSource = DDB3
Type = uint32
}
BPS_HVON_DT = {
DataSource = DDB3
Type = uint32
}
BPS_SWON_DT = {
DataSource = DDB3
Type = uint32
}
SHOTLEN = {
DataSource = DDB3
Type = uint32
}
StopRequest = {
DataSource = DDB3
Type = uint32
}
MODE_SHOTLEN_FLAG = {
DataSource = DDB3
Type = uint32
}
SHORT_PULSE_MODE = {
DataSource = DDB3
Type = uint32
}
//Add 20210120
MHVPS_MODSW = {
DataSource = DDB3
Type = uint32
}
//Add 20210121
DO_REV6 = {
DataSource = DDB3
Type = uint32
}
}
OutputSignals = {
RTSMValue = {
DataSource = DDB3
Type = uint32
Trigger = 1
}
BEAM_ON_STAT_Share = {
DataSource = DDB3
Type = uint32
}
HVARMED_Share = {
DataSource = DDB3
Type = uint32
}
HVINJECTION_Share = {
DataSource = DDB3
Type = uint32
}
RFON_Share = {
DataSource = DDB3
Type = uint32
}
BeamONTime_Share = {
DataSource = DDB3
Type = uint32
}
RFONTime_Share = {
DataSource = DDB3
Type = uint32
}
SHOT_ID_Share = {
DataSource = DDB3
Type = uint32
}
APS_HVON_Share = {
DataSource = DDB3
Type = uint32
}
APS_SWON_Share = {
DataSource = DDB3
Type = uint32
}
BPS_HVON_Share = {
DataSource = DDB3
Type = uint32
}
BPS_SWON_Share = {
DataSource = DDB3
Type = uint32
}
MHVPS_HVON_Share = {
DataSource = DDB3
Type = uint32
}
NI6259Value = {
DataSource = NI6259
//DataSource = DDB3
Type = uint32
Trigger = 1
}
NI6528P3Value = {
DataSource = NI6528P3
//DataSource = DDB3
Type = uint8
}
NI6528P4Value = {
DataSource = NI6528P4
//DataSource = DDB3
Type = uint8
}
}
}
+GAMSDNRealTimeStateMachine = {
Class = JASDNRTStateMachineGAM
ConditionTrigger = 1
mhvps_hvon = 4
aps_hvon = 1
aps_swon = 16
bps_hvon = 2
bps_swon = 8
InputSignals = {
Time = {
DataSource = DDB3
Type = uint32
}
PLC_ON = {
DataSource = DDB3
Type = uint32
}
MHVPS_DT = {
DataSource = DDB3
Type = uint32
}
APS_HVON_DT = {
DataSource = DDB3
Type = uint32
}
APS_SWON_DT = {
DataSource = DDB3
Type = uint32
}
BPS_HVON_DT = {
DataSource = DDB3
Type = uint32
}
BPS_SWON_DT = {
DataSource = DDB3
Type = uint32
}
SHOTLEN = {
DataSource = DDB3
Type = uint32
}
StopRequest = {
DataSource = DDB3
Type = uint32
}
MODE_SHOTLEN_FLAG = {
DataSource = DDB3
Type = uint32
}
Command = {
DataSource = TriggerAsyncBridge
Type = uint16
}
}
OutputSignals = {
RTSMValue = {
DataSource = DDB3
Type = uint32
Trigger = 1
}
BeamON_Share = {
DataSource = DDB3
Type = uint32
}
HVARMED_Share = {
DataSource = DDB3
Type = uint32
}
HVINJECTION_Share = {
DataSource = DDB3
Type = uint32
}
RFON_Share = {
DataSource = DDB3
Type = uint32
}
BeamONTime_Share = {
DataSource = DDB3
Type = uint32
}
RFONTime_Share = {
DataSource = DDB3
Type = uint32
}
SHOT_ID_Share = {
DataSource = DDB3
Type = uint32
}
}
}
//Terminal Interface reads three inputs.
// INPUTs: StateMahine Value, NI6528P3Value and NI6528P4Value
// OUTPUTs: Each NIxxx data sources.
+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 = DDB3
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
//DataSource = DDB3
Type = uint32
Trigger = 1
}
NI6528P3Value = {
DataSource = NI6528P3
//DataSource = DDB3
Type = uint8
}
NI6528P4Value = {
DataSource = NI6528P4
//DataSource = DDB3
Type = uint8
}
}
}
+NI6528P5GAM = {
Class = JABitSumGAM
InputSignals = {
HVINJECTION = {
DataSource = DDB3
Type = uint32
}
RFON = {
DataSource = DDB3
Type = uint32
}
FHPS_RU = {
DataSource = DDB3
Type = uint32
}
SCM_RU = {
DataSource = DDB3
Type = uint32
}
SCM_RD = {
DataSource = DDB3
Type = uint32
}
CCPS_IN_OPERATION = {
DataSource = DDB3
Type = uint32
}
PXI_FLT = {
DataSource = DDB3
Type = uint32
}
NONE2 = {
DataSource = DDB3
Type = uint32
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 = {
NI6528P5PortValue = {
DataSource = DDB3
Type = uint8
}
}
}
// write a uint8 port value to PXI data source.
+NI6528P3WriteGAM = {
Class = IOGAM
InputSignals = {
NI6528P3PortValue = {
DataSource = DDB3
Type = uint8
}
}
OutputSignals = {
NI6528P3Value = {
DataSource = NI6528P3
Type = uint8
}
}
}
+NI6528P4WriteGAM = {
Class = IOGAM
InputSignals = {
NI6528P4PortValue = {
DataSource = DDB3
Type = uint8
}
}
OutputSignals = {
NI6528P4Value = {
DataSource = NI6528P4
Type = uint8
}
}
}
+NI6528P5WriteGAM = {
Class = IOGAM
InputSignals = {
NI6528P5PortValue = {
DataSource = DDB3
Type = uint8
}
}
OutputSignals = {
NI6528P5Value = {
DataSource = NI6528P5
Type = uint8
}
}
}
+ShareOutGAM = {
Class = IOGAM
InputSignals = {
BEAM_ON_STAT_Share = {
DataSource = DDB3
Type = uint32
}
HVARMED_Share = {
DataSource = DDB3
Type = uint32
}
HVINJECTION_Share = {
DataSource = DDB3
Type = uint32
}
RFON_Share = {
DataSource = DDB3
Type = uint32
}
BeamONTime_Share = {
DataSource = DDB3
Type = uint32
}
RFONTime_Share = {
DataSource = DDB3
Type = uint32
}
SHOT_ID_Share = {
DataSource = DDB3
Type = uint32
}
APS_HVON_Share = {
DataSource = DDB3
Type = uint32
}
APS_SWON_Share = {
DataSource = DDB3
Type = uint32
}
BPS_HVON_Share = {
DataSource = DDB3
Type = uint32
}
BPS_SWON_Share = {
DataSource = DDB3
Type = uint32
}
MHVPS_HVON_Share = {
DataSource = DDB3
Type = uint32
}
CCPS_IN_OPERATION = {
DataSource = DDB3
Type = uint32
}
}
OutputSignals = {
BEAM_ON_STAT = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
}
HVARMED = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
}
HVINJECTION = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
}
RFON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
}
BeamONTime = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
}
RFONTime = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
}
SHOT_ID = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
}
APS_HVON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
}
APS_SWON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
}
BPS_HVON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
}
BPS_SWON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
}
MHVPS_HVON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
}
CCPS_IN_OPERATION = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
}
}
}