MARTe GYA cfg cleanup

This commit is contained in:
ferrog
2026-01-06 13:03:20 +00:00
parent d3b2e4fb2a
commit 3d7e9ddb85
27 changed files with 11301 additions and 4964 deletions

View File

@@ -23,7 +23,7 @@ of the distribution package..
<groupId>org.iter.codac.units</groupId> <groupId>org.iter.codac.units</groupId>
<artifactId>EC-GN-P01-PCF</artifactId> <artifactId>EC-GN-P01-PCF</artifactId>
<packaging>codac</packaging> <packaging>codac</packaging>
<version>1.0.2</version> <version>1.0.3</version>
<name>CODAC Core System EC-GN subsystem</name> <name>CODAC Core System EC-GN subsystem</name>
<description>CODAC Core System EC-GN subsystem</description> <description>CODAC Core System EC-GN subsystem</description>
<url>http://www.iter.org/</url> <url>http://www.iter.org/</url>
@@ -197,7 +197,7 @@ KillSignal=SIGINT]]>
<servicetype>simple</servicetype> <servicetype>simple</servicetype>
<user>root</user> <user>root</user>
<group>root</group> <group>root</group>
<execstart>%{codac_bin}/ec-gn-ja-pcf-gy.sh JAGyrotronB_FY19_P1.cfg</execstart> <execstart>%{codac_bin}/ec-gn-ja-pcf-gy.sh JAGyrotronB_FY19_P1</execstart>
</include> </include>
<!-- Soft dependencies and service ordering --> <!-- Soft dependencies and service ordering -->
<include type="file" source="-" <include type="file" source="-"

View File

@@ -0,0 +1,353 @@
+DDB1 = {
Class = GAMDataSource
AllowNoProducers = 1
ResetUnusedVariablesAtStateChange = 0
}
// Timer for thread 1 (Normal RT state execution cycle.)
+Timer1kHz = {
Class = LinuxTimer
SleepNature = "Busy"
SleepPercentage = 40
ExecutionMode = RealTimeThread
CPUMask = 0x100
Signals = {
Counter = {
Type = uint32
}
Time = {
Type = uint32
}
}
}
+EPICSCAInput_Th1 = {
Class = "EPICSCA::EPICSCAInput"
CPUMask = "0x100" //change from 200
StackSize = "10000000"
Signals = {
CCPS_OUTPUT_FREQ = {
PVName = "EC-GN-P01-GAF-CCPS:STAT-FREQ"
Type = float32
}
CCPS_OUTPUT_AMP = {
PVName = "EC-GN-P01-GAF-CCPS:STAT-AMP"
Type = float32
}
CCPS_OUTPUT_OFFS = {
PVName = "EC-GN-P01-GAF-CCPS:STAT-OFFS"
Type = float32
}
CSV_LOAD = {
PVName = "EC-GN-P01-GAF:STAT-CSV-LOAD"
Type = uint32
}
CSV_NAME = {
PVName = "EC-GN-P01-GAF:STAT-CSV-NAME"
Type = char8
NumberOfElements = 40
}
FHPS_AUTO_TAGV = {
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV"
Type = float32
}
FHPS_AUTO_TIME = {
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME"
Type = float32
}
FHPS_AUTO_START = {
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START"
Type = uint32
}
FHPS_MANM = {
PVName = "EC-GN-P01-GAF-FHPS:STAT-MANM"
Type = uint32
}
GCPS_TRG_CURR_MANUAL = {
PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI"
Type = float32
}
MCPS_TRG_CURR_MANUAL = {
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI"
Type = float32
}
BPS_MM = {
PVName = "EC-GN-P01-PB1F:STAT-MANM"
Type = uint32
}
BPS_MANUAL = {
PVName = "EC-GN-P01-PB1F:PSU1000-EREF-MSP"
Type = float32
}
APS_MM = {
PVName = "EC-GN-P01-PA1F:STAT-MANM"
Type = uint32
}
APS_MANUAL = {
PVName = "EC-GN-P01-PA1F:PSU3000-EREF-MSP"
Type = float32
}
MHVPS_MANUAL = {
PVName = "EC-GN-P01-PMF:PSU0000-EREF-MSP"
Type = float32
}
MHVPS_MM = {
PVName = "EC-GN-P01-PMF:STAT-MANM"
Type = uint32
}
MCPS_MM = {
PVName = "EC-GN-P01-GAF-MCPS:STAT-MANM"
Type = uint32
}
MCPS_TRG_CURR_MANUAL = {
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI"
Type = float32
}
GCPS_TRG_CURR_MANUAL = {
PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI"
Type = float32
}
GCPS_MM = {
PVName = "EC-GN-P01-GAF-GCPS:STAT-MANM"
Type = uint32
}
PLC_STANDBY = {
PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST1R"
Type = uint32
}
PLC_READY = {
PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST2R"
Type = uint32
}
PLC_SELECT = {
PVName = "EC-GN-P01-GPS:PLC4110-CON-OPGY1"
Type = uint32
}
PLC_SYNCMODE = {
PVName = "EC-GN-P01-GPS:PLC4110-YSTA-MPSS"
Type = uint32
}
PLC_PERMIT = {
PVName = "EC-GN-P01-GPS:PLC4110-CON-GY1PRM"
Type = uint32
}
//PXI Board status PVs
PXI6259_0 = {
PVName = "EC-GN-HWCF:6259-0-STATUS"
Type = uint32
}
PXI6259_1 = {
PVName = "EC-GN-HWCF:6259-1-STATUS"
Type = uint32
}
PXI6528_0 = {
PVName = "EC-GN-HWCF:6528-0-STATUS"
Type = uint32
}
PXI6528_1 = {
PVName = "EC-GN-HWCF:6528-1-STATUS"
Type = uint32
}
PXI6368_0 = {
PVName = "EC-GN-HWCF:6368-0-STATUS"
Type = uint32
}
PXI6368_1 = {
PVName = "EC-GN-HWCF:6368-1-STATUS"
Type = uint32
}
MCPS_ACT_RB = {
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB"
Type = uint32
}
GCPS_ACT_RB = {
PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB"
Type = uint32
}
FHPS_RU = {
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP"
Type = uint32
}
FHPS_MEAS_ACV = {
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV"
Type = float32
}
PREP_MODE = {
PVName = "EC-GN-P01-GAF:STAT-PREP-MODE"
Type = uint32
}
RESET_FLT = {
PVName = "EC-GN-P01-GPF:STAT-RST-FLT"
Type = uint32
}
}
}
+EPICSCAOutput_Th1 = {
Class = "EPICSCA::EPICSCAOutput"
CPUMask = "0x100" //change from 0x200
StackSize = "10000000"
NumberOfBuffers = 2
Signals = {
PCF_STATE = {
PVName = "EC-GN-P01-GAF:STAT-SM"
Type = uint32
}
MCPS_ACT_SP = {
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO"
Type = uint32
}
GCPS_ACT_SP = {
PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO"
Type = uint32
}
BPS_REF = {
PVName = "EC-GN-P01-PB1F:PSU1000-EREF"
Type = float32
}
APS_REF = {
PVName = "EC-GN-P01-PA1F:STAT-EREF-CONV.A"
Type = float32
}
MCPS_TRG_CURR_SET = {
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO"
Type = float32
}
MCPS_TRG_CURR_SET = {
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO"
Type = float32
}
FHPS_REF = {
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-EREF"
Type = float32
}
CSV_LOADED = {
PVName = "EC-GN-P01-GAF:STAT-CSV-LOADED"
Type = uint32
}
CSV_ERR = {
PVName = "EC-GN-P01-GAF:STAT-CSV-ERR"
Type = uint32
}
ELAPSED_TIME = {
PVName = "EC-GN-P01-GAF:STAT-ELAPSED"
Type = uint32
}
HVARMED = {
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA1"
Type = uint32
}
HVINJECTION = {
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA2"
Type = uint32
}
RFON = {
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA3"
Type = uint32
}
MHVPS_REF = {
PVName = "EC-GN-P01-PMF:STAT-EREF-CALC.A"
Type = float32
}
PREP_TIME_WF = {
PVName = "EC-GN-P01-GAF:STAT-PREP-TIME-WF"
Type = int32
NumberOfElements = 8000
NumberOfDimensions = 1
}
MHVPS_PREP_WF = {
PVName = "EC-GN-P01-PMF:STAT-PREP-WF"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
BPS_PREP_WF = {
PVName = "EC-GN-P01-PB1F:STAT-PREP-WF"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
APS_PREP_WF = {
PVName = "EC-GN-P01-PA1F:STAT-PREP-WF"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
MCPS_PREP_WF = {
PVName = "EC-GN-P01-GAF-MCPS:STAT-PREP-WF"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GCPS_PREP_WF = {
PVName = "EC-GN-P01-GAF-GCPS:STAT-PREP-WF"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
FHPS_PREP_WF = {
PVName = "EC-GN-P01-GAF-FHPS:STAT-PREP-WF"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
CCPS_REF = {
PVName = "EC-GN-P01-GAF-CCPS:PSU2320-EREF"
Type = float32
}
MHVPS_STOP = {
PVName = "EC-GN-P01-PMF:PSU0000-COFF"
Type = uint32
}
APS_STOP = {
PVName = "EC-GN-P01-PA1F:PSU3000-CTRP"
Type = uint32
}
BPS_STOP = {
PVName = "EC-GN-P01-PB1F:PSU1000-CTRP"
Type = uint32
}
BEAM_ON_TIME = {
PVName = "EC-GN-P01-GAF:STAT-BEAMON-TIME"
Type = uint32
}
PCF_FLT = {
PVName = "EC-GN-P01-GPF:PCF4210-CTRP"
Type = uint32
}
PXI_FLT = {
PVName = "EC-GN-P01-GPS:PLC4110-RV2"
Type = uint32
}
BEAM_ON_STAT = {
PVName = "EC-GN-P01-GAFP:FMC4310-YSTA-GAOP"
Type = uint32
}
SHOT_ID = {
PVName = "EC-GN-P01-GAF:STAT-SHOT-ID"
Type = uint32
}
FHPS_AUTO_STAT = {
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT"
Type = uint32
}
APS_HVON = {
PVName = "EC-GN-P01-PA1F:PSU3000-CON-HV"
Type = uint32
}
APS_SWON = {
PVName = "EC-GN-P01-PA1F:PSU3000-CON-SW"
Type = uint32
}
BPS_HVON = {
PVName = "EC-GN-P01-PB1F:PSU1000-CON-HV"
Type = uint32
}
BPS_SWON = {
PVName = "EC-GN-P01-PB1F:PSU1000-CON-SW"
Type = uint32
}
MHVPS_HVON = {
PVName = "EC-GN-P01-PMF:STAT-HVON-CALC.A"
Type = uint32
}
}
}

View File

@@ -0,0 +1,419 @@
+DDB2 = {
Class = GAMDataSource
AllowNoProducers = 1
ResetUnusedVariablesAtStateChange = 0
}
+TimerSDN = {
Class = LinuxTimer
SleepNature = "Busy"
SleepPercentage = 40
ExecutionMode = RealTimeThread
CPUMask = 0x200
Signals = {
Counter = {
Type = uint32
}
Time = {
Type = uint32
}
}
}
// for ESDN packet subscription/publication.
+SDNSubCommands = {
Class = SDN::SDNSubscriber
Topic = ECPC2SCUJA
Interface = SDN_IFACE
CPUs = 0x200 //change from 100
Locked = 1
Timeout = 2
Signals = {
Header = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 48
}
ESDNHeaderVersionId = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNHeaderSize = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNStatus = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNDoNotUse = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNTime = {
Type = uint32
NumberOfDimensions = 1
NumberOfElements = 1
}
Command = {
Type = uint16
NumberOfDimensions = 1
NumberOfElements = 64
}
}
}
+SDNReply = {
Class = SDN::SDNPublisher
Topic = SCUJA2ECPC
Interface = SDN_IFACE
CPUs = 0x200 //changed from 0x100
Locked = 1
Signals = {
Header = {
Type = uint8
NumberOfElements = 48
}
ESDNHeaderVersionId = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNHeaderSize = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNStatus = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNDoNotUse = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNTime = {
Type = uint32
NumberOfDimensions = 1
NumberOfElements = 1
}
ReplyStatus = {
Type = uint16
NumberOfDimensions = 1
NumberOfElements = 1
}
ReplyWaveformAck = {
Type = uint16
NumberOfDimensions = 1
NumberOfElements = 1
}
//Status (26Bytes?) is not assigned
//GyrotronA measurements
//56Bytes are used as Gyrotron1 Measurements (verified on 2020/10/22)
GYA_MHVPS_MESVOLT = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_MHVPS_MESCURR = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_BPS_MESVOLT = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_BPS_MESCURR = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_APS_MESVOLT = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_APS_MESCURR = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_ARC1_MESVOLT = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_ARC1_MESCURR = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_ARC2_MESVOLT = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_ARC2_MESCURR = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_MCPS_CURR_MON = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_GCPS_CURR_MON = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_FHPS_MEAS_ACI = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_CCPS_MEAS_DCI = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
//GyrotronB measurements
GYB_MHVPS_MESVOLT = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYB_MHVPS_MESCURR = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYB_BPS_MESVOLT = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYB_BPS_MESCURR = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYB_APS_MESVOLT = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYB_APS_MESCURR = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYB_ARC1_MESVOLT = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYB_ARC1_MESCURR = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYB_ARC2_MESVOLT = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYB_ARC2_MESCURR = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYB_MCPS_CURR_MON = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYB_GCPS_CURR_MON = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYB_FHPS_MEAS_ACI = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYB_CCPS_MEAS_DCI = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
}
}
+EPICSCAInput_Th2 = {
Class = "EPICSCA::EPICSCAInput"
CPUMask = "0x100" //change from 200
StackSize = "10000000"
Signals = {
// Analog Input PVs.
GYA_BPS_MESVOLT = {
PVName = "EC-GN-P01-PB1F:PSU1000-ET"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYB_BPS_MESVOLT = {
PVName = "EC-GN-P01-PB2F:PSU2000-ET"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYA_BPS_MESCURR = {
PVName = "EC-GN-P01-PB1F:PSU1000-IT"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYB_BPS_MESCURR = {
PVName = "EC-GN-P01-PB2F:PSU2000-IT"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYA_APS_MESVOLT = {
PVName = "EC-GN-P01-PA1F:PSU3000-ET"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYB_APS_MESVOLT = {
PVName = "EC-GN-P01-PA2F:PSU4000-ET"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYA_APS_MESCURR = {
PVName = "EC-GN-P01-PA1F:PSU3000-IT"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYB_APS_MESCURR = {
PVName = "EC-GN-P01-PA2F:PSU4000-IT"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYA_ARC1_MESVOLT = {
PVName = "EC-GN-P01-GAF:MOE2810-ET"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYB_ARC1_MESVOLT = {
PVName = "EC-GN-P01-GBF:MOE2810-ET"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYA_ARC1_MESCURR = {
PVName = "EC-GN-P01-GAF:MOE2820-ET"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYB_ARC1_MESCURR = {
PVName = "EC-GN-P01-GBF:MOE2820-ET"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYA_ARC2_MESVOLT = {
PVName = "EC-GN-P01-GAF:MOE2830-ET"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYB_ARC2_MESVOLT = {
PVName = "EC-GN-P01-GBF:MOE2830-ET"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYA_ARC2_MESCURR = {
PVName = "EC-GN-P01-GAF:MRF2910-ET"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYB_ARC2_MESCURR = {
PVName = "EC-GN-P01-GBF:MRF2910-ET"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYA_MHVPS_MESVOLT = {
PVName = "EC-GN-P01-PMF:PSU0000-ET-GA"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYB_MHVPS_MESVOLT = {
PVName = "EC-GN-P01-PMF:PSU0000-ET-GB"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYA_MHVPS_MESCURR = {
PVName = "EC-GN-P01-PMF:PSU0000-IT-GA"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYB_MHVPS_MESCURR = {
PVName = "EC-GN-P01-PMF:PSU0000-IT-GB"
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYA_MCPS_CURR_MON = {
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON"
Type = float32
}
GYA_GCPS_CURR_MON = {
PVName = "EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON"
Type = float32
}
GYB_MCPS_CURR_MON = {
PVName = "EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON"
Type = float32
}
GYB_GCPS_CURR_MON = {
PVName = "EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON"
Type = float32
}
GYA_FHPS_MEAS_ACI = {
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI"
Type = float32
}
GYB_FHPS_MEAS_ACI = {
PVName = "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI"
Type = float32
}
GYA_CCPS_MEAS_DCI = {
PVName = "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI"
Type = float32
}
GYB_CCPS_MEAS_DCI = {
PVName = "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI"
Type = float32
}
}
}

View File

@@ -0,0 +1,296 @@
+DDB3 = {
Class = GAMDataSource
AllowNoProducers = 1
ResetUnusedVariablesAtStateChange = 0
}
// Timer for thread 3 (RTStateMachineGAM execution cycle.)
+Timer = {
Class = LinuxTimer
SleepNature = "Busy"
SleepPercentage = 40
ExecutionMode = RealTimeThread
CPUMask = 0x400
Signals = {
Counter = {
Type = uint32
}
Time = {
Type = uint32
}
}
}
// Direct HW accesses. Follwing device/port assignment must be consistent with actual wiring.
// NI6259.0
// APS_SWON BoardId=0, PortId=3.0
+NI6259 = {
Class = NI6259::NI6259DIO
DeviceName = "/dev/pxi6259"
BoardId = 1
Signals = {
NI6259Value = {
Type = uint32
Mask = 0xFF
PortId = 0
}
}
}
//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.
+NI6528P3 = {
Class = NI6528
DeviceName = "/dev/pxi6528.1"
Port = 3
NI6528P3Value = {
NI6528P3Value = {
Type = uint8
}
}
}
//P3.0 APS_HVON
//P3.1 APS_SWON
//P3.2 APS_Shutdown
//P3.3 BPS_HVON
//P3.4 BPS_SWON
//P3.5 BPS_Shutdown
//P3.6 GY1_Beam_ON_status
//P3.7 RV5 _cRIO
+NI6528P4 = {
Class = NI6528
DeviceName = "/dev/pxi6528.1"
Port = 4
NI6528P4Value = {
NI6528P4Value = {
Type = uint8
}
}
}
//P4.0 RV6 _cRIO
//P4.1 RV7 _cRIO
//P4.2 RV8 _cRIO
//P4.3 MHVPS_HVON
//P4.4 MHVPS_Shutdown
//P4.5 MHVPS_MOD
//P4.6 PCF_FLT
//P4.7 HVArmed
+NI6528P5 = {
Class = NI6528
DeviceName = "/dev/pxi6528.1"
Port = 5
NI6528P5Value = {
NI6528P5Value = {
Type = uint8
}
}
}
//P5.0 HVInjection
//P5.1 RFON
//P5.2 FHPS_Rampup_complete
//P5.3 SCM_RU_Complete
//P5.4 SCM_RD_Complete
//P5.5 CCPS_IN_OPERATION
//P5.6 None
//P5.7 None
+EPICSCAInput_Th3 = {
Class = "EPICSCA::EPICSCAInput"
CPUMask = "0x100" //change from 200
StackSize = "10000000"
Signals = {
MHVPS_DT = {
PVName = "EC-GN-P01-PMF:STAT-DT-HVON"
Type = uint32
}
APS_HVON_DT = {
PVName = "EC-GN-P01-PA1F:STAT-DT-HVON"
Type = uint32
}
APS_SWON_DT = {
PVName = "EC-GN-P01-PA1F:STAT-DT-SWON"
Type = uint32
}
BPS_HVON_DT = {
PVName = "EC-GN-P01-PB1F:STAT-DT-HVON"
Type = uint32
}
BPS_SWON_DT = {
PVName = "EC-GN-P01-PB1F:STAT-DT-SWON"
Type = uint32
}
SHOTLEN = {
PVName = "EC-GN-P01-GAF:STAT-DT-SHOTLEN"
Type = uint32
}
PLC_ON = {
PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST3R"
Type = uint32
}
GYA_APS_FLT = {
PVName = "EC-GN-P01-PA1F:PSU3000-YFLT"
Type = uint32
}
GYB_APS_FLT = {
PVName = "EC-GN-P01-PA2F:PSU4000-YFLT"
Type = uint32
}
GYA_BPS_FLT = {
PVName = "EC-GN-P01-PB1F:PSU1000-YFLT"
Type = uint32
}
GYB_BPS_FLT = {
PVName = "EC-GN-P01-PB2F:PSU2000-YFLT"
Type = uint32
}
MHVPS_OV = {
PVName = "EC-GN-P01-GAFP:FMC4310-YFLT-OC"
Type = uint32
}
MHVPS_OC = {
PVName = "EC-GN-P01-GAFP:FMC4310-YFLT-OV"
Type = uint32
}
MHVPS_FLT = {
PVName = "EC-GN-P01-PMF:PSU0000-YFLT"
Type = uint32
}
MIS_ITL = {
PVName = "EC-GN-P01-GAFP:FMC4310-YTRP"
Type = uint32
}
MISB_ITL = {
PVName = "EC-GN-P01-GBFP:FMC4310-YTRP"
Type = uint32
}
PLC_ITL = {
PVName = "EC-GN-P01-GPS:PLC4110-YTRP"
Type = uint32
}
PLC_MODE1 = {
PVName = "EC-GN-P01-GPS:PLC4110-YTS-MD1"
Type = uint32
}
PLC_MODE2 = {
PVName = "EC-GN-P01-GPS:PLC4110-YTS-MD2"
Type = uint32
}
PLC_MODE3 = {
PVName = "EC-GN-P01-GPS:PLC4110-YTS-MD3"
Type = uint32
}
PLC_MODE4 = {
PVName = "EC-GN-P01-GPS:PLC4110-YTS-MD4"
Type = uint32
}
MD1_SHOTLEN_LIM = {
PVName = "EC-GN-P01-GPF:STAT-MD1-LIM"
Type = uint32
}
MD2_SHOTLEN_LIM = {
PVName = "EC-GN-P01-GPF:STAT-MD2-LIM"
Type = uint32
}
MD3_SHOTLEN_LIM = {
PVName = "EC-GN-P01-GPF:STAT-MD3-LIM"
Type = uint32
}
MD4_SHOTLEN_LIM = {
PVName = "EC-GN-P01-GPF:STAT-MD4-LIM"
Type = uint32
}
RFON = {
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA3"
Type = uint32
}
APS_HVON = {
PVName = "EC-GN-P01-PA1F:PSU3000-CON-HV"
Type = uint32
}
APS_SWON = {
PVName = "EC-GN-P01-PA1F:PSU3000-CON-SW"
Type = uint32
}
APS_STOP = {
PVName = "EC-GN-P01-PA1F:PSU3000-CTRP"
Type = uint32
}
BPS_HVON = {
PVName = "EC-GN-P01-PB1F:PSU1000-CON-HV"
Type = uint32
}
BPS_SWON = {
PVName = "EC-GN-P01-PB1F:PSU1000-CON-SW"
Type = uint32
}
BPS_STOP = {
PVName = "EC-GN-P01-PB1F:PSU1000-CTRP"
Type = uint32
}
BEAM_ON_STAT = {
PVName = "EC-GN-P01-GAFP:FMC4310-YSTA-GAOP"
Type = uint32
}
DO_REV5 = {
PVName = "EC-GN-P01-GAFP:FMC4310-RV5"
Type = uint32
}
DO_REV6 = {
PVName = "EC-GN-P01-GAFP:FMC4310-RV6"
Type = uint32
}
DO_REV7 = {
PVName = "EC-GN-P01-GAFP:FMC4310-RV7"
Type = uint32
}
DO_REV8 = {
PVName = "EC-GN-P01-GAFP:FMC4310-RV8"
Type = uint32
}
MHVPS_HVON = {
PVName = "EC-GN-P01-PMF:PSU0000-CON-SW"
Type = uint32
}
MHVPS_MODSW = {
PVName = "EC-GN-P01-PMF:PSU0000-CON-MOD"
Type = uint32
}
PCF_FLT = {
PVName = "EC-GN-P01-GPF:PCF4210-CTRP"
Type = uint32
}
PXI_FLT = {
PVName = "EC-GN-P01-GPS:PLC4110-RV2"
Type = uint32
}
HVARMED = {
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA1"
Type = uint32
}
HVINJECTION = {
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA2"
Type = uint32
}
SHORT_PULSE_MODE = {
PVName = "EC-GN-P01-GAF:STAT-SHORT-PULSE"
Type = uint32
}
FHPS_RU = {
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP"
Type = uint32
}
SCM_RU = {
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP"
Type = uint32
}
SCM_RD = {
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN"
Type = uint32
}
CCPS_IN_OPERATION = {
PVName = "EC-GN-P01-GAF-CCPS:PSU2320-TR"
Type = uint32
}
}
}

View File

@@ -0,0 +1,20 @@
+DDB4 = {
Class = GAMDataSource
AllowNoProducers = 1
ResetUnusedVariablesAtStateChange = 0
}
+Timer10Hz = {
Class = LinuxTimer
SleepNature = "Busy"
SleepPercentage = 40
ExecutionMode = RealTimeThread
CPUMask = 0x800
Signals = {
Counter = {
Type = uint32
}
Time = {
Type = uint32
}
}
}

View File

@@ -0,0 +1,518 @@
// Timer for SDN thread.
+TimeSDNGAM = {
Class = IOGAM
InputSignals = {
Time = {
DataSource = TimerSDN
Type = uint32
}
Counter = {
DataSource = TimerSDN
Type = uint32
Frequency = 1000 //operation:1k(=1ms cyc), debug:10
}
GYA_BPS_MESVOLT = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYB_BPS_MESVOLT = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYA_BPS_MESCURR = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYB_BPS_MESCURR = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYA_APS_MESVOLT = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYB_APS_MESVOLT = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYA_APS_MESCURR = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYB_APS_MESCURR = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYA_ARC1_MESVOLT = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYB_ARC1_MESVOLT = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYA_ARC1_MESCURR = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYB_ARC1_MESCURR = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYA_ARC2_MESVOLT = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYB_ARC2_MESVOLT = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYA_ARC2_MESCURR = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYB_ARC2_MESCURR = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYA_MHVPS_MESVOLT = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYB_MHVPS_MESVOLT = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYA_MHVPS_MESCURR = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYB_MHVPS_MESCURR = {
DataSource = EPICSCAInput_Th2
Ranges = {{0 0}}
}
GYA_MCPS_CURR_MON = {
DataSource = EPICSCAInput_Th2
}
GYB_MCPS_CURR_MON = {
DataSource = EPICSCAInput_Th2
}
GYA_GCPS_CURR_MON = {
DataSource = EPICSCAInput_Th2
}
GYB_GCPS_CURR_MON = {
DataSource = EPICSCAInput_Th2
}
GYA_FHPS_MEAS_ACI = {
DataSource = EPICSCAInput_Th2
}
GYB_FHPS_MEAS_ACI = {
DataSource = EPICSCAInput_Th2
}
GYA_CCPS_MEAS_DCI = {
DataSource = EPICSCAInput_Th2
}
GYB_CCPS_MEAS_DCI = {
DataSource = EPICSCAInput_Th2
}
}
OutputSignals = {
TimeSDN = {
DataSource = DDB2
Type = uint32
}
CounterSDN = {
DataSource = DDB2
Type = uint32
}
GYA_BPS_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYB_BPS_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYA_BPS_MESCURR = {
DataSource = DDB2
Type = float32
}
GYB_BPS_MESCURR = {
DataSource = DDB2
Type = float32
}
GYA_APS_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYB_APS_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYA_APS_MESCURR = {
DataSource = DDB2
Type = float32
}
GYB_APS_MESCURR = {
DataSource = DDB2
Type = float32
}
GYA_ARC1_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYB_ARC1_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYA_ARC1_MESCURR = {
DataSource = DDB2
Type = float32
}
GYB_ARC1_MESCURR = {
DataSource = DDB2
Type = float32
}
GYA_ARC2_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYB_ARC2_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYA_ARC2_MESCURR = {
DataSource = DDB2
Type = float32
}
GYB_ARC2_MESCURR = {
DataSource = DDB2
Type = float32
}
GYA_MHVPS_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYB_MHVPS_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYA_MHVPS_MESCURR = {
DataSource = DDB2
Type = float32
}
GYB_MHVPS_MESCURR = {
DataSource = DDB2
Type = float32
}
GYA_MCPS_CURR_MON = {
DataSource = DDB2
Type = float32
}
GYB_MCPS_CURR_MON = {
DataSource = DDB2
Type = float32
}
GYA_GCPS_CURR_MON = {
DataSource = DDB2
Type = float32
}
GYB_GCPS_CURR_MON = {
DataSource = DDB2
Type = float32
}
GYA_FHPS_MEAS_ACI = {
DataSource = DDB2
Type = float32
}
GYB_FHPS_MEAS_ACI = {
DataSource = DDB2
Type = float32
}
GYA_CCPS_MEAS_DCI = {
DataSource = DDB2
Type = float32
}
GYB_CCPS_MEAS_DCI = {
DataSource = DDB2
Type = float32
}
}
}
//GAM for SDN communication.(ProcessWF:thread1, Subscribe/Publish:thread2)
+SDNCommandGAM = {
Class = IOGAM
InputSignals = {
Command = {
DataSource = SDNSubCommands
Type = uint16
NumberOfDimensions = 1
NumberOfElements = 64
Ranges = {{0 0}}
// TODO uncomment this for release/testing
//Frequency = 1
}
ESDNTime = {
DataSource = SDNSubCommands
Type = uint32
NumberOfDimensions = 1
NumberOfElements = 1
}
}
OutputSignals = {
Command = {
DataSource = DDB2
Type = uint16
}
ESDNTime = {
DataSource = DDB2
Type = uint32
}
}
}
+SDNReplyGAM = {
Class = IOGAM
InputSignals = {
ESDNTime = {
DataSource = DDB2
Type = uint32
}
WaveformPacketID = {
DataSource = DDB2
Type = uint16
}
GYA_BPS_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYB_BPS_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYA_BPS_MESCURR = {
DataSource = DDB2
Type = float32
}
GYB_BPS_MESCURR = {
DataSource = DDB2
Type = float32
}
GYA_APS_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYB_APS_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYA_APS_MESCURR = {
DataSource = DDB2
Type = float32
}
GYB_APS_MESCURR = {
DataSource = DDB2
Type = float32
}
GYA_ARC1_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYB_ARC1_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYA_ARC1_MESCURR = {
DataSource = DDB2
Type = float32
}
GYB_ARC1_MESCURR = {
DataSource = DDB2
Type = float32
}
GYA_ARC2_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYB_ARC2_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYA_ARC2_MESCURR = {
DataSource = DDB2
Type = float32
}
GYB_ARC2_MESCURR = {
DataSource = DDB2
Type = float32
}
GYA_MHVPS_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYB_MHVPS_MESVOLT = {
DataSource = DDB2
Type = float32
}
GYA_MHVPS_MESCURR = {
DataSource = DDB2
Type = float32
}
GYB_MHVPS_MESCURR = {
DataSource = DDB2
Type = float32
}
GYA_MCPS_CURR_MON = {
DataSource = DDB2
Type = float32
}
GYB_MCPS_CURR_MON = {
DataSource = DDB2
Type = float32
}
GYA_GCPS_CURR_MON = {
DataSource = DDB2
Type = float32
}
GYB_GCPS_CURR_MON = {
DataSource = DDB2
Type = float32
}
GYA_FHPS_MEAS_ACI = {
DataSource = DDB2
Type = float32
}
GYB_FHPS_MEAS_ACI = {
DataSource = DDB2
Type = float32
}
GYA_CCPS_MEAS_DCI = {
DataSource = DDB2
Type = float32
}
GYB_CCPS_MEAS_DCI = {
DataSource = DDB2
Type = float32
}
Command = {
DataSource = DDB2
Type = uint16
}
GYA_MCPS_CURR_MON = {
DataSource = DDB2
Type = float32
}
GYA_GCPS_CURR_MON = {
DataSource = DDB2
Type = float32
}
}
OutputSignals = {
ESDNTime = {
DataSource = SDNReply
Type = uint32
Trigger = 1
}
ReplyWaveformAck = {
DataSource = SDNReply
Type = uint16
}
GYA_BPS_MESVOLT = {
DataSource = SDNReply
}
GYB_BPS_MESVOLT = {
DataSource = SDNReply
}
GYA_BPS_MESCURR = {
DataSource = SDNReply
}
GYB_BPS_MESCURR = {
DataSource = SDNReply
}
GYA_APS_MESVOLT = {
DataSource = SDNReply
}
GYB_APS_MESVOLT = {
DataSource = SDNReply
}
GYA_APS_MESCURR = {
DataSource = SDNReply
}
GYB_APS_MESCURR = {
DataSource = SDNReply
}
GYA_ARC1_MESVOLT = {
DataSource = SDNReply
}
GYB_ARC1_MESVOLT = {
DataSource = SDNReply
}
GYA_ARC1_MESCURR = {
DataSource = SDNReply
}
GYB_ARC1_MESCURR = {
DataSource = SDNReply
}
GYA_ARC2_MESVOLT = {
DataSource = SDNReply
}
GYB_ARC2_MESVOLT = {
DataSource = SDNReply
}
GYA_ARC2_MESCURR = {
DataSource = SDNReply
}
GYB_ARC2_MESCURR = {
DataSource = SDNReply
}
GYA_MHVPS_MESVOLT = {
DataSource = SDNReply
}
GYB_MHVPS_MESVOLT = {
DataSource = SDNReply
}
GYA_MHVPS_MESCURR = {
DataSource = SDNReply
}
GYB_MHVPS_MESCURR = {
DataSource = SDNReply
}
GYA_MCPS_CURR_MON = {
DataSource = SDNReply
}
GYB_MCPS_CURR_MON = {
DataSource = SDNReply
}
GYA_GCPS_CURR_MON = {
DataSource = SDNReply
}
GYB_GCPS_CURR_MON = {
DataSource = SDNReply
}
GYA_FHPS_MEAS_ACI = {
DataSource = SDNReply
}
GYB_FHPS_MEAS_ACI = {
DataSource = SDNReply
}
GYA_CCPS_MEAS_DCI = {
DataSource = SDNReply
}
GYB_CCPS_MEAS_DCI = {
DataSource = SDNReply
}
Command = {
DataSource = TriggerAsyncBridge
Type = uint16
}
GYA_MCPS_CURR_MON = {
DataSource = RealTimeThreadAsyncBridge
Type = float32
}
GYA_GCPS_CURR_MON = {
DataSource = RealTimeThreadAsyncBridge
Type = float32
}
}
}

View File

@@ -0,0 +1,80 @@
+Timer10HzGAM = {
Class = IOGAM
InputSignals = {
Counter = {
DataSource = Timer10Hz
Type = uint32
Frequency = 1 //Hz
}
Time = {
DataSource = Timer10Hz
Type = uint32
}
}
OutputSignals = {
Counter10Hz = {
DataSource = DDB4
Type = uint32
}
Time1Hz = {
DataSource = DDB4
Type = uint32
}
}
}
+GAMExecTime = {//debug
Class = IOGAM
InputSignals = {
GAMEPICSCA_ExecTime = {
DataSource = Timings
Type = uint32
}
StopRequestGAM_ExecTime = {
DataSource = Timings
Type = uint32
}
ModeLimitGAM_ExecTime = {
DataSource = Timings
Type = uint32
}
NI6528P3GAM_ExecTime = {
DataSource = Timings
Type = uint32
}
terminalInterfaceGAM_ExecTime = {
DataSource = Timings
Type = uint32
}
GAMRealTimeStateMachine_ExecTime = {
DataSource = Timings
Type = uint32
}
}
OutputSignals = {
GAMEPICSCA_ExecTime = {
DataSource = Display
Type = uint32
}
StopRequestGAM_ExecTime = {
DataSource = Display
Type = uint32
}
ModeLimitGAM_ExecTime = {
DataSource = Display
Type = uint32
}
NI6528P3GAM_ExecTime = {
DataSource = Display
Type = uint32
}
terminalInterfaceGAM_ExecTime = {
DataSource = Display
Type = uint32
}
GAMRealTimeStateMachine_ExecTime = {
DataSource = Display
Type = uint32
}
}
}

View File

@@ -0,0 +1,786 @@
// StateMachine node
+StateMachine = {
Class = StateMachine
+INITIAL = {
Class = ReferenceContainer
+Start = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
}
+DISABLED = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
}
+WAITSTANDBY = {
Class = ReferenceContainer
+GoWaitReady = {
Class = StateMachineEvent
NextState = "WAITREADY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitReady
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoDisabled = {
Class = StateMachineEvent
NextState = "DISABLED"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Disabled
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
}
+WAITREADY = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoWaitPermit = {
Class = StateMachineEvent
NextState = "WAITPERMIT"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
}
+WAITPERMIT = {
Class = ReferenceContainer
+GoWaitReady = {
Class = StateMachineEvent
NextState = "WAITREADY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitReady
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoWaitHVON = {
Class = StateMachineEvent
NextState = "WAITHVON"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitHVON
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoWaitHVON_SDN = {
Class = StateMachineEvent
NextState = "WAITHVON_SDN"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitHVON_SDN
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoWaitHVON_PREP = {
Class = StateMachineEvent
NextState = "WAITHVON_PREP"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitHVON_PREP
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoWaitHVON_SDN_PREP = {
Class = StateMachineEvent
NextState = "WAITHVON_SDN_PREP"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitHVON_SDN_PREP
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
}
// HVPS sequence control states.
+WAITHVON = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoWaitPermit = {
Class = StateMachineEvent
NextState = "WAITPERMIT"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
}
+WAITHVON_SDN = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoWaitPermit = {
Class = StateMachineEvent
NextState = "WAITPERMIT"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
}
+WAITHVON_PREP = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoWaitPermit = {
Class = StateMachineEvent
NextState = "WAITPERMIT"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
}
+WAITHVON_SDN_PREP = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoWaitPermit = {
Class = StateMachineEvent
NextState = "WAITPERMIT"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
}
// Error State (Enter by HVPS errors)
+ERROR = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
}
}

View File

@@ -0,0 +1,37 @@
+Disabled = {
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
Class = RealTimeThread
Functions = {
Timer1kHzGAM
InDisabledGAM
CCPSWaveformGAM
ChoiseGAM MCPSGAM GCPSGAM
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
EPICSOutputGAM
GoErrorGAM GoWaitStandbyGAM
}
CPUs = TH1_CPU
}
+Thread2 = {
Class = RealTimeThread
Functions = {
TimeSDNGAM SDNCommandGAM SDNReplyGAM
}
CPUs = TH2_CPU
}
+Thread3 = {
Class = RealTimeThread
Functions = {
Timer100kHzGAM
NI6528P3GAM NI6528P4GAM NI6528P5GAM
NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM
NI6528P3WriteGAM NI6528P4WriteGAM NI6528P5WriteGAM
ShareOutGAM
}
CPUs = TH3_CPU
}
}
}

View File

@@ -0,0 +1,39 @@
+Error = {
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
Class = RealTimeThread
Functions = {
Timer1kHzGAM
InErrorGAM
CCPSWaveformGAM FHPSRampupGAM
ChoiseGAM
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
EPICSOutputGAM
ExitedHVArmedInjectionRFONGAM ResetPSsGAM ErrorGAM
EPICSOutputGAM
FromErrorToWaitStandbyGAM
}
CPUs = TH1_CPU
}
+Thread2 = {
Class = RealTimeThread
Functions = {
TimeSDNGAM SDNCommandGAM SDNReplyGAM
}
CPUs = TH2_CPU
}
+Thread3 = {
Class = RealTimeThread
Functions = {
Timer100kHzGAM
NI6528P3GAM NI6528P4GAM NI6528P5GAM
NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM
NI6528P3WriteGAM NI6528P4WriteGAM NI6528P5WriteGAM
ShareOutGAM
}
CPUs = TH3_CPU
}
}
}

View File

@@ -0,0 +1,39 @@
+WaitHVON = {
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
Class = RealTimeThread
Functions = {
Timer1kHzGAM
InWaitHVONGAM
CCPSWaveformGAM FHPSRampupGAM
ChoiseGAM
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
EPICSOutputGAM
FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM
}
CPUs = TH1_CPU
}
+Thread2 = {
Class = RealTimeThread
Functions = {
TimeSDNGAM SDNCommandGAM SDNReplyGAM
}
CPUs = TH2_CPU
}
+Thread3 = {
Class = RealTimeThread
Functions = {
Timer100kHzGAM
StopRequestGAM ModeLimitGAM
GAMRealTimeStateMachine
NI6528P5GAM
NI6528P5PV2PortGAM
NI6528P5WriteGAM
ShareOutGAM
}
CPUs = TH3_CPU
}
}
}

View File

@@ -0,0 +1,39 @@
+WaitHVON_PREP = {
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
Class = RealTimeThread
Functions = {
Timer1kHzGAM
InWaitHVON_PREPGAM
CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM
ChoiseGAM
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
EPICSOutputGAM
FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM
}
CPUs = TH1_CPU
}
+Thread2 = {
Class = RealTimeThread
Functions = {
TimeSDNGAM SDNCommandGAM SDNReplyGAM
}
CPUs = TH2_CPU
}
+Thread3 = {
Class = RealTimeThread
Functions = {
Timer100kHzGAM
StopRequestGAM ModeLimitGAM
GAMRealTimeStateMachine
NI6528P5GAM
NI6528P5PV2PortGAM
NI6528P5WriteGAM
ShareOutGAM
}
CPUs = TH3_CPU
}
}
}

View File

@@ -0,0 +1,40 @@
+WaitHVON_SDN = {
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
Class = RealTimeThread
Functions = {
Timer1kHzGAM
InWaitHVON_SDNGAM
CCPSWaveformGAM FHPSRampupGAM
ChoiseGAM
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
EPICSOutputGAM
FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM
}
CPUs = TH1_CPU
}
+Thread2 = {
Class = RealTimeThread
Functions = {
TimeSDNGAM SDNCommandGAM SDNReplyGAM
}
CPUs = TH2_CPU
}
+Thread3 = {
Class = RealTimeThread
Functions = {
Timer100kHzGAM
StopRequestGAM ModeLimitGAM
GAMSDNRealTimeStateMachine
NI6528P3GAM NI6528P4GAM NI6528P5GAM
TerminalInterfaceGAM
NI6528P5PV2PortGAM
NI6528P5WriteGAM
ShareOutGAM
}
CPUs = TH3_CPU
}
}
}

View File

@@ -0,0 +1,40 @@
+WaitHVON_SDN_PREP = {
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
Class = RealTimeThread
Functions = {
Timer1kHzGAM
InWaitHVON_SDN_PREPGAM
CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM
ChoiseGAM
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
EPICSOutputGAM
FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM
}
CPUs = TH1_CPU
}
+Thread2 = {
Class = RealTimeThread
Functions = {
TimeSDNGAM SDNCommandGAM SDNReplyGAM
}
CPUs = TH2_CPU
}
+Thread3 = {
Class = RealTimeThread
Functions = {
Timer100kHzGAM
StopRequestGAM ModeLimitGAM
GAMSDNRealTimeStateMachine
NI6528P3GAM NI6528P4GAM NI6528P5GAM
TerminalInterfaceGAM
NI6528P5PV2PortGAM
NI6528P5WriteGAM
ShareOutGAM
}
CPUs = TH3_CPU
}
}
}

View File

@@ -0,0 +1,38 @@
+WaitPermit = {
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
Class = RealTimeThread
Functions = {
Timer1kHzGAM
InWaitPermitGAM
CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSRampupGAM
ChoiseGAM
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
EPICSOutputGAM
GoWaitHVONGAM GoWaitHVON_PREP_GAM GoWaitHVON_SDN_GAM GoWaitHVON_SDN_PREP_GAM GoWaitReadyFromWaitPermitGAM GoErrorGAM
}
CPUs = TH1_CPU
}
+Thread2 = {
Class = RealTimeThread
Functions = {
TimeSDNGAM SDNCommandGAM SDNReplyGAM
}
CPUs = TH2_CPU
}
+Thread3 = {
Class = RealTimeThread
Functions = {
Timer100kHzGAM
NI6528P3GAM NI6528P4GAM NI6528P5GAM
NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM
NI6528P3WriteGAM NI6528P4WriteGAM NI6528P5WriteGAM
ShareOutGAM
}
CPUs = TH3_CPU
}
}
}

View File

@@ -0,0 +1,37 @@
+WaitReady = {
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
Class = RealTimeThread
Functions = {
Timer1kHzGAM
InWaitReadyGAM
CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSRampupGAM
ChoiseGAM
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
EPICSOutputGAM
GoWaitPermitGAM GoWaitStandbyFromReadyGAM GoErrorGAM
}
CPUs = TH1_CPU
}
+Thread2 = {
Class = RealTimeThread
Functions = {
TimeSDNGAM SDNCommandGAM SDNReplyGAM
}
CPUs = TH2_CPU
}
+Thread3 = {
Class = RealTimeThread
Functions = {
Timer100kHzGAM
NI6528P3GAM NI6528P4GAM NI6528P5GAM
NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM
NI6528P3WriteGAM NI6528P4WriteGAM NI6528P5WriteGAM
ShareOutGAM
}
CPUs = TH3_CPU
}
}
}

View File

@@ -0,0 +1,37 @@
+WaitStandby = {
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
Class = RealTimeThread
Functions = {
Timer1kHzGAM
InWaitStandbyGAM
CCPSWaveformGAM FHPSRampupGAM
ChoiseGAM MCPSGAM GCPSGAM
PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM
EPICSOutputGAM
GoDisabledGAM GoWaitReadyGAM GoErrorGAM
}
CPUs = TH1_CPU
}
+Thread2 = {
Class = RealTimeThread
Functions = {
TimeSDNGAM SDNCommandGAM SDNReplyGAM
}
CPUs = TH2_CPU
}
+Thread3 = {
Class = RealTimeThread
Functions = {
Timer100kHzGAM
NI6528P3GAM NI6528P4GAM NI6528P5GAM
NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM
NI6528P3WriteGAM NI6528P4WriteGAM NI6528P5WriteGAM
ShareOutGAM
}
CPUs = TH3_CPU
}
}
}

View File

@@ -0,0 +1,30 @@
#############################################################
#
# Copyright 2015 EFDA | European Joint Undertaking for ITER
# and the Development of Fusion Energy ("Fusion for Energy")
#
# Licensed under the EUPL, Version 1.1 or - as soon they
# will be approved by the European Commission - subsequent
# versions of the EUPL (the "Licence");
# You may not use this work except in compliance with the
# Licence.
# You may obtain a copy of the Licence at:
#
# http://ec.europa.eu/idabc/eupl
#
# Unless required by applicable law or agreed to in
# writing, software distributed under the Licence is
# distributed on an "AS IS" basis,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
# express or implied.
# See the Licence for the specific language governing
# permissions and limitations under the Licence.
#
# $Id: Makefile.gcc 3 2015-01-15 16:26:07Z aneto $
#
#############################################################
#Defines the target architecture
export TARGET=cfg
include Makefile.inc

View File

@@ -0,0 +1,42 @@
#############################################################
#
# Copyright 2015 F4E | European Joint Undertaking for ITER
# and the Development of Fusion Energy ('Fusion for Energy')
#
# Licensed under the EUPL, Version 1.1 or - as soon they
# will be approved by the European Commission - subsequent
# versions of the EUPL (the "Licence");
# You may not use this work except in compliance with the
# Licence.
# You may obtain a copy of the Licence at:
#
# http://ec.europa.eu/idabc/eupl
#
# Unless required by applicable law or agreed to in
# writing, software distributed under the Licence is
# distributed on an "AS IS" basis,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
# express or implied.
# See the Licence for the specific language governing
# permissions and limitations under the Licence.
#
#############################################################
#Named of the unit files to be compiled
OBJSX=JAGyrotronA_FY19_P1.x
#Location of the Build directory where the configuration file will be written to
BUILD_DIR?=.
#Location of the MakeDefaults directory.
#Note that the MARTe2_DIR environment variable
#must have been exported before
MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults
include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET)
all: $(OBJS)
echo $(OBJS)
include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET)

View File

@@ -4,12 +4,24 @@
PROJ=EC-GN-P01-PCF PROJ=EC-GN-P01-PCF
CFG=$1 CFG=$1
SRC=${CODAC_CONF}/${PROJ}/${CFG} SRC=${CODAC_CONF}/${PROJ}
FOLDER=${CODAC_VAR}/${PROJ} FOLDER=${CODAC_VAR}/${PROJ}
if [[ ! -d ${FOLDER} ]]; then if [[ ! -d ${FOLDER} ]]; then
mkdir -p ${FOLDER} mkdir -p ${FOLDER}
fi fi
/bin/cp -f ${SRC} ${FOLDER} /bin/cp -rf ${SRC}/* ${FOLDER}
${MARTe2_DIR}/Bin/MARTeApp.ex -f ${FOLDER}/${CFG} -l RealTimeLoader -m StateMachine:Start cd ${FOLDER}
make -f Makefile.cfg clean
make -f Makefile.cfg
CFG_FILE=${FOLDER}/${CFG}_Gen.cfg
#TODO
#/bin/sed -i "s/SDN_IFACE/$PON_INTERFACE_NAME/g" ${CFG_FILE}
#/bin/sed -i "s/TH1_CPU/$TH1_CPU/g" ${CFG_FILE}
#/bin/sed -i "s/TH2_CPU/$TH2_CPU/g" ${CFG_FILE}
#/bin/sed -i "s/TH3_CPU/$TH3_CPU/g" ${CFG_FILE}
#/bin/sed -i "s/TH4_CPU/$TH4_CPU/g" ${CFG_FILE}
${MARTe2_DIR}/Bin/MARTeApp.ex -f ${CFG_FILE} -l RealTimeLoader -m StateMachine:Start

View File

@@ -23,7 +23,7 @@
<groupId>org.iter.codac.units</groupId> <groupId>org.iter.codac.units</groupId>
<artifactId>EC-GN-JA-PCF</artifactId> <artifactId>EC-GN-JA-PCF</artifactId>
<packaging>codac</packaging> <packaging>codac</packaging>
<version>1.0.2</version> <version>1.0.3</version>
<name>CODAC Core System EC-GN-JA-PCF subsystem</name> <name>CODAC Core System EC-GN-JA-PCF subsystem</name>
<description>CODAC Core System EC-GN-JA-PCF subsystem</description> <description>CODAC Core System EC-GN-JA-PCF subsystem</description>
<url>https://git.iter.org/scm/ec/ec-gn-ja-pcf.git@%(git rev-parse HEAD)</url> <url>https://git.iter.org/scm/ec/ec-gn-ja-pcf.git@%(git rev-parse HEAD)</url>