Initial work on MARTe config

This commit is contained in:
Martino Ferrari
2026-01-23 15:59:37 +01:00
parent febdac9a24
commit 0fdac299a8
14 changed files with 6476 additions and 5147 deletions

View File

@@ -11,7 +11,6 @@
// Ident = "JAGyA" // Ident = "JAGyA"
// } // }
// } // }
// StateMachine node // StateMachine node
+StateMachine = { +StateMachine = {
Class = StateMachine Class = StateMachine
@@ -798,147 +797,11 @@
} }
} }
} }
// RealTime Application node // RealTime Application node
+JAGyrotronRTApp = { +JAGyrotronRTApp = {
Class = RealTimeApplication Class = RealTimeApplication
+Functions = { +Functions = {
Class = ReferenceContainer Class = ReferenceContainer
+ReadyDebugGAM = {
Class = IOGAM
InputSignals = {
NI6528P5CurrentValue = {
DataSource = DDB1
Type = uint32
}
}
OutputSignals = {
P5CurrentValue = {
DataSource = Display
Type = uint32
}
}
}
+DebugGAM = {
Class = IOGAM
InputSignals = {
PCF_FLT = {
DataSource = DDB1
Type = uint32
}
PXI_FLT = {
DataSource = EPICSCAInput
Type = uint32
}
NI6528P5CurrentValue = {
DataSource = DDB1
Type = uint32
}
RESET_FLT = {
DataSource = EPICSCAInput
Type = uint32
}
GYA_APS_FLT = {
DataSource = EPICSCAInput
Type = uint32
}
GYB_APS_FLT = {
DataSource = EPICSCAInput
Type = uint32
}
GYA_BPS_FLT = {
DataSource = EPICSCAInput
Type = uint32
}
GYB_BPS_FLT = {
DataSource = EPICSCAInput
Type = uint32
}
MHVPS_OV = {
DataSource = EPICSCAInput
Type = uint32
}
MHVPS_OC = {
DataSource = EPICSCAInput
Type = uint32
}
MHVPS_FLT = {
DataSource = EPICSCAInput
Type = uint32
}
MIS_ITL = {
DataSource = EPICSCAInput
Type = uint32
}
MISB_ITL = {
DataSource = EPICSCAInput
Type = uint32
}
PLC_ITL = {
DataSource = EPICSCAInput
Type = uint32
}
}
OutputSignals = {
PCF_FLT = {
DataSource = Display
Type = uint32
}
PXI_FLT = {
DataSource = Display
Type = uint32
}
PXI_VAL = {
DataSource = Display
Type = uint32
}
RESET_FLT = {
DataSource = Display
Type = uint32
}
GYA_APS_FLT = {
DataSource = Display
Type = uint32
}
GYB_APS_FLT = {
DataSource = Display
Type = uint32
}
GYA_BPS_FLT = {
DataSource = Display
Type = uint32
}
GYB_BPS_FLT = {
DataSource = Display
Type = uint32
}
MHVPS_OV = {
DataSource = Display
Type = uint32
}
MHVPS_OC = {
DataSource = Display
Type = uint32
}
MHVPS_FLT = {
DataSource = Display
Type = uint32
}
MIS_ITL = {
DataSource = Display
Type = uint32
}
MISB_ITL = {
DataSource = Display
Type = uint32
}
PLC_ITL = {
DataSource = Display
Type = uint32
}
}
}
// Timer GAM for thread 1. // Timer GAM for thread 1.
+Timer1kHzGAM = { +Timer1kHzGAM = {
Class = IOGAM Class = IOGAM
@@ -988,7 +851,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
// GAM to update PCF state-machine state // GAM to update PCF state-machine state
+InErrorGAM = { +InErrorGAM = {
Class = ConstantGAM Class = ConstantGAM
@@ -1002,7 +864,6 @@ NI6528P5CurrentValue = {
DataSource = DDB1 DataSource = DDB1
Type = uint32 Type = uint32
Default = 1 Default = 1
} }
} }
} }
@@ -1034,7 +895,6 @@ NI6528P5CurrentValue = {
Type = uint32 Type = uint32
Default = 0 Default = 0
} }
} }
} }
+InWaitReadyGAM = { +InWaitReadyGAM = {
@@ -1050,7 +910,6 @@ NI6528P5CurrentValue = {
Type = uint32 Type = uint32
Default = 0 Default = 0
} }
} }
} }
+InWaitPermitGAM = { +InWaitPermitGAM = {
@@ -1066,7 +925,6 @@ NI6528P5CurrentValue = {
Type = uint32 Type = uint32
Default = 0 Default = 0
} }
} }
} }
+InWaitHVONGAM = { +InWaitHVONGAM = {
@@ -1082,7 +940,6 @@ NI6528P5CurrentValue = {
Type = uint32 Type = uint32
Default = 0 Default = 0
} }
} }
} }
+InWaitHVON_PREPGAM = { +InWaitHVON_PREPGAM = {
@@ -1098,7 +955,6 @@ NI6528P5CurrentValue = {
Type = uint32 Type = uint32
Default = 0 Default = 0
} }
} }
} }
+InWaitHVON_SDNGAM = { +InWaitHVON_SDNGAM = {
@@ -1114,7 +970,6 @@ NI6528P5CurrentValue = {
Type = uint32 Type = uint32
Default = 0 Default = 0
} }
} }
} }
+InWaitHVON_SDN_PREPGAM = { +InWaitHVON_SDN_PREPGAM = {
@@ -1130,10 +985,8 @@ NI6528P5CurrentValue = {
Type = uint32 Type = uint32
Default = 0 Default = 0
} }
} }
} }
// Copy data from DDB1 to EPICSCAOutput DataSource. // Copy data from DDB1 to EPICSCAOutput DataSource.
+EPICSOutputGAM = { +EPICSOutputGAM = {
Class = IOGAM Class = IOGAM
@@ -1360,7 +1213,6 @@ NI6528P5CurrentValue = {
DataSource = EPICSCAOutput DataSource = EPICSCAOutput
Type = uint32 Type = uint32
} }
MHVPS_REF = { MHVPS_REF = {
DataSource = EPICSCAOutput DataSource = EPICSCAOutput
Type = float32 Type = float32
@@ -1439,7 +1291,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
// Message GAM in Disabled state. // Message GAM in Disabled state.
+GoWaitStandbyGAM = { +GoWaitStandbyGAM = {
Class = JAMessageGAM Class = JAMessageGAM
@@ -1475,7 +1326,6 @@ NI6528P5CurrentValue = {
Function = GoWaitStandby Function = GoWaitStandby
} }
} }
// MCPS, GCPS PV to DDB1 // MCPS, GCPS PV to DDB1
+GCPSGAM = { +GCPSGAM = {
Class = IOGAM Class = IOGAM
@@ -1525,7 +1375,6 @@ NI6528P5CurrentValue = {
Function = GoDisabled Function = GoDisabled
} }
} }
// GAM in WaitReady state. Check MCPS,GCPS,FHPS state for state transition. // GAM in WaitReady state. Check MCPS,GCPS,FHPS state for state transition.
+GoWaitReadyGAM = { +GoWaitReadyGAM = {
Class = JAMessageGAM Class = JAMessageGAM
@@ -1565,7 +1414,6 @@ NI6528P5CurrentValue = {
Function = GoWaitReady Function = GoWaitReady
} }
} }
// GAM for prepro // GAM for prepro
+WFRecordGAM = { +WFRecordGAM = {
Class = JAWFRecordGAM Class = JAWFRecordGAM
@@ -1666,7 +1514,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
// GAM in WaitReady state. Check PLC_READY and CCPS_IN_OPERATION status. // GAM in WaitReady state. Check PLC_READY and CCPS_IN_OPERATION status.
+GoWaitPermitGAM = { +GoWaitPermitGAM = {
Class = JAMessageGAM Class = JAMessageGAM
@@ -1689,7 +1536,6 @@ NI6528P5CurrentValue = {
Function = GoWaitPermit Function = GoWaitPermit
} }
} }
// GAM in WaitPermit state. Check Permit and States of Operation Modes. // GAM in WaitPermit state. Check Permit and States of Operation Modes.
+GoWaitReadyFromWaitPermitGAM = { +GoWaitReadyFromWaitPermitGAM = {
Class = JAMessageGAM Class = JAMessageGAM
@@ -1812,7 +1658,6 @@ NI6528P5CurrentValue = {
Function = GoWaitHVON_SDN_PREP Function = GoWaitHVON_SDN_PREP
} }
} }
// GAM in WaitHVON_xx states. If PLC_READY is zero, goto WaitStandby. // GAM in WaitHVON_xx states. If PLC_READY is zero, goto WaitStandby.
+FromWaitHVONToWaitStandby = { +FromWaitHVONToWaitStandby = {
Class = JAMessageGAM Class = JAMessageGAM
@@ -1870,7 +1715,6 @@ NI6528P5CurrentValue = {
Function = GoWaitPermit Function = GoWaitPermit
} }
} }
// Check the selected mode, and check maximum pulse length. Use with a StateMachineGAM // Check the selected mode, and check maximum pulse length. Use with a StateMachineGAM
+ModeLimitGAM = { +ModeLimitGAM = {
Class = JAModeControlGAM Class = JAModeControlGAM
@@ -1927,7 +1771,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
// State notify GAMs. These GAMs are in all WaitHVON states. // State notify GAMs. These GAMs are in all WaitHVON states.
+writeBeamONStateGAM = { +writeBeamONStateGAM = {
Class = IOGAM Class = IOGAM
@@ -2019,7 +1862,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
// GAM for trianguler waveform generation. // GAM for trianguler waveform generation.
+CCPSWaveformGAM = { +CCPSWaveformGAM = {
Class = JATriangleWaveGAM Class = JATriangleWaveGAM
@@ -2263,7 +2105,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
// Test whether board status are stable // Test whether board status are stable
+GAMDisplayDebug = { +GAMDisplayDebug = {
Class = IOGAM Class = IOGAM
@@ -2377,7 +2218,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
+PXIErrorGAM = { +PXIErrorGAM = {
Class = JAConditionalSignalUpdateGAM Class = JAConditionalSignalUpdateGAM
Operation = OR Operation = OR
@@ -2411,8 +2251,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
+FromErrorToWaitStandbyGAM = { +FromErrorToWaitStandbyGAM = {
Class = JAMessageGAM Class = JAMessageGAM
Operation = AND Operation = AND
@@ -2590,7 +2428,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
// GAM for SDN communication.(ProcessWF:thread1, Subscribe/Publish:thread2) // GAM for SDN communication.(ProcessWF:thread1, Subscribe/Publish:thread2)
+SDNCommandGAM = { +SDNCommandGAM = {
Class = IOGAM Class = IOGAM
@@ -2858,7 +2695,6 @@ NI6528P5CurrentValue = {
} }
} }
// Write SDN waveform data into PS setpoint PV. // Write SDN waveform data into PS setpoint PV.
// Timer for SDN thread. // Timer for SDN thread.
+TimeSDNGAM = { +TimeSDNGAM = {
Class = IOGAM Class = IOGAM
@@ -2884,7 +2720,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
// GAM for realtime statemachine // GAM for realtime statemachine
+Timer100kHzGAM = { +Timer100kHzGAM = {
Class = IOGAM Class = IOGAM
@@ -2920,7 +2755,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
// Digital Output port access. // Digital Output port access.
// EPICS PV to one uint8 variable // EPICS PV to one uint8 variable
+NI6528P3GAM = { +NI6528P3GAM = {
@@ -3130,7 +2964,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
// Thread3 pulse parameter EPICS PVs read. // Thread3 pulse parameter EPICS PVs read.
+GAMEPICSCA = { +GAMEPICSCA = {
Class = IOGAM Class = IOGAM
@@ -3195,7 +3028,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
// Real-Time state machine GAMs // Real-Time state machine GAMs
+GAMRealTimeStateMachine = { +GAMRealTimeStateMachine = {
Class = JARTStateMachineGAM Class = JARTStateMachineGAM
@@ -3260,7 +3092,6 @@ NI6528P5CurrentValue = {
DataSource = EPICSCAInput DataSource = EPICSCAInput
Type = uint32 Type = uint32
} }
} }
OutputSignals = { OutputSignals = {
RTSMValue = { RTSMValue = {
@@ -3388,7 +3219,6 @@ NI6528P5CurrentValue = {
DataSource = RealTimeThreadAsyncBridge DataSource = RealTimeThreadAsyncBridge
Type = uint16 Type = uint16
} }
} }
OutputSignals = { OutputSignals = {
RTSMValue = { RTSMValue = {
@@ -3426,7 +3256,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
// Terminal Interface reads three inputs. // Terminal Interface reads three inputs.
// INPUTs: StateMahine Value, NI6528P3Value and NI6528P4Value // INPUTs: StateMahine Value, NI6528P3Value and NI6528P4Value
// OUTPUTs: Each NIxxx data sources. // OUTPUTs: Each NIxxx data sources.
@@ -3495,7 +3324,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
// Switching AO port source between internal variable and EPICS PV. // Switching AO port source between internal variable and EPICS PV.
+choiseGAM = { +choiseGAM = {
Class = JASourceChoiseGAM Class = JASourceChoiseGAM
@@ -3513,7 +3341,6 @@ NI6528P5CurrentValue = {
DataSource = EPICSCAInput DataSource = EPICSCAInput
Type = uint32 Type = uint32
} }
APS_REF = { APS_REF = {
DataSource = DDB1 DataSource = DDB1
Type = float32 Type = float32
@@ -3526,7 +3353,6 @@ NI6528P5CurrentValue = {
DataSource = EPICSCAInput DataSource = EPICSCAInput
Type = uint32 Type = uint32
} }
MHVPS_REF = { MHVPS_REF = {
DataSource = DDB1 DataSource = DDB1
Type = float32 Type = float32
@@ -3539,7 +3365,6 @@ NI6528P5CurrentValue = {
DataSource = EPICSCAInput DataSource = EPICSCAInput
Type = uint32 Type = uint32
} }
MCPS_TRG_CURR_SET = { MCPS_TRG_CURR_SET = {
DataSource = DDB1 DataSource = DDB1
Type = float32 Type = float32
@@ -3552,7 +3377,6 @@ NI6528P5CurrentValue = {
DataSource = EPICSCAInput DataSource = EPICSCAInput
Type = uint32 Type = uint32
} }
GCPS_TRG_CURR_SET = { GCPS_TRG_CURR_SET = {
DataSource = DDB1 DataSource = DDB1
Type = float32 Type = float32
@@ -3565,7 +3389,6 @@ NI6528P5CurrentValue = {
DataSource = EPICSCAInput DataSource = EPICSCAInput
Type = uint32 Type = uint32
} }
} }
OutputSignals = { OutputSignals = {
BPS_OUT = { BPS_OUT = {
@@ -3590,7 +3413,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
// debug // debug
+debugTimerGAM = { +debugTimerGAM = {
Class = IOGAM Class = IOGAM
@@ -3611,7 +3433,6 @@ NI6528P5CurrentValue = {
DataSource = DDB1 DataSource = DDB1
Type = uint32 Type = uint32
} }
} }
OutputSignals = { OutputSignals = {
T1_time = { T1_time = {
@@ -3659,7 +3480,6 @@ NI6528P5CurrentValue = {
DataSource = Timings DataSource = Timings
Type = uint32 Type = uint32
} }
} }
OutputSignals = { OutputSignals = {
GAMEPICSCA_ExecTime = { GAMEPICSCA_ExecTime = {
@@ -3688,7 +3508,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
} }
+Data = { +Data = {
Class = ReferenceContainer Class = ReferenceContainer
@@ -3760,7 +3579,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
+Timings = { +Timings = {
Class = TimingDataSource Class = TimingDataSource
} }
@@ -3925,7 +3743,6 @@ NI6528P5CurrentValue = {
NumberOfElements = 8000 NumberOfElements = 8000
NumberOfDimensions = 1 NumberOfDimensions = 1
} }
// Digital Input PVs in Signal-Variable tab. // Digital Input PVs in Signal-Variable tab.
APS_READY = { APS_READY = {
PVName = "EC-GN-P01-PA1F:PSU3000-YSTA" PVName = "EC-GN-P01-PA1F:PSU3000-YSTA"
@@ -4031,7 +3848,6 @@ NI6528P5CurrentValue = {
PVName = "EC-GN-P01-GAF:DIO4900-YON" PVName = "EC-GN-P01-GAF:DIO4900-YON"
Type = uint32 Type = uint32
} }
// Digital Output PVs in Variables-signal tab // Digital Output PVs in Variables-signal tab
APS_HVON = { APS_HVON = {
PVName = "EC-GN-P01-PA1F:PSU3000-CON-HV" PVName = "EC-GN-P01-PA1F:PSU3000-CON-HV"
@@ -4134,7 +3950,6 @@ NI6528P5CurrentValue = {
PVName = "EC-GN-P01-GAF:STAT-SHORT-PULSE" PVName = "EC-GN-P01-GAF:STAT-SHORT-PULSE"
Type = uint32 Type = uint32
} }
MHVPS_DT = { MHVPS_DT = {
PVName = "EC-GN-P01-PMF:STAT-DT-HVON" PVName = "EC-GN-P01-PMF:STAT-DT-HVON"
Type = uint32 Type = uint32
@@ -4159,7 +3974,6 @@ NI6528P5CurrentValue = {
PVName = "EC-GN-P01-GAF:STAT-DT-SHOTLEN" PVName = "EC-GN-P01-GAF:STAT-DT-SHOTLEN"
Type = uint32 Type = uint32
} }
MD1_SHOTLEN_LIM = { MD1_SHOTLEN_LIM = {
PVName = "EC-GN-P01-GPF:STAT-MD1-LIM" PVName = "EC-GN-P01-GPF:STAT-MD1-LIM"
Type = uint32 Type = uint32
@@ -4176,12 +3990,10 @@ NI6528P5CurrentValue = {
PVName = "EC-GN-P01-GPF:STAT-MD4-LIM" PVName = "EC-GN-P01-GPF:STAT-MD4-LIM"
Type = uint32 Type = uint32
} }
FHPS_MANM = { FHPS_MANM = {
PVName = "EC-GN-P01-GAF-FHPS:STAT-MANM" PVName = "EC-GN-P01-GAF-FHPS:STAT-MANM"
Type = uint32 Type = uint32
} }
CSV_LOAD = { CSV_LOAD = {
PVName = "EC-GN-P01-GAF:STAT-CSV-LOAD" PVName = "EC-GN-P01-GAF:STAT-CSV-LOAD"
Type = uint32 Type = uint32
@@ -4196,7 +4008,6 @@ NI6528P5CurrentValue = {
// PVName = "EC-GN-P01-GPS-MEM:CMD-CONALARMRESET-HMI" // PVName = "EC-GN-P01-GPS-MEM:CMD-CONALARMRESET-HMI"
Type = uint32 Type = uint32
} }
// Input PVs in Variables-JASTEC tab. // Input PVs in Variables-JASTEC tab.
MCPS_ACT_SP = { MCPS_ACT_SP = {
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SET-MI" PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SET-MI"
@@ -4348,7 +4159,6 @@ NI6528P5CurrentValue = {
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START" PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START"
Type = uint32 Type = uint32
} }
CCPS_REMLOC_RB = { CCPS_REMLOC_RB = {
PVName = "EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB" PVName = "EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB"
Type = uint32 Type = uint32
@@ -4459,23 +4269,19 @@ NI6528P5CurrentValue = {
PVName = "EC-GN-P01-PMF:STAT-EREF-CALC.A" PVName = "EC-GN-P01-PMF:STAT-EREF-CALC.A"
Type = float32 Type = float32
} }
// Digital Output PVs in Variables-signal tab. // Digital Output PVs in Variables-signal tab.
APS_STOP = { APS_STOP = {
PVName = "EC-GN-P01-PA1F:PSU3000-CTRP" PVName = "EC-GN-P01-PA1F:PSU3000-CTRP"
Type = uint32 Type = uint32
} }
BPS_STOP = { BPS_STOP = {
PVName = "EC-GN-P01-PB1F:PSU1000-CTRP" PVName = "EC-GN-P01-PB1F:PSU1000-CTRP"
Type = uint32 Type = uint32
} }
BEAM_ON_STAT = { BEAM_ON_STAT = {
PVName = "EC-GN-P01-GAFP:FMC4310-YSTA-GAOP" PVName = "EC-GN-P01-GAFP:FMC4310-YSTA-GAOP"
Type = uint32 Type = uint32
} }
MHVPS_STOP = { MHVPS_STOP = {
PVName = "EC-GN-P01-PMF:PSU0000-COFF" PVName = "EC-GN-P01-PMF:PSU0000-COFF"
Type = uint32 Type = uint32
@@ -4500,14 +4306,12 @@ NI6528P5CurrentValue = {
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA3" PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA3"
Type = uint32 Type = uint32
} }
// Output PVs in Variables-operation tab. // Output PVs in Variables-operation tab.
MHVPS_PREP_WF = { MHVPS_PREP_WF = {
PVName = "EC-GN-P01-PMF:STAT-PREP-WF" PVName = "EC-GN-P01-PMF:STAT-PREP-WF"
Type = float32 Type = float32
NumberOfElements = 8000 NumberOfElements = 8000
NumberOfDimensions = 1 NumberOfDimensions = 1
} }
BPS_PREP_WF = { BPS_PREP_WF = {
PVName = "EC-GN-P01-PB1F:STAT-PREP-WF" PVName = "EC-GN-P01-PB1F:STAT-PREP-WF"
@@ -4557,7 +4361,6 @@ NI6528P5CurrentValue = {
PVName = "EC-GN-P01-GAF:STAT-SHOT-ID" PVName = "EC-GN-P01-GAF:STAT-SHOT-ID"
Type = uint32 Type = uint32
} }
CSV_LOADED = { CSV_LOADED = {
PVName = "EC-GN-P01-GAF:STAT-CSV-LOADED" PVName = "EC-GN-P01-GAF:STAT-CSV-LOADED"
Type = uint32 Type = uint32
@@ -4566,7 +4369,6 @@ NI6528P5CurrentValue = {
PVName = "EC-GN-P01-GAF:STAT-CSV-ERR" PVName = "EC-GN-P01-GAF:STAT-CSV-ERR"
Type = uint32 Type = uint32
} }
// Output PVs in Variables-jastec tab. // Output PVs in Variables-jastec tab.
MCPS_TRG_CURR_SET = { MCPS_TRG_CURR_SET = {
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO" PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO"
@@ -4584,7 +4386,6 @@ NI6528P5CurrentValue = {
PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO" PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO"
Type = uint32 Type = uint32
} }
// Output PVs in Variables-kikusui tab. // Output PVs in Variables-kikusui tab.
CCPS_REF = { CCPS_REF = {
PVName = "EC-GN-P01-GAF-CCPS:PSU2320-EREF" PVName = "EC-GN-P01-GAF-CCPS:PSU2320-EREF"
@@ -4855,7 +4656,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
// Direct HW accesses. Follwing device/port assignment must be consistent with actual wiring. // Direct HW accesses. Follwing device/port assignment must be consistent with actual wiring.
// NI6259.0 // NI6259.0
// APS_SWON BoardId=0, PortId=3.0 // APS_SWON BoardId=0, PortId=3.0
@@ -4871,7 +4671,6 @@ NI6528P5CurrentValue = {
} }
} }
} }
// NI6528 digital output has logic low == 0 == close relay. ((See Driver Manual.) // NI6528 digital output has logic low == 0 == close relay. ((See Driver Manual.)
// When the program send ON signal, this program writes 0 on the data source. // When the program send ON signal, this program writes 0 on the data source.
+NI6528P3 = { +NI6528P3 = {
@@ -4892,7 +4691,6 @@ NI6528P5CurrentValue = {
// P3.5 BPS_Shutdown // P3.5 BPS_Shutdown
// P3.6 GY1_Beam_ON_status // P3.6 GY1_Beam_ON_status
// P3.7 RV5 _cRIO // P3.7 RV5 _cRIO
+NI6528P4 = { +NI6528P4 = {
Class = NI6528 Class = NI6528
DeviceName = "/dev/pxi6528.1" DeviceName = "/dev/pxi6528.1"
@@ -4911,7 +4709,6 @@ NI6528P5CurrentValue = {
// P4.5 MHVPS_MOD // P4.5 MHVPS_MOD
// P4.6 PCF_FLT // P4.6 PCF_FLT
// P4.7 HVArmed // P4.7 HVArmed
+NI6528P5 = { +NI6528P5 = {
Class = NI6528 Class = NI6528
DeviceName = "/dev/pxi6528.1" DeviceName = "/dev/pxi6528.1"
@@ -4930,7 +4727,6 @@ NI6528P5CurrentValue = {
// P5.5 CCPS_IN_OPERATION // P5.5 CCPS_IN_OPERATION
// P5.6 None // P5.6 None
// P5.7 None // P5.7 None
} }
+States = { +States = {
Class = ReferenceContainer Class = ReferenceContainer
@@ -4940,8 +4736,7 @@ NI6528P5CurrentValue = {
Class = ReferenceContainer Class = ReferenceContainer
+Thread1 = { +Thread1 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer1kHzGAM CCPSWaveformGAM GoErrorGAM InDisabledGAM Functions = { Timer1kHzGAM CCPSWaveformGAM GoErrorGAM InDisabledGAM GoWaitStandbyGAM choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM }
GoWaitStandbyGAM choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM}
CPUs = 0x100 CPUs = 0x100
} }
+Thread2 = { +Thread2 = {
@@ -4951,10 +4746,7 @@ NI6528P5CurrentValue = {
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer100kHzGAM Functions = { Timer100kHzGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM }
NI6528P3GAM NI6528P4GAM NI6528P5GAM
NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM
NI6528P3WriteGAM NI6528P4WriteGAM }
CPUs = 0x400 CPUs = 0x400
} }
} }
@@ -4965,9 +4757,7 @@ NI6528P5CurrentValue = {
Class = ReferenceContainer Class = ReferenceContainer
+Thread1 = { +Thread1 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitStandbyGAM Functions = { Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitStandbyGAM choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM GoDisabledGAM GoWaitReadyGAM GoErrorGAM }
choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
GoDisabledGAM GoWaitReadyGAM GoErrorGAM }
CPUs = 0x100 CPUs = 0x100
} }
+Thread2 = { +Thread2 = {
@@ -4977,10 +4767,7 @@ NI6528P5CurrentValue = {
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer100kHzGAM Functions = { Timer100kHzGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM }
NI6528P3GAM NI6528P4GAM NI6528P5GAM
NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM
NI6528P3WriteGAM NI6528P4WriteGAM }
CPUs = 0x400 CPUs = 0x400
} }
} }
@@ -4991,9 +4778,7 @@ NI6528P5CurrentValue = {
Class = ReferenceContainer Class = ReferenceContainer
+Thread1 = { +Thread1 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitReadyGAM Functions = { Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitReadyGAM choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM GoWaitPermitGAM GoWaitStandbyFromReadyGAM GoErrorGAM }
choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
GoWaitPermitGAM GoWaitStandbyFromReadyGAM GoErrorGAM ReadyDebugGAM}
CPUs = 0x100 CPUs = 0x100
} }
+Thread2 = { +Thread2 = {
@@ -5003,10 +4788,7 @@ NI6528P5CurrentValue = {
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer100kHzGAM Functions = { Timer100kHzGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM }
NI6528P3GAM NI6528P4GAM NI6528P5GAM
NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM
NI6528P3WriteGAM NI6528P4WriteGAM }
CPUs = 0x400 CPUs = 0x400
} }
} }
@@ -5017,9 +4799,7 @@ NI6528P5CurrentValue = {
Class = ReferenceContainer Class = ReferenceContainer
+Thread1 = { +Thread1 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitPermitGAM Functions = { Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitPermitGAM choiseGAM EPICSOutputGAM GoWaitReadyFromWaitPermitGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM GoWaitHVONGAM GoWaitHVON_PREP_GAM GoWaitHVON_SDN_GAM GoWaitHVON_SDN_PREP_GAM GoErrorGAM }
choiseGAM EPICSOutputGAM GoWaitReadyFromWaitPermitGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
GoWaitHVONGAM GoWaitHVON_PREP_GAM GoWaitHVON_SDN_GAM GoWaitHVON_SDN_PREP_GAM GoErrorGAM }
CPUs = 0x100 CPUs = 0x100
} }
+Thread2 = { +Thread2 = {
@@ -5029,15 +4809,11 @@ NI6528P5CurrentValue = {
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer100kHzGAM Functions = { Timer100kHzGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM }
NI6528P3GAM NI6528P4GAM NI6528P5GAM
NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM
NI6528P3WriteGAM NI6528P4WriteGAM }
CPUs = 0x400 CPUs = 0x400
} }
} }
} }
// Real-Time state for HVPS sequence timing control. // Real-Time state for HVPS sequence timing control.
+WaitHVON = { +WaitHVON = {
Class = RealTimeState Class = RealTimeState
@@ -5045,11 +4821,7 @@ NI6528P5CurrentValue = {
Class = ReferenceContainer Class = ReferenceContainer
+Thread1 = { +Thread1 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitHVONGAM Functions = { Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitHVONGAM choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM writeBeamONTimeGAM writeRFONTimeGAM FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM
writeBeamONTimeGAM writeRFONTimeGAM
FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
CPUs = 0x100 CPUs = 0x100
} }
+Thread2 = { +Thread2 = {
@@ -5059,9 +4831,7 @@ NI6528P5CurrentValue = {
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM Functions = { Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM NI6528P3GAM NI6528P4GAM GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM }
NI6528P3GAM NI6528P4GAM
GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM}
CPUs = 0x400 CPUs = 0x400
} }
// +Thread4 = { // +Thread4 = {
@@ -5077,11 +4847,7 @@ NI6528P5CurrentValue = {
Class = ReferenceContainer Class = ReferenceContainer
+Thread1 = { +Thread1 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSRampupGAM InWaitHVON_SDNGAM Functions = { Timer1kHzGAM CCPSWaveformGAM FHPSRampupGAM InWaitHVON_SDNGAM choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM writeBeamONTimeGAM writeRFONTimeGAM FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM
writeBeamONTimeGAM writeRFONTimeGAM
FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
CPUs = 0x100 CPUs = 0x100
} }
+Thread2 = { +Thread2 = {
@@ -5091,9 +4857,7 @@ NI6528P5CurrentValue = {
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM Functions = { Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM NI6528P3GAM NI6528P4GAM GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM }
NI6528P3GAM NI6528P4GAM
GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM}
CPUs = 0x400 CPUs = 0x400
} }
} }
@@ -5104,11 +4868,7 @@ NI6528P5CurrentValue = {
Class = ReferenceContainer Class = ReferenceContainer
+Thread1 = { +Thread1 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_PREPGAM Functions = { Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_PREPGAM choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM writeBeamONTimeGAM writeRFONTimeGAM FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM
writeBeamONTimeGAM writeRFONTimeGAM
FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
CPUs = 0x100 CPUs = 0x100
} }
+Thread2 = { +Thread2 = {
@@ -5118,9 +4878,7 @@ NI6528P5CurrentValue = {
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM Functions = { Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM NI6528P3GAM NI6528P4GAM GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM }
NI6528P3GAM NI6528P4GAM
GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM}
CPUs = 0x400 CPUs = 0x400
} }
} }
@@ -5131,11 +4889,7 @@ NI6528P5CurrentValue = {
Class = ReferenceContainer Class = ReferenceContainer
+Thread1 = { +Thread1 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_SDN_PREPGAM Functions = { Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_SDN_PREPGAM choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM writeBeamONTimeGAM writeRFONTimeGAM FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM
writeBeamONTimeGAM writeRFONTimeGAM
FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM}
CPUs = 0x100 CPUs = 0x100
} }
+Thread2 = { +Thread2 = {
@@ -5145,23 +4899,18 @@ NI6528P5CurrentValue = {
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM Functions = { Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM NI6528P3GAM NI6528P4GAM GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM }
NI6528P3GAM NI6528P4GAM
GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM}
CPUs = 0x400 CPUs = 0x400
} }
} }
} }
+Error = { +Error = {
Class = RealTimeState Class = RealTimeState
+Threads = { +Threads = {
Class = ReferenceContainer Class = ReferenceContainer
+Thread1 = { +Thread1 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer1kHzGAM InErrorGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM Functions = { Timer1kHzGAM InErrorGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM ExitedHVArmedInjectionRFONGAM ResetPSsGAM FromErrorToWaitStandbyGAM ErrorGAM choiseGAM EPICSOutputGAM FHPSSetpointGAM FHPSRampupGAM CCPSWaveformGAM }
ExitedHVArmedInjectionRFONGAM ResetPSsGAM
FromErrorToWaitStandbyGAM ErrorGAM choiseGAM EPICSOutputGAM FHPSSetpointGAM FHPSRampupGAM CCPSWaveformGAM DebugGAM}
CPUs = 0x100 CPUs = 0x100
} }
+Thread2 = { +Thread2 = {
@@ -5171,10 +4920,7 @@ NI6528P5CurrentValue = {
} }
+Thread3 = { +Thread3 = {
Class = RealTimeThread Class = RealTimeThread
Functions = {Timer100kHzGAM Functions = { Timer100kHzGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM }
NI6528P3GAM NI6528P4GAM NI6528P5GAM
NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM
NI6528P3WriteGAM NI6528P4WriteGAM }
CPUs = 0x400 CPUs = 0x400
} }
} }

View File

@@ -0,0 +1,43 @@
#package jada_gyro
+StateMachine = {
Class = StateMachine
}
+JAGyroApp = {
Class = RealTimeApplication
+Data = {
Class = ReferenceContainer
DefaultDataSource = DDB1
//# GAM Datasource for Thread 1
+DDB1 = {
Class = GAMDataSource
AllowNoProducers = 1
ResetUnusedVariablesAtStateChange = 0
}
//# GAMDatasource for thread 2
+DDB2 = {
Class = GAMDataSource
AllowNoProducers = 1
ResetUnusedVariablesAtStateChange = 0
}
//# GAMDatasource for thread 3
+DDB3 = {
Class = GAMDataSource
AllowNoProducers = 1
ResetUnusedVariablesAtStateChange = 0
}
+Timings = {
Class = TimingDataSource
}
}
+Functions = {
Class = ReferenceContainer
}
+States = {
Class = ReferenceContainer
}
+Scheduler = {
Class = GAMScheduler
TimingDataSource = Timings
}
}

View File

@@ -0,0 +1,32 @@
#package jada_gyro.JAGyroApp
+Data = {
+DDB1 = {
Signals = {
//# Fast controller state variable
PCF_STATE = {
Type = uint32
}
//# Fast controller fault stata variable
PCF_FAULT = {
Type = uint32
}
}
}
}
+Functions = {
//# GAM That publish state of the system
+StateGAM = {
Class = ConstantGAM
OutputSignals = {
PCF_STATE = {
DataSource = DDB1
Default = 0
}
PCF_FAULT = {
DataSource = DDB1
Default = 1
}
}
}
}

View File

@@ -0,0 +1,99 @@
#package jada_gyro.StateMachine
+DISABLED = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 1
}
}
}
}

View File

@@ -0,0 +1,53 @@
#package jada_gyro.StateMachine
//# Error State (Enter by HVPS errors)
+ERROR = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
}

View File

@@ -0,0 +1,46 @@
#package jada_gyro.StateMachine
+INITIAL = {
Class = ReferenceContainer
+Start = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
}

View File

@@ -0,0 +1,146 @@
#package jada_gyro.StateMachine
+WAITHVON = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitPermit = {
Class = StateMachineEvent
NextState = "WAITPERMIT"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 5
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 1
}
}
}
}

View File

@@ -0,0 +1,146 @@
#package jada_gyro.StateMachine
+WAITHVON_PREP = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitPermit = {
Class = StateMachineEvent
NextState = "WAITPERMIT"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 5
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 1
}
}
}
}

View File

@@ -0,0 +1,146 @@
#package jada_gyro.StateMachine
+WAITHVON_SDN = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitPermit = {
Class = StateMachineEvent
NextState = "WAITPERMIT"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 5
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 1
}
}
}
}

View File

@@ -0,0 +1,144 @@
+WAITHVON_SDN_PREP = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitPermit = {
Class = StateMachineEvent
NextState = "WAITPERMIT"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 5
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 1
}
}
}
}

View File

@@ -0,0 +1,287 @@
#package jada_gyro.StateMachine
+WAITPERMIT = {
Class = ReferenceContainer
+GoWaitReady = {
Class = StateMachineEvent
NextState = "WAITREADY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitReady
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 4
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitHVON = {
Class = StateMachineEvent
NextState = "WAITHVON"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitHVON
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 6
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitHVON_SDN = {
Class = StateMachineEvent
NextState = "WAITHVON_SDN"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitHVON_SDN
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 8
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitHVON_PREP = {
Class = StateMachineEvent
NextState = "WAITHVON_PREP"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitHVON_PREP
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 7
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitHVON_SDN_PREP = {
Class = StateMachineEvent
NextState = "WAITHVON_SDN_PREP"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitHVON_SDN_PREP
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 9
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 1
}
}
}
}

View File

@@ -0,0 +1,146 @@
#package jada_gyro.StateMachine
+WAITREADY = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitPermit = {
Class = StateMachineEvent
NextState = "WAITPERMIT"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 5
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 1
}
}
}
}

View File

@@ -0,0 +1,146 @@
#package jada_gyro.StateMachine
+WAITSTANDBY = {
Class = ReferenceContainer
+GoWaitReady = {
Class = StateMachineEvent
NextState = "WAITREADY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitReady
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 4
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoDisabled = {
Class = StateMachineEvent
NextState = "DISABLED"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Disabled
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 2
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 1
}
}
}
}

View File

@@ -0,0 +1,149 @@
#package jada_gyro.JAGyroApp
+Data = {
//# Fast cycle timer
+Timer1kHz = {
Class = LinuxTimer
SleepNature = "Busy"
SleepPercentage = 40
ExecutionMode = RealTimeThread
CPUMask = 0x100
Signals = {
Counter = {
Type = uint32
}
Time = {
Type = uint32
}
}
}
//# Timer used for publsihing SDN data
+TimerSDN = {
Class = LinuxTimer
SleepNature = "Busy"
SleepPercentage = 40
ExecutionMode = RealTimeThread
CPUMask = 0x200
Signals = {
Counter = {
Type = uint32
}
Time = {
Type = uint32
}
}
}
//# Fast Timer for thread 3 (RTStateMachineGAM execution cycle.)
+FastTimer = {
Class = LinuxTimer
SleepNature = "Busy"
SleepPercentage = 40
ExecutionMode = RealTimeThread
CPUMask = 0x400
Signals = {
Counter = {
Type = uint32
}
Time = {
Type = uint32
}
}
}
// Add signals to existing ddb
+DDB1 = {
Signals = {
Time = {
Type = uint32
}
Counter = {
Type = uint32
}
}
}
+DDB2 = {
Signals = {
Time = {
Type = uint32
}
Counter = {
Type = uint32
}
}
}
+DDB3 = {
Signals = {
Time = {
Type = uint32
}
Counter = {
Type = uint32
}
}
}
}
+Functions = {
//# Timer for thread 1
+Timer1kHzGAM = {
Class = IOGAM
InputSignals = {
Counter = {
DataSource = Timer1kHz
Frequency = 1000 // Hz
}
Time = {
DataSource = Timer1kHz
}
}
OutputSignals = {
Counter = {
DataSource = DDB1
}
Time = {
DataSource = DDB1
}
}
}
//# Timer for SDN thread.
+TimeSDNGAM = {
Class = IOGAM
InputSignals = {
Time = {
DataSource = TimerSDN
}
Counter = {
DataSource = TimerSDN
Frequency = 1000 // operation:1k(=1ms cyc), debug:10
}
}
OutputSignals = {
Time = {
DataSource = DDB2
}
Counter = {
DataSource = DDB2
}
}
}
//# GAM for realtime statemachine
+FastTimerGAM = {
Class = IOGAM
InputSignals = {
Time = {
DataSource = FastTimer
}
Counter = {
DataSource = FastTimer
Frequency = 200000 // operation:10k(=100us cyc)
// Frequency = 100000 //operation:100k(=10us cyc)
}
}
OutputSignals = {
Time = {
DataSource = DDB3
}
Counter = {
DataSource = DDB3
}
}
}
}