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 new file mode 100644 index 0000000..26a7c90 --- /dev/null +++ b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/out/jada_gyro_rtapp.marte @@ -0,0 +1,4314 @@ +jada_gyro = { + +StateMachine = { + Class = StateMachine + +DISABLED = { + Class = ReferenceContainer + +GoWaitStandby = { + Class = StateMachineEvent + NextState = "WAITSTANDBY" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitStandby + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 3 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoError = { + Class = StateMachineEvent + NextState = "ERROR" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = Error + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 1 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 1 + } + } + } + } + +ERROR = { + Class = ReferenceContainer + +GoWaitStandby = { + Class = StateMachineEvent + NextState = "WAITSTANDBY" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitStandby + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 3 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + } + +INITIAL = { + Class = ReferenceContainer + +Start = { + Class = StateMachineEvent + NextState = "WAITSTANDBY" + NextStateError = "ERROR" + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitStandby + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 3 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + } + +WAITHVON = { + Class = ReferenceContainer + +GoWaitStandby = { + Class = StateMachineEvent + NextState = "WAITSTANDBY" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitStandby + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 3 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoWaitPermit = { + Class = StateMachineEvent + NextState = "WAITPERMIT" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitPermit + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 5 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoError = { + Class = StateMachineEvent + NextState = "ERROR" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = Error + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 1 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 1 + } + } + } + } + +WAITHVON_PREP = { + Class = ReferenceContainer + +GoWaitStandby = { + Class = StateMachineEvent + NextState = "WAITSTANDBY" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitStandby + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 3 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoWaitPermit = { + Class = StateMachineEvent + NextState = "WAITPERMIT" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitPermit + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 5 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoError = { + Class = StateMachineEvent + NextState = "ERROR" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = Error + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 1 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 1 + } + } + } + } + +WAITHVON_SDN = { + Class = ReferenceContainer + +GoWaitStandby = { + Class = StateMachineEvent + NextState = "WAITSTANDBY" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitStandby + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 3 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoWaitPermit = { + Class = StateMachineEvent + NextState = "WAITPERMIT" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitPermit + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 5 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoError = { + Class = StateMachineEvent + NextState = "ERROR" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = Error + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 1 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 1 + } + } + } + } + +WAITHVON_SDN_PREP = { + Class = ReferenceContainer + +GoWaitStandby = { + Class = StateMachineEvent + NextState = "WAITSTANDBY" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitStandby + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 3 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoWaitPermit = { + Class = StateMachineEvent + NextState = "WAITPERMIT" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitPermit + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 5 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoError = { + Class = StateMachineEvent + NextState = "ERROR" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = Error + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 1 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 1 + } + } + } + } + +WAITPERMIT = { + Class = ReferenceContainer + +GoWaitReady = { + Class = StateMachineEvent + NextState = "WAITREADY" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitReady + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 4 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoWaitHVON = { + Class = StateMachineEvent + NextState = "WAITHVON" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitHVON + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 6 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoWaitHVON_SDN = { + Class = StateMachineEvent + NextState = "WAITHVON_SDN" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitHVON_SDN + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 8 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoWaitHVON_PREP = { + Class = StateMachineEvent + NextState = "WAITHVON_PREP" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitHVON_PREP + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 7 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoWaitHVON_SDN_PREP = { + Class = StateMachineEvent + NextState = "WAITHVON_SDN_PREP" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitHVON_SDN_PREP + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 9 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoError = { + Class = StateMachineEvent + NextState = "ERROR" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = Error + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 1 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 1 + } + } + } + } + +WAITREADY = { + Class = ReferenceContainer + +GoWaitStandby = { + Class = StateMachineEvent + NextState = "WAITSTANDBY" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitStandby + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 3 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoWaitPermit = { + Class = StateMachineEvent + NextState = "WAITPERMIT" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitPermit + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 5 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoError = { + Class = StateMachineEvent + NextState = "ERROR" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = Error + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 1 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 1 + } + } + } + } + +WAITSTANDBY = { + Class = ReferenceContainer + +GoWaitReady = { + Class = StateMachineEvent + NextState = "WAITREADY" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = WaitReady + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 4 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoDisabled = { + Class = StateMachineEvent + NextState = "DISABLED" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = Disabled + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 2 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 0 + } + } + } + +GoError = { + Class = StateMachineEvent + NextState = "ERROR" + NextStateError = "ERROR" + +StopCurrentStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StopCurrentStateExecution + Mode = ExpectsReply + } + +PrepareNextStateMsg = { + Class = Message + Destination = RTApp + Mode = ExpectsReply + Function = PrepareNextState + +Parameters = { + Class = ConfigurationDatabase + param1 = Error + } + } + +StartNextStateExecutionMsg = { + Class = Message + Destination = RTApp + Function = StartNextStateExecution + Mode = ExpectsReply + } + +SetState = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_STATE + SignalValue = 1 + } + } + +SetFault = { + Class = Message + Destination = JAGyroApp.Functions.StateGAM + Function = SetOutput + +Parameters = { + Class = ConfigurationDatabase + SignalName = PCF_FAULT + SignalValue = 1 + } + } + } + } + } + +RTApp = { + Class = RealTimeApplication + +Data = { + Class = ReferenceContainer + DefaultDataSource = DDB1 + +DDB1 = { + Class = GAMDataSource + AllowNoProducers = 1 + ResetUnusedVariablesAtStateChange = 0 + Signals = { + Time = { + Type = uint32 + } + Counter = { + Type = uint32 + } + PXI_FAULT = { + Type = uint32 + } + PCF_FLT_6259 = { + Type = uint32 + } + PCF_FLT_6368_ERRNO_04 = { + Type = uint32 + } + PCF_FLT_6368_ERRNO_03 = { + Type = uint32 + } + GCPS_TRG_CURR_SET = { + Type = float32 + } + MCPS_TRG_CURR_SET = { + Type = float32 + } + BPS_OUT = { + Type = float32 + } + APS_OUT = { + Type = float32 + } + MHVPS_OUT = { + Type = float32 + } + MCPS_OUT = { + Type = float32 + } + GCPS_OUT = { + Type = float32 + } + BPS_REF = { + Type = float32 + } + APS_REF = { + Type = float32 + } + MHVPS_REF = { + Type = float32 + } + FHPS_RU = { + Type = float32 + } + CCPS_IN_OPERATION = { + Type = uint32 + } + PCF_STATE = { + Type = uint32 + } + PCF_FAULT = { + Type = uint32 + } + } + } + +DDB2 = { + Class = GAMDataSource + AllowNoProducers = 1 + ResetUnusedVariablesAtStateChange = 0 + Signals = { + Time = { + Type = uint32 + } + Counter = { + Type = uint32 + } + WaveformPacketID = { + Type = uint16 + } + ESDNTime = { + Type = uint32 + } + } + } + +DDB3 = { + Class = GAMDataSource + AllowNoProducers = 1 + ResetUnusedVariablesAtStateChange = 0 + Signals = { + Time = { + Type = uint32 + } + Counter = { + Type = uint32 + } + } + } + +Timings = { + Class = TimingDataSource + } + +Timer1kHz = { + Class = LinuxTimer + SleepNature = "Busy" + SleepPercentage = 40 + ExecutionMode = RealTimeThread + CPUMask = 0x100 + Signals = { + Counter = { + Type = uint32 + } + Time = { + Type = uint32 + } + } + } + +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 + } + } + } + +EPICSCAInput = { + Class = EPICSCAInput + Signals = { + MIS_ITL = { + Type = uint32 + PVName = "EC-GN-P01-GAFP:FMC4310-YTRP" + } + RESET_FLT = { + PVName = "EC-GN-P01-GPF:STAT-RST-FLT" + Type = uint32 + } + PLC_SELECT = { + PVName = "EC-GN-P01-GPS:PLC4110-CON-OPGY1" + Type = uint32 + } + CCPS_OUTPUT_FREQ = { + PVName = "EC-GN-P01-GAF-CCPS:STAT-FREQ" + Type = float32 + } + CCPS_OUTPUT_AMP = { + PVName = "EC-GN-P01-GAF-CCPS:STAT-AMP" + Type = float32 + } + CCPS_OUTPUT_OFFS = { + PVName = "EC-GN-P01-GAF-CCPS:STAT-OFFS" + Type = float32 + } + GCPS_TRG_CURR_MANUAL = { + PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI" + Type = float32 + } + MCPS_TRG_CURR_MANUAL = { + PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI" + Type = float32 + } + BPS_MANUAL = { + PVName = "EC-GN-P01-PB1F:PSU1000-EREF-MSP" + Type = float32 + } + BPS_MM = { + PVName = "EC-GN-P01-PB1F:STAT-MANM" + Type = uint32 + } + APS_MANUAL = { + PVName = "EC-GN-P01-PA1F:PSU3000-EREF-MSP" + Type = float32 + } + APS_MM = { + PVName = "EC-GN-P01-PA1F:STAT-MANM" + Type = uint32 + } + MHVPS_MANUAL = { + PVName = "EC-GN-P01-PMF:PSU0000-EREF-MSP" + Type = float32 + } + MHVPS_MM = { + PVName = "EC-GN-P01-PMF:STAT-MANM" + Type = uint32 + } + MCPS_MM = { + PVName = "EC-GN-P01-GAF-MCPS:STAT-MANM" + Type = uint32 + } + GCPS_MM = { + PVName = "EC-GN-P01-GAF-GCPS:STAT-MANM" + Type = uint32 + } + FHPS_AUTO_TAGV = { + PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV" + Type = float32 + } + FHPS_AUTO_TIME = { + PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME" + Type = float32 + } + FHPS_AUTO_START = { + PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START" + Type = uint32 + } + FHPS_MANM = { + PVName = "EC-GN-P01-GAF-FHPS:STAT-MANM" + Type = uint32 + } + GCPS_ACT_RB = { + PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB" + Type = uint32 + } + GCPS_CURR_MON = { + PVName = "EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON" + Type = float32 + } + MCPS_ACT_RB = { + PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB" + Type = uint32 + } + MCPS_CURR_MON = { + PVName = "EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON" + Type = float32 + } + PREP_MODE = { + PVName = "EC-GN-P01-GAF:STAT-PREP-MODE" + Type = uint32 + } + MHVPS_DT = { + PVName = "EC-GN-P01-PMF:STAT-DT-HVON" + Type = uint32 + } + APS_HVON_DT = { + PVName = "EC-GN-P01-PA1F:STAT-DT-HVON" + Type = uint32 + } + APS_SWON_DT = { + PVName = "EC-GN-P01-PA1F:STAT-DT-SWON" + Type = uint32 + } + BPS_HVON_DT = { + PVName = "EC-GN-P01-PB1F:STAT-DT-HVON" + Type = uint32 + } + BPS_SWON_DT = { + PVName = "EC-GN-P01-PB1F:STAT-DT-SWON" + Type = uint32 + } + SHOTLEN = { + PVName = "EC-GN-P01-GAF:STAT-DT-SHOTLEN" + Type = uint32 + } + PLC_MODE1 = { + PVName = "EC-GN-P01-GPS:PLC4110-YTS-MD1" + Type = uint32 + } + PLC_MODE2 = { + PVName = "EC-GN-P01-GPS:PLC4110-YTS-MD2" + Type = uint32 + } + PLC_MODE3 = { + PVName = "EC-GN-P01-GPS:PLC4110-YTS-MD3" + Type = uint32 + } + PLC_MODE4 = { + PVName = "EC-GN-P01-GPS:PLC4110-YTS-MD4" + Type = uint32 + } + MD1_SHOTLEN_LIM = { + PVName = "EC-GN-P01-GPF:STAT-MD1-LIM" + Type = uint32 + } + MD2_SHOTLEN_LIM = { + PVName = "EC-GN-P01-GPF:STAT-MD2-LIM" + Type = uint32 + } + MD3_SHOTLEN_LIM = { + PVName = "EC-GN-P01-GPF:STAT-MD3-LIM" + Type = uint32 + } + MD4_SHOTLEN_LIM = { + PVName = "EC-GN-P01-GPF:STAT-MD4-LIM" + Type = uint32 + } + } + } + +EPICSCAOutput = { + Class = EPICSCAOutput + CPUMask = 0x100 + StackSize = 10000000 + NumberOfBuffers = 2 + Signals = { + PCF_STATE = { + PVName = "EC-GN-P01-GAF:STAT-SM" + Type = uint32 + } + FHPS_REF = { + PVName = "EC-GN-P01-GAF-FHPS:PSU2610-EREF" + Type = float32 + } + BPS_REF = { + PVName = "EC-GN-P01-PB1F:PSU1000-EREF" + Type = float32 + } + APS_REF = { + PVName = "EC-GN-P01-PA1F:STAT-EREF-CONV.A" + Type = float32 + } + MHVPS_REF = { + PVName = "EC-GN-P01-PMF:STAT-EREF-CALC.A" + Type = float32 + } + APS_STOP = { + PVName = "EC-GN-P01-PA1F:PSU3000-CTRP" + Type = uint32 + } + BPS_STOP = { + PVName = "EC-GN-P01-PB1F:PSU1000-CTRP" + Type = uint32 + } + BEAM_ON_STAT = { + PVName = "EC-GN-P01-GAFP:FMC4310-YSTA-GAOP" + Type = uint32 + } + MHVPS_STOP = { + PVName = "EC-GN-P01-PMF:PSU0000-COFF" + Type = uint32 + } + PCF_FLT = { + PVName = "EC-GN-P01-GPF:PCF4210-CTRP" + Type = uint32 + } + PXI_FLT = { + PVName = "EC-GN-P01-GPS:PLC4110-RV2" + Type = uint32 + } + HVARMED = { + PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA1" + Type = uint32 + } + HVINJECTION = { + PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA2" + Type = uint32 + } + RFON = { + PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA3" + Type = uint32 + } + MHVPS_PREP_WF = { + PVName = "EC-GN-P01-PMF:STAT-PREP-WF" + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + BPS_PREP_WF = { + PVName = "EC-GN-P01-PB1F:STAT-PREP-WF" + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + APS_PREP_WF = { + PVName = "EC-GN-P01-PA1F:STAT-PREP-WF" + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + FHPS_PREP_WF = { + PVName = "EC-GN-P01-GAF-FHPS:STAT-PREP-WF" + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + MCPS_PREP_WF = { + PVName = "EC-GN-P01-GAF-MCPS:STAT-PREP-WF" + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + GCPS_PREP_WF = { + PVName = "EC-GN-P01-GAF-GCPS:STAT-PREP-WF" + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + PREP_TIME_WF = { + PVName = "EC-GN-P01-GAF:STAT-PREP-TIME-WF" + Type = int32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + BEAM_ON_TIME = { + PVName = "EC-GN-P01-GAF:STAT-BEAMON-TIME" + Type = uint32 + } + ELAPSED_TIME = { + PVName = "EC-GN-P01-GAF:STAT-ELAPSED" + Type = uint32 + } + SHOT_ID = { + PVName = "EC-GN-P01-GAF:STAT-SHOT-ID" + Type = uint32 + } + CSV_LOADED = { + PVName = "EC-GN-P01-GAF:STAT-CSV-LOADED" + Type = uint32 + } + CSV_ERR = { + PVName = "EC-GN-P01-GAF:STAT-CSV-ERR" + Type = uint32 + } + MCPS_TRG_CURR_SET = { + PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO" + Type = float32 + } + MCPS_ACT_SP = { + PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO" + Type = uint32 + } + GCPS_TRG_CURR_SET = { + PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO" + Type = float32 + } + GCPS_ACT_SP = { + PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO" + Type = uint32 + } + CCPS_REF = { + PVName = "EC-GN-P01-GAF-CCPS:PSU2320-EREF" + Type = float32 + } + FHPS_AUTO_STAT = { + PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT" + Type = uint32 + } + APS_HVON = { + PVName = "EC-GN-P01-PA1F:PSU3000-CON-HV" + Type = uint32 + } + APS_SWON = { + PVName = "EC-GN-P01-PA1F:PSU3000-CON-SW" + Type = uint32 + } + BPS_HVON = { + PVName = "EC-GN-P01-PB1F:PSU1000-CON-HV" + Type = uint32 + } + BPS_SWON = { + PVName = "EC-GN-P01-PB1F:PSU1000-CON-SW" + Type = uint32 + } + MHVPS_HVON = { + PVName = "EC-GN-P01-PMF:STAT-HVON-CALC.A" + Type = uint32 + } + } + } + +NI6528_DI = { + Class = GAMDataSource + Signals = { + PXI6528_Status = { + Type = uint32 + } + GYA_APS_FLT = { + Type = uint32 + } + GYA_BPS_FLT = { + Type = uint32 + } + MHVPS_OV = { + Type = uint32 + } + MHVPS_OC = { + Type = uint32 + } + MHVPS_FLT = { + Type = uint32 + } + PLC_ITL = { + Type = uint32 + } + PLC_STANDBY = { + Type = uint32 + } + PLC_READY = { + Type = uint32 + } + PLC_SYNCMODE = { + Type = uint32 + } + PLC_PERMIT = { + Type = uint32 + } + PLC_ON = { + Type = uint32 + } + } + } + +NI6259_DIO_P0 = { + Class = NI6259::NI6259DIO + DeviceName = "/dev/pxi6259" + BoardId = 1 + Signals = { + NI6259Value = { + Type = uint32 + Mask = 0xFF + PortId = 0 + } + } + } + +NI6528_DO_P3 = { + Class = NI6528 + DeviceName = "/dev/pxi6528.1" + Port = 3 + Signals = { + NI6528P3Value = { + Type = uint8 + } + } + } + +NI6528_DO_P4 = { + Class = NI6528 + DeviceName = "/dev/pxi6528.1" + Port = 4 + Signals = { + NI6528P4Value = { + Type = uint8 + } + } + } + +NI6528_DO_P5 = { + Class = NI6528 + DeviceName = "/dev/pxi6528.1" + Port = 5 + Signals = { + NI6528P5Value = { + Type = uint8 + } + } + } + +NI6259_AO = { + Class = GAMDataSource + Signals = { + CCPS_REF = { + Type = float32 + } + } + } + +NI6259_AI = { + Class = GAMDataSource + Signals = { + PXI6259_Status = { + Type = uint32 + } + GYA_BPS_MESVOLT = { + Type = float32 + } + GYA_BPS_MESCURR = { + Type = float32 + } + GYA_APS_MESVOLT = { + Type = float32 + } + GYA_APS_MESCURR = { + Type = float32 + } + GYA_ARC1_MESVOLT = { + Type = float32 + } + GYA_ARC2_MESVOLT = { + Type = float32 + } + GYA_ARC3_MESVOLT = { + Type = float32 + } + GYA_MHVPS_MESVOLT = { + Type = float32 + } + GYA_MHVPS_MESCURR = { + Type = float32 + } + GYA_MCPS_CURR_MON = { + Type = float32 + } + GYA_GCPS_CURR_MON = { + Type = float32 + } + GYA_FHPS_MEAS_ACI = { + Type = float32 + } + GYA_CCPS_MEAS_DCI = { + Type = float32 + } + FHPS_MEAS_ACV = { + Type = float32 + } + } + } + +PXI6368_3_DataSource = { + Class = GAMDataSource + Signals = { + PXI6368_0 = { + Type = uint32 + } + PXI6368_1 = { + Type = uint32 + } + } + } + +PXI6368_4_DataSource = { + Class = GAMDataSource + Signals = { + PXI6368_0 = { + Type = uint32 + } + PXI6368_1 = { + Type = uint32 + } + } + } + +SDNCommands = { + Class = SDN::SDNSubscriber + Topic = "ECPC2SCUJA" + Interface = "enp35s0f1" + CPUs = 0x200 + Locked = 1 + Timeout = 2 + Signals = { + Header = { + Type = uint8 + NumberOfDimensions = 1 + NumberOfElements = 52 + } + ESDNTime = { + Type = uint32 + NumberOfDimensions = 1 + NumberOfElements = 1 + } + Command = { + Type = uint16 + NumberOfDimensions = 1 + NumberOfElements = 64 + } + } + } + +RealTimeThreadAsyncBridge = { + Class = RealTimeThreadAsyncBridge + NumberOfBuffers = 20 + Signals = { + Command = { + Type = uint16 + } + } + } + +SDNReply = { + Class = SDN::SDNPublisher + Topic = "SCUJA2ECPC" + Interface = "enp35s0f1" + CPUs = 0x200 + Locked = 1 + Signals = { + Header = { + Type = uint8 + NumberOfElements = 52 + } + ESDNTime = { + Type = uint32 + } + ReplyStatus = { + Type = uint16 + } + ReplyWaveformAck = { + Type = uint16 + } + GYA_MHVPS_MESVOLT = { + Type = float32 + } + GYA_MHVPS_MESCURR = { + Type = float32 + } + GYA_BPS_MESVOLT = { + Type = float32 + } + GYA_BPS_MESCURR = { + Type = float32 + } + GYA_APS_MESVOLT = { + Type = float32 + } + GYA_APS_MESCURR = { + Type = float32 + } + GYA_ARC1_MESVOLT = { + Type = float32 + } + GYA_ARC2_MESVOLT = { + Type = float32 + } + GYA_ARC3_MESVOLT = { + Type = float32 + } + GYA_MCPS_CURR_MON = { + Type = float32 + } + GYA_GCPS_CURR_MON = { + Type = float32 + } + GYA_FHPS_MEAS_ACI = { + Type = float32 + } + GYA_CCPS_MEAS_DCI = { + Type = float32 + } + } + } + } + +Functions = { + Class = ReferenceContainer + +Timer1kHzGAM = { + Class = IOGAM + InputSignals = { + Counter = { + DataSource = Timer1kHz + Frequency = 1000 + } + Time = { + DataSource = Timer1kHz + } + } + OutputSignals = { + Counter = { + DataSource = DDB1 + } + Time = { + DataSource = DDB1 + } + } + } + +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 = 200000 + } + } + OutputSignals = { + Time = { + DataSource = DDB3 + } + Counter = { + DataSource = DDB3 + } + } + } + +EPICSOutputGAM = { + Class = IOGAM + InputSignals = { + PCF_STATE = { + DataSource = DDB1 + } + MCPS_ACT_SP = { + DataSource = DDB1 + Type = uint32 + } + GCPS_ACT_SP = { + DataSource = DDB1 + Type = uint32 + } + BPS_OUT = { + DataSource = DDB1 + } + APS_OUT = { + DataSource = DDB1 + } + MCPS_OUT = { + DataSource = DDB1 + } + GCPS_OUT = { + DataSource = DDB1 + } + FHPS_REF = { + DataSource = DDB1 + Type = float32 + } + CSV_LOADED = { + DataSource = DDB1 + Type = uint32 + } + CSV_ERR = { + DataSource = DDB1 + Type = uint32 + } + ELAPSED_TIME = { + DataSource = DDB1 + Type = uint32 + } + HVARMED = { + DataSource = DDB1 + Type = uint32 + } + HVINJECTION = { + DataSource = DDB1 + Type = uint32 + } + RFON = { + DataSource = DDB1 + Type = uint32 + } + MHVPS_OUT = { + DataSource = DDB1 + } + PREP_TIME_WF = { + DataSource = DDB1 + Type = int32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + MHVPS_PREP_WF = { + DataSource = DDB1 + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + BPS_PREP_WF = { + DataSource = DDB1 + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + APS_PREP_WF = { + DataSource = DDB1 + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + MCPS_PREP_WF = { + DataSource = DDB1 + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + GCPS_PREP_WF = { + DataSource = DDB1 + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + FHPS_PREP_WF = { + DataSource = DDB1 + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + CCPS_REF = { + DataSource = DDB1 + Type = float32 + } + MHVPS_STOP = { + DataSource = DDB1 + Type = uint32 + } + APS_STOP = { + DataSource = DDB1 + Type = uint32 + } + BPS_STOP = { + DataSource = DDB1 + Type = uint32 + } + BEAM_ON_TIME = { + DataSource = DDB1 + Type = uint32 + } + PCF_FLT = { + DataSource = DDB1 + Type = uint32 + } + PXI_FLT = { + DataSource = DDB1 + Type = uint32 + } + BEAM_ON_STAT = { + DataSource = DDB1 + Type = uint32 + } + SHOT_ID = { + DataSource = RealTimeThreadAsyncBridge + Type = uint32 + } + FHPS_AUTO_STAT = { + DataSource = DDB1 + 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 + } + } + OutputSignals = { + PCF_STATE = { + DataSource = EPICSCAOutput + Type = uint32 + } + MCPS_ACT_SP = { + DataSource = EPICSCAOutput + Type = uint32 + } + GCPS_ACT_SP = { + DataSource = EPICSCAOutput + Type = uint32 + } + BPS_REF = { + DataSource = EPICSCAOutput + Type = float32 + } + APS_REF = { + DataSource = EPICSCAOutput + Type = float32 + } + MCPS_TRG_CURR_SET = { + DataSource = EPICSCAOutput + Type = float32 + } + GCPS_TRG_CURR_SET = { + DataSource = EPICSCAOutput + Type = float32 + } + FHPS_REF = { + DataSource = EPICSCAOutput + Type = float32 + } + CSV_LOADED = { + DataSource = EPICSCAOutput + Type = uint32 + } + CSV_ERR = { + DataSource = EPICSCAOutput + Type = uint32 + } + ELAPSED_TIME = { + DataSource = EPICSCAOutput + Type = uint32 + } + HVARMED = { + DataSource = EPICSCAOutput + Type = uint32 + } + HVINJECTION = { + DataSource = EPICSCAOutput + Type = uint32 + } + RFON = { + DataSource = EPICSCAOutput + Type = uint32 + } + MHVPS_REF = { + DataSource = EPICSCAOutput + Type = float32 + } + PREP_TIME_WF = { + DataSource = EPICSCAOutput + } + MHVPS_PREP_WF = { + DataSource = EPICSCAOutput + } + BPS_PREP_WF = { + DataSource = EPICSCAOutput + } + APS_PREP_WF = { + DataSource = EPICSCAOutput + } + MCPS_PREP_WF = { + DataSource = EPICSCAOutput + } + GCPS_PREP_WF = { + DataSource = EPICSCAOutput + } + FHPS_PREP_WF = { + DataSource = EPICSCAOutput + } + CCPS_REF = { + DataSource = EPICSCAOutput + } + MHVPS_STOP = { + DataSource = EPICSCAOutput + Type = uint32 + } + APS_STOP = { + DataSource = EPICSCAOutput + Type = uint32 + } + BPS_STOP = { + DataSource = EPICSCAOutput + Type = uint32 + } + BEAM_ON_TIME = { + DataSource = EPICSCAOutput + Type = uint32 + } + PCF_FLT = { + DataSource = EPICSCAOutput + } + PXI_FLT = { + DataSource = EPICSCAOutput + } + BEAM_ON_STAT = { + DataSource = EPICSCAOutput + } + SHOT_ID = { + DataSource = EPICSCAOutput + } + FHPS_AUTO_STAT = { + DataSource = EPICSCAOutput + } + APS_HVON = { + DataSource = EPICSCAOutput + } + APS_SWON = { + DataSource = EPICSCAOutput + } + BPS_HVON = { + DataSource = EPICSCAOutput + } + BPS_SWON = { + DataSource = EPICSCAOutput + } + MHVPS_HVON = { + DataSource = EPICSCAOutput + } + } + } + +ResetPSsGAM = { + Class = ConstantGAM + OutputSignals = { + MHVPS_HVON = { + DataSource = DDB1 + Type = uint32 + Default = 0 + } + BPS_HVON = { + DataSource = DDB1 + Type = uint32 + Default = 0 + } + BPS_SWON = { + DataSource = DDB1 + Type = uint32 + Default = 0 + } + APS_HVON = { + DataSource = DDB1 + Type = uint32 + Default = 0 + } + APS_SWON = { + DataSource = DDB1 + Type = uint32 + Default = 0 + } + } + } + +ExitedHVArmedInjectionRFONGAM = { + Class = ConstantGAM + OutputSignals = { + HVARMED = { + DataSource = DDB1 + Type = uint32 + Default = 0 + } + HVINJECTION = { + DataSource = DDB1 + Type = uint32 + Default = 0 + } + RFON = { + DataSource = DDB1 + Type = uint32 + Default = 0 + } + } + } + +WFRecordGAM = { + Class = JAWFRecordGAM + Directory = "../Configurations" + InputSignals = { + CSV_LOAD = { + DataSource = EPICSCAInput + Type = uint32 + } + Filename = { + Alias = CSV_NAME + DataSource = EPICSCAInput + } + } + OutputSignals = { + PREP_TIME_WF = { + DataSource = DDB1 + Type = float32 + } + MHVPS_PREP_WF = { + DataSource = DDB1 + Type = float32 + } + BPS_PREP_WF = { + DataSource = DDB1 + Type = float32 + } + APS_PREP_WF = { + DataSource = DDB1 + Type = float32 + } + MCPS_PREP_WF = { + DataSource = DDB1 + Type = float32 + } + GCPS_PREP_WF = { + DataSource = DDB1 + Type = float32 + } + FHPS_PREP_WF = { + DataSource = DDB1 + Type = float32 + } + } + } + +PreProgrammedGAM = { + Class = JAPreProgrammedGAM + Directory = "../Configurations" + PreProgrammedPeriodMs = 1 + InputSignals = { + CSV_LOAD = { + DataSource = EPICSCAInput + Type = uint32 + } + Filename = { + Alias = CSV_NAME + DataSource = EPICSCAInput + } + FHPS_REF = { + Alias = FHPS_AUTO_TAGV + DataSource = EPICSCAInput + Type = float32 + } + RFON = { + DataSource = RealTimeThreadAsyncBridge + Type = uint32 + } + } + OutputSignals = { + GYA_PREPRO_TIME = { + DataSource = DDB1 + Type = int32 + } + MHVPS_REF = { + DataSource = DDB1 + Type = float32 + } + BPS_REF = { + DataSource = DDB1 + Type = float32 + } + APS_REF = { + DataSource = DDB1 + Type = float32 + } + MCPS_TRG_CURR_SET = { + DataSource = DDB1 + Type = float32 + } + GCPS_TRG_CURR_SET = { + DataSource = DDB1 + Type = float32 + } + FHPS_PrePro = { + DataSource = DDB1 + Type = float32 + } + CSV_LOADED = { + DataSource = DDB1 + Type = uint32 + } + CSV_ERR = { + DataSource = DDB1 + Type = uint32 + } + } + } + +PXI6259ErrorGAM = { + Class = JAConditionalSignalUpdateGAM + Operation = OR + ExpectedValues = { 0 0 0 0 } + Comparators = { GREATER GREATER GREATER GREATER } + Values = { 1 } + InputSignals = { + PXI6259_Status = { + DataSource = NI6259_AI + } + PXI6528_Status = { + DataSource = NI6528_DI + } + } + OutputSignals = { + PCF_FLT_6259 = { + DataSource = DDB1 + } + } + } + +PXI6368Error03GAM = { + Class = JAConditionalSignalUpdateGAM + Operation = OR + InputSignals = { + PXI6368_0 = { + DataSource = PXI6368_3_DataSource + Comparator = "EQUALS" + Value = 3 + } + PXI6368_1 = { + DataSource = PXI6368_3_DataSource + Comparator = "EQUALS" + Value = 3 + } + } + OutputSignals = { + PCF_FLT_6368_ERRNO_03 = { + DataSource = DDB1 + Default = 0 + Value = 1 + } + } + } + +PXI6368Error04GAM = { + Class = JAConditionalSignalUpdateGAM + Operation = OR + InputSignals = { + PXI6368_0 = { + DataSource = PXI6368_4_DataSource + Comparator = "EQUALS" + Value = 4 + } + PXI6368_1 = { + DataSource = PXI6368_4_DataSource + Comparator = "EQUALS" + Value = 4 + } + } + OutputSignals = { + PCF_FLT_6368_ERRNO_04 = { + DataSource = DDB1 + Default = 0 + Value = 1 + } + } + } + +PXIErrorGAM = { + Class = JAConditionalSignalUpdateGAM + Operation = OR + Values = { 1 } + InputSignals = { + PCF_FLT_6368_ERRNO_03 = { + DataSource = DDB1 + Comparator = "GREATER" + Value = 0 + } + PCF_FLT_6368_ERRNO_04 = { + DataSource = DDB1 + Comparator = "GREATER" + Value = 0 + } + PCF_FLT_6259 = { + DataSource = DDB1 + Comparator = "GREATER" + Value = 0 + } + } + OutputSignals = { + PXI_FAULT = { + DataSource = DDB1 + Default = 0 + Value = 1 + } + } + } + +CCPSWaveformGAM = { + Class = JATriangleWaveGAM + InputSignals = { + Frequency = { + Alias = CCPS_OUTPUT_FREQ + DataSource = EPICSCAInput + } + Amplitude = { + Alias = CCPS_OUTPUT_AMP + DataSource = EPICSCAInput + } + Offset = { + Alias = CCPS_OUTPUT_OFFS + DataSource = EPICSCAInput + } + PLCSTANDBY = { + Alias = PLC_STANDBY + DataSource = NI6528_DI + } + } + OutputSignals = { + CCPS_REF = { + DataSource = NI6259_AO + } + } + } + +GCPSGAM = { + Class = IOGAM + InputSignals = { + GCPS_TRG_CURR_MANUAL = { + DataSource = EPICSCAInput + Type = float32 + } + } + OutputSignals = { + GCPS_TRG_CURR_SET = { + DataSource = DDB1 + Type = float32 + } + } + } + +MCPSGAM = { + Class = IOGAM + InputSignals = { + MCPS_TRG_CURR_MANUAL = { + DataSource = EPICSCAInput + Type = float32 + } + } + OutputSignals = { + MCPS_TRG_CURR_SET = { + DataSource = DDB1 + Type = float32 + } + } + } + +ChoiceGAM = { + Class = JASourceChoiseGAM + InputSignals = { + BPS_REF = { + DataSource = DDB1 + Type = float32 + } + BPS_MANUAL = { + DataSource = EPICSCAInput + Type = float32 + } + BPS_MM = { + DataSource = EPICSCAInput + Type = uint32 + } + APS_REF = { + DataSource = DDB1 + Type = float32 + } + APS_MANUAL = { + DataSource = EPICSCAInput + Type = float32 + } + APS_MM = { + DataSource = EPICSCAInput + Type = uint32 + } + MHVPS_REF = { + DataSource = DDB1 + Type = float32 + } + MHVPS_MANUAL = { + DataSource = EPICSCAInput + Type = float32 + } + MHVPS_MM = { + DataSource = EPICSCAInput + Type = uint32 + } + MCPS_TRG_CURR_SET = { + DataSource = DDB1 + Type = float32 + } + MCPS_TRG_CURR_MANUAL = { + DataSource = EPICSCAInput + Type = float32 + } + MCPS_MM = { + DataSource = EPICSCAInput + Type = uint32 + } + GCPS_TRG_CURR_SET = { + DataSource = DDB1 + Type = float32 + } + GCPS_TRG_CURR_MANUAL = { + DataSource = EPICSCAInput + Type = float32 + } + GCPS_MM = { + DataSource = EPICSCAInput + Type = uint32 + } + } + OutputSignals = { + BPS_OUT = { + DataSource = DDB1 + Type = float32 + } + APS_OUT = { + DataSource = DDB1 + Type = float32 + } + MHVPS_OUT = { + DataSource = DDB1 + Type = float32 + } + MCPS_OUT = { + DataSource = DDB1 + Type = float32 + } + GCPS_OUT = { + DataSource = DDB1 + Type = float32 + } + } + } + +FHPSSetpointGAM = { + Class = IOGAM + InputSignals = { + FHPS_AUTO_TAGV = { + DataSource = EPICSCAInput + Type = float32 + } + } + OutputSignals = { + FHPS_TAGV = { + DataSource = DDB1 + Type = float32 + } + } + } + +FHPSRampupGAM = { + Class = JARampupGAM + InputSignals = { + Currspv = { + Alias = FHPS_REF + DataSource = DDB1 + Type = float32 + } + Targetv = { + Alias = FHPS_TAGV + DataSource = DDB1 + Type = float32 + } + Time = { + Alias = FHPS_AUTO_TIME + DataSource = EPICSCAInput + Type = float32 + } + Start = { + Alias = FHPS_AUTO_START + DataSource = EPICSCAInput + Type = uint32 + } + PLC_STANDBY = { + Alias = PLC_STANDBY + DataSource = NI6528_DI + Type = uint32 + } + MANUAL_AUTO = { + Alias = FHPS_MANM + DataSource = EPICSCAInput + Type = uint32 + } + FHPS_PrePro = { + DataSource = DDB1 + Type = float32 + } + } + OutputSignals = { + FHPS_REF = { + DataSource = DDB1 + Type = float32 + } + FHPS_AUTO_STAT = { + DataSource = DDB1 + Type = uint32 + } + } + } + +StateGAM = { + Class = ConstantGAM + OutputSignals = { + PCF_STATE = { + DataSource = DDB1 + Default = 0 + } + PCF_FAULT = { + DataSource = DDB1 + Default = 1 + } + } + } + +GoErrorGAM = { + Class = JAMessageGAM + Operation = OR + InputSignals = { + GYA_APS_FLT = { + DataSource = NI6528_DI + ExpectedValue = 1 + } + GYA_BPS_FLT = { + DataSource = NI6528_DI + ExpectedValue = 1 + } + MHVPS_OV = { + DataSource = NI6528_DI + ExpectedValue = 1 + } + MHVPS_OC = { + DataSource = NI6528_DI + ExpectedValue = 1 + } + MHVPS_FLT = { + DataSource = NI6528_DI + ExpectedValue = 1 + } + MIS_ITL = { + DataSource = EPICSCAInput + ExpectedValue = 1 + } + PLC_ITL = { + DataSource = NI6528_DI + ExpectedValue = 1 + } + } + +Event = { + Class = Message + Destination = StateMachine + Function = GoError + } + } + +ResetErrorGAM = { + Class = JAMessageGAM + Operation = "AND" + InputSignals = { + RESET_FLT = { + DataSource = EPICSCAInput + ExpectedValue = 1 + } + GYA_APS_FLT = { + DataSource = NI6528_DI + ExpectedValue = 0 + } + GYA_BPS_FLT = { + DataSource = NI6528_DI + ExpectedValue = 0 + } + MHVPS_OV = { + DataSource = NI6528_DI + ExpectedValue = 0 + } + MHVPS_OC = { + DataSource = NI6528_DI + ExpectedValue = 0 + } + MHVPS_FLT = { + DataSource = NI6528_DI + ExpectedValue = 0 + } + MIS_ITL = { + DataSource = EPICSCAInput + ExpectedValue = 0 + } + PLC_ITL = { + DataSource = NI6528_DI + ExpectedValue = 0 + } + } + +Event = { + Class = Message + Destination = StateMachine + Function = GoError + } + } + +GoWaitStandbyGAM = { + Class = JAMessageGAM + Operation = "AND" + InputSignals = { + PLC_SELECT = { + DataSource = EPICSCAInput + ExpectedValue = 1 + } + } + +Event = { + Class = Message + Destination = StateMachine + Function = GoWaitStandby + } + } + +GoDisabledGAM = { + Class = JAMessageGAM + Operation = "AND" + InputSignals = { + PLC_SELECT = { + DataSource = EPICSCAInput + Type = uint32 + Operator = "EQUALS" + Value = 0 + } + } + +Event = { + Class = Message + Destination = StateMachine + Function = GoDisabled + } + } + +GoWaitReadyGAM = { + Class = JAMessageGAM + Operation = "AND" + InputSignals = { + MCPS_ACT_RB = { + DataSource = EPICSCAInput + Comparator = "EQUALS" + Value = 3 + } + MCPS_CURR_MON = { + DataSource = EPICSCAInput + Comparator = "GREATER" + Value = 0.0 + } + GCPS_ACT_RB = { + DataSource = EPICSCAInput + Comparator = "EQUALS" + Value = 3 + } + GCPS_CURR_MON = { + DataSource = EPICSCAInput + Type = float32 + Comparator = "GREATER" + Value = 0.0 + } + FHPS_RU = { + DataSource = DDB1 + Comparator = "EQUALS" + Value = 1 + } + FHPS_MEAS_ACV = { + DataSource = NI6259_AI + Type = float32 + Comparator = "GREATER" + Value = 0.0 + } + } + +Event = { + Class = Message + Destination = StateMachine + Function = GoWaitReady + } + } + +GoWaitPermitGAM = { + Class = JAMessageGAM + Operation = "AND" + InputSignals = { + CCPS_IN_OPERATION = { + DataSource = DDB1 + Comparator = "EQUALS" + Value = 1 + } + PLC_READY = { + DataSource = NI6528_DI + Type = uint32 + Comparator = "EQUALS" + Value = 1 + } + } + +Event = { + Class = Message + Destination = StateMachine + Function = GoWaitPermit + } + } + +GoWaitStandbyFromReadyGAM = { + Class = JAMessageGAM + Operation = "AND" + InputSignals = { + PLC_STANDBY = { + DataSource = NI6528_DI + Type = uint32 + Value = 0 + Comparator = "EQUALS" + } + } + +Event = { + Class = Message + Destination = StateMachine + Function = GoWaitStandby + } + } + +GoWaitReadyFromWaitPermitGAM = { + Class = JAMessageGAM + Operation = OR + InputSignals = { + PLC_STANDBY = { + DataSource = NI6528_DI + Comparator = "EQUALS" + Value = 0 + } + PLC_READY = { + DataSource = NI6528_DI + Comparator = "EQUALS" + Value = 0 + } + } + +Event = { + Class = Message + Destination = StateMachine + Function = GoWaitReady + } + } + +GoWaitHVONGAM = { + Class = JAMessageGAM + Operation = AND + InputSignals = { + PLC_SYNCMODE = { + DataSource = NI6528_DI + Operator = "EQUALS" + Value = 0 + } + PREP_MODE = { + DataSource = EPICSCAInput + Operator = "EQUALS" + Value = 0 + } + PLC_PERMIT = { + DataSource = NI6528_DI + Operator = "EQUALS" + Value = 1 + } + } + +Event = { + Class = Message + Destination = StateMachine + Function = GoWaitHVON + } + } + +GoWaitHVON_PREP_GAM = { + Class = JAMessageGAM + Operation = AND + InputSignals = { + PLC_SYNCMODE = { + DataSource = NI6528_DI + Operator = "EQUALS" + Value = 0 + } + PREP_MODE = { + DataSource = EPICSCAInput + Operator = "EQUALS" + Value = 1 + } + PLC_PERMIT = { + DataSource = NI6528_DI + Operator = "EQUALS" + Value = 1 + } + } + +Event = { + Class = Message + Destination = StateMachine + Function = GoWaitHVON_PREP + } + } + +GoWaitHVON_SDN_GAM = { + Class = JAMessageGAM + Operation = AND + InputSignals = { + PLC_SYNCMODE = { + DataSource = NI6528_DI + Operator = "EQUALS" + Value = 1 + } + PREP_MODE = { + DataSource = EPICSCAInput + Operator = "EQUALS" + Value = 0 + } + PLC_PERMIT = { + DataSource = NI6528_DI + Operator = "EQUALS" + Value = 1 + } + } + +Event = { + Class = Message + Destination = StateMachine + Function = GoWaitHVON_SDN + } + } + +GoWaitHVON_SDN_PREP_GAM = { + Class = JAMessageGAM + Operation = AND + InputSignals = { + PLC_SYNCMODE = { + DataSource = NI6528_DI + Operator = "EQUALS" + Value = 1 + } + PREP_MODE = { + DataSource = EPICSCAInput + Operator = "EQUALS" + Value = 1 + } + PLC_PERMIT = { + DataSource = NI6528_DI + Operator = "EQUALS" + Value = 1 + } + } + +Event = { + Class = Message + Destination = StateMachine + Function = GoWaitHVON_SDN_PREP + } + } + +FromWaitHVONToWaitStandby = { + Class = JAMessageGAM + Operation = AND + InputSignals = { + PLC_READY = { + DataSource = NI6528_DI + Comparator = EQUALS + Value = 0 + } + } + +Event = { + Class = Message + Destination = StateMachine + Function = GoWaitStandby + } + } + +FromWaitHVONToWaitPermit = { + Class = JAMessageGAM + Operation = AND + InputSignals = { + PLC_PERMIT = { + DataSource = NI6528_DI + Comparator = EQUALS + Value = 0 + } + APS_HVON = { + DataSource = RealTimeThreadAsyncBridge + Type = uint32 + Comparator = EQUALS + Value = 0 + } + BPS_HVON = { + DataSource = RealTimeThreadAsyncBridge + Type = uint32 + Comparator = EQUALS + Value = 0 + } + MHVPS_HVON = { + DataSource = RealTimeThreadAsyncBridge + Type = uint32 + Comparator = EQUALS + Value = 0 + } + BPS_SWON = { + DataSource = RealTimeThreadAsyncBridge + Type = uint32 + Comparator = EQUALS + Value = 0 + } + APS_SWON = { + DataSource = RealTimeThreadAsyncBridge + Type = uint32 + Comparator = EQUALS + Value = 0 + } + } + +Event = { + Class = Message + Destination = StateMachine + Function = GoWaitPermit + } + } + +FastStatesSync = { + Class = IOGAM + InputSignals = { + 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 + } + } + OutputSignals = { + BEAM_ON_STAT = { + DataSource = DDB1 + Type = uint32 + } + HVARMED = { + DataSource = DDB1 + Type = uint32 + } + HVINJECTION = { + DataSource = DDB1 + Type = uint32 + } + RFON = { + DataSource = DDB1 + Type = uint32 + } + ELAPSED_TIME = { + DataSource = DDB1 + Type = uint32 + } + BEAM_ON_TIME = { + DataSource = DDB1 + Type = uint32 + } + } + } + +SDNCommandGAM = { + Class = IOGAM + InputSignals = { + Command = { + DataSource = SDNCommands + NumberOfDimensions = 1 + NumberOfElements = 64 + Ranges = { { 0 0 } } + } + ESDNTime = { + DataSource = SDNCommands + NumberOfDimensions = 1 + NumberOfElements = 1 + } + } + OutputSignals = { + Command = { + DataSource = RealTimeThreadAsyncBridge + } + ESDNTime = { + DataSource = DDB2 + } + } + } + +SDNReplyGAM = { + Class = IOGAM + InputSignals = { + ESDNTime = { + DataSource = DDB2 + } + WaveformPacketID = { + DataSource = DDB2 + } + GYA_BPS_MESVOLT = { + DataSource = NI6259_AI + } + GYA_BPS_MESCURR = { + DataSource = NI6259_AI + } + GYA_APS_MESVOLT = { + DataSource = NI6259_AI + } + GYA_APS_MESCURR = { + DataSource = NI6259_AI + } + GYA_ARC1_MESVOLT = { + DataSource = NI6259_AI + } + GYA_ARC2_MESVOLT = { + DataSource = NI6259_AI + } + GYA_ARC3_MESVOLT = { + DataSource = NI6259_AI + } + GYA_MHVPS_MESVOLT = { + DataSource = NI6259_AI + } + GYA_MHVPS_MESCURR = { + DataSource = NI6259_AI + } + GYA_MCPS_CURR_MON = { + DataSource = NI6259_AI + } + GYA_GCPS_CURR_MON = { + DataSource = NI6259_AI + } + GYA_FHPS_MEAS_ACI = { + DataSource = NI6259_AI + } + GYA_CCPS_MEAS_DCI = { + DataSource = NI6259_AI + } + } + OutputSignals = { + ESDNTime = { + DataSource = SDNReply + } + ReplyWaveformAck = { + DataSource = SDNReply + } + GYA_BPS_MESVOLT = { + DataSource = SDNReply + } + GYA_BPS_MESCURR = { + DataSource = SDNReply + } + GYA_APS_MESVOLT = { + DataSource = SDNReply + } + GYA_APS_MESCURR = { + DataSource = SDNReply + } + GYA_ARC1_MESVOLT = { + DataSource = SDNReply + } + GYA_ARC2_MESVOLT = { + DataSource = SDNReply + } + GYA_ARC3_MESVOLT = { + DataSource = SDNReply + } + GYA_MHVPS_MESVOLT = { + DataSource = SDNReply + } + GYA_MHVPS_MESCURR = { + DataSource = SDNReply + } + GYA_MCPS_CURR_MON = { + DataSource = SDNReply + } + GYA_GCPS_CURR_MON = { + DataSource = SDNReply + } + GYA_FHPS_MEAS_ACI = { + DataSource = SDNReply + } + GYA_CCPS_MEAS_DCI = { + DataSource = SDNReply + } + } + } + +FastEpicsInputGAM = { + Class = IOGAM + InputSignals = { + MHVPS_DT = { + DataSource = EPICSCAInput + Type = uint32 + } + APS_HVON_DT = { + DataSource = EPICSCAInput + Type = uint32 + } + APS_SWON_DT = { + DataSource = EPICSCAInput + Type = uint32 + } + BPS_HVON_DT = { + DataSource = EPICSCAInput + Type = uint32 + } + BPS_SWON_DT = { + DataSource = EPICSCAInput + Type = uint32 + } + SHOTLEN = { + DataSource = EPICSCAInput + Type = uint32 + } + PLC_ON = { + DataSource = NI6528_DI + } + } + OutputSignals = { + 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 + } + } + } + +FastStopRequestGAM = { + Class = JAConditionalSignalUpdateGAM + Operation = OR + InputSignals = { + GYA_APS_FLT = { + DataSource = NI6528_DI + Type = uint32 + Comparators = EQUALS + Value = 1 + } + GYA_BPS_FLT = { + DataSource = NI6528_DI + Comparators = EQUALS + Value = 1 + } + MHVPS_OV = { + DataSource = NI6528_DI + Comparators = EQUALS + Value = 1 + } + MHVPS_OC = { + DataSource = NI6528_DI + Comparators = EQUALS + Value = 1 + } + MHVPS_FLT = { + DataSource = NI6528_DI + Comparators = EQUALS + Value = 1 + } + MIS_ITL = { + DataSource = EPICSCAInput + Type = uint32 + Comparators = EQUALS + Value = 1 + } + PLC_ITL = { + DataSource = NI6528_DI + Comparators = EQUALS + Value = 1 + } + } + OutputSignals = { + StopRequest = { + DataSource = DDB3 + Type = uint32 + Default = 0 + Value = 1 + } + } + } + +ModeLimitGAM = { + Class = JAModeControlGAM + InputSignals = { + PLC_MODE1 = { + DataSource = EPICSCAInput + } + MD1_SHOTLEN_LIM = { + DataSource = EPICSCAInput + } + PLC_MODE2 = { + DataSource = EPICSCAInput + } + MD2_SHOTLEN_LIM = { + DataSource = EPICSCAInput + } + PLC_MODE3 = { + DataSource = EPICSCAInput + } + MD3_SHOTLEN_LIM = { + DataSource = EPICSCAInput + } + PLC_MODE4 = { + DataSource = EPICSCAInput + } + MD4_SHOTLEN_LIM = { + DataSource = EPICSCAInput + } + RFON = { + DataSource = RealTimeThreadAsyncBridge + } + Time = { + DataSource = RealTimeThreadAsyncBridge + } + HVInjection = { + DataSource = RealTimeThreadAsyncBridge + } + } + OutputSignals = { + MODE_SHOTLEN_FLAG = { + DataSource = DDB3 + Type = uint32 + } + } + } + +NI6528P3GAM = { + Class = JABitSumGAM + InputSignals = { + APS_HVON = { + DataSource = EPICSCAInput + Type = uint32 + } + APS_SWON = { + DataSource = EPICSCAInput + Type = uint32 + } + APS_STOP = { + DataSource = EPICSCAInput + Type = uint32 + } + BPS_HVON = { + DataSource = EPICSCAInput + Type = uint32 + } + BPS_SWON = { + DataSource = EPICSCAInput + Type = uint32 + } + BPS_STOP = { + DataSource = EPICSCAInput + Type = uint32 + } + BEAM_ON_STAT = { + DataSource = EPICSCAInput + Type = uint32 + } + DO_REV5 = { + DataSource = EPICSCAInput + Type = uint32 + } + } + OutputSignals = { + NI6528P3CurrentValue = { + DataSource = DDB3 + Type = uint8 + } + } + } + +NI6528P4GAM = { + Class = JABitSumGAM + InputSignals = { + DO_REV6 = { + DataSource = EPICSCAInput + Type = uint32 + } + DO_REV7 = { + DataSource = EPICSCAInput + Type = uint32 + } + DO_REV8 = { + DataSource = EPICSCAInput + Type = uint32 + } + MHVPS_HVON = { + DataSource = EPICSCAInput + Type = uint32 + } + MHVPS_STOP = { + DataSource = EPICSCAInput + Type = uint32 + } + MHVPS_MODSW = { + DataSource = EPICSCAInput + Type = uint32 + } + PCF_FLT = { + DataSource = EPICSCAInput + Type = uint32 + } + HVARMED = { + DataSource = EPICSCAInput + Type = uint32 + } + } + OutputSignals = { + NI6528P4CurrentValue = { + DataSource = DDB3 + Type = uint8 + } + } + } + +NI6528P5GAM = { + Class = JABitSumGAM + InputSignals = { + HVINJECTION = { + DataSource = EPICSCAInput + Type = uint32 + } + RFON = { + DataSource = EPICSCAInput + Type = uint32 + } + FHPS_RU = { + DataSource = EPICSCAInput + Type = uint32 + } + SCM_RU = { + DataSource = EPICSCAInput + Type = uint32 + } + SCM_RD = { + DataSource = EPICSCAInput + Type = uint32 + } + CCPS_IN_OPERATION = { + DataSource = EPICSCAInput + Type = uint32 + } + PXI_FLT = { + DataSource = DDB3 + Type = uint32 + } + NONE2 = { + DataSource = DDB3 + Type = uint32 + Default = 0 + } + } + OutputSignals = { + NI6528P5CurrentValue = { + DataSource = DDB3 + Type = uint8 + } + } + } + +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 + } + } + } + +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 + } + } + } + +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 + } + 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 + } + } + } + +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 = EPICSCAInput + Type = uint32 + } + MHVPS_MODSW = { + DataSource = EPICSCAInput + Type = uint32 + } + DO_REV6 = { + DataSource = EPICSCAInput + Type = uint32 + } + } + OutputSignals = { + RTSMValue = { + DataSource = DDB3 + Type = uint32 + Trigger = 1 + } + 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 + } + NI6259Value = { + DataSource = NI6259_DIO_P0 + Type = uint32 + Trigger = 1 + } + NI6528P3Value = { + DataSource = NI6528_DO_P3 + Type = uint8 + } + NI6528P4Value = { + DataSource = NI6528_DO_P4 + 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 = RealTimeThreadAsyncBridge + Type = uint16 + } + } + OutputSignals = { + RTSMValue = { + DataSource = DDB3 + Type = uint32 + Trigger = 1 + } + BeamON = { + 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 + } + } + } + } + +States = { + Class = ReferenceContainer + +Disabled = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1 = { + Class = RealTimeThread + Functions = { Timer1kHzGAM StateGAM CCPSWaveformGAM GoErrorGAM GoWaitStandbyGAM ChoiceGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM } + CPUs = 0x100 + } + +Thread2 = { + Class = RealTimeThread + Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM } + CPUs = 0x200 + } + +Thread3 = { + Class = RealTimeThread + Functions = { FastTimerGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM } + CPUs = 0x400 + } + } + } + +WaitStandby = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1 = { + Class = RealTimeThread + Functions = { Timer1kHzGAM StateGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM ChoiceGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM GoDisabledGAM GoWaitReadyGAM GoErrorGAM } + CPUs = 0x100 + } + +Thread2 = { + Class = RealTimeThread + Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM } + CPUs = 0x200 + } + +Thread3 = { + Class = RealTimeThread + Functions = { FastTimerGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM } + CPUs = 0x400 + } + } + } + +WaitReady = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1 = { + Class = RealTimeThread + Functions = { Timer1kHzGAM StateGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM ChoiceGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM GoWaitPermitGAM GoWaitStandbyFromReadyGAM GoErrorGAM } + CPUs = 0x100 + } + +Thread2 = { + Class = RealTimeThread + Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM } + CPUs = 0x200 + } + +Thread3 = { + Class = RealTimeThread + Functions = { FastTimerGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM } + CPUs = 0x400 + } + } + } + +WaitPermit = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1 = { + Class = RealTimeThread + Functions = { Timer1kHzGAM StateGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM ChoiceGAM EPICSOutputGAM GoWaitReadyFromWaitPermitGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM GoWaitHVONGAM GoWaitHVON_PREP_GAM GoWaitHVON_SDN_GAM GoWaitHVON_SDN_PREP_GAM GoErrorGAM } + CPUs = 0x100 + } + +Thread2 = { + Class = RealTimeThread + Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM } + CPUs = 0x200 + } + +Thread3 = { + Class = RealTimeThread + Functions = { FastTimerGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM } + CPUs = 0x400 + } + } + } + +WaitHVON = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1 = { + Class = RealTimeThread + Functions = { Timer1kHzGAM StateGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM ChoiceGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM FastStatesSync FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } + CPUs = 0x100 + } + +Thread2 = { + Class = RealTimeThread + Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM } + CPUs = 0x200 + } + +Thread3 = { + Class = RealTimeThread + Functions = { FastTimerGAM FastEpicsInputGAM FastStopRequestGAM ModeLimitGAM NI6528P3GAM NI6528P4GAM GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM } + CPUs = 0x400 + } + } + } + +WaitHVON_SDN = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1 = { + Class = RealTimeThread + Functions = { Timer1kHzGAM StateGAM CCPSWaveformGAM FHPSRampupGAM ChoiceGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM FastStatesSync FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } + CPUs = 0x100 + } + +Thread2 = { + Class = RealTimeThread + Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM } + CPUs = 0x200 + } + +Thread3 = { + Class = RealTimeThread + Functions = { FastTimerGAM FastEpicsInputGAM FastStopRequestGAM ModeLimitGAM NI6528P3GAM NI6528P4GAM GAMSDNRealTimeStateMachine TerminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM } + CPUs = 0x400 + } + } + } + +WaitHVON_PREP = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1 = { + Class = RealTimeThread + Functions = { Timer1kHzGAM StateGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM ChoiceGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM FastStatesSync FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } + CPUs = 0x100 + } + +Thread2 = { + Class = RealTimeThread + Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM } + CPUs = 0x200 + } + +Thread3 = { + Class = RealTimeThread + Functions = { FastTimerGAM FastEpicsInputGAM FastStopRequestGAM ModeLimitGAM NI6528P3GAM NI6528P4GAM GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM } + CPUs = 0x400 + } + } + } + +WaitHVON_SDN_PREP = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1 = { + Class = RealTimeThread + Functions = { Timer1kHzGAM StateGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM ChoiceGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM FastStatesSync FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } + CPUs = 0x100 + } + +Thread2 = { + Class = RealTimeThread + Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM } + CPUs = 0x200 + } + +Thread3 = { + Class = RealTimeThread + Functions = { FastTimerGAM FastEpicsInputGAM FastStopRequestGAM ModeLimitGAM NI6528P3GAM NI6528P4GAM GAMSDNRealTimeStateMachine TerminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM } + CPUs = 0x400 + } + } + } + +Error = { + Class = RealTimeState + +Threads = { + Class = ReferenceContainer + +Thread1 = { + Class = RealTimeThread + Functions = { Timer1kHzGAM StateGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM ExitedHVArmedInjectionRFONGAM ResetPSsGAM ResetErrorGAM ChoiceGAM EPICSOutputGAM CCPSWaveformGAM } + CPUs = 0x100 + } + +Thread2 = { + Class = RealTimeThread + Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM } + CPUs = 0x200 + } + +Thread3 = { + Class = RealTimeThread + Functions = { FastTimerGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM } + CPUs = 0x400 + } + } + } + } + +Scheduler = { + Class = GAMScheduler + TimingDataSource = Timings + } + } +}