diff --git a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/out/jada_gyro_rtapp.marte b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/out/jada_gyro_rtapp.marte index 2569709..aa7335f 100644 --- a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/out/jada_gyro_rtapp.marte +++ b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/out/jada_gyro_rtapp.marte @@ -1,3 +1,50 @@ ++WebRoot = { + Class = HttpObjectBrowser + Root = "." + +ObjectBrowse = { + Class = HttpObjectBrowser + Root = "/" + } + +ResourcesHtml = { + Class = HttpDirectoryResource + BaseDir = "/opt/marte2-core/Resources/HTTP" + } + +Monitor = { + Class = HttpDataMonitor + Plot0 = { + APS_HVON = { + Component = RTApp.Data.DDB3 + Signal = "APS_HVON" + } + APS_SWON = { + Component = RTApp.Data.DDB3 + Signal = "APS_SWON" + } + BPS_HVON = { + Component = RTApp.Data.DDB3 + Signal = "BPS_HVON" + } + BPS_SWON = { + Component = RTApp.Data.DDB3 + Signal = "BPS_SWON" + } + HVPS_HVON = { + Component = RTApp.Data.DDB3 + Signal = "MHVPS_HVON" + } + } + } +} ++WebServer = { + Class = HttpService + Port = 8084 + WebRoot = WebRoot + Timeout = 0 + ListenMaxConnections = 255 + AcceptTimeout = 1000 + MaxNumberOfThreads = 8 + MinNumberOfThreads = 1 +} +StateMachine = { Class = StateMachine +DISABLED = { @@ -1360,6 +1407,12 @@ PXI6259_Status = { Type = uint32 } + PXI6683_Status = { + Type = uint8 + } + PXI6683_PtpdStatus = { + Type = uint8 + } GYA_APS_READY = { Type = uint8 } @@ -1561,18 +1614,18 @@ AllowNoProducers = 1 ResetUnusedVariablesAtStateChange = 0 Signals = { - Time = { - Type = uint32 - } - Counter = { - Type = uint32 - } WaveformPacketID = { Type = uint16 } ESDNTime = { Type = uint32 } + Time = { + Type = uint32 + } + Counter = { + Type = uint32 + } } } +DDB3 = { @@ -1580,12 +1633,6 @@ AllowNoProducers = 1 ResetUnusedVariablesAtStateChange = 0 Signals = { - Time = { - Type = uint32 - } - Counter = { - Type = uint32 - } SHOT_ID = { Type = uint32 } @@ -1763,17 +1810,17 @@ SHORT_PULSE_MODE = { Type = uint32 } - } - } - +DDB6 = { - Class = GAMDataSource - Signals = { Time = { Type = uint32 } Counter = { Type = uint32 } + } + } + +DDB6 = { + Class = GAMDataSource + Signals = { CCPS_REF = { Type = float32 } @@ -1786,59 +1833,24 @@ FHPS_AUTO_STAT = { Type = uint32 } + Time = { + Type = uint32 + } + Counter = { + Type = uint32 + } } } +Timings = { Class = TimingDataSource } - +TimerSDN = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 40 - ExecutionMode = "RealTimeThread" - CPUMask = 0x200 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +FastTimer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 40 - ExecutionMode = "RealTimeThread" - CPUMask = 0x400 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +WGTimer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 40 - ExecutionMode = "RealTimeThread" - CPUMask = 0x700 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } +EPICSCAInput = { Class = EPICSCAInput Signals = { + TRIGGER_DAN = { + PVName = "EC-GN-P01:DAN_ENABLED" + Type = uint8 + } CSV_LOAD = { PVName = "EC-GN-P01-GAF:STAT-CSV-LOAD" Type = uint32 @@ -2032,7 +2044,7 @@ } +EPICSCAOutput = { Class = EPICSCAOutput - CPUMask = 0x100 + CPUMask = 0x1 StackSize = 10000000 NumberOfBuffers = 2 Signals = { @@ -2385,18 +2397,6 @@ } } } - +NI_6683H = { - Class = NI6683H - BoardId = 0 - Signals = { - Status = { - Type = uint8 - } - PtpdStatus = { - Type = uint8 - } - } - } +SDNCommands = { Class = SDNSubscriber Topic = "ECPC2SCUJA" @@ -2507,12 +2507,21 @@ Class = RealTimeThreadSynchronisation Timeout = 0xFFFFFFFF Signals = { + Time = { + Type = uint64 + } PXI6259_Status = { Type = uint32 } PXI6528_Status = { Type = uint32 } + PXI6683_Status = { + Type = uint8 + } + PXI6683_PtpdStatus = { + Type = uint8 + } GYA_APS_READY = { Type = uint8 } @@ -2613,54 +2622,81 @@ Signals = { Status = { Type = uint32 + NumberOfElements = 1000 } GY_APS_V_MEAS = { Type = float32 + NumberOfElements = 1000 ChannelId = 0 } GY_APS_I_MEAS = { Type = float32 + NumberOfElements = 1000 ChannelId = 1 } GY_BPS_V_MEAS = { Type = float32 + NumberOfElements = 1000 ChannelId = 2 } GY_BPS_I_MEAS = { Type = float32 + NumberOfElements = 1000 ChannelId = 3 } GY_MHV_V_MEAS = { Type = float32 + NumberOfElements = 1000 ChannelId = 4 } GY_MHV_I_MEAS = { Type = float32 + NumberOfElements = 1000 ChannelId = 5 } GY_ARC1_V_MEAS = { Type = float32 + NumberOfElements = 1000 ChannelId = 6 } GY_ARC2_V_MEAS = { Type = float32 + NumberOfElements = 1000 ChannelId = 7 } GY_ARC3_V_MEAS = { Type = float32 + NumberOfElements = 1000 ChannelId = 8 } GY_RF_V_MEAS = { Type = float32 + NumberOfElements = 1000 ChannelId = 9 } } } + +TimingBoard = { + Class = NI6683H + BoardId = 0 + Signals = { + Status = { + Type = uint8 + } + PtpdStatus = { + Type = uint8 + } + Time = { + Type = uint64 + } + } + } +DDB4 = { Class = GAMDataSource Signals = { PXI6368_Status = { Type = uint32 + NumberOfElements = 1000 } GY_APS_V_MEAS = { Type = float32 @@ -2707,56 +2743,80 @@ +FastAnalogDAN = { Class = DANSource NumberOfBuffers = 10 - CPUMask = 15 + CPUMask = 0x8 StackSize = 10000000 DanBufferMultiplier = 4 - StoreOnTrigger = 0 + StoreOnTrigger = 1 ICProgName = "JADA_RF01App" + NumberOfPreTriggers = 0 + NumberOfPostTriggers = 0 Signals = { + Trigger = { + Type = uint8 + } + AI_Time = { + Type = uint64 + TimeSignal = 1 + AbsoluteTime = 1 + TimeSignalMultiplier = 1e-9 + } GY_APS_V_MEAS = { Type = float32 NumberOfElements = 1000 + NodeName = "EC-GN-P01:GY_APS_V_MEAS" } GY_APS_I_MEAS = { Type = float32 NumberOfElements = 1000 + NodeName = "EC-GN-P01:GY_APS_I_MEAS" } GY_BPS_V_MEAS = { Type = float32 NumberOfElements = 1000 + NodeName = "EC-GN-P01:GY_BPS_V_MEAS" } GY_BPS_I_MEAS = { Type = float32 NumberOfElements = 1000 + NodeName = "EC-GN-P01:GY_BPS_I_MEAS" } GY_MHV_V_MEAS = { Type = float32 NumberOfElements = 1000 + NodeName = "EC-GN-P01:GY_MHV_V_MEAS" } GY_MHV_I_MEAS = { Type = float32 NumberOfElements = 1000 + NodeName = "EC-GN-P01:GY_MHV_I_MEAS" } GY_ARC1_V_MEAS = { Type = float32 NumberOfElements = 1000 + NodeName = "EC-GN-P01:GY_ARC1_V_MEAS" } GY_ARC2_V_MEAS = { Type = float32 NumberOfElements = 1000 + NodeName = "EC-GN-P01:GY_ARC2_V_MEAS" } GY_ARC3_V_MEAS = { Type = float32 NumberOfElements = 1000 + NodeName = "EC-GN-P01:GY_ARC3_V_MEAS" } GY_RF_V_MEAS = { Type = float32 NumberOfElements = 1000 + NodeName = "EC-GN-P01:GY_RF_V_MEAS" } } } +AnalogEpicsOutput = { Class = EPICSCAOutput + CPUMask = 0x8 + StackSize = 10000000 + NumberOfBuffers = 2 Signals = { PXI6368_Status = { Type = uint32 @@ -2849,153 +2909,190 @@ CPUMask = 15 StackSize = 10000000 DanBufferMultiplier = 4 - StoreOnTrigger = 0 + StoreOnTrigger = 1 ICProgName = "JADA_RF01App" + NumberOfPreTriggers = 0 + NumberOfPostTriggers = 0 Signals = { - PXI6528_Status_SAMPLES = { + DI_Time = { + Type = uint64 + TimeSignal = 1 + AbsoluteTime = 1 + TimeSignalMultiplier = 1e-9 + } + PXI6528_Status = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint32 + NodeName = "EC-GN-P01:PXI6528_Status" } - GYA_APS_READY_SAMPLES = { + GYA_APS_READY = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint32 + NodeName = "EC-GN-P01:GYA_APS_READY" } - GYA_APS_FLT_SAMPLES = { + GYA_APS_FLT = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:GYA_APS_FLT" } - GYA_BPS_READY_SAMPLES = { + GYA_BPS_READY = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:GYA_BPS_READY" } - GYA_BPS_FLT_SAMPLES = { + GYA_BPS_FLT = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:GYA_BPS_FLT" } - MHVPS_OV_SAMPLES = { + MHVPS_OV = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:MHVPS_OV" } - MHVPS_OC_SAMPLES = { + MHVPS_OC = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:MHVPS_OC" } - MHVPS_FLT_SAMPLES = { + MHVPS_FLT = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:MHVPS_FLT" } - MHVPS_READY_SAMPLES = { + MHVPS_READY = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:MHVPS_READY" } - ECPC_MOD_SAMPLES = { + ECPC_MOD = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:ECPC_MOD" } - FAST_TRIP_SAMPLES = { + FAST_TRIP = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:FAST_TRIP" } - CRIO_RV1_SAMPLES = { + CRIO_RV1 = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:CRIO_RV1" } - CRIO_RV2_SAMPLES = { + CRIO_RV2 = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:CRIO_RV2" } - CRIO_RV3_SAMPLES = { + CRIO_RV3 = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:CRIO_RV3" } - PLC_ITL_SAMPLES = { + PLC_ITL = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:PLC_ITL" } - PLC_STANDBY_SAMPLES = { + PLC_STANDBY = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:PLC_STANDBY" } - PLC_READY_SAMPLES = { + PLC_READY = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:PLC_READY" } - PLC_ON_SAMPLES = { + PLC_ON = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:PLC_ON" } - PLC_PERMIT_SAMPLES = { + PLC_PERMIT = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:PLC_PERMIT" } - PLC_OP_SELECTED_SAMPLES = { + PLC_OP_SELECTED = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:PLC_OP_SELECTED" } - PLC_CC_OP_SELECTED_SAMPLES = { + PLC_CC_OP_SELECTED = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:PLC_CC_OP_SELECTED" } - PLC_SYNCMODE_SAMPLES = { + PLC_SYNCMODE = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:PLC_SYNCMODE" } - TRIGGER_SAMPLES = { + TRIGGER = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:TRIGGER" } - BEAM_ON_STAT_SAMPLES = { + BEAM_ON_STAT = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:BEAM_ON_STAT" } - HVARMED_SAMPLES = { + HVARMED = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:HVARMED" } - HVINJECTION_SAMPLES = { + HVINJECTION = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint8 + NodeName = "EC-GN-P01:HVINJECTION" } - RFON_SAMPLES = { + RFON = { SamplingFrequency = 20000 NumberOfElements = 1000 + NodeName = "EC-GN-P01:RFON" Type = uint8 } - BEAM_ON_TIME_SAMPLES = { - SamplingFrequency = 20000 - NumberOfElements = 1000 - Type = uint32 - } - RFON_TIME_SAMPLES = { + BEAM_ON_TIME = { + SamplingFrequency = 20000 + NumberOfElements = 1000 + NodeName = "EC-GN-P01:BEAM_ON_TIME" + Type = uint32 + } + RFON_TIME = { SamplingFrequency = 20000 NumberOfElements = 1000 Type = uint32 + NodeName = "EC-GN-P01:RFON_TIME" } } } @@ -3032,69 +3129,57 @@ } } } + +TimerSDN = { + Class = LinuxTimer + SleepNature = "Busy" + SleepPercentage = 40 + ExecutionMode = "RealTimeThread" + CPUMask = 0x200 + Signals = { + Counter = { + Type = uint32 + } + Time = { + Type = uint32 + } + } + } + +FastTimer = { + Class = LinuxTimer + SleepNature = "Busy" + SleepPercentage = 40 + ExecutionMode = "RealTimeThread" + CPUMask = 0x400 + Signals = { + Counter = { + Type = uint32 + } + Time = { + Type = uint32 + } + AbsoluteTime = { + Type = uint64 + } + } + } + +WGTimer = { + Class = LinuxTimer + SleepNature = "Busy" + SleepPercentage = 40 + ExecutionMode = "RealTimeThread" + CPUMask = 0x700 + Signals = { + Counter = { + Type = uint32 + } + Time = { + Type = uint32 + } + } + } } +Functions = { Class = ReferenceContainer - +TimeSDNGAM = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = TimerSDN - } - Counter = { - DataSource = TimerSDN - Frequency = 1000 - } - } - OutputSignals = { - Time = { - DataSource = DDB2 - } - Counter = { - DataSource = DDB2 - } - } - } - +FastTimerGAM = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = FastTimer - } - Counter = { - DataSource = FastTimer - Frequency = 20000 - } - } - OutputSignals = { - Time = { - DataSource = DDB3 - } - Counter = { - DataSource = DDB3 - } - } - } - +WGTimerGAM = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = WGTimer - } - Counter = { - DataSource = WGTimer - Frequency = 1000 - } - } - OutputSignals = { - Time = { - DataSource = DDB6 - } - Counter = { - DataSource = DDB6 - } - } - } +EPICSOutputGAM = { Class = IOGAM InputSignals = { @@ -3297,13 +3382,11 @@ PXI6259_Status = { DataSource = DDB1 } - PXI_6683_STATE = { - DataSource = NI_6683H - Alias = Status + PXI6683_Status = { + DataSource = DDB1 } - PXI_6683_SYNC = { - DataSource = NI_6683H - Alias = PtpdStatus + PXI6683_PtpdStatus = { + DataSource = DDB1 } PXI6528_Status = { DataSource = DDB1 @@ -3627,29 +3710,34 @@ Alias = PXI6368_Status DataSource = Th4Bridge Comparator = "EQUALS" + Type = uint32 Value = 3 } PXI6368_Status_4 = { Alias = PXI6368_Status DataSource = Th4Bridge Comparator = "EQUALS" + Type = uint32 Value = 4 } PXI6528_Status = { DataSource = DDB1 Comparator = "GREATER" + Type = uint32 Value = 0 } PXI6259_Status = { DataSource = DDB1 Comparator = "GREATER" + Type = uint32 Value = 0 } } OutputSignals = { PXI_FAULT = { DataSource = DDB1 - Default = 0 + Type = uint32 + DefaultValue = 0 Value = 1 } } @@ -3679,6 +3767,7 @@ } +ChoiceGAM = { Class = JASourceChoiceGAM + numberOfPVs = 5 InputSignals = { BPS_REF = { DataSource = DDB1 @@ -3783,36 +3872,43 @@ InputSignals = { GYA_APS_FLT = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 1 } GYA_BPS_FLT = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 1 } MHVPS_OV = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 1 } MHVPS_OC = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 1 } MHVPS_FLT = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 1 } MIS_ITL = { DataSource = EPICSCAInput + Type = uint32 Comparator = "EQUALS" Value = 1 } PLC_ITL = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 1 } @@ -3829,41 +3925,49 @@ InputSignals = { RESET_FLT = { DataSource = EPICSCAInput + Type = uint32 Comparator = "EQUALS" Value = 1 } GYA_APS_FLT = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 0 } GYA_BPS_FLT = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 0 } MHVPS_OV = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 0 } MHVPS_OC = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 0 } MHVPS_FLT = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 0 } MIS_ITL = { DataSource = EPICSCAInput + Type = uint32 Comparator = "EQUALS" Value = 0 } PLC_ITL = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 0 } @@ -3881,6 +3985,7 @@ PLC_SELECT = { DataSource = EPICSCAInput Comparator = "EQUALS" + Type = uint32 Value = 1 } } @@ -3913,16 +4018,19 @@ InputSignals = { MCPS_ACT_RB = { DataSource = EPICSCAInput + Type = uint32 Comparator = "EQUALS" Value = 3 } MCPS_CURR_MON = { DataSource = EPICSCAInput + Type = float32 Comparator = "GREATER" Value = 0.0 } GCPS_ACT_RB = { DataSource = EPICSCAInput + Type = uint32 Comparator = "EQUALS" Value = 3 } @@ -3934,11 +4042,13 @@ } FHPS_RU = { DataSource = DDB1 + Type = float32 Comparator = "EQUALS" Value = 1 } GY_FHPS_MEAS_ACV = { DataSource = EPICSCAInput + Type = float32 Comparator = "GREATER" Value = 0.0 } @@ -3955,11 +4065,13 @@ InputSignals = { CCPS_IN_OPERATION = { DataSource = DDB1 + Type = uint32 Comparator = "EQUALS" Value = 1 } PLC_READY = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 1 } @@ -3976,6 +4088,7 @@ InputSignals = { PLC_STANDBY = { DataSource = DDB1 + Type = uint8 Value = 0 Comparator = "EQUALS" } @@ -3992,11 +4105,13 @@ InputSignals = { PLC_STANDBY = { DataSource = DDB1 + Type = uint8 Value = 0 Comparator = "EQUALS" } PLC_READY = { DataSource = DDB1 + Type = uint8 Value = 0 Comparator = "EQUALS" } @@ -4013,16 +4128,19 @@ InputSignals = { PLC_SYNCMODE = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 0 } PREP_MODE = { DataSource = EPICSCAInput + Type = uint32 Comparator = "EQUALS" Value = 0 } PLC_PERMIT = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 1 } @@ -4039,16 +4157,19 @@ InputSignals = { PLC_SYNCMODE = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 0 } PREP_MODE = { DataSource = EPICSCAInput + Type = uint32 Comparator = "EQUALS" Value = 1 } PLC_PERMIT = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 1 } @@ -4065,16 +4186,19 @@ InputSignals = { PLC_SYNCMODE = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 1 } PREP_MODE = { DataSource = EPICSCAInput + Type = uint32 Comparator = "EQUALS" Value = 0 } PLC_PERMIT = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 1 } @@ -4091,16 +4215,19 @@ InputSignals = { PLC_SYNCMODE = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 1 } PREP_MODE = { DataSource = EPICSCAInput + Type = uint32 Comparator = "EQUALS" Value = 1 } PLC_PERMIT = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 1 } @@ -4117,6 +4244,7 @@ InputSignals = { PLC_READY = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 0 } @@ -4133,31 +4261,37 @@ InputSignals = { PLC_PERMIT = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 0 } APS_HVON = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 0 } BPS_HVON = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 0 } MHVPS_HVON = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 0 } BPS_SWON = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 0 } APS_SWON = { DataSource = DDB1 + Type = uint8 Comparator = "EQUALS" Value = 0 } @@ -4179,6 +4313,14 @@ DataSource = SynchThread Samples = 20 } + PXI6683_Status = { + DataSource = SynchThread + Samples = 20 + } + PXI6683_PtpdStatus = { + DataSource = SynchThread + Samples = 20 + } GYA_APS_READY = { DataSource = SynchThread Samples = 20 @@ -4299,126 +4441,167 @@ OutputSignals = { PXI6259_Status = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } PXI6528_Status = { DataSource = DDB1 + NumberOfElements = 20 + Ranges = { { 19 19 } } + } + PXI6683_Status = { + DataSource = DDB1 + NumberOfElements = 20 + Ranges = { { 19 19 } } + } + PXI6683_PtpdStatus = { + DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } GYA_APS_READY = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } GYA_APS_FLT = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } GYA_BPS_READY = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } GYA_BPS_FLT = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } MHVPS_OV = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } MHVPS_OC = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } MHVPS_FLT = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } MHVPS_READY = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } ECPC_MOD = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } FAST_TRIP = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } PLC_ITL = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } PLC_STANDBY = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } PLC_READY = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } PLC_ON = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } PLC_PERMIT = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } PLC_OP_SELECTED = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } PLC_CC_OP_SELECTED = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } PLC_SYNCMODE = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } TRIGGER = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } BEAM_ON_STAT = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } HVARMED = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } HVINJECTION = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } RFON = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } ELAPSED_TIME = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } BEAM_ON_TIME = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } SHOT_ID = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } CRIO_RV1 = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } CRIO_RV2 = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } CRIO_RV3 = { DataSource = DDB1 + NumberOfElements = 20 Ranges = { { 19 19 } } } } @@ -4584,12 +4767,16 @@ } GYA_CCPS_MEAS_DCI = { DataSource = SDNReply + Trigger = 1 } } } +SyncThreadProducerGAM = { Class = IOGAM InputSignals = { + AbsoluteTime = { + DataSource = FastTimer + } PXI6259_Status = { Alias = Status DataSource = NI6259_DIO_P0 @@ -4598,6 +4785,14 @@ DataSource = DDB3 Value = 0 } + PXI6683_Status = { + DataSource = TimingBoard + Alias = Status + } + PXI6683_PtpdStatus = { + DataSource = TimingBoard + Alias = PtpdStatus + } GYA_APS_READY = { DataSource = DDB3 } @@ -4687,12 +4882,21 @@ } } OutputSignals = { + Time = { + DataSource = SynchThread + } PXI6259_Status = { DataSource = SynchThread } PXI6528_Status = { DataSource = SynchThread } + PXI6683_Status = { + DataSource = SynchThread + } + PXI6683_PtpdStatus = { + DataSource = SynchThread + } GYA_APS_READY = { DataSource = SynchThread } @@ -4884,26 +5088,31 @@ InputSignals = { GYA_APS_FLT = { DataSource = DDB3 + Type = uint8 Comparator = "EQUALS" Value = 1 } GYA_BPS_FLT = { DataSource = DDB3 + Type = uint8 Comparator = "EQUALS" Value = 1 } MHVPS_OV = { DataSource = DDB3 + Type = uint8 Comparator = "EQUALS" Value = 1 } MHVPS_OC = { DataSource = DDB3 + Type = uint8 Comparator = "EQUALS" Value = 1 } MHVPS_FLT = { DataSource = DDB3 + Type = uint8 Comparator = "EQUALS" Value = 1 } @@ -4915,6 +5124,7 @@ } PLC_ITL = { DataSource = DDB3 + Type = uint8 Comparator = "EQUALS" Value = 1 } @@ -4922,7 +5132,8 @@ OutputSignals = { FAST_STOP = { DataSource = DDB3 - Default = 0 + Type = uint8 + DefaultValue = 0 Value = 1 } } @@ -5348,43 +5559,33 @@ } GY_APS_V_MEAS = { DataSource = FastADC - Samples = 1000 } GY_APS_I_MEAS = { DataSource = FastADC - Samples = 1000 } GY_BPS_V_MEAS = { DataSource = FastADC - Samples = 1000 } GY_BPS_I_MEAS = { DataSource = FastADC - Samples = 1000 } GY_MHV_V_MEAS = { DataSource = FastADC - Samples = 1000 } GY_MHV_I_MEAS = { DataSource = FastADC - Samples = 1000 } GY_ARC1_V_MEAS = { DataSource = FastADC - Samples = 1000 } GY_ARC2_V_MEAS = { DataSource = FastADC - Samples = 1000 } GY_ARC3_V_MEAS = { DataSource = FastADC - Samples = 1000 } GY_RF_V_MEAS = { DataSource = FastADC - Samples = 1000 } } OutputSignals = { @@ -5426,6 +5627,12 @@ +PushADCtoDAN = { Class = IOGAM InputSignals = { + TRIGGER_DAN = { + DataSource = EPICSCAInput + } + Time = { + DataSource = TimingBoard + } GY_APS_V_MEAS = { DataSource = DDB4 } @@ -5458,6 +5665,12 @@ } } OutputSignals = { + Trigger = { + DataSource = FastAnalogDAN + } + AI_Time = { + DataSource = FastAnalogDAN + } GY_APS_V_MEAS = { DataSource = FastAnalogDAN } @@ -5496,9 +5709,11 @@ PXI6368_Status_Async = { Alias = PXI6368_Status DataSource = DDB4 + Range = { { 0 0 } } } PXI6368_Status = { DataSource = DDB4 + Range = { { 0 0 } } } GY_APS_V_MEAS_Async = { Alias = GY_APS_V_MEAS @@ -5674,11 +5889,15 @@ +DANDIOPublisherGAM = { Class = IOGAM InputSignals = { - PXI6528_Status = { + Time = { DataSource = SynchThread Samples = 1000 Frequency = 1 } + PXI6528_Status = { + DataSource = SynchThread + Samples = 1000 + } GYA_APS_READY = { DataSource = SynchThread Samples = 1000 @@ -5793,91 +6012,94 @@ } } OutputSignals = { - PXI6528_Status_SAMPLES = { + DI_Time = { DataSource = DANDIODataSource } - GYA_APS_READY_SAMPLES = { + PXI6528_Status = { DataSource = DANDIODataSource } - GYA_APS_FLT_SAMPLES = { + GYA_APS_READY = { DataSource = DANDIODataSource } - GYA_BPS_READY_SAMPLES = { + GYA_APS_FLT = { DataSource = DANDIODataSource } - GYA_BPS_FLT_SAMPLES = { + GYA_BPS_READY = { DataSource = DANDIODataSource } - MHVPS_OV_SAMPLES = { + GYA_BPS_FLT = { DataSource = DANDIODataSource } - MHVPS_OC_SAMPLES = { + MHVPS_OV = { DataSource = DANDIODataSource } - MHVPS_FLT_SAMPLES = { + MHVPS_OC = { DataSource = DANDIODataSource } - MHVPS_READY_SAMPLES = { + MHVPS_FLT = { DataSource = DANDIODataSource } - ECPC_MOD_SAMPLES = { + MHVPS_READY = { DataSource = DANDIODataSource } - FAST_TRIP_SAMPLES = { + ECPC_MOD = { DataSource = DANDIODataSource } - CRIO_RV1_SAMPLES = { + FAST_TRIP = { DataSource = DANDIODataSource } - CRIO_RV2_SAMPLES = { + CRIO_RV1 = { DataSource = DANDIODataSource } - CRIO_RV3_SAMPLES = { + CRIO_RV2 = { DataSource = DANDIODataSource } - PLC_ITL_SAMPLES = { + CRIO_RV3 = { DataSource = DANDIODataSource } - PLC_STANDBY_SAMPLES = { + PLC_ITL = { DataSource = DANDIODataSource } - PLC_READY_SAMPLES = { + PLC_STANDBY = { DataSource = DANDIODataSource } - PLC_ON_SAMPLES = { + PLC_READY = { DataSource = DANDIODataSource } - PLC_PERMIT_SAMPLES = { + PLC_ON = { DataSource = DANDIODataSource } - PLC_OP_SELECTED_SAMPLES = { + PLC_PERMIT = { DataSource = DANDIODataSource } - PLC_CC_OP_SELECTED_SAMPLES = { + PLC_OP_SELECTED = { DataSource = DANDIODataSource } - PLC_SYNCMODE_SAMPLES = { + PLC_CC_OP_SELECTED = { DataSource = DANDIODataSource } - TRIGGER_SAMPLES = { + PLC_SYNCMODE = { DataSource = DANDIODataSource } - BEAM_ON_STAT_SAMPLES = { + TRIGGER = { DataSource = DANDIODataSource } - HVARMED_SAMPLES = { + BEAM_ON_STAT = { DataSource = DANDIODataSource } - HVINJECTION_SAMPLES = { + HVARMED = { DataSource = DANDIODataSource } - RFON_SAMPLES = { + HVINJECTION = { DataSource = DANDIODataSource } - BEAM_ON_TIME_SAMPLES = { + RFON = { DataSource = DANDIODataSource } - RFON_TIME_SAMPLES = { + BEAM_ON_TIME = { + DataSource = DANDIODataSource + } + RFON_TIME = { DataSource = DANDIODataSource } } @@ -6002,6 +6224,66 @@ } } } + +TimeSDNGAM = { + Class = IOGAM + InputSignals = { + Time = { + DataSource = TimerSDN + } + Counter = { + DataSource = TimerSDN + Frequency = 1000 + } + } + OutputSignals = { + Time = { + DataSource = DDB2 + } + Counter = { + DataSource = DDB2 + } + } + } + +FastTimerGAM = { + Class = IOGAM + InputSignals = { + Time = { + DataSource = FastTimer + } + Counter = { + DataSource = FastTimer + Frequency = 20000 + } + } + OutputSignals = { + Time = { + DataSource = DDB3 + } + Counter = { + DataSource = DDB3 + } + } + } + +WGTimerGAM = { + Class = IOGAM + InputSignals = { + Time = { + DataSource = WGTimer + } + Counter = { + DataSource = WGTimer + Frequency = 1000 + } + } + OutputSignals = { + Time = { + DataSource = DDB6 + } + Counter = { + DataSource = DDB6 + } + } + } } +States = { Class = ReferenceContainer