6417 lines
223 KiB
Plaintext
6417 lines
223 KiB
Plaintext
+NiDevice = {
|
|
Class = NI9157Device
|
|
NiRioDeviceName = "RIO0"
|
|
NiRioSerialNumber = "0x01E4B4D5"
|
|
NiRioGenFile = "/opt/codac/ampegon-ps-tb/BitStreams/AmpegonPsTb_NI9159_V2.lvbitx"
|
|
NiRioGenSignature = "455F662BA8258B060FD324C9DEF38604"
|
|
Open = 1
|
|
Run = 1
|
|
Reset = 1
|
|
Clear = 1
|
|
ResetPostSleepMs = 120
|
|
}
|
|
|
|
+StateMachine = {
|
|
Class = StateMachine
|
|
+INITIAL = {
|
|
Class = ReferenceContainer
|
|
+START = {
|
|
Class = StateMachineEvent
|
|
NextState = "PRE_CFG"
|
|
NextStateError = "ERROR"
|
|
Timeout = 0
|
|
+OpenDANWriterT1 = {
|
|
Class = Message
|
|
Destination = "TbTestApp.Data.DANWriterT1"
|
|
Function = OpenStream
|
|
Mode = ExpectsReply
|
|
}
|
|
+OpenDANWriterT2 = {
|
|
Class = Message
|
|
Destination = "TbTestApp.Data.DANWriterT2"
|
|
Function = OpenStream
|
|
Mode = ExpectsReply
|
|
}
|
|
+OpenDANWriterT3 = {
|
|
Class = Message
|
|
Destination = "TbTestApp.Data.DANWriterT3"
|
|
Function = OpenStream
|
|
Mode = ExpectsReply
|
|
}
|
|
+ChangeToStateIdleMsg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = PrepareNextState
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = PreCfg
|
|
}
|
|
}
|
|
+StartNextStateExecutionMsg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Function = StartNextStateExecution
|
|
Mode = ExpectsReply
|
|
}
|
|
}
|
|
}
|
|
+PRE_CFG = {
|
|
Class = ReferenceContainer
|
|
+ENTER = {
|
|
Class = ReferenceContainer
|
|
// Set Current State
|
|
+SetCurrentState = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.AppStateMachineState
|
|
Function = SetOutput
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
SignalName = SMState_DDB1
|
|
SignalValue = 1
|
|
}
|
|
}
|
|
// Enable DANWriterWriteT1
|
|
+EnableDANWriterWriteT1 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.DANWriterWriteEnable
|
|
Function = SetOutput
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
SignalName = DANWriterEnable_DDB1
|
|
SignalValue = 1
|
|
}
|
|
}
|
|
}
|
|
+GOTO_MXI_CFG = {
|
|
Class = StateMachineEvent
|
|
NextState = "MXI_CFG"
|
|
NextStateError = "ERROR"
|
|
Timeout = 0
|
|
// Prepare Next State
|
|
+StopCurrentStateExecutionMsg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Function = StopCurrentStateExecution
|
|
Mode = ExpectsReply
|
|
}
|
|
+PrepareRun = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = PrepareNextState
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = MxiCfg
|
|
}
|
|
}
|
|
+GoToNextState = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = StartNextStateExecution
|
|
}
|
|
}
|
|
+GOTO_CFG_ERROR = {
|
|
Class = StateMachineEvent
|
|
NextState = "CFG_ERROR"
|
|
NextStateError = "ERROR"
|
|
Timeout = 0
|
|
+StopCurrentStateExecutionMsg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Function = StopCurrentStateExecution
|
|
Mode = ExpectsReply
|
|
}
|
|
+PrepareCfgError = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = PrepareNextState
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = CfgError
|
|
}
|
|
}
|
|
+GoToNextState = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = StartNextStateExecution
|
|
}
|
|
}
|
|
}
|
|
+MXI_CFG = {
|
|
Class = ReferenceContainer
|
|
+ENTER = {
|
|
Class = ReferenceContainer
|
|
// Set Current State
|
|
+SetCurrentState = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.AppStateMachineState
|
|
Function = SetOutput
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
SignalName = SMState_DDB1
|
|
SignalValue = 2
|
|
}
|
|
}
|
|
// Trigger MXIConfigurationSupervisor Configuration
|
|
+MxiCfgSup_MsgMode_1 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.MXIConfigurationSupervisor
|
|
Function = MXIOperation
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = 1
|
|
param2 = null
|
|
param3 = null
|
|
param4 = null
|
|
}
|
|
}
|
|
}
|
|
+GOTO_PLC_CFG = {
|
|
Class = StateMachineEvent
|
|
NextState = "PLC_CFG"
|
|
NextStateError = "ERROR"
|
|
Timeout = 0
|
|
// Prepare Next State
|
|
+StopCurrentStateExecutionMsg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Function = StopCurrentStateExecution
|
|
Mode = ExpectsReply
|
|
}
|
|
+PrepareRun = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = PrepareNextState
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = PlcCfg
|
|
}
|
|
}
|
|
+GoToNextState = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = StartNextStateExecution
|
|
}
|
|
}
|
|
+GOTO_CFG_ERROR = {
|
|
Class = StateMachineEvent
|
|
NextState = "CFG_ERROR"
|
|
NextStateError = "ERROR"
|
|
Timeout = 0
|
|
+StopCurrentStateExecutionMsg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Function = StopCurrentStateExecution
|
|
Mode = ExpectsReply
|
|
}
|
|
+PrepareCfgError = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = PrepareNextState
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = CfgError
|
|
}
|
|
}
|
|
+GoToNextState = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = StartNextStateExecution
|
|
}
|
|
}
|
|
}
|
|
+PLC_CFG = {
|
|
Class = ReferenceContainer
|
|
+ENTER = {
|
|
Class = ReferenceContainer
|
|
// Set Current State
|
|
+SetCurrentState = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.AppStateMachineState
|
|
Function = SetOutput
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
SignalName = SMState_DDB1
|
|
SignalValue = 3
|
|
}
|
|
}
|
|
// Trigger PLCConfigurationSupervisor Configuration
|
|
+PlcCfgSup_MsgMode_0 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.PlcConfigurationSupervisor
|
|
Function = TriggerSelected
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = 0
|
|
param2 = null
|
|
param3 = null
|
|
param4 = null
|
|
}
|
|
}
|
|
}
|
|
+GOTO_TEST_RUN = {
|
|
Class = StateMachineEvent
|
|
NextState = "TEST_RUN"
|
|
NextStateError = "ERROR"
|
|
Timeout = 0
|
|
// Prepare Next State
|
|
+StopCurrentStateExecutionMsg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Function = StopCurrentStateExecution
|
|
Mode = ExpectsReply
|
|
}
|
|
+PrepareRun = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = PrepareNextState
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = TestRun
|
|
}
|
|
}
|
|
+GoToNextState = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = StartNextStateExecution
|
|
}
|
|
}
|
|
+GOTO_CFG_ERROR = {
|
|
Class = StateMachineEvent
|
|
NextState = "CFG_ERROR"
|
|
NextStateError = "ERROR"
|
|
Timeout = 0
|
|
+StopCurrentStateExecutionMsg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Function = StopCurrentStateExecution
|
|
Mode = ExpectsReply
|
|
}
|
|
+PrepareCfgError = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = PrepareNextState
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = CfgError
|
|
}
|
|
}
|
|
+GoToNextState = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = StartNextStateExecution
|
|
}
|
|
}
|
|
}
|
|
+TEST_RUN = {
|
|
Class = ReferenceContainer
|
|
+ENTER = {
|
|
Class = ReferenceContainer
|
|
// Set Current State
|
|
+SetCurrentState = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.AppStateMachineState
|
|
Function = SetOutput
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
SignalName = SMState_DDB1
|
|
SignalValue = 4
|
|
}
|
|
}
|
|
}
|
|
+GOTO_TEST_POST = {
|
|
Class = StateMachineEvent
|
|
NextState = "TEST_POST"
|
|
NextStateError = "ERROR"
|
|
Timeout = 0
|
|
// Prepare Next State
|
|
+StopCurrentStateExecutionMsg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Function = StopCurrentStateExecution
|
|
Mode = ExpectsReply
|
|
}
|
|
+PrepareTestPost = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = PrepareNextState
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = TestPost
|
|
}
|
|
}
|
|
+GoToNextState = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = StartNextStateExecution
|
|
}
|
|
}
|
|
}
|
|
+TEST_POST = {
|
|
Class = ReferenceContainer
|
|
+ENTER = {
|
|
Class = ReferenceContainer
|
|
// Set Current State
|
|
+SetCurrentState = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.AppStateMachineState
|
|
Function = SetOutput
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
SignalName = SMState_DDB1
|
|
SignalValue = 5
|
|
}
|
|
}
|
|
}
|
|
+GOTO_TEST_DONE = {
|
|
Class = StateMachineEvent
|
|
NextState = "TEST_DONE"
|
|
NextStateError = "ERROR"
|
|
Timeout = 0
|
|
// Trigger PLCConfigurationSupervisor Disable
|
|
// Not used in this test
|
|
// Trigger MXIConfigurationSupervisor Disable
|
|
+MxiCfgSup_MsgMode_2 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.MXIConfigurationSupervisor
|
|
Function = MXIOperation
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = 2
|
|
param2 = null
|
|
param3 = null
|
|
param4 = null
|
|
}
|
|
}
|
|
// Flush DANWriterT2
|
|
+FlushDANWriterT2 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Data.DANWriterT2
|
|
Function = CloseStream
|
|
Mode = ExpectsReply
|
|
}
|
|
// Flush FileWriterBufferT2
|
|
+FlushFileWriterBufferT2 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Data.FileWriterBufferT2
|
|
Function = FlushFile
|
|
Mode = ExpectsReply
|
|
}
|
|
// Flush DANWriterT3
|
|
+FlushDANWriterT3 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Data.DANWriterT3
|
|
Function = CloseStream
|
|
Mode = ExpectsReply
|
|
}
|
|
+StopCurrentStateExecutionMsg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Function = StopCurrentStateExecution
|
|
Mode = ExpectsReply
|
|
}
|
|
+PrepareTestDone = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = PrepareNextState
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = TestDone
|
|
}
|
|
}
|
|
+GoToNextState = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = StartNextStateExecution
|
|
}
|
|
}
|
|
}
|
|
+TEST_DONE = {
|
|
Class = ReferenceContainer
|
|
+ENTER = {
|
|
Class = ReferenceContainer
|
|
// Set Current State
|
|
+SetCurrentState = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.AppStateMachineState
|
|
Function = SetOutput
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
SignalName = SMState_DDB1
|
|
SignalValue = 7
|
|
}
|
|
}
|
|
}
|
|
+TEST_DONE_TASKS = {
|
|
Class = StateMachineEvent
|
|
NextState = "TEST_DONE"
|
|
NextStateError = "ERROR"
|
|
Timeout = 0
|
|
// Disable DANWriterWriteT1
|
|
+DisableDANWriterWriteT1 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.DANWriterWriteEnable
|
|
Function = SetOutput
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
SignalName = DANWriterEnable_DDB1
|
|
SignalValue = 0
|
|
}
|
|
}
|
|
// Flush DANWriterT1
|
|
+FlushDANWriterT1 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Data.DANWriterT1
|
|
Function = CloseStream
|
|
Mode = ExpectsReply
|
|
}
|
|
}
|
|
+GOTO_PRE_CFG = {
|
|
Class = StateMachineEvent
|
|
NextState = "PRE_CFG"
|
|
NextStateError = "ERROR"
|
|
Timeout = 0
|
|
+StopCurrentStateExecutionMsg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Function = StopCurrentStateExecution
|
|
Mode = ExpectsReply
|
|
}
|
|
+PreparePreCfg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = PrepareNextState
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = PreCfg
|
|
}
|
|
}
|
|
+GoToNextState = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = StartNextStateExecution
|
|
}
|
|
}
|
|
}
|
|
+CFG_ERROR = {
|
|
Class = ReferenceContainer
|
|
+ENTER = {
|
|
Class = ReferenceContainer
|
|
// Set Current State
|
|
+SetCurrentState = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.AppStateMachineState
|
|
Function = SetOutput
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
SignalName = SMState_DDB1
|
|
SignalValue = 8
|
|
}
|
|
}
|
|
// Trigger PLCConfigurationSupervisor Disable
|
|
// Not used in this test
|
|
// Trigger MXIConfigurationSupervisor Disable
|
|
+MxiCfgSup_MsgMode_2 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.MXIConfigurationSupervisor
|
|
Function = MXIOperation
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = 2
|
|
param2 = null
|
|
param3 = null
|
|
param4 = null
|
|
}
|
|
}
|
|
// Disable DANWriterWriteT1
|
|
+DisableDANWriterWriteT1 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.DANWriterWriteEnable
|
|
Function = SetOutput
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
SignalName = DANWriterEnable_DDB1
|
|
SignalValue = 0
|
|
}
|
|
}
|
|
// Flush DANWriterTreeT1
|
|
+FlushDANWriterT1 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Data.DANWriterT1
|
|
Function = CloseStream
|
|
Mode = ExpectsReply
|
|
}
|
|
// Flush DANWriterTreeT2
|
|
+FlushDANWriterT2 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Data.DANWriterT2
|
|
Function = CloseStream
|
|
Mode = ExpectsReply
|
|
}
|
|
// Flush FileWriterBufferT2
|
|
+FlushFileWriterBufferT2 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Data.FileWriterBufferT2
|
|
Function = FlushFile
|
|
Mode = ExpectsReply
|
|
}
|
|
// Flush DANWriterTreeT3
|
|
+FlushDANWriterT3 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Data.DANWriterT3
|
|
Function = CloseStream
|
|
Mode = ExpectsReply
|
|
}
|
|
}
|
|
+GOTO_PRE_CFG = {
|
|
Class = StateMachineEvent
|
|
NextState = "PRE_CFG"
|
|
NextStateError = "ERROR"
|
|
Timeout = 0
|
|
+StopCurrentStateExecutionMsg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Function = StopCurrentStateExecution
|
|
Mode = ExpectsReply
|
|
}
|
|
+PreparePreCfg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = PrepareNextState
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = PreCfg
|
|
}
|
|
}
|
|
+GoToNextState = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = StartNextStateExecution
|
|
}
|
|
}
|
|
}
|
|
+ERROR = {
|
|
Class = ReferenceContainer
|
|
+ENTER = {
|
|
Class = ReferenceContainer
|
|
// Set Current State
|
|
+SetCurrentState = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.AppStateMachineState
|
|
Function = SetOutput
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
SignalName = SMState_DDB1
|
|
SignalValue = 9
|
|
}
|
|
}
|
|
// Trigger PLCConfigurationSupervisor Disable
|
|
// Not used in this test
|
|
// Trigger MXIConfigurationSupervisor Disable
|
|
+MxiCfgSup_MsgMode_2 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.MXIConfigurationSupervisor
|
|
Function = MXIOperation
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = 2
|
|
param2 = null
|
|
param3 = null
|
|
param4 = null
|
|
}
|
|
}
|
|
// Disable DANWriterWriteT1
|
|
+DisableDANWriterWriteT1 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.DANWriterWriteEnable
|
|
Function = SetOutput
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
SignalName = DANWriterEnable_DDB1
|
|
SignalValue = 0
|
|
}
|
|
}
|
|
// Flush DANWriterTreeT1
|
|
+FlushDANWriterT1 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Data.DANWriterT1
|
|
Function = CloseStream
|
|
Mode = ExpectsReply
|
|
}
|
|
// Flush DANWriterTreeT2
|
|
+FlushDANWriterT2 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Data.DANWriterT2
|
|
Function = CloseStream
|
|
Mode = ExpectsReply
|
|
}
|
|
// Flush FileWriterBufferT2
|
|
+FlushFileWriterBufferT2 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Data.FileWriterBufferT2
|
|
Function = FlushFile
|
|
Mode = ExpectsReply
|
|
}
|
|
// Flush DANWriterTreeT3
|
|
+FlushDANWriterT3 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Data.DANWriterT3
|
|
Function = CloseStream
|
|
Mode = ExpectsReply
|
|
}
|
|
+StopCurrentStateExecutionMsg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Function = StopCurrentStateExecution
|
|
Mode = ExpectsReply
|
|
}
|
|
+PrepareError = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = PrepareNextState
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = Error
|
|
}
|
|
}
|
|
+GoToNextState = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = StartNextStateExecution
|
|
}
|
|
}
|
|
+GOTO_PRE_CFG = {
|
|
Class = StateMachineEvent
|
|
NextState = "PRE_CFG"
|
|
NextStateError = "ERROR"
|
|
Timeout = 0
|
|
+StopCurrentStateExecutionMsg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Function = StopCurrentStateExecution
|
|
Mode = ExpectsReply
|
|
}
|
|
+PreparePreCfg = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = PrepareNextState
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = PreCfg
|
|
}
|
|
}
|
|
+GoToNextState = {
|
|
Class = Message
|
|
Destination = TbTestApp
|
|
Mode = ExpectsReply
|
|
Function = StartNextStateExecution
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
$TbTestApp = {
|
|
Class = RealTimeApplication
|
|
+Functions = {
|
|
Class = ReferenceContainer
|
|
|
|
// ----------- T1 START ----------- //
|
|
// Slow Timer Thread - Configuration and monitoring
|
|
// ------ TIMER ------ //
|
|
+Timer = {
|
|
Class = IOGAM
|
|
InputSignals = {
|
|
Counter = {
|
|
DataSource = Timer
|
|
Type = uint32
|
|
}
|
|
//!cast(uint32, uint64): because...
|
|
Time = {
|
|
Frequency = 100
|
|
DataSource = Timer
|
|
Type = uint64
|
|
}
|
|
AbsoluteTime = {
|
|
DataSource = Timer
|
|
Type = uint64
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
//!implicit: defined because....
|
|
Counter_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint32
|
|
}
|
|
Time_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint32
|
|
}
|
|
AbsTimeSrc_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
}
|
|
}
|
|
|
|
+CurrentTime_T1 = {
|
|
Class = SystemClockGAM
|
|
OutputSignals = {
|
|
AbsTimeT1_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
}
|
|
}
|
|
|
|
+TimeConverter = {
|
|
Class = AbsTimeConverterGAM
|
|
InputSignals = {
|
|
AbsTimeSrc_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
AbsTime_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
|
|
// ----- RX PATH ----- //
|
|
+MXIRead = {
|
|
Class = IOGAM
|
|
InputSignals = {
|
|
hl_tx_spi_done = {
|
|
DataSource = MXIRegistersRead
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
Trigger = 1
|
|
}
|
|
hl_rx_spi_done = {
|
|
DataSource = MXIRegistersRead
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_ao_0_ctr_out = {
|
|
DataSource = MXIRegistersRead
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_ao_1_ctr_out = {
|
|
DataSource = MXIRegistersRead
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_ao_2_ctr_out = {
|
|
DataSource = MXIRegistersRead
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_mo_0_ctr_out = {
|
|
DataSource = MXIRegistersRead
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_mo_1_ctr_out = {
|
|
DataSource = MXIRegistersRead
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_do_n_ctr_out = {
|
|
DataSource = MXIRegistersRead
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_fs_0_ctr_out = {
|
|
DataSource = MXIRegistersRead
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_fs_1_ctr_out = {
|
|
DataSource = MXIRegistersRead
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_full_mod_out = {
|
|
DataSource = MXIRegistersRead
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_acq_en_out = {
|
|
DataSource = MXIRegistersRead
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_ts_status = {
|
|
DataSource = MXIRegistersRead
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_ts_out = {
|
|
DataSource = MXIRegistersRead
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
MXI_HL_TX_SPI_DONE_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_HL_RX_SPI_DONE_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_DSC_AO_0_CTR_OUT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_DSC_AO_1_CTR_OUT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_DSC_AO_2_CTR_OUT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_DSC_MO_0_CTR_OUT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_DSC_MO_1_CTR_OUT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_DSC_DO_N_CTR_OUT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_DSC_FS_0_CTR_OUT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_DSC_FS_1_CTR_OUT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_DSC_FULL_MOD_OUT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_DSC_ACQ_EN_OUT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_DSC_TS_STATUS_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_DSC_TS_OUT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIModuleFullFlagSplitter = {
|
|
Class = BitSplitterGAM
|
|
InputSignals = {
|
|
DigitalSignal = {
|
|
Alias = MXI_DSC_FULL_MOD_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
Bit_0 = {
|
|
Alias = MXI_DSC_AO_0_FULL_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
}
|
|
Bit_1 = {
|
|
Alias = MXI_DSC_AO_1_FULL_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
}
|
|
Bit_2 = {
|
|
Alias = MXI_DSC_AO_2_FULL_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
}
|
|
Bit_3 = {
|
|
Alias = MXI_DSC_MO_0_FULL_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
}
|
|
Bit_4 = {
|
|
Alias = MXI_DSC_MO_1_FULL_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
}
|
|
Bit_5 = {
|
|
Alias = MXI_DSC_DO_N_FULL_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
}
|
|
Bit_6 = {
|
|
Alias = MXI_DSC_FS_0_FULL_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
}
|
|
Bit_7 = {
|
|
Alias = MXI_DSC_FS_1_FULL_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIMasterTime = {
|
|
Class = TimeArrayGAM
|
|
TimePerTicks = 25
|
|
TimeStep = 500
|
|
InputSignals = {
|
|
MXI_DSC_TS_OUT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
MXIAbsTime_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
+PlcPacketRx = {
|
|
Class = IOGAM
|
|
InputSignals = {
|
|
PlcReceivedAbsTime = {
|
|
DataSource = SdnPlcSub
|
|
Alias = Header
|
|
NumberOfElements = 48
|
|
Type = uint8
|
|
Ranges = {{32, 39}}
|
|
Trigger = 1
|
|
}
|
|
PLC_HEADER = {
|
|
DataSource = SdnPlcSub
|
|
Type = uint8
|
|
NumberOfElements = 8
|
|
}
|
|
ACK_CFG = {
|
|
DataSource = SdnPlcSub
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
ACK_SMC = {
|
|
DataSource = SdnPlcSub
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
STATE_CFG = {
|
|
DataSource = SdnPlcSub
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
STATE_SMC = {
|
|
DataSource = SdnPlcSub
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
PlcPacketRx_AbsTime_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
PlcPacketRx_HEADER_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 8
|
|
NumberOfDimensions = 1
|
|
}
|
|
PlcPacketRx_ACK_CFG_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
PlcPacketRx_ACK_SMC_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
PlcPacketRx_STATE_CFG_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
PlcPacketRx_STATE_SMC_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
|
|
// ---- CONST GAM ---- //
|
|
+AppStateMachineState = {
|
|
Class = ConstantGAM
|
|
OutputSignals = {
|
|
SMState_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
+DANWriterWriteEnable = {
|
|
Class = ConstantGAM
|
|
OutputSignals = {
|
|
DANWriterEnable_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXISupervisorVariables = {
|
|
Class = ConstantGAM
|
|
OutputSignals = {
|
|
MXIConfigurationSupervisor_Trigger_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 0
|
|
}
|
|
MXIConfigurationSupervisor_Mode_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIBaseConfigurationVariables = {
|
|
Class = ConstantGAM
|
|
OutputSignals = {
|
|
MXI_RST_IN_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
Default = 1
|
|
}
|
|
MXI_HL_TX_1_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 4
|
|
}
|
|
MXI_HL_TX_2_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 4
|
|
}
|
|
MXI_HL_TX_3_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 4
|
|
}
|
|
MXI_HL_TX_OPT_TRG_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
Default = 1
|
|
}
|
|
MXI_HL_RX_1_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 4
|
|
}
|
|
MXI_HL_RX_2_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 4
|
|
}
|
|
MXI_HL_RX_3_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 4
|
|
}
|
|
MXI_HL_RX_4_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 4
|
|
}
|
|
MXI_HL_RX_5_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 4
|
|
}
|
|
MXI_HL_RX_6_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 4
|
|
}
|
|
MXI_HL_RX_7_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 4
|
|
}
|
|
MXI_HL_RX_OPT_TRG_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
Default = 1
|
|
}
|
|
MXI_DBG_EN_SEL_IN_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
Default = 1
|
|
}
|
|
MXI_DBG_EN_IN_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
Default = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIDsFifoAcqEnVariables = {
|
|
Class = ConstantGAM
|
|
OutputSignals = {
|
|
MXI_ACQ_EN_PAT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
Default = 0xAAAAAAAAAAAAAAAA
|
|
}
|
|
}
|
|
}
|
|
|
|
+PlcPacketTxVariables = {
|
|
Class = ConstantGAM
|
|
OutputSignals = {
|
|
PlcPacketTx_Trigger_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
Default = 0
|
|
}
|
|
PlcPacketTx_Select_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
Default = 0
|
|
}
|
|
PlcPacketTx_HeaderNF_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
Default = 11
|
|
}
|
|
PlcPacketTx_HeaderNI_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
Default = 10
|
|
}
|
|
PlcPacketTx_HeaderNC_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
Default = 2
|
|
}
|
|
PlcPacketTx_HeaderNS_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
Default = 0
|
|
}
|
|
PlcPacketTx_HeaderNA_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
Default = 0
|
|
}
|
|
PlcPacketTx_HeaderS_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfDimensions = 1
|
|
NumberOfElements = 3
|
|
Default = {0 0 0}
|
|
}
|
|
}
|
|
}
|
|
|
|
+StateMachineTasksDelay = {
|
|
Class = ConstantGAM
|
|
OutputSignals = {
|
|
CycleCounterReset_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 0
|
|
}
|
|
DelayCycles_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
Default = 50
|
|
}
|
|
}
|
|
}
|
|
|
|
+AcquisitionStatusDaq = {
|
|
Class = ConstantGAM
|
|
OutputSignals = {
|
|
AcquisitionStatusT2_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
+AcquisitionStatusDbg = {
|
|
Class = ConstantGAM
|
|
OutputSignals = {
|
|
AcquisitionStatusT3_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Default = 0
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
|
|
// ---- FLOW CTRL ---- //
|
|
+MXIConfigurationSupervisor = {
|
|
Class = MXIConfigurationSupervisorGAM
|
|
InputSignals = {
|
|
// --- Trigger Signals --- //
|
|
TriggerInput = {
|
|
Alias = MXIConfigurationSupervisor_Trigger_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
ModeInput = {
|
|
Alias = MXIConfigurationSupervisor_Mode_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// --- Monitor Signals --- //
|
|
// Base Configuration
|
|
BaseDone = {
|
|
Alias = MXIBaseConfigurationDone_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
BaseStatus = {
|
|
Alias = MXIBaseConfigurationStatus_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// Acquisition Enable
|
|
AcqEnDone = {
|
|
Alias = MXIAcquisitionEnableDone_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
AcqEnStatus = {
|
|
Alias = MXIAcquisitionEnableStatus_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// Triplet Configuration
|
|
TripletDone = {
|
|
Alias = MXITripletConfigurationDone_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
TripletStatus = {
|
|
Alias = MXITripletConfigurationStatus_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
// --- Trigger Signals --- //
|
|
// Base Configuration
|
|
BaseTrigger = {
|
|
Alias = MXIBaseConfiguration_Trigger_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
BaseMode = {
|
|
Alias = MXIBaseConfiguration_Mode_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// Acquisition Configuration
|
|
AcqTrigger = {
|
|
Alias = MXIAcquisitionEnable_Trigger_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// Triplet Configuration
|
|
TripletTrigger = {
|
|
Alias = MXITripletConfiguration_Trigger_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// Status Signals
|
|
CfgDone = {
|
|
Alias = MXIConfigurationSupervisor_Done_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
CfgError = {
|
|
Alias = MXIConfigurationSupervisor_Error_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
CfgStatus = {
|
|
Alias = MXIConfigurationSupervisor_Status_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIBaseConfiguration = {
|
|
Class = MXIBaseConfigurationGAM
|
|
ConfigurationStepTimeOutMs = 50
|
|
InputSignals = {
|
|
// Timer and activation signals
|
|
TimerAbsTimeUs = {
|
|
Alias = AbsTime_DDB1
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
TriggerInput = {
|
|
Alias = MXIBaseConfiguration_Trigger_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
ModeInput = {
|
|
Alias = MXIBaseConfiguration_Mode_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// Monitoring Signals
|
|
HlTxDone = {
|
|
Alias = MXI_HL_TX_SPI_DONE_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
HlRxDone = {
|
|
Alias = MXI_HL_RX_SPI_DONE_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
DscStatus = {
|
|
Alias = MXI_DSC_TS_STATUS_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
// Trigger Signals
|
|
TriggerReset = {
|
|
Alias = Trigger_MXIWriteRst_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
TriggerHotLink = {
|
|
Alias = Trigger_MXIWriteHlOpt_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
TriggerEnable = {
|
|
Alias = Trigger_MXIWriteEn_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
TriggerDebug = {
|
|
Alias = Trigger_MXIWriteDbg_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// Data Signals
|
|
Enable = {
|
|
Alias = MXI_EN_IN_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
// Status Signals
|
|
CfgDone = {
|
|
Alias = MXIBaseConfigurationDone_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
CfgStatus = {
|
|
Alias = MXIBaseConfigurationStatus_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIAcquisitionEnable = {
|
|
Class = MXIAcquisitionEnableGAM
|
|
ConfigurationStepTimeOutMs = 50
|
|
InputSignals = {
|
|
// Timer and activation signals
|
|
TimerAbsTimeUs = {
|
|
Alias = AbsTime_DDB1
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
TriggerInput = {
|
|
Alias = MXIAcquisitionEnable_Trigger_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// Monitoring Signals
|
|
AcqEnStatus = {
|
|
Alias = MXI_DSC_ACQ_EN_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
// Trigger Signals
|
|
TriggerAcquisition = {
|
|
Alias = Trigger_MXIWriteIDsFifoAcqEn_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// Status Signals
|
|
CfgDone = {
|
|
Alias = MXIAcquisitionEnableDone_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
CfgStatus = {
|
|
Alias = MXIAcquisitionEnableStatus_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXITripletConfiguration = {
|
|
Class = MXITripletConfigurationGAM
|
|
ConfigurationStepTimeOutMs = 5000
|
|
ReplayEvents = 3
|
|
+Channels = {
|
|
Class = ReferenceContainer
|
|
+AnalogueOutput_0 = {
|
|
Class = TripletsContainer
|
|
Type = AnalogueOutput
|
|
StartTimeToTimeStampTicks = 25
|
|
Triplets = {
|
|
{ 1, 1, 0x3FFF0000, 0x2000},
|
|
{ 2, 5100000000, 0x00036FF2, 0x3ADA},
|
|
{ 3, 5200000000, 0x00036FF2, 0x2000}
|
|
}
|
|
}
|
|
+AnalogueOutput_1 = {
|
|
Class = TripletsContainer
|
|
Type = AnalogueOutput
|
|
StartTimeToTimeStampTicks = 25
|
|
Triplets = {
|
|
{ 1, 1, 0x3FFF0000, 0x2000},
|
|
{ 2, 5140000000, 0x00036FF2, 0x3FFF},
|
|
{ 3, 5150000000, 0x00036FF2, 0x2000}
|
|
}
|
|
}
|
|
+AnalogueOutput_2 = {
|
|
Class = TripletsContainer
|
|
Type = AnalogueOutput
|
|
StartTimeToTimeStampTicks = 25
|
|
Triplets = {
|
|
{ 1, 1, 0x3FFF0000, 0x2000},
|
|
{ 2, 5140000000, 0x00036FF2, 0x3FFF},
|
|
{ 3, 5150000000, 0x00036FF2, 0x2000}
|
|
}
|
|
}
|
|
+ModulationOutput_0 = {
|
|
Class = TripletsContainer
|
|
Type = ModulationOutput
|
|
StartTimeToTimeStampTicks = 25
|
|
ParamTimeToTicks = 500
|
|
Triplets = {
|
|
{ 1, 1, 0, 0}
|
|
}
|
|
}
|
|
+ModulationOutput_1 = {
|
|
Class = TripletsContainer
|
|
Type = ModulationOutput
|
|
StartTimeToTimeStampTicks = 25
|
|
ParamTimeToTicks = 500
|
|
Triplets = {
|
|
{ 1, 1, 0, 0}
|
|
}
|
|
}
|
|
+DigitalOutput_N = {
|
|
Class = TripletsContainer
|
|
Type = DigitalOutput
|
|
StartTimeToTimeStampTicks = 25
|
|
Triplets = {
|
|
{ 1, 5098000000, 0, 0, 0, 0, 1},
|
|
{ 2, 5202000000, 0, 0, 0, 0, 0}
|
|
}
|
|
}
|
|
+FastShutdownOutput_0 = {
|
|
Class = TripletsContainer
|
|
Type = FastShutdownOutput
|
|
StartTimeToTimeStampTicks = 25
|
|
Triplets = {
|
|
{ 1, 1, 0, 16, 8}
|
|
}
|
|
}
|
|
+FastShutdownOutput_1 = {
|
|
Class = TripletsContainer
|
|
Type = FastShutdownOutput
|
|
StartTimeToTimeStampTicks = 25
|
|
Triplets = {
|
|
{ 1, 1, 0, 16, 8}
|
|
}
|
|
}
|
|
}
|
|
InputSignals = {
|
|
TimerAbsTimeUs = {
|
|
Alias = MXIAbsTime_DDB1
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
TriggerInput = {
|
|
Alias = MXITripletConfiguration_Trigger_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
AnalogueOutput_0_Counter = {
|
|
Alias = MXI_DSC_AO_0_CTR_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
AnalogueOutput_0_Full = {
|
|
Alias = MXI_DSC_AO_0_FULL_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
AnalogueOutput_1_Counter = {
|
|
Alias = MXI_DSC_AO_1_CTR_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
AnalogueOutput_1_Full = {
|
|
Alias = MXI_DSC_AO_1_FULL_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
AnalogueOutput_2_Counter = {
|
|
Alias = MXI_DSC_AO_2_CTR_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
AnalogueOutput_2_Full = {
|
|
Alias = MXI_DSC_AO_2_FULL_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
ModulationOutput_0_Counter = {
|
|
Alias = MXI_DSC_MO_0_CTR_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
ModulationOutput_0_Full = {
|
|
Alias = MXI_DSC_MO_0_FULL_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
ModulationOutput_1_Counter = {
|
|
Alias = MXI_DSC_MO_1_CTR_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
ModulationOutput_1_Full = {
|
|
Alias = MXI_DSC_MO_1_FULL_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
DigitalOutput_N_Counter = {
|
|
Alias = MXI_DSC_DO_N_CTR_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DigitalOutput_N_Full = {
|
|
Alias = MXI_DSC_DO_N_FULL_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
FastShutdown_0_Counter = {
|
|
Alias = MXI_DSC_FS_0_CTR_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
FastShutdown_0_Full = {
|
|
Alias = MXI_DSC_FS_0_FULL_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
FastShutdown_1_Counter = {
|
|
Alias = MXI_DSC_FS_1_CTR_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
FastShutdown_1_Full = {
|
|
Alias = MXI_DSC_FS_1_FULL_OUT_DDB1
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
TriggerTriplets = {
|
|
Alias = Trigger_MXIWriteDsFifoConfig_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
TripletsPacket = {
|
|
Alias = MXI_PCK_TRIPLETS_DDB1
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 16
|
|
NumberOfDimensions = 1
|
|
}
|
|
CfgDone = {
|
|
Alias = MXITripletConfigurationDone_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
CfgError = {
|
|
Alias = MXITripletConfigurationError_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
CfgStatus = {
|
|
Alias = MXITripletConfigurationStatus_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+PlcConfigurationSupervisor = {
|
|
Class = PlcConfigurationSupervisorGAM
|
|
ReplyTimeOutMs = 10000
|
|
+Configurations = {
|
|
Class = ReferenceContainer
|
|
+ConfigSet_0_Start = {
|
|
Class = ReferenceContainer
|
|
+ConfigStep_0_ChangeToState2 = {
|
|
Class = PlcConfigurationContainer
|
|
Floats = { 0.0 35.0 0.0 35.0 15.0 15.0 20.0 20.0 20000.0 0.0 0.2 }
|
|
Integers = { 1000 1000 1 1 0 1 1000 1 2 2 }
|
|
Commands = { 0 1 }
|
|
}
|
|
+ConfigStep_1_SetParameters = {
|
|
Class = PlcConfigurationContainer
|
|
Floats = { 0.0 35.0 0.0 35.0 15.0 15.0 20.0 20.0 20000.0 0.0 0.2 }
|
|
Integers = { 1000 1000 1 1 1 1 1000 1 0 2 }
|
|
Commands = { 1 0 }
|
|
}
|
|
+ConfigStep_2_SetParameters = {
|
|
Class = PlcConfigurationContainer
|
|
Floats = { 0.0 35.0 0.0 35.0 15.0 15.0 20.0 20.0 20000.0 0.0 0.2 }
|
|
Integers = { 1000 1000 1 1 0 1 1000 1 0 2 }
|
|
Commands = { 1 0 }
|
|
}
|
|
+ConfigStep_3_ChangeToState3 = {
|
|
Class = PlcConfigurationContainer
|
|
Floats = { 0.0 35.0 0.0 35.0 15.0 15.0 20.0 20.0 20000.0 0.0 0.2 }
|
|
Integers = { 1000 1000 1 1 0 1 1000 1 3 2 }
|
|
Commands = { 0 1 }
|
|
}
|
|
}
|
|
}
|
|
InputSignals = {
|
|
// Timer and activation signals
|
|
TimerAbsTimeUs = {
|
|
Alias = AbsTime_DDB1
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
TriggerInput = {
|
|
Alias = PlcPacketTx_Trigger_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
SelectInput = {
|
|
Alias = PlcPacketTx_Select_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// Monitor Signals
|
|
PLCReadAbsTime = {
|
|
Alias = PlcPacketRx_AbsTime_DDB1
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
PLCReadAckCfg = {
|
|
Alias = PlcPacketRx_ACK_CFG_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
PLCReadAckSmc = {
|
|
Alias = PlcPacketRx_ACK_SMC_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
PLCReadStateCfg = {
|
|
Alias = PlcPacketRx_STATE_CFG_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
PLCReadStateSmc = {
|
|
Alias = PlcPacketRx_STATE_SMC_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
// Trigger Signals
|
|
TriggerOutput = {
|
|
Alias = PlcPacketTx_TrgOut_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// PLC Signals
|
|
VB1TREF = {
|
|
Alias = PlcPacketTx_VB1TREF_DDB1
|
|
DataSource = DDB1
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
}
|
|
VB1 = {
|
|
Alias = PlcPacketTx_VB1_DDB1
|
|
DataSource = DDB1
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
}
|
|
VB2TREF = {
|
|
Alias = PlcPacketTx_VB2TREF_DDB1
|
|
DataSource = DDB1
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
}
|
|
VB2 = {
|
|
Alias = PlcPacketTx_VB2_DDB1
|
|
DataSource = DDB1
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
}
|
|
VB1RR = {
|
|
Alias = PlcPacketTx_VB1RR_DDB1
|
|
DataSource = DDB1
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
}
|
|
VB2RR = {
|
|
Alias = PlcPacketTx_VB2RR_DDB1
|
|
DataSource = DDB1
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
}
|
|
VB1TH = {
|
|
Alias = PlcPacketTx_VB1TH_DDB1
|
|
DataSource = DDB1
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
}
|
|
VB2TH = {
|
|
Alias = PlcPacketTx_VB2TH_DDB1
|
|
DataSource = DDB1
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
}
|
|
VKTH = {
|
|
Alias = PlcPacketTx_VKTH_DDB1
|
|
DataSource = DDB1
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
}
|
|
VK = {
|
|
Alias = PlcPacketTx_VK_DDB1
|
|
DataSource = DDB1
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
}
|
|
PSKT = {
|
|
Alias = PlcPacketTx_PSKT_DDB1
|
|
DataSource = DDB1
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
}
|
|
VB1UP = {
|
|
Alias = PlcPacketTx_VB1UP_DDB1
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
}
|
|
VB2UP = {
|
|
Alias = PlcPacketTx_VB2UP_DDB1
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
}
|
|
VB1TSEL = {
|
|
Alias = PlcPacketTx_VB1TSEL_DDB1
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
}
|
|
VB2TSEL = {
|
|
Alias = PlcPacketTx_VB2TSEL_DDB1
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
}
|
|
VKSEL = {
|
|
Alias = PlcPacketTx_VKSEL_DDB1
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
}
|
|
BODR = {
|
|
Alias = PlcPacketTx_BODR_DDB1
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
}
|
|
VKUP = {
|
|
Alias = PlcPacketTx_VKUP_DDB1
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
}
|
|
MDKF = {
|
|
Alias = PlcPacketTx_MDKF_DDB1
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
}
|
|
CSTAT = {
|
|
Alias = PlcPacketTx_CSTAT_DDB1
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
}
|
|
COMOD = {
|
|
Alias = PlcPacketTx_COMOD_DDB1
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
}
|
|
CFG_MOD = {
|
|
Alias = PlcPacketTx_CFG_MOD_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
SM_MOD = {
|
|
Alias = PlcPacketTx_SM_MOD_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// Status Flags
|
|
CfgDone = {
|
|
Alias = PlcConfigurationSupervisor_Done_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
CfgError = {
|
|
Alias = PlcConfigurationSupervisor_Error_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
CfgStatus = {
|
|
Alias = PlcConfigurationSupervisor_Status_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
|
|
// ----- TX PATH ----- //
|
|
+MXIWriteRst = {
|
|
Class = TriggeredIOGAM
|
|
InputSignals = {
|
|
Trigger_MXIWriteRst_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_RST_IN_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
rst_in = {
|
|
DataSource = MXIRegistersWriteRst
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
Trigger = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIWriteHlOpt = {
|
|
Class = TriggeredIOGAM
|
|
InputSignals = {
|
|
Trigger_MXIWriteHlOpt_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_HL_TX_1_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_HL_TX_2_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_HL_TX_3_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_HL_TX_OPT_TRG_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_HL_RX_1_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_HL_RX_2_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_HL_RX_3_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_HL_RX_4_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_HL_RX_5_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_HL_RX_6_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_HL_RX_7_OPT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_HL_RX_OPT_TRG_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
hl_tx_1_opt = {
|
|
DataSource = MXIRegistersWriteHlOpt
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
Trigger = 1
|
|
}
|
|
hl_tx_2_opt = {
|
|
DataSource = MXIRegistersWriteHlOpt
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_tx_3_opt = {
|
|
DataSource = MXIRegistersWriteHlOpt
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_tx_opt_trg = {
|
|
DataSource = MXIRegistersWriteHlOpt
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_1_opt = {
|
|
DataSource = MXIRegistersWriteHlOpt
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_2_opt = {
|
|
DataSource = MXIRegistersWriteHlOpt
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_3_opt = {
|
|
DataSource = MXIRegistersWriteHlOpt
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_4_opt = {
|
|
DataSource = MXIRegistersWriteHlOpt
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_5_opt = {
|
|
DataSource = MXIRegistersWriteHlOpt
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_6_opt = {
|
|
DataSource = MXIRegistersWriteHlOpt
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_7_opt = {
|
|
DataSource = MXIRegistersWriteHlOpt
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_opt_trg = {
|
|
DataSource = MXIRegistersWriteHlOpt
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIWriteEn = {
|
|
Class = TriggeredIOGAM
|
|
InputSignals = {
|
|
Trigger_MXIWriteEn_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_EN_IN_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
dsc_en_in = {
|
|
DataSource = MXIRegistersWriteEn
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
Trigger = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIWriteDbg = {
|
|
Class = TriggeredIOGAM
|
|
InputSignals = {
|
|
Trigger_MXIWriteDbg_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_DBG_EN_SEL_IN_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_DBG_EN_IN_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
dbg_en_sel_in = {
|
|
DataSource = MXIRegistersDgbEn
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
Trigger = 1
|
|
}
|
|
dbg_en_in = {
|
|
DataSource = MXIRegistersDgbEn
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIWriteDsFifoAcqEn = {
|
|
Class = TriggeredIOGAM
|
|
InputSignals = {
|
|
Trigger_MXIWriteIDsFifoAcqEn_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_ACQ_EN_PAT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
FIFO0_U64_WR = {
|
|
DataSource = MXIDsFifoAcqEn
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 1
|
|
Trigger = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIWriteDsFifoConfig = {
|
|
Class = TriggeredIOGAM
|
|
InputSignals = {
|
|
Trigger_MXIWriteDsFifoConfig_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXI_PCK_TRIPLETS_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 16
|
|
NumberOfDimensions = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
FIFO0_U64_WR = {
|
|
DataSource = MXIDsFifoConfig
|
|
Type = uint64
|
|
NumberOfElements = 16
|
|
NumberOfDimensions = 1
|
|
Trigger = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+PlcPacketTx = {
|
|
Class = TriggeredIOGAM
|
|
InputSignals = {
|
|
PlcPacketTx_TrgOut_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
PlcPacketTx_HeaderNF_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
PlcPacketTx_HeaderNI_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
PlcPacketTx_HeaderNC_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
PlcPacketTx_HeaderNS_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
PlcPacketTx_HeaderNA_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
PlcPacketTx_HeaderS_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfDimensions = 1
|
|
NumberOfElements = 3
|
|
}
|
|
PlcPacketTx_VB1TREF_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = float32
|
|
}
|
|
PlcPacketTx_VB1_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = float32
|
|
}
|
|
PlcPacketTx_VB2TREF_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = float32
|
|
}
|
|
PlcPacketTx_VB2_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = float32
|
|
}
|
|
PlcPacketTx_VB1RR_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = float32
|
|
}
|
|
PlcPacketTx_VB2RR_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = float32
|
|
}
|
|
PlcPacketTx_VB1TH_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = float32
|
|
}
|
|
PlcPacketTx_VB2TH_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = float32
|
|
}
|
|
PlcPacketTx_VKTH_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = float32
|
|
}
|
|
PlcPacketTx_VK_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = float32
|
|
}
|
|
PlcPacketTx_PSKT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = float32
|
|
}
|
|
PlcPacketTx_VB1UP_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
}
|
|
PlcPacketTx_VB2UP_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
}
|
|
PlcPacketTx_VB1TSEL_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
}
|
|
PlcPacketTx_VB2TSEL_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
}
|
|
PlcPacketTx_VKSEL_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
}
|
|
PlcPacketTx_BODR_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
}
|
|
PlcPacketTx_VKUP_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
}
|
|
PlcPacketTx_MDKF_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
}
|
|
PlcPacketTx_CSTAT_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
}
|
|
PlcPacketTx_COMOD_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint16
|
|
}
|
|
PlcPacketTx_CFG_MOD_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
PlcPacketTx_SM_MOD_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
HeaderNF = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint8
|
|
Trigger = 1
|
|
}
|
|
HeaderNI = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint8
|
|
}
|
|
HeaderNC = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint8
|
|
}
|
|
HeaderNS = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint8
|
|
}
|
|
HeaderNA = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint8
|
|
}
|
|
HeaderS = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint8
|
|
NumberOfElements = 3
|
|
}
|
|
VB1TREF = {
|
|
DataSource = SdnPlcPub
|
|
Type = float32
|
|
}
|
|
VB1 = {
|
|
DataSource = SdnPlcPub
|
|
Type = float32
|
|
}
|
|
VB2TREF = {
|
|
DataSource = SdnPlcPub
|
|
Type = float32
|
|
}
|
|
VB2 = {
|
|
DataSource = SdnPlcPub
|
|
Type = float32
|
|
}
|
|
VB1RR = {
|
|
DataSource = SdnPlcPub
|
|
Type = float32
|
|
}
|
|
VB2RR = {
|
|
DataSource = SdnPlcPub
|
|
Type = float32
|
|
}
|
|
VB1TH = {
|
|
DataSource = SdnPlcPub
|
|
Type = float32
|
|
}
|
|
VB2TH = {
|
|
DataSource = SdnPlcPub
|
|
Type = float32
|
|
}
|
|
VKTH = {
|
|
DataSource = SdnPlcPub
|
|
Type = float32
|
|
}
|
|
VK = {
|
|
DataSource = SdnPlcPub
|
|
Type = float32
|
|
}
|
|
PSKT = {
|
|
DataSource = SdnPlcPub
|
|
Type = float32
|
|
}
|
|
VB1UP = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint16
|
|
}
|
|
VB2UP = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint16
|
|
}
|
|
VB1TSEL = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint16
|
|
}
|
|
VB2TSEL = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint16
|
|
}
|
|
VKSEL = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint16
|
|
}
|
|
BODR = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint16
|
|
}
|
|
VKUP = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint16
|
|
}
|
|
MDKF = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint16
|
|
}
|
|
CSTAT = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint16
|
|
}
|
|
COMOD = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint16
|
|
}
|
|
CFG = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint8
|
|
}
|
|
SM = {
|
|
DataSource = SdnPlcPub
|
|
Type = uint8
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
|
|
// -- MON/STATE CTRL - //
|
|
+AppMonitor = {
|
|
Class = TestMonitorGAM
|
|
InputSignals = {
|
|
AbsTime_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
MXIAbsTime_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
SMState_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXIConfigurationSupervisor_Done_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXIConfigurationSupervisor_Error_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXIConfigurationSupervisor_Status_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
PlcConfigurationSupervisor_Done_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
PlcConfigurationSupervisor_Error_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
PlcConfigurationSupervisor_Status_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
ExtStateTransition_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
AbortConfigurationState_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
TerminateRunningState_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+EventMessageBypassPreCfg = {
|
|
Class = MessageGAM
|
|
TriggerOnChange = 1
|
|
+Events = {
|
|
Class = ReferenceContainer
|
|
// App Driven -> From PRE_CFG (1) send to MXI_CFG (2)
|
|
+AppMonitorTempBypass_PRE_CFG_GOTO_MXI_CFG = {
|
|
Class = EventConditionTrigger
|
|
EventTrigger = {
|
|
Command_SMState_DDB1 = 1
|
|
}
|
|
+TST_PRE_CFG_GOTO_MXI_CFG = {
|
|
Class = Message
|
|
Destination = StateMachine
|
|
Function = GOTO_MXI_CFG
|
|
Mode = ExpectsReply
|
|
}
|
|
}
|
|
}
|
|
InputSignals = {
|
|
Command_SMState_DDB1 = {
|
|
Alias = SMState_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
Clear_SMState_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint32
|
|
}
|
|
}
|
|
}
|
|
|
|
+AcquisitionStatusMonitor = {
|
|
Class = MathExpressionGAM
|
|
Expression = "
|
|
AcqStatus_DDB1 = (uint8)(
|
|
(uint8)(AcquisitionStatusT2_DDB1) == (uint8)(1) &&
|
|
(uint8)(AcquisitionStatusT3_DDB1) == (uint8)(1)
|
|
);
|
|
"
|
|
InputSignals = {
|
|
AcquisitionStatusT2_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
AcquisitionStatusT3_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
AcqStatus_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+AcquisitionStatusMessages = {
|
|
Class = MessageGAM
|
|
TriggerOnChange = 1
|
|
+Events = {
|
|
Class = ReferenceContainer
|
|
// App Driven -> From TEST_RUN (4) send to TEST_POST (5)
|
|
+TriggerStateTransition_TEST_RUN_GOTO_TEST_POST = {
|
|
Class = EventConditionTrigger
|
|
EventTrigger = {
|
|
Command_AcqStatus_DDB1 = 1
|
|
}
|
|
+TST_TEST_RUN_GOTO_TEST_POST = {
|
|
Class = Message
|
|
Destination = StateMachine
|
|
Function = GOTO_TEST_POST
|
|
Mode = ExpectsReply
|
|
}
|
|
}
|
|
}
|
|
InputSignals = {
|
|
Command_AcqStatus_DDB1 = {
|
|
Alias = AcqStatus_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
Clear_AcqStatus_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint32
|
|
}
|
|
}
|
|
}
|
|
|
|
+CycleCounterT1 = {
|
|
Class = CycleCounterGAM
|
|
ResetOnStateChange = 1
|
|
ZeroIfReset = 1
|
|
Step = 1
|
|
InputSignals = {
|
|
Reset = {
|
|
Alias = CycleCounterReset_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
CycleCounter = {
|
|
Alias = CycleCounter_DDB1
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+TestPostTasksDelay = {
|
|
Class = MathExpressionGAM
|
|
Expression = "
|
|
Tasks_Trigger_DDB1 = (uint8)((uint64)(CycleCounter_DDB1) > (uint64)(DelayCycles_DDB1));
|
|
"
|
|
InputSignals = {
|
|
CycleCounter_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
DelayCycles_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
Tasks_Trigger_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+TestPostGotoTestDone = {
|
|
Class = MessageGAM
|
|
TriggerOnChange = 1
|
|
+Events = {
|
|
Class = ReferenceContainer
|
|
// Application driven -> When in TEST_POST (5) go to TEST_DONE (7)
|
|
+AppMonitorTempBypass_TEST_POST_CALL_GOTO_TEST_DONE = {
|
|
Class = EventConditionTrigger
|
|
EventTrigger = {
|
|
Command_Tasks_Trigger_DDB1 = 1
|
|
Signal_SMState_DDB1 = 5
|
|
}
|
|
+TAF_TEST_POST_GOTO_TEST_DONE = {
|
|
Class = Message
|
|
Destination = StateMachine
|
|
Function = GOTO_TEST_DONE
|
|
Mode = ExpectsReply
|
|
}
|
|
}
|
|
}
|
|
InputSignals = {
|
|
Command_Tasks_Trigger_DDB1 = {
|
|
Alias = Tasks_Trigger_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
Signal_SMState_DDB1 = {
|
|
Alias = SMState_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
Clear_Tasks_Trigger_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint32
|
|
}
|
|
}
|
|
}
|
|
|
|
+TestDoneCallTasks = {
|
|
Class = MessageGAM
|
|
TriggerOnChange = 1
|
|
+Events = {
|
|
Class = ReferenceContainer
|
|
// BYPASS AppMonitor -> When in TEST_DONE (7) call TEST_DONE_TASKS
|
|
+AppMonitorTempBypass_TEST_POST_CALL_TEST_DONE_TASKS = {
|
|
Class = EventConditionTrigger
|
|
EventTrigger = {
|
|
Command_Tasks_Trigger_DDB1 = 1
|
|
Signal_SMState_DDB1 = 7
|
|
}
|
|
+TAF_TEST_DONE_TEST_DONE_TASKS = {
|
|
Class = Message
|
|
Destination = StateMachine
|
|
Function = TEST_DONE_TASKS
|
|
Mode = ExpectsReply
|
|
}
|
|
}
|
|
}
|
|
InputSignals = {
|
|
Command_Tasks_Trigger_DDB1 = {
|
|
Alias = Tasks_Trigger_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
Signal_SMState_DDB1 = {
|
|
Alias = SMState_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
Clear_Tasks_Trigger_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint32
|
|
}
|
|
}
|
|
}
|
|
|
|
+EventMessages = {
|
|
Class = MessageGAM
|
|
TriggerOnChange = 1
|
|
+Events = {
|
|
Class = ReferenceContainer
|
|
// Ext Driven -> From PRE_CFG (1) send to CFG_ERROR (6)
|
|
+TriggerStateTransition_PRE_CFG_GOTO_CFG_ERROR = {
|
|
Class = EventConditionTrigger
|
|
EventTrigger = {
|
|
Command_ExtStateTransition_DDB1 = 2
|
|
Signal_SMState_DDB1 = 1
|
|
}
|
|
+TST_PRE_CFG_GOTO_CFG_ERROR = {
|
|
Class = Message
|
|
Destination = StateMachine
|
|
Function = GOTO_CFG_ERROR
|
|
Mode = ExpectsReply
|
|
}
|
|
}
|
|
// App Driven ->From MXI_CFG (2) send to PLC_CFG (3)
|
|
+TriggerStateTransition_MXI_CFG_GOTO_PLC_CFG = {
|
|
Class = EventConditionTrigger
|
|
EventTrigger = {
|
|
Command_MXIConfigurationSupervisor_Done_DDB1 = 1
|
|
Command_MXIConfigurationSupervisor_Error_DDB1 = 0
|
|
Signal_SMState_DDB1 = 2
|
|
}
|
|
+TST_MXI_CFG_GOTO_PLC_CFG = {
|
|
Class = Message
|
|
Destination = StateMachine
|
|
Function = GOTO_PLC_CFG
|
|
Mode = ExpectsReply
|
|
}
|
|
}
|
|
// App Driven ->From MXI_CFG (2) send to CFG_ERROR (6)
|
|
+TriggerStateTransition_MXI_CFG_GOTO_CFG_ERROR = {
|
|
Class = EventConditionTrigger
|
|
EventTrigger = {
|
|
Command_MXIConfigurationSupervisor_Error_DDB1 = 1
|
|
Signal_SMState_DDB1 = 2
|
|
}
|
|
+TST_MXI_CFG_GOTO_CFG_ERROR = {
|
|
Class = Message
|
|
Destination = StateMachine
|
|
Function = GOTO_CFG_ERROR
|
|
Mode = ExpectsReply
|
|
}
|
|
}
|
|
// App Driven ->From PLC_CFG (3) send to TEST_RUN (4)
|
|
+TriggerStateTransition_PLC_CFG_GOTO_TEST_RUN = {
|
|
Class = EventConditionTrigger
|
|
EventTrigger = {
|
|
Command_PlcConfigurationSupervisor_Done_DDB1 = 1
|
|
Command_PlcConfigurationSupervisor_Error_DDB1 = 0
|
|
Signal_SMState_DDB1 = 3
|
|
}
|
|
+TST_PLC_CFG_GOTO_TEST_RUN = {
|
|
Class = Message
|
|
Destination = StateMachine
|
|
Function = GOTO_TEST_RUN
|
|
Mode = ExpectsReply
|
|
}
|
|
}
|
|
// App Driven ->From PLC_CFG (3) send to CFG_ERROR (6)
|
|
+TriggerStateTransition_PLC_CFG_GOTO_CFG_ERROR = {
|
|
Class = EventConditionTrigger
|
|
EventTrigger = {
|
|
Command_PlcConfigurationSupervisor_Error_DDB1 = 1
|
|
Signal_SMState_DDB1 = 3
|
|
}
|
|
+TST_PLC_CFG_GOTO_CFG_ERROR = {
|
|
Class = Message
|
|
Destination = StateMachine
|
|
Function = GOTO_CFG_ERROR
|
|
Mode = ExpectsReply
|
|
}
|
|
}
|
|
// Ext Driven -> From {PRE_CFG (1), MXI_CFG (2), PLC_CFG (3)} to CFG_ERROR (6)
|
|
+ForceStateTransition_ANY_GOTO_CFG_ERROR = {
|
|
Class = EventConditionTrigger
|
|
EventTrigger = {
|
|
Command_AbortConfigurationState_DDB1 = 1
|
|
}
|
|
+FST_ANY_GOTO_CFG_ERROR = {
|
|
Class = Message
|
|
Destination = StateMachine
|
|
Function = GOTO_CFG_ERROR
|
|
Mode = ExpectsReply
|
|
}
|
|
}
|
|
// Ext Driven -> TEST_RUN (4) to TEST_POST (5)
|
|
+ForceStateTransition_TEST_RUN_GOTO_TEST_POST = {
|
|
Class = EventConditionTrigger
|
|
EventTrigger = {
|
|
Command_TerminateRunningState_DDB1 = 1
|
|
}
|
|
+FST_TEST_RUN_GOTO_TEST_POST = {
|
|
Class = Message
|
|
Destination = StateMachine
|
|
Function = GOTO_TEST_POST
|
|
Mode = ExpectsReply
|
|
}
|
|
}
|
|
}
|
|
InputSignals = {
|
|
Command_ExtStateTransition_DDB1 = {
|
|
Alias = ExtStateTransition_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
Command_AbortConfigurationState_DDB1 = {
|
|
Alias = AbortConfigurationState_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
Command_TerminateRunningState_DDB1 = {
|
|
Alias = TerminateRunningState_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
Command_MXIConfigurationSupervisor_Done_DDB1 = {
|
|
Alias = MXIConfigurationSupervisor_Done_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
Command_MXIConfigurationSupervisor_Error_DDB1 = {
|
|
Alias = MXIConfigurationSupervisor_Error_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
Command_PlcConfigurationSupervisor_Done_DDB1 = {
|
|
Alias = PlcConfigurationSupervisor_Done_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
Command_PlcConfigurationSupervisor_Error_DDB1 = {
|
|
Alias = PlcConfigurationSupervisor_Error_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
Signal_SMState_DDB1 = {
|
|
Alias = SMState_DDB1
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
Clear_ExtStateTransition_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint32
|
|
}
|
|
Clear_AbortConfigurationState_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint32
|
|
}
|
|
Clear_TerminateRunningState_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint32
|
|
}
|
|
Clear_MXIConfigurationSupervisor_Done_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint32
|
|
}
|
|
Clear_MXIConfigurationSupervisor_Error_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint32
|
|
}
|
|
Clear_PlcConfigurationSupervisor_Done_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint32
|
|
}
|
|
Clear_PlcConfigurationSupervisor_Error_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint32
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
|
|
// ----- STORAGE ----- //
|
|
|
|
|
|
+StoreStartPulseTime_T1 = {
|
|
Class = TriggerEnableGAM
|
|
NumberOfTriggers = 1
|
|
ResetCycles = 1
|
|
InputSignals = {
|
|
DANWriterEnable_DDB1 = {
|
|
Type = uint8
|
|
DataSource = DDB1
|
|
}
|
|
AbsTimeT1_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
InitTime_1_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
InitTime_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
}
|
|
}
|
|
+StoreStopPulseTime_T1 = {
|
|
Class = TriggerEnableGAM
|
|
NumberOfTriggers = 1
|
|
Negated = 1
|
|
ResetCycles = 1
|
|
InputSignals = {
|
|
DANWriterEnable_DDB1 = {
|
|
Type = uint8
|
|
DataSource = DDB1
|
|
}
|
|
AbsTimeT1_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
FinalTime_1_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
FinalTime_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
}
|
|
}
|
|
|
|
+DANWriterWriteData = {
|
|
Class = IOGAM
|
|
InputSignals = {
|
|
DANWriterEnable_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// Time Signals
|
|
TimeSamples_DDB1 = {
|
|
Alias = AbsTimeT1_DDB1
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
AbsTime_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
MXIAbsTime_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
// State
|
|
SMState_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
AcqStatus_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// MXI Supervisor
|
|
MXIConfigurationSupervisor_Done_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXIConfigurationSupervisor_Error_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXIConfigurationSupervisor_Status_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// MXI Supervisor - Base Configuration
|
|
MXIBaseConfiguration_Trigger_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXIBaseConfiguration_Mode_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXIBaseConfigurationDone_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXIBaseConfigurationStatus_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// MXI Supervisor - Acquisition Enable
|
|
MXIAcquisitionEnable_Trigger_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXIAcquisitionEnableDone_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXIAcquisitionEnableStatus_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// MXI Supervisor - Triplet Configuration
|
|
MXITripletConfiguration_Trigger_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXITripletConfigurationDone_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
MXITripletConfigurationError_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// PLC Supervisor
|
|
PlcPacketTx_TrgOut_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
PlcConfigurationSupervisor_Done_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
PlcConfigurationSupervisor_Error_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
PlcConfigurationSupervisor_Status_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// Statistics
|
|
T1_PreCfg_CycleTime = {
|
|
Alias = PreCfg.Thread1Cfg_CycleTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
T1_MxiCfg_CycleTime = {
|
|
Alias = MxiCfg.Thread1Cfg_CycleTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
T1_PlcCfg_CycleTime = {
|
|
Alias = PlcCfg.Thread1Cfg_CycleTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
T1_TestRun_CycleTime = {
|
|
Alias = TestRun.Thread1Cfg_CycleTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
T1_TestPost_CycleTime = {
|
|
Alias = TestPost.Thread1Cfg_CycleTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
T1_CfgError_CycleTime = {
|
|
Alias = CfgError.Thread1Cfg_CycleTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
T1_Error_CycleTime = {
|
|
Alias = Error.Thread1Cfg_CycleTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
T1_FirstGAM_ReadTime = {
|
|
Alias = TimeConverter_ReadTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
T1_LastGAM_ExecTime = {
|
|
Alias = EventMessages_ExecTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
InitTime_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
FinalTime_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
InitTime_Save_DDB1 = {
|
|
Alias = InitTime_DDB1
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
FinalTime_Save_DDB1 = {
|
|
Alias = FinalTime_DDB1
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
DANWriterT1_Trigger = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_TimeSamples = {
|
|
DataSource = DANWriterT1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_Time = {
|
|
DataSource = DANWriterT1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_MXIAbsTime = {
|
|
DataSource = DANWriterT1
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_SMState = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_AcqStatus = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// MXI Supervisor
|
|
DANWriterT1_MXICfgSupDone = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_MXICfgSupError = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_MXICfgSupStatus = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// MXI Supervisor - Base Configuration
|
|
DANWriterT1_MXIBaseCfgTrg = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_MXIBaseCfgMode = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_MXIBaseCfgDone = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_MXIBaseCfgStatus = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// MXI Supervisor - Acquisition Enable
|
|
DANWriterT1_MXIAcqEnTrg = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_MXIAcqEnDone = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_MXIAcqEnStatus = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// MXI Supervisor - Triplet Configuration
|
|
DANWriterT1_MXITrpCfgTrg = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_MXITrpCfgDone = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_MXITrpCfgError = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// PLC Supervisor
|
|
DANWriterT1_PlcCfgSupTxTrg = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_PlcCfgSupDone = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_PlcCfgSupError = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_PlcCfgSupStatus = {
|
|
DataSource = DANWriterT1
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
// Statistics
|
|
DANWriterT1_PreCfg_CycleTime = {
|
|
DataSource = DANWriterT1
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_MxiCfg_CycleTime = {
|
|
DataSource = DANWriterT1
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_PlcCfg_CycleTime = {
|
|
DataSource = DANWriterT1
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_TestRun_CycleTime = {
|
|
DataSource = DANWriterT1
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_TestPost_CycleTime = {
|
|
DataSource = DANWriterT1
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_CfgError_CycleTime = {
|
|
DataSource = DANWriterT1
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_Error_CycleTime = {
|
|
DataSource = DANWriterT1
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_FirstGAM_ReadTime = {
|
|
DataSource = DANWriterT1
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT1_LastGAM_ExecTime = {
|
|
DataSource = DANWriterT1
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
InitTime_L = {
|
|
DataSource = EpicsOutput_T1
|
|
Type = uint32
|
|
}
|
|
InitTime_H = {
|
|
DataSource = EpicsOutput_T1
|
|
Type = uint32
|
|
}
|
|
FinalTime_L = {
|
|
DataSource = EpicsOutput_T1
|
|
Type = uint32
|
|
}
|
|
FinalTime_H = {
|
|
DataSource = EpicsOutput_T1
|
|
Type = uint32
|
|
}
|
|
InitTime_1_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
FinalTime_1_DDB1 = {
|
|
DataSource = DDB1
|
|
Type = uint64
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
// ------------ T1 END ------------ //
|
|
|
|
// ----------- T2 START ----------- //
|
|
// Fast Thread - GET ACQ Data + WaveformMonitors + DANWriterWriter2
|
|
// ----- RX PATH ----- //
|
|
+MxiDataUsFifoDataT2 = {
|
|
Class = IOGAM
|
|
InputSignals = {
|
|
MXIUpstreamData = {
|
|
DataSource = MXIUsFifoDataT2
|
|
Type = uint64
|
|
NumberOfElements = 3001
|
|
NumberOfDimensions = 1
|
|
Trigger = 1
|
|
Frequency = 0
|
|
}
|
|
MXIUpstreamDataErrorCheck = {
|
|
Alias = ErrorCheck
|
|
DataSource = MXIUsFifoDataT2
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
USC_TS_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
USC_AI_0_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_1_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_2_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_3_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_4_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_5_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_6_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_7_VALUE_NU_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_DI_62_0_VALUES_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_DATA_ERRORCHECK_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+DigitalInputSplitterT2 = {
|
|
Class = BitSplitterGAM
|
|
InputSignals = {
|
|
DigitalInputs = {
|
|
Alias = USC_DI_62_0_VALUES_DDB2
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
DigitalInput_0 = {
|
|
Alias = USC_DI_0_VALUES_DDB2
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DigitalInput_1 = {
|
|
Alias = USC_DI_1_VALUES_DDB2
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+TimeConversionT2 = {
|
|
Class = TimeArrayGAM
|
|
TimePerTicks = 25 // 25 ns / tick
|
|
TimeStep = 500 // 500 ns
|
|
InputSignals = {
|
|
USC_TS_VALUE_DDB2 = { // FPGA Clock Ticks
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
TimeArrayNs_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+TimeConversionT2_Abs = {
|
|
Class = TimeArrayGAM
|
|
TimePerTicks = 25 // 25 ns / tick
|
|
TimeStep = 500 // 500 ns
|
|
AbsoluteTime = 1
|
|
InputSignals = {
|
|
USC_TS_VALUE_DDB2 = { // FPGA Clock Ticks
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
TimeArrayNs_Abs_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIMasterTimeT2 = {
|
|
Class = IOGAM
|
|
InputSignals = {
|
|
TimeArrayNs_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
Ranges = {{0,0}}
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
MXIAbsTime_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
|
|
// ---- CONST GAM ---- //
|
|
+DANWriterWriteDataWindowLimitsT2 = {
|
|
Class = ConstantGAM
|
|
OutputSignals = {
|
|
DANWriterWriteDataWindowLowerLimit_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
Default = 5000000000
|
|
}
|
|
DANWriterWriteDataWindowUpperLimit_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
Default = 6000000000
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
|
|
// ---- FLOW CTRL ---- //
|
|
+DANWriterWriteDataWindowT2 = {
|
|
Class = MathExpressionGAM
|
|
Expression = "
|
|
DANWriterWriterEnable_DDB2 = (uint8)(((uint64)(MXIAbsTime_DDB2) >= (uint64)(DANWriterWriteDataWindowLowerLimit_DDB2))
|
|
&& ((uint64)(MXIAbsTime_DDB2) <= (uint64)(DANWriterWriteDataWindowUpperLimit_DDB2)));
|
|
DANWriterWriterDone_DDB2 = (uint8)((uint64)(MXIAbsTime_DDB2) > (uint64)(DANWriterWriteDataWindowUpperLimit_DDB2));
|
|
"
|
|
InputSignals = {
|
|
MXIAbsTime_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterWriteDataWindowLowerLimit_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterWriteDataWindowUpperLimit_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
DANWriterWriterEnable_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint8
|
|
}
|
|
DANWriterWriterDone_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint8
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
|
|
// -- MON/STATE CTRL - //
|
|
+AppMonitorT2 = {
|
|
Class = TestMonitorGAM
|
|
InputSignals = {
|
|
MXIAbsTime_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterWriterDone_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
AbortRunningState_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+ExecutionMonitorT2 = {
|
|
Class = MessageGAM
|
|
TriggerOnChange = 1
|
|
+Events = {
|
|
Class = ReferenceContainer
|
|
// App Driven -> Notify T1 that T2 acquisition/storage is completed
|
|
+StatusNotificationT2 = {
|
|
Class = EventConditionTrigger
|
|
EventTrigger = {
|
|
Command_DANWriterWriterDone_DDB2 = 1
|
|
}
|
|
+NOTIFY_T1_STATUS_T2 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.AcquisitionStatusDaq
|
|
Function = SetOutput
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
SignalName = AcquisitionStatusT2_DDB1
|
|
SignalValue = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
InputSignals = {
|
|
Command_DANWriterWriterDone_DDB2 = {
|
|
Alias = DANWriterWriterDone_DDB2
|
|
DataSource = DDB2
|
|
Type = uint8
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
Clear_DANWriterWriterDone_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint32
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
|
|
// ----- STORAGE ----- //
|
|
|
|
+StoreStartPulseTime_T2 = {
|
|
Class = TriggerEnableGAM
|
|
NumberOfTriggers = 1
|
|
ResetCycles = 1
|
|
InputSignals = {
|
|
DANWriterWriterEnable_DDB2 = {
|
|
Type = uint8
|
|
DataSource = DDB2
|
|
}
|
|
TimeArrayNs_Abs_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
Ranges = {{0, 0}}
|
|
}
|
|
InitTime_1_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
InitTime_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
}
|
|
}
|
|
}
|
|
+StoreStopPulseTime_T2 = {
|
|
Class = TriggerEnableGAM
|
|
NumberOfTriggers = 1
|
|
Negated = 1
|
|
ResetCycles = 1
|
|
InputSignals = {
|
|
DANWriterWriterEnable_DDB2 = {
|
|
Type = uint8
|
|
DataSource = DDB2
|
|
}
|
|
TimeArrayNs_Abs_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
Ranges = {{0, 0}}
|
|
}
|
|
FinalTime_1_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
FinalTime_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
+DANWriterWriteDataT2 = {
|
|
Class = IOGAM
|
|
InputSignals = {
|
|
DANWriterWriterEnable_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
TimeArrayNs_Abs_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
Ranges = {{0, 0}}
|
|
}
|
|
TimeArrayNs_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_0_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_1_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_2_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_3_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_4_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_5_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_6_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_DI_0_VALUES_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_DI_1_VALUES_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_DATA_ERRORCHECK_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
T2_PlcCfg_CycleTime = {
|
|
Alias = PlcCfg.Thread2Daq_CycleTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
T2_TestRun_CycleTime = {
|
|
Alias = TestRun.Thread2Daq_CycleTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
T2_TestPost_CycleTime = {
|
|
Alias = TestPost.Thread2Daq_CycleTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
T2_FirstGAM_ReadTime = {
|
|
Alias = DigitalInputSplitterT2_ReadTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
T2_LastGAM_ExecTime = {
|
|
Alias = ExecutionMonitorT2_ExecTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
InitTime_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
}
|
|
FinalTime_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
}
|
|
InitTime_Save_DDB2 = {
|
|
Alias = InitTime_DDB2
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
}
|
|
FinalTime_Save_DDB2 = {
|
|
Alias = FinalTime_DDB2
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
DANWriterT2_Trigger = {
|
|
DataSource = DANWriterT2
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterT2_TimeSamples = {
|
|
DataSource = DANWriterT2
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
DANWriterT2_Time = {
|
|
DataSource = DANWriterT2
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_AI_0_VALUE = {
|
|
DataSource = DANWriterT2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_AI_1_VALUE = {
|
|
DataSource = DANWriterT2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_AI_2_VALUE = {
|
|
DataSource = DANWriterT2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_AI_3_VALUE = {
|
|
DataSource = DANWriterT2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_AI_4_VALUE = {
|
|
DataSource = DANWriterT2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_AI_5_VALUE = {
|
|
DataSource = DANWriterT2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_AI_6_VALUE = {
|
|
DataSource = DANWriterT2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_DI_0_VALUE = {
|
|
DataSource = DANWriterT2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_DI_1_VALUE = {
|
|
DataSource = DANWriterT2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_ERRORCHECK = {
|
|
DataSource = DANWriterT2
|
|
Type = uint32
|
|
}
|
|
DANWriterT2_PlcCfg_CycleTime = {
|
|
DataSource = DANWriterT2
|
|
Type = uint32
|
|
}
|
|
DANWriterT2_TestRun_CycleTime = {
|
|
DataSource = DANWriterT2
|
|
Type = uint32
|
|
}
|
|
DANWriterT2_TestPost_CycleTime = {
|
|
DataSource = DANWriterT2
|
|
Type = uint32
|
|
}
|
|
DANWriterT2_FirstGAM_ReadTime = {
|
|
DataSource = DANWriterT2
|
|
Type = uint32
|
|
}
|
|
DANWriterT2_LastGAM_ExecTime = {
|
|
DataSource = DANWriterT2
|
|
Type = uint32
|
|
}
|
|
InitTime_L = {
|
|
DataSource = EpicsOutput_T2
|
|
Type = uint32
|
|
}
|
|
InitTime_H = {
|
|
DataSource = EpicsOutput_T2
|
|
Type = uint32
|
|
}
|
|
FinalTime_L = {
|
|
DataSource = EpicsOutput_T2
|
|
Type = uint32
|
|
}
|
|
FinalTime_H = {
|
|
DataSource = EpicsOutput_T2
|
|
Type = uint32
|
|
}
|
|
InitTime_1_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
}
|
|
FinalTime_1_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
}
|
|
}
|
|
}
|
|
|
|
+FileWriterBufferDataT2 = {
|
|
Class = IOGAM
|
|
InputSignals = {
|
|
FileWriterBufferEnable_DDB2 = {
|
|
Alias = DANWriterWriterEnable_DDB2
|
|
DataSource = DDB2
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
TimeArrayNs_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_0_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_1_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_AI_2_VALUE_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
USC_DI_0_VALUES_DDB2 = {
|
|
DataSource = DDB2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
FileWriterT2_Trigger = {
|
|
DataSource = FileWriterBufferT2
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
FileWriterT2_Time = {
|
|
DataSource = FileWriterBufferT2
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
FileWriterT2_USC_AI_0_VALUE = {
|
|
DataSource = FileWriterBufferT2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
FileWriterT2_USC_AI_1_VALUE = {
|
|
DataSource = FileWriterBufferT2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
FileWriterT2_USC_AI_2_VALUE = {
|
|
DataSource = FileWriterBufferT2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
FileWriterT2_USC_DI_0_VALUE = {
|
|
DataSource = FileWriterBufferT2
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
// ------------ T2 END ------------ //
|
|
|
|
// ----------- T3 START ----------- //
|
|
// Fast Thread - Get DEBUG Data + DANWriterWriter 3
|
|
// ----- RX PATH ----- //
|
|
+MxiDataUsFifoDataT3 = {
|
|
Class = IOGAM
|
|
InputSignals = {
|
|
MXIUpstreamDebug = {
|
|
DataSource = MXIUsFifoDebugT3
|
|
Type = uint64
|
|
NumberOfElements = 2001
|
|
NumberOfDimensions = 1
|
|
Trigger = 1
|
|
Frequency = 0
|
|
}
|
|
MXIUpstreamDebugErrorCheck = {
|
|
Alias = ErrorCheck
|
|
DataSource = MXIUsFifoDebugT3
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
DBG_TS_VALUE_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
DBG_AO_0_VALUE_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_AO_1_VALUE_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_AO_2_VALUE_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_AO_3_VALUE_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_DO_62_0_VALUES_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_DATA_ERRORCHECK_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+DigitalInputSplitterT3 = {
|
|
Class = BitSplitterGAM
|
|
InputSignals = {
|
|
DigitalInputs = {
|
|
Alias = DBG_DO_62_0_VALUES_DDB3
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
DigitalInput_0 = {
|
|
Alias = DBG_MO_0_VALUES_DDB3
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DigitalInput_1 = {
|
|
Alias = DBG_MO_1_VALUES_DDB3
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DigitalInput_2 = {
|
|
Alias = DBG_DO_0_VALUES_DDB3
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DigitalInput_3 = {
|
|
Alias = DBG_DO_1_VALUES_DDB3
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DigitalInput_4 = {
|
|
Alias = DBG_DO_2_VALUES_DDB3
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DigitalInput_5 = {
|
|
Alias = DBG_DO_3_VALUES_DDB3
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DigitalInput_6 = {
|
|
Alias = DBG_DO_4_VALUES_DDB3
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DigitalInput_7 = {
|
|
Alias = DBG_MOD1_VALUES_DDB3
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DigitalInput_8 = {
|
|
Alias = DBG_MOD2_VALUES_DDB3
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DigitalInput_9 = {
|
|
Alias = DBG_FS1_VALUES_DDB3
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DigitalInput_10 = {
|
|
Alias = DBG_FS2_VALUES_DDB3
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DigitalInput_11 = {
|
|
Alias = DBG_PWON_VALUES_DDB3
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+TimeConversionT3 = {
|
|
Class = TimeArrayGAM
|
|
TimePerTicks = 25 // 25 ns / tick
|
|
TimeStep = 500 // 500 ns
|
|
InputSignals = {
|
|
DBG_TS_VALUE_DDB3 = { // FPGA Clock Ticks
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
TimeArrayNs_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+TimeConversionT3_Abs = {
|
|
Class = TimeArrayGAM
|
|
TimePerTicks = 25 // 25 ns / tick
|
|
TimeStep = 500 // 500 ns
|
|
AbsoluteTime = 1
|
|
InputSignals = {
|
|
DBG_TS_VALUE_DDB3 = { // FPGA Clock Ticks
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
TimeArrayNs_Abs_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIMasterTimeT3 = {
|
|
Class = IOGAM
|
|
InputSignals = {
|
|
TimeArrayNs_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
Ranges = {{0,0}}
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
MXIAbsTime_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
|
|
// ---- CONST GAM ---- //
|
|
+DANWriterWriteDataWindowLimitsT3 = {
|
|
Class = ConstantGAM
|
|
OutputSignals = {
|
|
DANWriterWriteDataWindowLowerLimit_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
Default = 5000000000
|
|
}
|
|
DANWriterWriteDataWindowUpperLimit_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
Default = 6000000000
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
|
|
// ---- FLOW CTRL ---- //
|
|
+DANWriterWriteDataWindowT3 = {
|
|
Class = MathExpressionGAM
|
|
Expression = "
|
|
DANWriterWriterEnable_DDB3 = (uint8)(((uint64)(MXIAbsTime_DDB3) >= (uint64)(DANWriterWriteDataWindowLowerLimit_DDB3))
|
|
&& ((uint64)(MXIAbsTime_DDB3) <= (uint64)(DANWriterWriteDataWindowUpperLimit_DDB3)));
|
|
DANWriterWriterDone_DDB3 = (uint8)((uint64)(MXIAbsTime_DDB3) > (uint64)(DANWriterWriteDataWindowUpperLimit_DDB3));
|
|
"
|
|
InputSignals = {
|
|
MXIAbsTime_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterWriteDataWindowLowerLimit_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterWriteDataWindowUpperLimit_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
DANWriterWriterEnable_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
}
|
|
DANWriterWriterDone_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
|
|
// -- MON/STATE CTRL - //
|
|
+AppMonitorT3 = {
|
|
Class = TestMonitorGAM
|
|
InputSignals = {
|
|
MXIAbsTime_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterWriterEnable_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
DANWriterWriterDone_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+ExecutionMonitorT3 = {
|
|
Class = MessageGAM
|
|
TriggerOnChange = 1
|
|
+Events = {
|
|
Class = ReferenceContainer
|
|
// App Driven -> Notify T1 that T3 acquisition/storage is completed
|
|
+StatusNotificationT3 = {
|
|
Class = EventConditionTrigger
|
|
EventTrigger = {
|
|
Command_DANWriterWriterDone_DDB3 = 1
|
|
}
|
|
+NOTIFY_T1_STATUS_T3 = {
|
|
Class = Message
|
|
Destination = TbTestApp.Functions.AcquisitionStatusDbg
|
|
Function = SetOutput
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
SignalName = AcquisitionStatusT3_DDB1
|
|
SignalValue = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
InputSignals = {
|
|
Command_DANWriterWriterDone_DDB3 = {
|
|
Alias = DANWriterWriterDone_DDB3
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
Clear_DANWriterWriterDone_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint32
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
|
|
// ----- STORAGE ----- //
|
|
|
|
+StoreStartPulseTime_T3 = {
|
|
Class = TriggerEnableGAM
|
|
NumberOfTriggers = 1
|
|
ResetCycles = 1
|
|
InputSignals = {
|
|
DANWriterWriterEnable_DDB3 = {
|
|
Type = uint8
|
|
DataSource = DDB3
|
|
}
|
|
TimeArrayNs_Abs_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
Ranges = {{0, 0}}
|
|
}
|
|
InitTime_1_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
InitTime_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
}
|
|
}
|
|
}
|
|
+StoreStopPulseTime_T3 = {
|
|
Class = TriggerEnableGAM
|
|
NumberOfTriggers = 1
|
|
Negated = 1
|
|
ResetCycles = 1
|
|
InputSignals = {
|
|
DANWriterWriterEnable_DDB3 = {
|
|
Type = uint8
|
|
DataSource = DDB3
|
|
}
|
|
TimeArrayNs_Abs_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
Ranges = {{0, 0}}
|
|
}
|
|
FinalTime_1_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
FinalTime_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
}
|
|
}
|
|
}
|
|
|
|
+DANWriterWriteDataT3 = {
|
|
Class = IOGAM
|
|
InputSignals = {
|
|
DANWriterWriterEnable_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
TimeArrayNs_Abs_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
Ranges = {{0, 0}}
|
|
}
|
|
TimeArrayNs_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_AO_0_VALUE_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_AO_1_VALUE_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_AO_2_VALUE_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_MO_0_VALUES_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_MO_1_VALUES_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_DO_0_VALUES_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_DO_1_VALUES_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_DO_2_VALUES_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_DO_3_VALUES_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_DO_4_VALUES_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_MOD1_VALUES_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_MOD2_VALUES_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_FS1_VALUES_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_FS2_VALUES_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_PWON_VALUES_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DBG_DATA_ERRORCHECK_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
T3_PlcCfg_CycleTime = {
|
|
Alias = PlcCfg.Thread3Dbg_CycleTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
T3_TestRun_CycleTime = {
|
|
Alias = TestRun.Thread3Dbg_CycleTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
T3_TestPost_CycleTime = {
|
|
Alias = TestPost.Thread3Dbg_CycleTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
T3_FirstGAM_ReadTime = {
|
|
Alias = DigitalInputSplitterT3_ReadTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
T3_LastGAM_ReadTime = {
|
|
Alias = ExecutionMonitorT3_ExecTime
|
|
DataSource = Timings
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
InitTime_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
}
|
|
FinalTime_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
}
|
|
InitTime_Save_DDB3 = {
|
|
Alias = InitTime_DDB3
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
}
|
|
FinalTime_Save_DDB3 = {
|
|
Alias = FinalTime_DDB3
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
DANWriterT3_Trigger = {
|
|
DataSource = DANWriterT3
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
DANWriterT3_TimeSamples = {
|
|
DataSource = DANWriterT3
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
DANWriterT3_Time = {
|
|
DataSource = DANWriterT3
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_AO_0_VALUE = {
|
|
DataSource = DANWriterT3
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_AO_1_VALUE = {
|
|
DataSource = DANWriterT3
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_AO_2_VALUE = {
|
|
DataSource = DANWriterT3
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_MO_0_VALUE = {
|
|
DataSource = DANWriterT3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_MO_1_VALUE = {
|
|
DataSource = DANWriterT3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_DO_0_VALUE = {
|
|
DataSource = DANWriterT3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_DO_1_VALUE = {
|
|
DataSource = DANWriterT3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_DO_2_VALUE = {
|
|
DataSource = DANWriterT3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_DO_3_VALUE = {
|
|
DataSource = DANWriterT3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_DO_4_VALUE = {
|
|
DataSource = DANWriterT3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_MOD1_VALUE = {
|
|
DataSource = DANWriterT3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_MOD2_VALUE = {
|
|
DataSource = DANWriterT3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_FS1_VALUE = {
|
|
DataSource = DANWriterT3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_FS2_VALUE = {
|
|
DataSource = DANWriterT3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_PWON_VALUE = {
|
|
DataSource = DANWriterT3
|
|
Type = uint8
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_ERRORCHECK = {
|
|
DataSource = DANWriterT3
|
|
Type = uint32
|
|
}
|
|
DANWriterT3_PlcCfg_CycleTime = {
|
|
DataSource = DANWriterT3
|
|
Type = uint32
|
|
}
|
|
DANWriterT3_TestRun_CycleTime = {
|
|
DataSource = DANWriterT3
|
|
Type = uint32
|
|
}
|
|
DANWriterT3_TestPost_CycleTime = {
|
|
DataSource = DANWriterT3
|
|
Type = uint32
|
|
}
|
|
DANWriterT3_FirstGAM_ReadTime = {
|
|
DataSource = DANWriterT3
|
|
Type = uint32
|
|
}
|
|
DANWriterT3_LastGAM_ExecTime = {
|
|
DataSource = DANWriterT3
|
|
Type = uint32
|
|
}
|
|
InitTime_L = {
|
|
DataSource = EpicsOutput_T3
|
|
Type = uint32
|
|
}
|
|
InitTime_H = {
|
|
DataSource = EpicsOutput_T3
|
|
Type = uint32
|
|
}
|
|
FinalTime_L = {
|
|
DataSource = EpicsOutput_T3
|
|
Type = uint32
|
|
}
|
|
FinalTime_H = {
|
|
DataSource = EpicsOutput_T3
|
|
Type = uint32
|
|
}
|
|
InitTime_1_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
}
|
|
FinalTime_1_DDB3 = {
|
|
DataSource = DDB3
|
|
Type = uint64
|
|
}
|
|
}
|
|
}
|
|
// ------------------- //
|
|
|
|
// ------------ T3 END ------------ //
|
|
}
|
|
+Data = {
|
|
Class = ReferenceContainer
|
|
DefaultDataSource = DDB1
|
|
// ----------- T1 START ----------- //
|
|
// Slow Timer Thread - Configuration and monitoring
|
|
+DDB1 = {
|
|
Class = GAMDataSource
|
|
}
|
|
|
|
+LoggerDataSource = {
|
|
Class = LoggerDataSource
|
|
}
|
|
|
|
+Timings = {
|
|
Class = TimingDataSource
|
|
}
|
|
|
|
+Timer = {
|
|
Class = LinuxTimer
|
|
ExecutionMode = RealTimeThread
|
|
SleepNature = Busy
|
|
SleepPercentage = 0
|
|
Phase = 0
|
|
CPUMask = 0x00000100
|
|
Signals = {
|
|
Counter = {
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
Time = {
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
AbsoluteTime = {
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIRegistersRead = {
|
|
Class = NI9157::NI9157MxiDataSource
|
|
RunNi = 0
|
|
NI9157DevicePath = NiDevice
|
|
NumberOfPacketsInFIFO = 10
|
|
BlockIfNotRunning = 0
|
|
Signals = {
|
|
hl_tx_spi_done = { // TX SPI done (all)
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_spi_done = { // RX SPI done (all)
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_ao_0_ctr_out = { // AO 0 Accepted Triplet Counter
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_ao_1_ctr_out = { // AO 1 Accepted Triplet Counter
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_ao_2_ctr_out = { // AO 2 Accepted Triplet Counter
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_mo_0_ctr_out = { // MO 0 Accepted Triplet Counter
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_mo_1_ctr_out = { // MO 1 Accepted Triplet Counter
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_do_n_ctr_out = { // DO N Accepted Triplet Counter
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_fs_0_ctr_out = { // FS 0 Accepted Triplet Counter
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_fs_1_ctr_out = { // FS 1 Accepted Triplet Counter
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_full_mod_out = { // Modules FIFO Full status flag
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_acq_en_out = { // USC Acquisition Enable
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_ts_status = { // Timestamp generation status
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
dsc_ts_out = { // Timestamp current value
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIRegistersWriteRst = {
|
|
Class = NI9157::NI9157MxiDataSource
|
|
RunNi = 0
|
|
NI9157DevicePath = NiDevice
|
|
NumberOfPacketsInFIFO = 10
|
|
BlockIfNotRunning = 0
|
|
Signals = {
|
|
rst_in = { // Reset Firmware (toggle switch)
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIRegistersWriteEn = {
|
|
Class = NI9157::NI9157MxiDataSource
|
|
RunNi = 0
|
|
NI9157DevicePath = NiDevice
|
|
NumberOfPacketsInFIFO = 10
|
|
BlockIfNotRunning = 0
|
|
Signals = {
|
|
dsc_en_in = { // Enable DSC
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIRegistersDgbEn = {
|
|
Class = NI9157::NI9157MxiDataSource
|
|
RunNi = 0
|
|
NI9157DevicePath = NiDevice
|
|
NumberOfPacketsInFIFO = 10
|
|
BlockIfNotRunning = 0
|
|
Signals = {
|
|
dbg_en_sel_in = { // DBG Enable Selector (0 -> dbg_en_in driven, 1-> dsc_acq_en_out driven)
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
dbg_en_in = { // DBG Enable Input (usable when dbg_en_sel_in <= 1'b0)
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIRegistersWriteHlOpt = {
|
|
Class = NI9157::NI9157MxiDataSource
|
|
RunNi = 0
|
|
NI9157DevicePath = NiDevice
|
|
NumberOfPacketsInFIFO = 10
|
|
BlockIfNotRunning = 0
|
|
Signals = {
|
|
hl_tx_1_opt = { // HL TX 1 CFG
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_tx_2_opt = { // HL TX 2 CFG
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_tx_3_opt = { // HL TX 3 CFG
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_tx_opt_trg = { // Trigger HL TX configuration (toggle switch)
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_1_opt = { // HL RX 1 CFG
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_2_opt = { // HL RX 2 CFG
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_3_opt = { // HL RX 3 CFG
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_4_opt = { // HL RX 4 CFG
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_5_opt = { // HL RX 5 CFG
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_6_opt = { // HL RX 6 CFG
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_7_opt = { // HL RX 7 CFG
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
}
|
|
hl_rx_opt_trg = { // Trigger HL RX configuration (toggle switch)
|
|
Type = bool
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIDsFifoAcqEn = {
|
|
Class = NI9157::NI9157MxiDataSource
|
|
NI9157DevicePath = NiDevice
|
|
RunNi = 0
|
|
NumberOfPacketsInFIFO = 1
|
|
BlockIfNotRunning = 0
|
|
Signals = {
|
|
FIFO0_U64_WR = {
|
|
Type = uint64
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+MXIDsFifoConfig = {
|
|
Class = NI9157::NI9157MxiDataSource
|
|
NI9157DevicePath = NiDevice
|
|
RunNi = 0
|
|
NumberOfPacketsInFIFO = 1
|
|
BlockIfNotRunning = 0
|
|
Signals = {
|
|
FIFO0_U64_WR = {
|
|
Type = uint64
|
|
NumberOfElements = 16
|
|
NumberOfDimensions = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+SdnPlcPub = {
|
|
Class = SDN::SDNPublisher
|
|
Interface = "eno2"
|
|
Address = "10.0.0.20:2004"
|
|
Topic = 0
|
|
NetworkByteOrder = 1
|
|
Signals = {
|
|
// Header Signals
|
|
HeaderNF = {
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
HeaderNI = {
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
HeaderNC = {
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
HeaderNS = {
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
HeaderNA = {
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
HeaderS = {
|
|
Type = uint8
|
|
NumberOfElements = 3
|
|
NumberOfDimensions = 1
|
|
}
|
|
// Float32 Signals
|
|
VB1TREF = {
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
VB1 = {
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
VB2TREF = {
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
VB2 = {
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
VB1RR = {
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
VB2RR = {
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
VB1TH = {
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
VB2TH = {
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
VKTH = {
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
VK = {
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
PSKT = {
|
|
Type = float32
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
// UInt16 Signals
|
|
VB1UP = {
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
VB2UP = {
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
VB1TSEL = {
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
VB2TSEL = {
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
VKSEL = {
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
BODR = {
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
VKUP = {
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
MDKF = {
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
CSTAT = {
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
COMOD = {
|
|
Type = uint16
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
// UInt8 Commands
|
|
CFG = {
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
SM = {
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
+SdnPlcSub = {
|
|
Class = SDN::SDNSubscriber
|
|
ExecutionMode = IndependentThread
|
|
Interface = "eno2"
|
|
Address = "10.0.0.22:2004"
|
|
CPUs = 0x00020000
|
|
Topic = 0
|
|
IgnoreTimeoutError = 1
|
|
Timeout = 0
|
|
Signals = {
|
|
Header = {
|
|
Type = uint8
|
|
NumberOfElements = 48
|
|
NumberOfDimensions = 1
|
|
}
|
|
PLC_HEADER = {
|
|
Type = uint8
|
|
NumberOfElements = 8
|
|
NumberOfDimensions = 1
|
|
}
|
|
ACK_CFG = {
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
ACK_SMC = {
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
STATE_CFG = {
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
STATE_SMC = {
|
|
Type = uint8
|
|
NumberOfElements = 1
|
|
NumberOfDimensions = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
+DANWriterT1 = {
|
|
Class = DAN::DANSource
|
|
NumberOfBuffers = 300
|
|
CPUMask = 0x00040000
|
|
DanBufferMultiplier = 8
|
|
StackSize = 10000000
|
|
NumberOfPreTriggers = 0
|
|
NumberOfPostTriggers = 0
|
|
StoreOnTrigger = 1
|
|
ICProgName = MARTeAppRun
|
|
Signals = {
|
|
DANWriterT1_Trigger = {
|
|
Type = uint8
|
|
}
|
|
DANWriterT1_TimeSamples = {
|
|
Type = uint64
|
|
TimeSignal = 1
|
|
AbsoluteTime = 1
|
|
}
|
|
DANWriterT1_Time = {
|
|
Type = uint64
|
|
NodeName = "EC-GN-P5C:R_T1_Time"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_MXIAbsTime = {
|
|
Type = uint64
|
|
NodeName = "EC-GN-P5C:R_T1_MXIAbsTime"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_SMState = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_SMState"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_AcqStatus = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_AcqStatus"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_MXICfgSupDone = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_MXICfgSupDone"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_MXICfgSupError = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_MXICfgSupError"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_MXICfgSupStatus = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_MXICfgSupStatus"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_MXIBaseCfgTrg = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_MXIBaseCfgTrg"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_MXIBaseCfgMode = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_MXIBaseCfgMode"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_MXIBaseCfgDone = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_MXIBaseCfgDone"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_MXIBaseCfgStatus = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_MXIBaseCfgStatus"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_MXIAcqEnTrg = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_MXIAcqEnTrg"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_MXIAcqEnDone = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_MXIAcqEnDone"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_MXIAcqEnStatus = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_MXIAcqEnStatus"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_MXITrpCfgTrg = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_MXITrpCfgTrg"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_MXITrpCfgDone = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_MXITrpCfgDone"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_MXITrpCfgError = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_MXITrpCfgError"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_PlcCfgSupTxTrg = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_PlcCfgSupTxTrg"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_PlcCfgSupDone = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_PlcCfgSupDone"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_PlcCfgSupError = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_PlcCfgSupError"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_PlcCfgSupStatus = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T1_PlcCfgSupStatus"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_PreCfg_CycleTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T1_PreCfg_CT"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_MxiCfg_CycleTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T1_MxiCfg_CT"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_PlcCfg_CycleTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T1_PlcCfg_CT"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_TestRun_CycleTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T1_TestRun_CT"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_TestPost_CycleTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T1_TestPost_CT"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_CfgError_CycleTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T1_CfgError_CT"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_Error_CycleTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T1_Error_CT"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_FirstGAM_ReadTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T1_FirstGAM_RT"
|
|
Period = 10.0e-3
|
|
}
|
|
DANWriterT1_LastGAM_ExecTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T1_LastGAM_ET"
|
|
Period = 10.0e-3
|
|
}
|
|
}
|
|
}
|
|
+EpicsOutput_T1 = {
|
|
Class = EPICSCA::EPICSCAOutput
|
|
CPUs = 0xFF
|
|
NumberOfBuffers = 50
|
|
Signals = {
|
|
InitTime_L = {
|
|
PVName = EC-GN-P5C:R_T1_ONLINE_T_L
|
|
Type = uint32
|
|
}
|
|
InitTime_H = {
|
|
PVName = EC-GN-P5C:R_T1_ONLINE_T_H
|
|
Type = uint32
|
|
}
|
|
FinalTime_L = {
|
|
PVName = EC-GN-P5C:R_T1_OFFLINE_T_L
|
|
Type = uint32
|
|
}
|
|
FinalTime_H = {
|
|
PVName = EC-GN-P5C:R_T1_OFFLINE_T_H
|
|
Type = uint32
|
|
}
|
|
}
|
|
}
|
|
|
|
// ------------ T1 END ------------ //
|
|
|
|
// ----------- T2 START ----------- //
|
|
// Fast Thread - GET ACQ Data + WaveformMonitors + DANWriterWriter2
|
|
+DDB2 = {
|
|
Class = GAMDataSource
|
|
}
|
|
|
|
+MXIUsFifoDataT2 = {
|
|
Class = NI9157::NI9157CircularFifoReader
|
|
NumberOfBuffers = 300
|
|
CpuMask = 0x00008000
|
|
NI9157DevicePath = NiDevice
|
|
RunNi = 0
|
|
NumberOfPacketsInFIFO = 3
|
|
NonBlockSleepT = 1.0e-6
|
|
TriggerAfterNPackets = 1
|
|
Timeout = 1
|
|
FifoName = FIFO1_U64_RD
|
|
GetFirst = 1
|
|
CheckFrame = 1
|
|
+Checker = {
|
|
Class = MarkerBitChecker
|
|
SampleSize = 8
|
|
NumOfFrameForSync = 1
|
|
MarkerBitMask = 0x8000000000000000
|
|
ResetBitMask = 0xC000000000000000
|
|
}
|
|
Signals = {
|
|
MXIUpstreamData = {
|
|
Type = uint64
|
|
NumberOfDimensions = 1
|
|
NumberOfElements = 3001
|
|
HeaderSize = 8
|
|
// AI3[63:48] AI2[47:32] AI1[31:16] AI0[15:0]
|
|
// NU[63:48] AI6[47:32] AI5[31:16] AI4[15:0]
|
|
// NU[63:2] DI0[1] DI0[0]
|
|
PacketMemberSizes = {2, 2, 2, 2, 2, 2, 2, 2, 8}
|
|
}
|
|
ErrorCheck = {
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+DANWriterT2 = {
|
|
Class = DAN::DANSource
|
|
NumberOfBuffers = 300
|
|
CPUMask = 0x00080000
|
|
DanBufferMultiplier = 8
|
|
StackSize = 10000000
|
|
NumberOfPreTriggers = 0
|
|
NumberOfPostTriggers = 0
|
|
StoreOnTrigger = 1
|
|
ICProgName = MARTeAppRun
|
|
Signals = {
|
|
DANWriterT2_Trigger = {
|
|
Type = uint8
|
|
}
|
|
DANWriterT2_TimeSamples = {
|
|
Type = uint64
|
|
TimeSignal = 1
|
|
AbsoluteTime = 1
|
|
}
|
|
DANWriterT2_Time = {
|
|
Type = uint64
|
|
NodeName = "EC-GN-P5C:R_T2_Time"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_AI_0_VALUE = {
|
|
Type = uint16
|
|
NodeName = "EC-GN-P5C:R_T2_USC_AI_0"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_AI_1_VALUE = {
|
|
Type = uint16
|
|
NodeName = "EC-GN-P5C:R_T2_USC_AI_1"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_AI_2_VALUE = {
|
|
Type = uint16
|
|
NodeName = "EC-GN-P5C:R_T2_USC_AI_2"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_AI_3_VALUE = {
|
|
Type = uint16
|
|
NodeName = "EC-GN-P5C:R_T2_USC_AI_3"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_AI_4_VALUE = {
|
|
Type = uint16
|
|
NodeName = "EC-GN-P5C:R_T2_USC_AI_4"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_AI_5_VALUE = {
|
|
Type = uint16
|
|
NodeName = "EC-GN-P5C:R_T2_USC_AI_5"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_AI_6_VALUE = {
|
|
Type = uint16
|
|
NodeName = "EC-GN-P5C:R_T2_USC_AI_6"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_DI_0_VALUE = {
|
|
Type = uint16
|
|
NodeName = "EC-GN-P5C:R_T2_USC_DI_0"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_USC_DI_1_VALUE = {
|
|
Type = uint16
|
|
NodeName = "EC-GN-P5C:R_T2_USC_DI_1"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT2_ERRORCHECK = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T2_ERRORCHECK"
|
|
Period = 500.0e-6
|
|
}
|
|
DANWriterT2_PlcCfg_CycleTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T2_PlcCfg_CT"
|
|
Period = 500.0e-6
|
|
}
|
|
DANWriterT2_TestRun_CycleTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T2_TestRun_CT"
|
|
Period = 500.0e-6
|
|
}
|
|
DANWriterT2_TestPost_CycleTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T2_TestPost_CT"
|
|
Period = 500.0e-6
|
|
}
|
|
DANWriterT2_FirstGAM_ReadTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T2_FirstGAM_RT"
|
|
Period = 500.0e-6
|
|
}
|
|
DANWriterT2_LastGAM_ExecTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T2_LastGAM_ET"
|
|
Period = 500.0e-6
|
|
}
|
|
}
|
|
}
|
|
|
|
+FileWriterBufferT2 = {
|
|
Class = FileDataSource::FileWriter
|
|
NumberOfBuffers = 300
|
|
CPUMask = 0x00400000
|
|
StackSize = 10000000
|
|
Filename = "/mnt/disktmpfs/AmpegonPsTb_Data/AmpegonPsTb_BinaryBuffers/TestRunBuffer_REGKEY_POST_BUILD_DAN_PREFIX5101001.bin"
|
|
Overwrite = "yes"
|
|
FileFormat = "binary"
|
|
StoreOnTrigger = 1
|
|
RefreshContent = 0
|
|
NumberOfPreTriggers = 0
|
|
NumberOfPostTriggers = 0
|
|
Signals = {
|
|
FileWriterT2_Trigger = {
|
|
Type = uint8
|
|
}
|
|
FileWriterT2_Time = {
|
|
Type = uint64
|
|
NumberOfElements = 1000
|
|
}
|
|
FileWriterT2_USC_AI_0_VALUE = {
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
}
|
|
FileWriterT2_USC_AI_1_VALUE = {
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
}
|
|
FileWriterT2_USC_AI_2_VALUE = {
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
}
|
|
FileWriterT2_USC_DI_0_VALUE = {
|
|
Type = uint16
|
|
NumberOfElements = 1000
|
|
}
|
|
}
|
|
}
|
|
|
|
+EpicsOutput_T2 = {
|
|
Class = EPICSCA::EPICSCAOutput
|
|
CPUs = 0xFF
|
|
NumberOfBuffers = 50
|
|
Signals = {
|
|
InitTime_L = {
|
|
PVName = EC-GN-P5C:R_T2_ONLINE_T_L
|
|
Type = uint32
|
|
}
|
|
InitTime_H = {
|
|
PVName = EC-GN-P5C:R_T2_ONLINE_T_H
|
|
Type = uint32
|
|
}
|
|
FinalTime_L = {
|
|
PVName = EC-GN-P5C:R_T2_OFFLINE_T_L
|
|
Type = uint32
|
|
}
|
|
FinalTime_H = {
|
|
PVName = EC-GN-P5C:R_T2_OFFLINE_T_H
|
|
Type = uint32
|
|
}
|
|
}
|
|
}
|
|
|
|
// ------------ T2 END ------------ //
|
|
|
|
// ----------- T3 START ----------- //
|
|
// Fast Thread - Get DEBUG Data + DANWriterWriter 3
|
|
+DDB3 = {
|
|
Class = GAMDataSource
|
|
}
|
|
|
|
+MXIUsFifoDebugT3 = {
|
|
Class = NI9157::NI9157CircularFifoReader
|
|
NumberOfBuffers = 300
|
|
CpuMask = 0x00010000
|
|
NI9157DevicePath = NiDevice
|
|
RunNi = 0
|
|
NumberOfPacketsInFIFO = 3
|
|
NonBlockSleepT = 1.0e-6
|
|
TriggerAfterNPackets = 1
|
|
Timeout = 1
|
|
FifoName = FIFO2_U64_RD
|
|
GetFirst = 1
|
|
CheckFrame = 1
|
|
+Checker = {
|
|
Class = MarkerBitChecker
|
|
SampleSize = 8
|
|
NumOfFrameForSync = 1
|
|
MarkerBitMask = 0x8000000000000000
|
|
ResetBitMask = 0xC000000000000000
|
|
}
|
|
Signals = {
|
|
MXIUpstreamDebug = {
|
|
Type = uint64
|
|
NumberOfDimensions = 1
|
|
NumberOfElements = 2001
|
|
HeaderSize = 8
|
|
// NU[63:48] AO2[47:32] AO1[31:16] AO0[15:0]}
|
|
// NU[63:12] PWON[11] FS2[10] FS1[9] MOD2[8]
|
|
// MOD1[7] DO4[6] DO3[5] DO2[4]
|
|
// DO1[3] DO0[2] MO1[1] MO0[0]
|
|
PacketMemberSizes = {2, 2, 2, 2, 8}
|
|
}
|
|
ErrorCheck = {
|
|
Type = uint32
|
|
NumberOfElements = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
+DANWriterT3 = {
|
|
Class = DAN::DANSource
|
|
NumberOfBuffers = 300
|
|
CPUMask = 0x00100000
|
|
DanBufferMultiplier = 8
|
|
StackSize = 10000000
|
|
NumberOfPreTriggers = 0
|
|
NumberOfPostTriggers = 0
|
|
StoreOnTrigger = 1
|
|
ICProgName = MARTeAppRun
|
|
Signals = {
|
|
DANWriterT3_Trigger = {
|
|
Type = uint8
|
|
}
|
|
DANWriterT3_TimeSamples = {
|
|
Type = uint64
|
|
TimeSignal = 1
|
|
AbsoluteTime = 1
|
|
}
|
|
DANWriterT3_Time = {
|
|
Type = uint64
|
|
NodeName = "EC-GN-P5C:R_T3_Time"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_AO_0_VALUE = {
|
|
Type = uint16
|
|
NodeName = "EC-GN-P5C:R_T3_DBG_AO_0"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_AO_1_VALUE = {
|
|
Type = uint16
|
|
NodeName = "EC-GN-P5C:R_T3_DBG_AO_1"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_AO_2_VALUE = {
|
|
Type = uint16
|
|
NodeName = "EC-GN-P5C:R_T3_DBG_AO_2"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_MO_0_VALUE = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T3_DBG_MO_0"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_MO_1_VALUE = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T3_DBG_MO_1"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_DO_0_VALUE = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T3_DBG_DO_0"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_DO_1_VALUE = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T3_DBG_DO_1"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_DO_2_VALUE = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T3_DBG_DO_2"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_DO_3_VALUE = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T3_DBG_DO_3"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_DO_4_VALUE = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T3_DBG_DO_4"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_MOD1_VALUE = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T3_DBG_MOD1"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_MOD2_VALUE = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T3_DBG_MOD2"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_FS1_VALUE = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T3_DBG_FS1"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_FS2_VALUE = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T3_DBG_FS2"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_DBG_PWON_VALUE = {
|
|
Type = uint8
|
|
NodeName = "EC-GN-P5C:R_T3_DBG_PWON"
|
|
Period = 500.0e-9
|
|
NumberOfElements = 1000
|
|
NumberOfDimensions = 1
|
|
}
|
|
DANWriterT3_ERRORCHECK = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T3_ERRORCHECK"
|
|
Period = 500.0e-6
|
|
}
|
|
DANWriterT3_PlcCfg_CycleTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T3_PlcCfg_CT"
|
|
Period = 500.0e-6
|
|
}
|
|
DANWriterT3_TestRun_CycleTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T3_TestRun_CT"
|
|
Period = 500.0e-6
|
|
}
|
|
DANWriterT3_TestPost_CycleTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T3_TestPost_CT"
|
|
Period = 500.0e-6
|
|
}
|
|
DANWriterT3_FirstGAM_ReadTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T3_FirstGAM_RT"
|
|
Period = 500.0e-6
|
|
}
|
|
DANWriterT3_LastGAM_ExecTime = {
|
|
Type = uint32
|
|
NodeName = "EC-GN-P5C:R_T3_LastGAM_ET"
|
|
Period = 500.0e-6
|
|
}
|
|
}
|
|
}
|
|
+EpicsOutput_T3 = {
|
|
Class = EPICSCA::EPICSCAOutput
|
|
CPUs = 0xFF
|
|
NumberOfBuffers = 50
|
|
Signals = {
|
|
InitTime_L = {
|
|
PVName = EC-GN-P5C:R_T3_ONLINE_T_L
|
|
Type = uint32
|
|
}
|
|
InitTime_H = {
|
|
PVName = EC-GN-P5C:R_T3_ONLINE_T_H
|
|
Type = uint32
|
|
}
|
|
FinalTime_L = {
|
|
PVName = EC-GN-P5C:R_T3_OFFLINE_T_L
|
|
Type = uint32
|
|
}
|
|
FinalTime_H = {
|
|
PVName = EC-GN-P5C:R_T3_OFFLINE_T_H
|
|
Type = uint32
|
|
}
|
|
}
|
|
}
|
|
// ------------ T3 END ------------ //
|
|
}
|
|
+States = {
|
|
Class = ReferenceContainer
|
|
+PreCfg = {
|
|
Class = RealTimeState
|
|
+Threads = {
|
|
Class = ReferenceContainer
|
|
+Thread1Cfg = {
|
|
Class = RealTimeThread
|
|
CPUs = 0x00000100
|
|
Functions = {
|
|
// TIMER
|
|
Timer, CurrentTime_T1, TimeConverter,
|
|
// RX PATH
|
|
MXIRead, MXIModuleFullFlagSplitter, MXIMasterTime, PlcPacketRx,
|
|
// CONST GAM
|
|
AppStateMachineState, DANWriterWriteEnable, MXISupervisorVariables, MXIBaseConfigurationVariables,
|
|
MXIDsFifoAcqEnVariables, PlcPacketTxVariables, StateMachineTasksDelay,
|
|
AcquisitionStatusDaq, AcquisitionStatusDbg,
|
|
// FLOW CTRL
|
|
MXIConfigurationSupervisor, MXIBaseConfiguration,
|
|
MXIAcquisitionEnable, MXITripletConfiguration, PlcConfigurationSupervisor,
|
|
// TX PATH
|
|
MXIWriteRst, MXIWriteHlOpt, MXIWriteEn, MXIWriteDbg,
|
|
MXIWriteDsFifoAcqEn, MXIWriteDsFifoConfig, PlcPacketTx,
|
|
// MON/STATE CTRL
|
|
AppMonitor, EventMessageBypassPreCfg, AcquisitionStatusMonitor, /*AcquisitionStatusMessages,
|
|
CycleCounterT1, TestPostTasksDelay, TestPostGotoTestDone, TestDoneCallTasks,*/ EventMessages,
|
|
// STORAGE
|
|
StoreStartPulseTime_T1,
|
|
StoreStopPulseTime_T1,
|
|
DANWriterWriteData
|
|
}
|
|
}
|
|
}
|
|
}
|
|
+MxiCfg = {
|
|
Class = RealTimeState
|
|
+Threads = {
|
|
Class = ReferenceContainer
|
|
+Thread1Cfg = {
|
|
Class = RealTimeThread
|
|
CPUs = 0x00000100
|
|
Functions = {
|
|
// TIMER
|
|
Timer, CurrentTime_T1, TimeConverter,
|
|
// RX PATH
|
|
MXIRead, MXIModuleFullFlagSplitter, MXIMasterTime, PlcPacketRx,
|
|
// CONST GAM
|
|
AppStateMachineState, DANWriterWriteEnable, MXISupervisorVariables, MXIBaseConfigurationVariables,
|
|
MXIDsFifoAcqEnVariables, PlcPacketTxVariables, StateMachineTasksDelay,
|
|
AcquisitionStatusDaq, AcquisitionStatusDbg,
|
|
// FLOW CTRL
|
|
MXIConfigurationSupervisor, MXIBaseConfiguration,
|
|
MXIAcquisitionEnable, MXITripletConfiguration, PlcConfigurationSupervisor,
|
|
// TX PATH
|
|
MXIWriteRst, MXIWriteHlOpt, MXIWriteEn, MXIWriteDbg,
|
|
MXIWriteDsFifoAcqEn, MXIWriteDsFifoConfig, PlcPacketTx,
|
|
// MON/STATE CTRL
|
|
AppMonitor, /*EventMessageBypassPreCfg,*/ AcquisitionStatusMonitor, /*AcquisitionStatusMessages,
|
|
CycleCounterT1, TestPostTasksDelay, TestPostGotoTestDone, TestDoneCallTasks,*/ EventMessages,
|
|
// STORAGE
|
|
StoreStartPulseTime_T1,
|
|
StoreStopPulseTime_T1,
|
|
DANWriterWriteData
|
|
}
|
|
}
|
|
}
|
|
}
|
|
+PlcCfg = {
|
|
Class = RealTimeState
|
|
+Threads = {
|
|
Class = ReferenceContainer
|
|
+Thread1Cfg = {
|
|
Class = RealTimeThread
|
|
CPUs = 0x00000100
|
|
Functions = {
|
|
// TIMER
|
|
Timer, CurrentTime_T1, TimeConverter,
|
|
// RX PATH
|
|
MXIRead, MXIModuleFullFlagSplitter, MXIMasterTime, PlcPacketRx,
|
|
// CONST GAM
|
|
AppStateMachineState, DANWriterWriteEnable, MXISupervisorVariables, MXIBaseConfigurationVariables,
|
|
MXIDsFifoAcqEnVariables, PlcPacketTxVariables, StateMachineTasksDelay,
|
|
AcquisitionStatusDaq, AcquisitionStatusDbg,
|
|
// FLOW CTRL
|
|
MXIConfigurationSupervisor, MXIBaseConfiguration,
|
|
MXIAcquisitionEnable, MXITripletConfiguration, PlcConfigurationSupervisor,
|
|
// TX PATH
|
|
MXIWriteRst, MXIWriteHlOpt, MXIWriteEn, MXIWriteDbg,
|
|
MXIWriteDsFifoAcqEn, MXIWriteDsFifoConfig, PlcPacketTx,
|
|
// MON/STATE CTRL
|
|
AppMonitor, /*EventMessageBypassPreCfg,*/ AcquisitionStatusMonitor, /*AcquisitionStatusMessages,
|
|
CycleCounterT1, TestPostTasksDelay, TestPostGotoTestDone, TestDoneCallTasks,*/ EventMessages,
|
|
// STORAGE
|
|
StoreStartPulseTime_T1,
|
|
StoreStopPulseTime_T1,
|
|
DANWriterWriteData
|
|
}
|
|
}
|
|
+Thread2Daq = {
|
|
Class = RealTimeThread
|
|
CPUs = 0x00000200
|
|
Functions = {
|
|
// RX PATH
|
|
MxiDataUsFifoDataT2, DigitalInputSplitterT2, TimeConversionT2, TimeConversionT2_Abs, MXIMasterTimeT2,
|
|
// CONST GAM
|
|
DANWriterWriteDataWindowLimitsT2,
|
|
// FLOW CTRL
|
|
DANWriterWriteDataWindowT2,
|
|
// MON/STATE CTRL
|
|
AppMonitorT2, ExecutionMonitorT2,
|
|
// STORAGE
|
|
StoreStartPulseTime_T2,
|
|
StoreStopPulseTime_T2,
|
|
DANWriterWriteDataT2, FileWriterBufferDataT2
|
|
}
|
|
}
|
|
+Thread3Dbg = {
|
|
Class = RealTimeThread
|
|
CPUs = 0x00000400
|
|
Functions = {
|
|
// RX PATH
|
|
MxiDataUsFifoDataT3, DigitalInputSplitterT3, TimeConversionT3, TimeConversionT3_Abs, MXIMasterTimeT3,
|
|
// CONST GAM
|
|
DANWriterWriteDataWindowLimitsT3,
|
|
// FLOW CTRL
|
|
DANWriterWriteDataWindowT3,
|
|
// TX PATH
|
|
// NOOP,
|
|
// MON/STATE CTR
|
|
AppMonitorT3, ExecutionMonitorT3,
|
|
// STORAGE
|
|
StoreStartPulseTime_T3,
|
|
StoreStopPulseTime_T3,
|
|
DANWriterWriteDataT3
|
|
}
|
|
}
|
|
}
|
|
}
|
|
+TestRun = {
|
|
Class = RealTimeState
|
|
+Threads = {
|
|
Class = ReferenceContainer
|
|
+Thread1Cfg = {
|
|
Class = RealTimeThread
|
|
CPUs = 0x00000100
|
|
Functions = {
|
|
// TIMER
|
|
Timer, CurrentTime_T1, TimeConverter,
|
|
// RX PATH
|
|
MXIRead, MXIModuleFullFlagSplitter, MXIMasterTime, PlcPacketRx,
|
|
// CONST GAM
|
|
AppStateMachineState, DANWriterWriteEnable, MXISupervisorVariables, MXIBaseConfigurationVariables,
|
|
MXIDsFifoAcqEnVariables, PlcPacketTxVariables, StateMachineTasksDelay,
|
|
AcquisitionStatusDaq, AcquisitionStatusDbg,
|
|
// FLOW CTRL
|
|
MXIConfigurationSupervisor, MXIBaseConfiguration,
|
|
MXIAcquisitionEnable, MXITripletConfiguration, PlcConfigurationSupervisor,
|
|
// TX PATH
|
|
MXIWriteRst, MXIWriteHlOpt, MXIWriteEn, MXIWriteDbg,
|
|
MXIWriteDsFifoAcqEn, MXIWriteDsFifoConfig, PlcPacketTx,
|
|
// MON/STATE CTRL
|
|
AppMonitor, /*EventMessageBypassPreCfg,*/ AcquisitionStatusMonitor, AcquisitionStatusMessages,
|
|
/*CycleCounterT1, TestPostTasksDelay, TestPostGotoTestDone, TestDoneCallTasks,*/ EventMessages,
|
|
// STORAGE
|
|
StoreStartPulseTime_T1,
|
|
StoreStopPulseTime_T1,
|
|
DANWriterWriteData
|
|
}
|
|
}
|
|
+Thread2Daq = {
|
|
Class = RealTimeThread
|
|
CPUs = 0x00000200
|
|
Functions = {
|
|
// RX PATH
|
|
MxiDataUsFifoDataT2, DigitalInputSplitterT2, TimeConversionT2, TimeConversionT2_Abs, MXIMasterTimeT2,
|
|
// CONST GAM
|
|
DANWriterWriteDataWindowLimitsT2,
|
|
// FLOW CTRL
|
|
DANWriterWriteDataWindowT2,
|
|
// MON/STATE CTRL
|
|
AppMonitorT2, ExecutionMonitorT2,
|
|
// STORAGE
|
|
StoreStartPulseTime_T2,
|
|
StoreStopPulseTime_T2,
|
|
DANWriterWriteDataT2, FileWriterBufferDataT2
|
|
}
|
|
}
|
|
+Thread3Dbg = {
|
|
Class = RealTimeThread
|
|
CPUs = 0x00000400
|
|
Functions = {
|
|
// RX PATH
|
|
MxiDataUsFifoDataT3, DigitalInputSplitterT3, TimeConversionT3, TimeConversionT3_Abs, MXIMasterTimeT3,
|
|
// CONST GAM
|
|
DANWriterWriteDataWindowLimitsT3,
|
|
// FLOW CTRL
|
|
DANWriterWriteDataWindowT3,
|
|
// TX PATH
|
|
// NOOP,
|
|
// MON/STATE CTR
|
|
AppMonitorT3, ExecutionMonitorT3,
|
|
// STORAGE
|
|
StoreStartPulseTime_T3,
|
|
StoreStopPulseTime_T3,
|
|
DANWriterWriteDataT3
|
|
}
|
|
}
|
|
}
|
|
}
|
|
+TestPost = {
|
|
Class = RealTimeState
|
|
+Threads = {
|
|
Class = ReferenceContainer
|
|
+Thread1Cfg = {
|
|
Class = RealTimeThread
|
|
CPUs = 0x00000100
|
|
Functions = {
|
|
// TIMER
|
|
Timer, CurrentTime_T1, TimeConverter,
|
|
// RX PATH
|
|
MXIRead, MXIModuleFullFlagSplitter, MXIMasterTime, PlcPacketRx,
|
|
// CONST GAM
|
|
AppStateMachineState, DANWriterWriteEnable, MXISupervisorVariables, MXIBaseConfigurationVariables,
|
|
MXIDsFifoAcqEnVariables, PlcPacketTxVariables, StateMachineTasksDelay,
|
|
AcquisitionStatusDaq, AcquisitionStatusDbg,
|
|
// FLOW CTRL
|
|
MXIConfigurationSupervisor, MXIBaseConfiguration,
|
|
MXIAcquisitionEnable, MXITripletConfiguration, PlcConfigurationSupervisor,
|
|
// TX PATH
|
|
MXIWriteRst, MXIWriteHlOpt, MXIWriteEn, MXIWriteDbg,
|
|
MXIWriteDsFifoAcqEn, MXIWriteDsFifoConfig, PlcPacketTx,
|
|
// MON/STATE CTRL
|
|
AppMonitor, /*EventMessageBypassPreCfg,*/ AcquisitionStatusMonitor, /*AcquisitionStatusMessages,*/
|
|
CycleCounterT1, TestPostTasksDelay, TestPostGotoTestDone, /*TestDoneCallTasks,*/ EventMessages,
|
|
// STORAGE
|
|
StoreStartPulseTime_T1,
|
|
StoreStopPulseTime_T1,
|
|
DANWriterWriteData
|
|
}
|
|
}
|
|
}
|
|
}
|
|
+TestDone = {
|
|
Class = RealTimeState
|
|
+Threads = {
|
|
Class = ReferenceContainer
|
|
+Thread1Cfg = {
|
|
Class = RealTimeThread
|
|
CPUs = 0x00000100
|
|
Functions = {
|
|
// TIMER
|
|
Timer, CurrentTime_T1, TimeConverter,
|
|
// RX PATH
|
|
MXIRead, MXIModuleFullFlagSplitter, MXIMasterTime, PlcPacketRx,
|
|
// CONST GAM
|
|
AppStateMachineState, DANWriterWriteEnable, MXISupervisorVariables, MXIBaseConfigurationVariables,
|
|
MXIDsFifoAcqEnVariables, PlcPacketTxVariables, StateMachineTasksDelay,
|
|
AcquisitionStatusDaq, AcquisitionStatusDbg,
|
|
// FLOW CTRL
|
|
MXIConfigurationSupervisor, MXIBaseConfiguration,
|
|
MXIAcquisitionEnable, MXITripletConfiguration, PlcConfigurationSupervisor,
|
|
// TX PATH
|
|
MXIWriteRst, MXIWriteHlOpt, MXIWriteEn, MXIWriteDbg,
|
|
MXIWriteDsFifoAcqEn, MXIWriteDsFifoConfig, PlcPacketTx,
|
|
// MON/STATE CTRL
|
|
AppMonitor, /*EventMessageBypassPreCfg,*/ AcquisitionStatusMonitor, /*AcquisitionStatusMessages,*/
|
|
CycleCounterT1, TestPostTasksDelay, /*TestPostGotoTestDone,*/ TestDoneCallTasks, EventMessages,
|
|
// STORAGE
|
|
StoreStartPulseTime_T1,
|
|
StoreStopPulseTime_T1,
|
|
DANWriterWriteData
|
|
}
|
|
}
|
|
}
|
|
}
|
|
+CfgError = {
|
|
Class = RealTimeState
|
|
+Threads = {
|
|
Class = ReferenceContainer
|
|
+Thread1Cfg = {
|
|
Class = RealTimeThread
|
|
CPUs = 0x00000100
|
|
Functions = {
|
|
// TIMER
|
|
Timer, CurrentTime_T1, TimeConverter,
|
|
// RX PATH
|
|
MXIRead, MXIModuleFullFlagSplitter, MXIMasterTime, PlcPacketRx,
|
|
// CONST GAM
|
|
AppStateMachineState, DANWriterWriteEnable, MXISupervisorVariables, MXIBaseConfigurationVariables,
|
|
MXIDsFifoAcqEnVariables, PlcPacketTxVariables, StateMachineTasksDelay,
|
|
AcquisitionStatusDaq, AcquisitionStatusDbg,
|
|
// FLOW CTRL
|
|
MXIConfigurationSupervisor, MXIBaseConfiguration,
|
|
MXIAcquisitionEnable, MXITripletConfiguration, PlcConfigurationSupervisor,
|
|
// TX PATH
|
|
MXIWriteRst, MXIWriteHlOpt, MXIWriteEn, MXIWriteDbg,
|
|
MXIWriteDsFifoAcqEn, MXIWriteDsFifoConfig, PlcPacketTx,
|
|
// MON/STATE CTRL
|
|
AppMonitor, /*EventMessageBypassPreCfg,*/ AcquisitionStatusMonitor, /*AcquisitionStatusMessages,
|
|
CycleCounterT1, TestPostTasksDelay, TestPostGotoTestDone, TestDoneCallTasks,*/ EventMessages,
|
|
// STORAGE
|
|
StoreStartPulseTime_T1,
|
|
StoreStopPulseTime_T1,
|
|
DANWriterWriteData
|
|
}
|
|
}
|
|
}
|
|
}
|
|
+Error = {
|
|
Class = RealTimeState
|
|
+Threads = {
|
|
Class = ReferenceContainer
|
|
+Thread1Cfg = {
|
|
Class = RealTimeThread
|
|
CPUs = 0x00000100
|
|
Functions = {
|
|
// TIMER
|
|
Timer, CurrentTime_T1, TimeConverter,
|
|
// RX PATH
|
|
MXIRead, MXIModuleFullFlagSplitter, MXIMasterTime, PlcPacketRx,
|
|
// CONST GAM
|
|
AppStateMachineState, DANWriterWriteEnable, MXISupervisorVariables, MXIBaseConfigurationVariables,
|
|
MXIDsFifoAcqEnVariables, PlcPacketTxVariables, StateMachineTasksDelay,
|
|
AcquisitionStatusDaq, AcquisitionStatusDbg,
|
|
// FLOW CTRL
|
|
MXIConfigurationSupervisor, MXIBaseConfiguration,
|
|
MXIAcquisitionEnable, MXITripletConfiguration, PlcConfigurationSupervisor,
|
|
// TX PATH
|
|
MXIWriteRst, MXIWriteHlOpt, MXIWriteEn, MXIWriteDbg,
|
|
MXIWriteDsFifoAcqEn, MXIWriteDsFifoConfig, PlcPacketTx,
|
|
// MON/STATE CTRL
|
|
AppMonitor, /*EventMessageBypassPreCfg,*/ AcquisitionStatusMonitor, /*AcquisitionStatusMessages,
|
|
CycleCounterT1, TestPostTasksDelay, TestPostGotoTestDone, TestDoneCallTasks,*/ EventMessages,
|
|
// STORAGE
|
|
StoreStartPulseTime_T1,
|
|
StoreStopPulseTime_T1,
|
|
DANWriterWriteData
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
+Scheduler = {
|
|
Class = GAMScheduler
|
|
TimingDataSource = Timings
|
|
}
|
|
}
|