diff --git a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/app_states.marte b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/app_states.marte index c918a36..6d4232e 100644 --- a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/app_states.marte +++ b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/app_states.marte @@ -6,7 +6,7 @@ Class = ReferenceContainer +Thread1 = { Class = RealTimeThread - Functions = { Timer1kHzGAM StateGAM CCPSWaveformGAM GoErrorGAM GoWaitStandbyGAM choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM } + Functions = { Timer1kHzGAM StateGAM CCPSWaveformGAM GoErrorGAM GoWaitStandbyGAM ChoiceGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM } CPUs = 0x100 } +Thread2 = { @@ -178,7 +178,7 @@ Class = ReferenceContainer +Thread1 = { Class = RealTimeThread - Functions = { Timer1kHzGAM StateGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM ExitedHVArmedInjectionRFONGAM ResetPSsGAM ResetErrorGAM ErrorGAM choiseGAM EPICSOutputGAM FHPSSetpointGAM FHPSRampupGAM CCPSWaveformGAM } + Functions = { Timer1kHzGAM StateGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM ExitedHVArmedInjectionRFONGAM ResetPSsGAM ResetErrorGAM ErrorGAM ChoiceGAM EPICSOutputGAM FHPSSetpointGAM FHPSRampupGAM CCPSWaveformGAM } CPUs = 0x100 } +Thread2 = { diff --git a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/data/epics.marte b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/data/epics.marte index 6468f66..bf4f7b2 100644 --- a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/data/epics.marte +++ b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/data/epics.marte @@ -27,5 +27,45 @@ PVName = "EC-GN-P01-GAF-CCPS:STAT-OFFS" Type = float32 } + GCPS_TRG_CURR_MANUAL = { + PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI" + Type = float32 + } + MCPS_TRG_CURR_MANUAL = { + PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI" + Type = float32 + } + BPS_MANUAL = { + PVName = "EC-GN-P01-PB1F:PSU1000-EREF-MSP" + Type = float32 + } + BPS_MM = { + PVName = "EC-GN-P01-PB1F:STAT-MANM" + Type = uint32 + } + APS_MANUAL = { + PVName = "EC-GN-P01-PA1F:PSU3000-EREF-MSP" + Type = float32 + } + APS_MM = { + PVName = "EC-GN-P01-PA1F:STAT-MANM" + Type = uint32 + } + MHVPS_MANUAL = { + PVName = "EC-GN-P01-PMF:PSU0000-EREF-MSP" + Type = float32 + } + MHVPS_MM = { + PVName = "EC-GN-P01-PMF:STAT-MANM" + Type = uint32 + } + MCPS_MM = { + PVName = "EC-GN-P01-GAF-MCPS:STAT-MANM" + Type = uint32 + } + GCPS_MM = { + PVName = "EC-GN-P01-GAF-GCPS:STAT-MANM" + Type = uint32 + } } } diff --git a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/data.marte b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/data.marte new file mode 100644 index 0000000..01f0467 --- /dev/null +++ b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/data.marte @@ -0,0 +1,36 @@ +#package jada_gyro.JAGyroApp.Data + ++DDB1 = { + Signals = { + GCPS_TRG_CURR_SET = { + Type = float32 + } + MCPS_TRG_CURR_SET = { + Type = float32 + } + BPS_OUT = { + Type = float32 + } + APS_OUT = { + Type = float32 + } + MHVPS_OUT = { + Type = float32 + } + MCPS_OUT = { + Type = float32 + } + GCPS_OUT = { + Type = float32 + } + BPS_REF = { + Type = float32 + } + APS_REF = { + Type = float32 + } + MHVPS_REF = { + Type = float32 + } + } +} diff --git a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/epics.marte b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/epics.marte new file mode 100644 index 0000000..fc66b14 --- /dev/null +++ b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/epics.marte @@ -0,0 +1,300 @@ +#package jada_gyro.JAGyroApp.Functions + +//# Copy data from DDB1 to EPICSCAOutput DataSource. ++EPICSOutputGAM = { + Class = IOGAM + InputSignals = { + PCF_STATE = { + DataSource = DDB1 + } + MCPS_ACT_SP = { + DataSource = DDB1 + Type = uint32 + } + GCPS_ACT_SP = { + DataSource = DDB1 + Type = uint32 + } + BPS_OUT = { + DataSource = DDB1 + } + APS_OUT = { + DataSource = DDB1 + } + MCPS_OUT = { + DataSource = DDB1 + } + GCPS_OUT = { + DataSource = DDB1 + } + FHPS_REF = { + DataSource = DDB1 + Type = float32 + } + CSV_LOADED = { + DataSource = DDB1 + Type = uint32 + } + CSV_ERR = { + DataSource = DDB1 + Type = uint32 + } + ELAPSED_TIME = { + DataSource = DDB1 + Type = uint32 + } + HVARMED = { + DataSource = DDB1 + Type = uint32 + } + HVINJECTION = { + DataSource = DDB1 + Type = uint32 + } + RFON = { + DataSource = DDB1 + Type = uint32 + } + MHVPS_OUT = { + DataSource = DDB1 + } + PREP_TIME_WF = { + DataSource = DDB1 + Type = int32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + MHVPS_PREP_WF = { + DataSource = DDB1 + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + BPS_PREP_WF = { + DataSource = DDB1 + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + APS_PREP_WF = { + DataSource = DDB1 + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + MCPS_PREP_WF = { + DataSource = DDB1 + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + GCPS_PREP_WF = { + DataSource = DDB1 + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + FHPS_PREP_WF = { + DataSource = DDB1 + Type = float32 + NumberOfElements = 8000 + NumberOfDimensions = 1 + } + CCPS_REF = { + DataSource = DDB1 + Type = float32 + } + MHVPS_STOP = { + DataSource = DDB1 + Type = uint32 + } + APS_STOP = { + DataSource = DDB1 + Type = uint32 + } + BPS_STOP = { + DataSource = DDB1 + Type = uint32 + } + BEAM_ON_TIME = { + DataSource = DDB1 + Type = uint32 + } + // MARTe Internal PCF_FLT + PCF_FLT = { + DataSource = DDB1 + Type = uint32 + } + PXI_FLT = { + DataSource = DDB1 + Type = uint32 + } + BEAM_ON_STAT = { + DataSource = DDB1 + Type = uint32 + } + SHOT_ID = { + DataSource = RealTimeThreadAsyncBridge + Type = uint32 + } + FHPS_AUTO_STAT = { + DataSource = DDB1 + Type = uint32 + } + // Add 20201117 + APS_HVON = { + DataSource = RealTimeThreadAsyncBridge + Type = uint32 + } + APS_SWON = { + DataSource = RealTimeThreadAsyncBridge + Type = uint32 + } + BPS_HVON = { + DataSource = RealTimeThreadAsyncBridge + Type = uint32 + } + BPS_SWON = { + DataSource = RealTimeThreadAsyncBridge + Type = uint32 + } + MHVPS_HVON = { + DataSource = RealTimeThreadAsyncBridge + Type = uint32 + } + } + OutputSignals = { + PCF_STATE = { + DataSource = EPICSCAOutput + Type = uint32 + } + MCPS_ACT_SP = { + DataSource = EPICSCAOutput + Type = uint32 + } + GCPS_ACT_SP = { + DataSource = EPICSCAOutput + Type = uint32 + } + BPS_REF = { + DataSource = EPICSCAOutput + Type = float32 + } + APS_REF = { + DataSource = EPICSCAOutput + Type = float32 + } + MCPS_TRG_CURR_SET = { + DataSource = EPICSCAOutput + Type = float32 + } + GCPS_TRG_CURR_SET = { + DataSource = EPICSCAOutput + Type = float32 + } + FHPS_REF = { + DataSource = EPICSCAOutput + Type = float32 + } + CSV_LOADED = { + DataSource = EPICSCAOutput + Type = uint32 + } + CSV_ERR = { + DataSource = EPICSCAOutput + Type = uint32 + } + ELAPSED_TIME = { + DataSource = EPICSCAOutput + Type = uint32 + } + HVARMED = { + DataSource = EPICSCAOutput + Type = uint32 + } + HVINJECTION = { + DataSource = EPICSCAOutput + Type = uint32 + } + RFON = { + DataSource = EPICSCAOutput + Type = uint32 + } + MHVPS_REF = { + DataSource = EPICSCAOutput + Type = float32 + } + PREP_TIME_WF = { + DataSource = EPICSCAOutput + } + MHVPS_PREP_WF = { + DataSource = EPICSCAOutput + } + BPS_PREP_WF = { + DataSource = EPICSCAOutput + } + APS_PREP_WF = { + DataSource = EPICSCAOutput + } + MCPS_PREP_WF = { + DataSource = EPICSCAOutput + } + GCPS_PREP_WF = { + DataSource = EPICSCAOutput + } + FHPS_PREP_WF = { + DataSource = EPICSCAOutput + } + CCPS_REF = { + DataSource = EPICSCAOutput + } + MHVPS_STOP = { + DataSource = EPICSCAOutput + Type = uint32 + } + APS_STOP = { + DataSource = EPICSCAOutput + Type = uint32 + } + BPS_STOP = { + DataSource = EPICSCAOutput + Type = uint32 + } + BEAM_ON_TIME = { + DataSource = EPICSCAOutput + Type = uint32 + } + // EPICS PCF_FLT + PCF_FLT = { + DataSource = EPICSCAOutput + } + PXI_FLT = { + DataSource = EPICSCAOutput + } + BEAM_ON_STAT = { + DataSource = EPICSCAOutput + } + SHOT_ID = { + DataSource = EPICSCAOutput + } + FHPS_AUTO_STAT = { + DataSource = EPICSCAOutput + } + // Added 20201117 + APS_HVON = { + DataSource = EPICSCAOutput + } + APS_SWON = { + DataSource = EPICSCAOutput + } + BPS_HVON = { + DataSource = EPICSCAOutput + } + BPS_SWON = { + DataSource = EPICSCAOutput + } + MHVPS_HVON = { + DataSource = EPICSCAOutput + } + } +} diff --git a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/references_generator.marte b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/references_generator.marte index 9c02265..b0b03b1 100644 --- a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/references_generator.marte +++ b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/references_generator.marte @@ -58,3 +58,92 @@ } } } +//# Switching AO port source between internal variable and EPICS PV. ++ChoiceGAM = { + Class = JASourceChoiseGAM + // numberOfPVs = 5 + InputSignals = { + BPS_REF = { + DataSource = DDB1 + Type = float32 + } + BPS_MANUAL = { + DataSource = EPICSCAInput + Type = float32 + } + BPS_MM = { + DataSource = EPICSCAInput + Type = uint32 + } + APS_REF = { + DataSource = DDB1 + Type = float32 + } + APS_MANUAL = { + DataSource = EPICSCAInput + Type = float32 + } + APS_MM = { + DataSource = EPICSCAInput + Type = uint32 + } + MHVPS_REF = { + DataSource = DDB1 + Type = float32 + } + MHVPS_MANUAL = { + DataSource = EPICSCAInput + Type = float32 + } + MHVPS_MM = { + DataSource = EPICSCAInput + Type = uint32 + } + MCPS_TRG_CURR_SET = { + DataSource = DDB1 + Type = float32 + } + MCPS_TRG_CURR_MANUAL = { + DataSource = EPICSCAInput + Type = float32 + } + MCPS_MM = { + DataSource = EPICSCAInput + Type = uint32 + } + GCPS_TRG_CURR_SET = { + DataSource = DDB1 + Type = float32 + } + GCPS_TRG_CURR_MANUAL = { + DataSource = EPICSCAInput + Type = float32 + } + GCPS_MM = { + DataSource = EPICSCAInput + Type = uint32 + } + } + OutputSignals = { + BPS_OUT = { + DataSource = DDB1 + Type = float32 + } + APS_OUT = { + DataSource = DDB1 + Type = float32 + } + MHVPS_OUT = { + DataSource = DDB1 + Type = float32 + } + MCPS_OUT = { + DataSource = DDB1 + Type = float32 + } + GCPS_OUT = { + DataSource = DDB1 + Type = float32 + } + } +} diff --git a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/state_management.marte b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/state_management.marte index 5bea63c..16c4a4f 100644 --- a/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/state_management.marte +++ b/EC-GN-JA-PCF-IN/src/main/resources/qst-gyrotron-fast-controller/Configurations/src/thread1/state_management.marte @@ -105,7 +105,7 @@ PLC_ITL = { DataSource = NI6528_DI ExpectedValue = 0 - } + } } +Event = { Class = Message