This commit is contained in:
Martino Ferrari
2026-02-05 10:33:53 +01:00
parent 92e292f4ac
commit 11e6159e0a
35 changed files with 3019 additions and 1358 deletions

View File

@@ -23,7 +23,9 @@
#############################################################
#Named of the unit files to be compiled
OBJSX=JAGyrotronA_FY19_P1.x
OBJSX=JARF01App.x
MDT=mdt
SOURCES=src/*.marte src/state_machine/*.marte src/data/*.marte src/thread1/*.marte src/thread2/*.marte src/thread3/*.marte src/thread4/*.marte src/thread5/*.marte src/thread6/*.marte
#Location of the Build directory where the configuration file will be written to
BUILD_DIR?=./out/
@@ -36,7 +38,7 @@ MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults
include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET)
all: $(OBJS)
echo $(OBJS)
$(MDT) build $(SOURCES) -o $(OBJSX)
include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET)

View File

@@ -1,8 +1,11 @@
#package jada_gyro
//# Main Operational State Machine
+StateMachine = {
Class = StateMachine
}
//# MARTe RealTime Application
+RTApp = {
Class = RealTimeApplication
+Data = {
@@ -26,6 +29,9 @@
AllowNoProducers = 1
ResetUnusedVariablesAtStateChange = 0
}
+DDB6 = {
Class = GAMDataSource
}
+Timings = {
Class = TimingDataSource
}

View File

@@ -1,23 +1,67 @@
#package jada_gyro.RTApp.States
+Disabled = {
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
+EPICSThread = {
Class = RealTimeThread
Functions = { SyncThreadConsumerGAM StateGAM CCPSWaveformGAM GoErrorGAM GoWaitStandbyGAM ChoiceGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM }
CPUs = 0x100
CPUs = @cpus_epics
Functions = {
SyncThreadConsumerGAM,
StateGAM,
MCPSGAM,
PXIErrorGAM,
GoErrorGAM,
GoWaitStandbyGAM,
ChoiceGAM,
EPICSThSyncGAM,
EPICSOutputGAM
}
+Thread2 = {
Class = RealTimeThread
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
CPUs = 0x200
}
+Thread3 = {
+SDNThread = {
Class = RealTimeThread
Functions = { FastTimerGAM NI6528_0_ReaderGAM HVPSsOffGAM NI6528_0_WriterGAM SyncThreadProducerGAM }
CPUs = 0x400
CPUs = @cpus_sdn
Functions = {
TimeSDNGAM,
SDNCommandGAM,
SDNReplyGAM
}
}
+RealTimeThread = {
Class = RealTimeThread
CPUs = @cpus_rt
Functions = {
FastTimerGAM,
NI6528_0_ReaderGAM,
HVPSsOffGAM,
NI6528_0_WriterGAM,
SyncThreadProducerGAM
}
}
+ADCThread = {
Class = RealTimeThread
CPUs = @cpus_adc
Functions = {
ReadADC,
PushADCtoDAN,
PushADCtoEpics
}
}
+DANThread = {
Class = RealTimeThread
CPUs = @cpus_dan
Functions = { DANDIOPublisherGAM }
}
+ReferenceGenerationThread = {
Class = RealTimeThread
CPUs = @cpus_wg
Functions = {
WGTimerGAM,
CCPSWaveformGAM,
WGProducerGAM
}
}
}
}
@@ -25,20 +69,66 @@
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
+EPICSThread = {
Class = RealTimeThread
Functions = { SyncThreadConsumerGAM StateGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM ChoiceGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM GoDisabledGAM GoWaitReadyGAM GoErrorGAM }
CPUs = 0x100
Functions = {
SyncThreadConsumerGAM,
StateGAM,
MCPSGAM,
PXIErrorGAM,
GoDisabledGAM,
GoWaitReadyGAM,
GoErrorGAM,
ChoiceGAM,
EPICSThSyncGAM,
EPICSOutputGAM
}
+Thread2 = {
Class = RealTimeThread
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
CPUs = 0x200
CPUs = @cpus_epics
}
+Thread3 = {
+SDNThread = {
Class = RealTimeThread
Functions = { FastTimerGAM NI6528_0_ReaderGAM HVPSsOffGAM NI6528_0_WriterGAM SyncThreadProducerGAM }
CPUs = 0x400
Functions = {
TimeSDNGAM,
SDNCommandGAM,
SDNReplyGAM
}
CPUs = @cpus_sdn
}
+RealTimeThread = {
Class = RealTimeThread
Functions = {
FastTimerGAM,
NI6528_0_ReaderGAM,
HVPSsOffGAM,
NI6528_0_WriterGAM,
SyncThreadProducerGAM
}
CPUs = @cpus_rt
}
+ADCThread = {
Class = RealTimeThread
Functions = {
ReadADC,
PushADCtoDAN,
PushADCtoEpics
}
CPUs = @cpus_adc
}
+DANThread = {
Class = RealTimeThread
Functions = { DANDIOPublisherGAM }
CPUs = @cpus_dan
}
+ReferenceGenerationThread = {
Class = RealTimeThread
CPUs = @cpus_wg
Functions = {
WGTimerGAM,
CCPSWaveformGAM,
FHPSSetpointGAM,
FHPSRampupGAM,
WGProducerGAM
}
}
}
}
@@ -46,20 +136,67 @@
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
+EPICSThread = {
Class = RealTimeThread
Functions = { SyncThreadConsumerGAM StateGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM ChoiceGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM GoWaitPermitGAM GoWaitStandbyFromReadyGAM GoErrorGAM }
CPUs = 0x100
Functions = {
SyncThreadConsumerGAM,
StateGAM,
WFRecordGAM,
PreProgrammedGAM,
PXIErrorGAM,
GoWaitPermitGAM,
GoWaitStandbyFromReadyGAM,
GoErrorGAM,
ChoiceGAM,
EPICSThSyncGAM,
EPICSOutputGAM
}
+Thread2 = {
Class = RealTimeThread
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
CPUs = 0x200
CPUs = @cpus_epics
}
+Thread3 = {
+SDNThread = {
Class = RealTimeThread
Functions = { FastTimerGAM NI6528_0_ReaderGAM HVPSsOffGAM NI6528_0_WriterGAM SyncThreadProducerGAM }
CPUs = 0x400
Functions = {
TimeSDNGAM,
SDNCommandGAM,
SDNReplyGAM
}
CPUs = @cpus_sdn
}
+RealTimeThread = {
Class = RealTimeThread
Functions = {
FastTimerGAM,
NI6528_0_ReaderGAM,
HVPSsOffGAM,
NI6528_0_WriterGAM,
SyncThreadProducerGAM
}
CPUs = @cpus_rt
}
+ADCThread = {
Class = RealTimeThread
Functions = {
ReadADC,
PushADCtoDAN,
PushADCtoEpics
}
CPUs = @cpus_adc
}
+DANThread = {
Class = RealTimeThread
Functions = { DANDIOPublisherGAM }
CPUs = @cpus_dan
}
+ReferenceGenerationThread = {
Class = RealTimeThread
CPUs = @cpus_wg
Functions = {
WGTimerGAM,
CCPSWaveformGAM,
FHPSSetpointGAM,
FHPSRampupGAM,
WGProducerGAM
}
}
}
}
@@ -67,20 +204,70 @@
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
+EPICSThread = {
Class = RealTimeThread
Functions = { SyncThreadConsumerGAM StateGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM ChoiceGAM EPICSOutputGAM GoWaitReadyFromWaitPermitGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM GoWaitHVONGAM GoWaitHVON_PREP_GAM GoWaitHVON_SDN_GAM GoWaitHVON_SDN_PREP_GAM GoErrorGAM }
CPUs = 0x100
Functions = {
SyncThreadConsumerGAM,
StateGAM,
WFRecordGAM,
PreProgrammedGAM,
PXIErrorGAM,
GoWaitReadyFromWaitPermitGAM,
GoWaitHVONGAM,
GoWaitHVON_PREP_GAM,
GoWaitHVON_SDN_GAM,
GoWaitHVON_SDN_PREP_GAM,
GoErrorGAM,
ChoiceGAM,
EPICSThSyncGAM,
EPICSOutputGAM
}
+Thread2 = {
Class = RealTimeThread
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
CPUs = 0x200
CPUs = @cpus_epics
}
+Thread3 = {
+SDNThread = {
Class = RealTimeThread
Functions = { FastTimerGAM NI6528_0_ReaderGAM HVPSsOffGAM NI6528_0_WriterGAM SyncThreadProducerGAM }
CPUs = 0x400
Functions = {
TimeSDNGAM,
SDNCommandGAM,
SDNReplyGAM
}
CPUs = @cpus_sdn
}
+RealTimeThread = {
Class = RealTimeThread
Functions = {
FastTimerGAM,
NI6528_0_ReaderGAM,
HVPSsOffGAM,
NI6528_0_WriterGAM,
SyncThreadProducerGAM
}
CPUs = @cpus_rt
}
+ADCThread = {
Class = RealTimeThread
Functions = {
ReadADC,
PushADCtoDAN,
PushADCtoEpics
}
CPUs = @cpus_adc
}
+DANThread = {
Class = RealTimeThread
Functions = { DANDIOPublisherGAM }
CPUs = @cpus_dan
}
+ReferenceGenerationThread = {
Class = RealTimeThread
CPUs = @cpus_wg
Functions = {
WGTimerGAM,
CCPSWaveformGAM,
FHPSSetpointGAM,
FHPSRampupGAM,
WGProducerGAM
}
}
}
}
@@ -89,20 +276,64 @@
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
+EPICSThread = {
Class = RealTimeThread
Functions = { SyncThreadConsumerGAM StateGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM ChoiceGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM FastStatesSync FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
CPUs = 0x100
Functions = {
SyncThreadConsumerGAM,
StateGAM,
PXIErrorGAM,
FromWaitHVONToWaitStandby,
FromWaitHVONToWaitPermit,
GoErrorGAM,
ChoiceGAM,
EPICSThSyncGAM,
EPICSOutputGAM
}
+Thread2 = {
Class = RealTimeThread
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
CPUs = 0x200
CPUs = @cpus_epics
}
+Thread3 = {
+SDNThread = {
Class = RealTimeThread
Functions = { FastTimerGAM NI6528_0_ReaderGAM FastEpicsInputGAM FastStopRequestGAM ModeLimitGAM GAMRealTimeStateMachine NI6528_0_WriterGAM SyncThreadProducerGAM }
CPUs = 0x400
Functions = { TimeSDNGAM, SDNCommandGAM, SDNReplyGAM }
CPUs = @cpus_sdn
}
+RealTimeThread = {
Class = RealTimeThread
Functions = {
FastTimerGAM,
NI6528_0_ReaderGAM,
FastEpicsInputGAM,
FastStopRequestGAM,
ModeLimitGAM,
GAMRealTimeStateMachine,
NI6528_0_WriterGAM,
SyncThreadProducerGAM
}
CPUs = @cpus_rt
}
+ADCThread = {
Class = RealTimeThread
Functions = {
ReadADC,
PushADCtoDAN,
PushADCtoEpics
}
CPUs = @cpus_adc
}
+DANThread = {
Class = RealTimeThread
Functions = { DANDIOPublisherGAM }
CPUs = @cpus_dan
}
+ReferenceGenerationThread = {
Class = RealTimeThread
CPUs = @cpus_wg
Functions = {
WGTimerGAM,
CCPSWaveformGAM,
FHPSSetpointGAM,
FHPSRampupGAM,
WGProducerGAM
}
}
}
}
@@ -110,20 +341,67 @@
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
+EPICSThread = {
Class = RealTimeThread
Functions = { SyncThreadConsumerGAM StateGAM CCPSWaveformGAM FHPSRampupGAM ChoiceGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM FastStatesSync FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
CPUs = 0x100
Functions = {
SyncThreadConsumerGAM,
StateGAM,
PXIErrorGAM,
FromWaitHVONToWaitStandby,
FromWaitHVONToWaitPermit,
GoErrorGAM,
ChoiceGAM,
EPICSThSyncGAM,
EPICSOutputGAM
}
+Thread2 = {
Class = RealTimeThread
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
CPUs = 0x200
CPUs = @cpus_epics
}
+Thread3 = {
+SDNThread = {
Class = RealTimeThread
Functions = { FastTimerGAM NI6528_0_ReaderGAM FastEpicsInputGAM FastStopRequestGAM ModeLimitGAM GAMSDNRealTimeStateMachine NI6528_0_WriterGAM SyncThreadProducerGAM }
CPUs = 0x400
Functions = {
TimeSDNGAM,
SDNCommandGAM,
SDNReplyGAM
}
CPUs = @cpus_sdn
}
+RealTimeThread = {
Class = RealTimeThread
Functions = {
FastTimerGAM,
NI6528_0_ReaderGAM,
FastEpicsInputGAM,
FastStopRequestGAM,
ModeLimitGAM,
GAMSDNRealTimeStateMachine,
NI6528_0_WriterGAM,
SyncThreadProducerGAM
}
CPUs = @cpus_rt
}
+ADCThread = {
Class = RealTimeThread
Functions = {
ReadADC,
PushADCtoDAN,
PushADCtoEpics
}
CPUs = @cpus_adc
}
+DANThread = {
Class = RealTimeThread
Functions = { DANDIOPublisherGAM }
CPUs = @cpus_dan
}
+ReferenceGenerationThread = {
Class = RealTimeThread
CPUs = @cpus_wg
Functions = {
WGTimerGAM,
CCPSWaveformGAM,
FHPSRampupGAM,
WGProducerGAM
}
}
}
}
@@ -131,20 +409,60 @@
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
+EPICSThread = {
Class = RealTimeThread
Functions = { SyncThreadConsumerGAM StateGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM ChoiceGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM FastStatesSync FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
CPUs = 0x100
Functions = {
SyncThreadConsumerGAM,
StateGAM,
PreProgrammedGAM,
PXIErrorGAM,
FromWaitHVONToWaitStandby,
FromWaitHVONToWaitPermit,
GoErrorGAM,
ChoiceGAM,
EPICSThSyncGAM,
EPICSOutputGAM
}
+Thread2 = {
Class = RealTimeThread
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
CPUs = 0x200
CPUs = @cpus_epics
}
+Thread3 = {
+SDNThread = {
Class = RealTimeThread
Functions = { FastTimerGAM NI6528_0_ReaderGAM FastEpicsInputGAM FastStopRequestGAM ModeLimitGAM GAMRealTimeStateMachine NI6528_0_WriterGAM SyncThreadProducerGAM }
CPUs = 0x400
Functions = { TimeSDNGAM, SDNCommandGAM, SDNReplyGAM }
CPUs = @cpus_sdn
}
+RealTimeThread = {
Class = RealTimeThread
Functions = {
FastTimerGAM,
NI6528_0_ReaderGAM,
FastEpicsInputGAM,
FastStopRequestGAM,
ModeLimitGAM,
GAMRealTimeStateMachine,
NI6528_0_WriterGAM,
SyncThreadProducerGAM
}
CPUs = @cpus_rt
}
+ADCThread = {
Class = RealTimeThread
Functions = { ReadADC, PushADCtoDAN, PushADCtoEpics }
CPUs = @cpus_adc
}
+DANThread = {
Class = RealTimeThread
Functions = { DANDIOPublisherGAM }
CPUs = @cpus_dan
}
+ReferenceGenerationThread = {
Class = RealTimeThread
CPUs = @cpus_wg
Functions = {
WGTimerGAM,
CCPSWaveformGAM,
FHPSRampupGAM,
WGProducerGAM
}
}
}
}
@@ -152,20 +470,63 @@
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
+EPICSThread = {
Class = RealTimeThread
Functions = { SyncThreadConsumerGAM StateGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM ChoiceGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM FastStatesSync FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
CPUs = 0x100
Functions = {
SyncThreadConsumerGAM,
StateGAM,
PreProgrammedGAM,
PXIErrorGAM,
FromWaitHVONToWaitStandby,
FromWaitHVONToWaitPermit,
GoErrorGAM,
ChoiceGAM,
EPICSThSyncGAM,
EPICSOutputGAM
}
+Thread2 = {
Class = RealTimeThread
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
CPUs = 0x200
CPUs = @cpus_epics
}
+Thread3 = {
+SDNThread = {
Class = RealTimeThread
Functions = { FastTimerGAM NI6528_0_ReaderGAM FastEpicsInputGAM FastStopRequestGAM ModeLimitGAM GAMSDNRealTimeStateMachine SyncThreadProducerGAM }
CPUs = 0x400
Functions = {
TimeSDNGAM,
SDNCommandGAM,
SDNReplyGAM
}
CPUs = @cpus_sdn
}
+RealTimeThread = {
Class = RealTimeThread
Functions = {
FastTimerGAM,
NI6528_0_ReaderGAM,
FastEpicsInputGAM,
FastStopRequestGAM,
ModeLimitGAM,
GAMSDNRealTimeStateMachine,
SyncThreadProducerGAM
}
CPUs = @cpus_rt
}
+ADCThread = {
Class = RealTimeThread
Functions = { ReadADC, PushADCtoDAN, PushADCtoEpics }
CPUs = @cpus_adc
}
+DANThread = {
Class = RealTimeThread
Functions = { DANDIOPublisherGAM }
CPUs = @cpus_dan
}
+ReferenceGenerationThread = {
Class = RealTimeThread
CPUs = @cpus_wg
Functions = {
WGTimerGAM,
CCPSWaveformGAM,
FHPSRampupGAM,
WGProducerGAM
}
}
}
}
@@ -173,22 +534,63 @@
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
+EPICSThread = {
Class = RealTimeThread
Functions = { SyncThreadConsumerGAM StateGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM ResetErrorGAM ChoiceGAM EPICSOutputGAM CCPSWaveformGAM }
Functions = {
SyncThreadConsumerGAM,
StateGAM,
PXIErrorGAM,
ResetErrorGAM,
ChoiceGAM,
EPICSThSyncGAM,
EPICSOutputGAM
}
// REMOVED: GoErrorGAM (redundant), FHPSSetPointGAM and FHPSRumpUpGAM
// TODO: Discus about the removal
CPUs = 0x100
CPUs = @cpus_epics
}
+Thread2 = {
+SDNThread = {
Class = RealTimeThread
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
CPUs = 0x200
Functions = {
TimeSDNGAM,
SDNCommandGAM,
SDNReplyGAM
}
+Thread3 = {
CPUs = @cpus_sdn
}
+RealTimeThread = {
Class = RealTimeThread
Functions = { FastTimerGAM NI6528_0_ReaderGAM HVPSsOffGAM NI6528_0_WriterGAM SyncThreadProducerGAM }
CPUs = 0x400
Functions = {
FastTimerGAM,
NI6528_0_ReaderGAM,
HVPSsOffGAM,
NI6528_0_WriterGAM,
SyncThreadProducerGAM
}
CPUs = @cpus_rt
}
+ADCThread = {
Class = RealTimeThread
Functions = {
ReadADC,
PushADCtoDAN,
PushADCtoEpics
}
CPUs = @cpus_adc
}
+DANThread = {
Class = RealTimeThread
Functions = { DANDIOPublisherGAM }
CPUs = @cpus_dan
}
+ReferenceGenerationThread = {
Class = RealTimeThread
CPUs = @cpus_wg
Functions = {
WGTimerGAM,
CCPSWaveformGAM,
WGProducerGAM
}
}
}
}

View File

@@ -1,173 +1,202 @@
#package jada_gyro.RTApp.Data
+EPICSCAInput = {
Class = EPICSCAInput
Signals = {
CSV_LOAD = {
PVName = (@rfid .. "-GAF:STAT-CSV-LOAD")
Type = uint32
}
CSV_NAME = {
PVName = "EC-GN-P01-GAF:STAT-CSV-NAME"
PVName = (@rfid .. "-GAF:STAT-CSV-NAME")
Type = char8
NumberOfElements = 40
}
MIS_ITL = {
Type = uint32
PVName = "EC-GN-P01-GAFP:FMC4310-YTRP"
PVName = (@rfid .. "-GAFP:FMC4310-YTRP")
}
RESET_FLT = {
PVName = "EC-GN-P01-GPF:STAT-RST-FLT"
PVName = (@rfid .. "-GPF:STAT-RST-FLT")
Type = uint32
}
PLC_SELECT = {
PVName = "EC-GN-P01-GPS:PLC4110-CON-OPGY1"
PVName = (@rfid .. "-GPS:PLC4110-CON-OPGY1")
Type = uint32
}
CCPS_OUTPUT_FREQ = {
PVName = "EC-GN-P01-GAF-CCPS:STAT-FREQ"
PVName = (@rfid .. "-GAF-CCPS:STAT-FREQ")
Type = float32
}
CCPS_OUTPUT_AMP = {
PVName = "EC-GN-P01-GAF-CCPS:STAT-AMP"
PVName = (@rfid .. "-GAF-CCPS:STAT-AMP")
Type = float32
}
CCPS_OUTPUT_OFFS = {
PVName = "EC-GN-P01-GAF-CCPS:STAT-OFFS"
PVName = (@rfid .. "-GAF-CCPS:STAT-OFFS")
Type = float32
}
GCPS_TRG_CURR_MANUAL = {
PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI"
PVName = (@rfid .. "-GAF-GCPS:PSU2130-TRG-CURR-SET-MI")
Type = float32
}
MCPS_TRG_CURR_MANUAL = {
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI"
PVName = (@rfid .. "-GAF-MCPS:PSU2120-TRG-CURR-SET-MI")
Type = float32
}
BPS_MANUAL = {
PVName = "EC-GN-P01-PB1F:PSU1000-EREF-MSP"
PVName = (@rfid .. "-PB1F:PSU1000-EREF-MSP")
Type = float32
}
BPS_MM = {
PVName = "EC-GN-P01-PB1F:STAT-MANM"
PVName = (@rfid .. "-PB1F:STAT-MANM")
Type = uint32
}
APS_MANUAL = {
PVName = "EC-GN-P01-PA1F:PSU3000-EREF-MSP"
PVName = (@rfid .. "-PA1F:PSU3000-EREF-MSP")
Type = float32
}
APS_MM = {
PVName = "EC-GN-P01-PA1F:STAT-MANM"
PVName = (@rfid .. "-PA1F:STAT-MANM")
Type = uint32
}
MHVPS_MANUAL = {
PVName = "EC-GN-P01-PMF:PSU0000-EREF-MSP"
PVName = (@rfid .. "-PMF:PSU0000-EREF-MSP")
Type = float32
}
MHVPS_MM = {
PVName = "EC-GN-P01-PMF:STAT-MANM"
PVName = (@rfid .. "-PMF:STAT-MANM")
Type = uint32
}
MCPS_MM = {
PVName = "EC-GN-P01-GAF-MCPS:STAT-MANM"
PVName = (@rfid .. "-GAF-MCPS:STAT-MANM")
Type = uint32
}
GCPS_MM = {
PVName = "EC-GN-P01-GAF-GCPS:STAT-MANM"
PVName = (@rfid .. "-GAF-GCPS:STAT-MANM")
Type = uint32
}
FHPS_AUTO_TAGV = {
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV"
PVName = (@rfid .. "-GAF-FHPS:PSU2610-AUTO-TAGV")
Type = float32
}
FHPS_AUTO_TIME = {
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME"
PVName = (@rfid .. "-GAF-FHPS:PSU2610-AUTO-RU-TIME")
Type = float32
}
FHPS_AUTO_START = {
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START"
PVName = (@rfid .. "-GAF-FHPS:PSU2610-AUTO-START")
Type = uint32
}
FHPS_MANM = {
PVName = "EC-GN-P01-GAF-FHPS:STAT-MANM"
PVName = (@rfid .. "-GAF-FHPS:STAT-MANM")
Type = uint32
}
//# Guncoil state readback
GCPS_ACT_RB = {
PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB"
PVName = (@rfid .. "-GAF-GCPS:PSU2130-ACT-RB")
Type = uint32
}
//# Guncoil current monitor
GCPS_CURR_MON = {
PVName = "EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON"
PVName = (@rfid .. "-GAF-GCPS:PSU2130-CURR-MON")
Type = float32
}
//# Main coil state readback
MCPS_ACT_RB = {
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB"
PVName = (@rfid .. "-GAF-MCPS:PSU2120-ACT-RB")
Type = uint32
}
//# Main coil current monitor
MCPS_CURR_MON = {
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON"
PVName = (@rfid .. "-GAF-MCPS:PSU2120-CURR-MON")
Type = float32
}
//# Pre-program flag
PREP_MODE = {
PVName = "EC-GN-P01-GAF:STAT-PREP-MODE"
PVName = (@rfid .. "-GAF:STAT-PREP-MODE")
Type = uint32
}
// Timing settings
MHVPS_DT = {
PVName = "EC-GN-P01-PMF:STAT-DT-HVON"
PVName = (@rfid .. "-PMF:STAT-DT-HVON")
Type = uint32
}
APS_HVON_DT = {
PVName = "EC-GN-P01-PA1F:STAT-DT-HVON"
PVName = (@rfid .. "-PA1F:STAT-DT-HVON")
Type = uint32
}
APS_SWON_DT = {
PVName = "EC-GN-P01-PA1F:STAT-DT-SWON"
PVName = (@rfid .. "-PA1F:STAT-DT-SWON")
Type = uint32
}
BPS_HVON_DT = {
PVName = "EC-GN-P01-PB1F:STAT-DT-HVON"
PVName = (@rfid .. "-PB1F:STAT-DT-HVON")
Type = uint32
}
BPS_SWON_DT = {
PVName = "EC-GN-P01-PB1F:STAT-DT-SWON"
PVName = (@rfid .. "-PB1F:STAT-DT-SWON")
Type = uint32
}
SHOTLEN = {
PVName = "EC-GN-P01-GAF:STAT-DT-SHOTLEN"
PVName = (@rfid .. "-GAF:STAT-DT-SHOTLEN")
Type = uint32
}
PLC_MODE1 = {
PVName = "EC-GN-P01-GPS:PLC4110-YTS-MD1"
PVName = (@rfid .. "-GPS:PLC4110-YTS-MD1")
Type = uint32
}
PLC_MODE2 = {
PVName = "EC-GN-P01-GPS:PLC4110-YTS-MD2"
PVName = (@rfid .. "-GPS:PLC4110-YTS-MD2")
Type = uint32
}
PLC_MODE3 = {
PVName = "EC-GN-P01-GPS:PLC4110-YTS-MD3"
PVName = (@rfid .. "-GPS:PLC4110-YTS-MD3")
Type = uint32
}
PLC_MODE4 = {
PVName = "EC-GN-P01-GPS:PLC4110-YTS-MD4"
PVName = (@rfid .. "-GPS:PLC4110-YTS-MD4")
Type = uint32
}
MD1_SHOTLEN_LIM = {
PVName = "EC-GN-P01-GPF:STAT-MD1-LIM"
PVName = (@rfid .. "-GPF:STAT-MD1-LIM")
Type = uint32
}
MD2_SHOTLEN_LIM = {
PVName = "EC-GN-P01-GPF:STAT-MD2-LIM"
PVName = (@rfid .. "-GPF:STAT-MD2-LIM")
Type = uint32
}
MD3_SHOTLEN_LIM = {
PVName = "EC-GN-P01-GPF:STAT-MD3-LIM"
PVName = (@rfid .. "-GPF:STAT-MD3-LIM")
Type = uint32
}
MD4_SHOTLEN_LIM = {
PVName = "EC-GN-P01-GPF:STAT-MD4-LIM"
PVName = (@rfid .. "-GPF:STAT-MD4-LIM")
Type = uint32
}
GY_MCPS_CURR_MON = {
PVName = (@rfid .. "-GAF-MCPS:PSU2120-CURR-MON")
Type = float32
}
GY_GCPS_CURR_MON = {
PVName = (@rfid .. "-GAF-GCPS:PSU2130-CURR-MON")
Type = float32
}
GY_FHPS_MEAS_ACI = {
PVName = (@rfid .. "-GAF-FHPS:PSU2610-MEAS-ACI")
Type = float32
}
GY_FHPS_MEAS_ACV = {
PVName = (@rfid .. "-GAF-FHPS:PSU2610-MEAS-ACV")
Type = float32
}
GY_CCPS_MEAS_DCI = {
PVName = (@rfid .. "-GAF-CCPS:PSU2320-MEAS-DCI")
Type = float32
}
SHORT_PULSE_MODE = {
PVName = (@rfid .. "-GAF:STAT-SHORT-PULSE")
Type = uint32
}
}
@@ -179,172 +208,289 @@
NumberOfBuffers = 2
Signals = {
PCF_STATE = {
PVName = "EC-GN-P01-GAF:STAT-SM"
PVName = (@rfid .. "-GAF:STAT-SM")
Type = uint32
}
// Analog Output PVs in Variables-signal tab.
FHPS_REF = {
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-EREF"
PVName = (@rfid .. "-GAF-FHPS:PSU2610-EREF")
Type = float32
}
BPS_REF = {
PVName = "EC-GN-P01-PB1F:PSU1000-EREF"
PVName = (@rfid .. "-PB1F:PSU1000-EREF")
Type = float32
}
APS_REF = {
PVName = "EC-GN-P01-PA1F:STAT-EREF-CONV.A"
PVName = (@rfid .. "-PA1F:STAT-EREF-CONV.A")
// TODO: PSU3000-YSTA
Type = float32
}
MHVPS_REF = {
PVName = "EC-GN-P01-PMF:STAT-EREF-CALC.A"
PVName = (@rfid .. "-PMF:STAT-EREF-CALC.A")
Type = float32
}
// Digital Output PVs in Variables-signal tab.
APS_STOP = {
PVName = "EC-GN-P01-PA1F:PSU3000-CTRP"
PVName = (@rfid .. "-PA1F:PSU3000-CTRP")
Type = uint32
}
BPS_STOP = {
PVName = "EC-GN-P01-PB1F:PSU1000-CTRP"
PVName = (@rfid .. "-PB1F:PSU1000-CTRP")
Type = uint32
}
BEAM_ON_STAT = {
PVName = "EC-GN-P01-GAFP:FMC4310-YSTA-GAOP"
PVName = (@rfid .. "-GAFP:FMC4310-YSTA-GAOP")
Type = uint32
}
MHVPS_STOP = {
PVName = "EC-GN-P01-PMF:PSU0000-COFF"
PVName = (@rfid .. "-PMF:PSU0000-COFF")
Type = uint32
}
PCF_FLT = {
PVName = "EC-GN-P01-GPF:PCF4210-CTRP"
PVName = (@rfid .. "-GPF:PCF4210-CTRP")
Type = uint32
}
PXI_FLT = {
PVName = "EC-GN-P01-GPS:PLC4110-RV2"
PVName = (@rfid .. "-GPS:PLC4110-RV2")
Type = uint32
}
HVARMED = {
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA1"
PVName = (@rfid .. "-GPF:PCF4210-YTS-GA1")
Type = uint32
}
HVINJECTION = {
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA2"
PVName = (@rfid .. "-GPF:PCF4210-YTS-GA2")
Type = uint32
}
RFON = {
PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA3"
PVName = (@rfid .. "-GPF:PCF4210-YTS-GA3")
Type = uint32
}
// Output PVs in Variables-operation tab.
MHVPS_PREP_WF = {
PVName = "EC-GN-P01-PMF:STAT-PREP-WF"
PVName = (@rfid .. "-PMF:STAT-PREP-WF")
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
BPS_PREP_WF = {
PVName = "EC-GN-P01-PB1F:STAT-PREP-WF"
PVName = (@rfid .. "-PB1F:STAT-PREP-WF")
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
APS_PREP_WF = {
PVName = "EC-GN-P01-PA1F:STAT-PREP-WF"
PVName = (@rfid .. "-PA1F:STAT-PREP-WF")
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
FHPS_PREP_WF = {
PVName = "EC-GN-P01-GAF-FHPS:STAT-PREP-WF"
PVName = (@rfid .. "-GAF-FHPS:STAT-PREP-WF")
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
MCPS_PREP_WF = {
PVName = "EC-GN-P01-GAF-MCPS:STAT-PREP-WF"
PVName = (@rfid .. "-GAF-MCPS:STAT-PREP-WF")
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GCPS_PREP_WF = {
PVName = "EC-GN-P01-GAF-GCPS:STAT-PREP-WF"
PVName = (@rfid .. "-GAF-GCPS:STAT-PREP-WF")
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
PREP_TIME_WF = {
PVName = "EC-GN-P01-GAF:STAT-PREP-TIME-WF"
PVName = (@rfid .. "-GAF:STAT-PREP-TIME-WF")
Type = int32
NumberOfElements = 8000
NumberOfDimensions = 1
}
BEAM_ON_TIME = {
PVName = "EC-GN-P01-GAF:STAT-BEAMON-TIME"
PVName = (@rfid .. "-GAF:STAT-BEAMON-TIME")
Type = uint32
}
ELAPSED_TIME = {
PVName = "EC-GN-P01-GAF:STAT-ELAPSED"
PVName = (@rfid .. "-GAF:STAT-ELAPSED")
Type = uint32
}
SHOT_ID = {
PVName = "EC-GN-P01-GAF:STAT-SHOT-ID"
PVName = (@rfid .. "-GAF:STAT-SHOT-ID")
Type = uint32
}
CSV_LOADED = {
PVName = "EC-GN-P01-GAF:STAT-CSV-LOADED"
PVName = (@rfid .. "-GAF:STAT-CSV-LOADED")
Type = uint32
}
CSV_ERR = {
PVName = "EC-GN-P01-GAF:STAT-CSV-ERR"
PVName = (@rfid .. "-GAF:STAT-CSV-ERR")
Type = uint32
}
// Output PVs in Variables-jastec tab.
MCPS_TRG_CURR_SET = {
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO"
PVName = (@rfid .. "-GAF-MCPS:PSU2120-TRG-CURR-SET-MO")
Type = float32
}
MCPS_ACT_SP = {
PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO"
PVName = (@rfid .. "-GAF-MCPS:PSU2120-ACT-SP-MO")
Type = uint32
}
GCPS_TRG_CURR_SET = {
PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO"
PVName = (@rfid .. "-GAF-GCPS:PSU2130-TRG-CURR-SET-MO")
Type = float32
}
GCPS_ACT_SP = {
PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO"
PVName = (@rfid .. "-GAF-GCPS:PSU2130-ACT-SP-MO")
Type = uint32
}
// Output PVs in Variables-kikusui tab.
CCPS_REF = {
PVName = "EC-GN-P01-GAF-CCPS:PSU2320-EREF"
PVName = (@rfid .. "-GAF-CCPS:PSU2320-EREF")
Type = float32
}
FHPS_AUTO_STAT = {
PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT"
PVName = (@rfid .. "-GAF-FHPS:PSU2610-AUTO-STAT")
Type = uint32
}
// Add 20201117
APS_HVON = {
PVName = "EC-GN-P01-PA1F:PSU3000-CON-HV"
Type = uint32
PVName = (@rfid .. "-PA1F:PSU3000-CON-HV")
Type = uint8
}
APS_SWON = {
PVName = "EC-GN-P01-PA1F:PSU3000-CON-SW"
Type = uint32
PVName = (@rfid .. "-PA1F:PSU3000-CON-SW")
Type = uint8
}
BPS_HVON = {
PVName = "EC-GN-P01-PB1F:PSU1000-CON-HV"
Type = uint32
PVName = (@rfid .. "-PB1F:PSU1000-CON-HV")
Type = uint8
}
BPS_SWON = {
PVName = "EC-GN-P01-PB1F:PSU1000-CON-SW"
Type = uint32
PVName = (@rfid .. "-PB1F:PSU1000-CON-SW")
Type = uint8
}
MHVPS_HVON = {
PVName = "EC-GN-P01-PMF:STAT-HVON-CALC.A"
Type = uint32
PVName = (@rfid .. "-PMF:STAT-HVON-CALC.A")
Type = uint8
}
EXT_TRIGGER = {
PVName = (@rfid .. "-GAF:DIO4900-YON")
Type = uint8
}
ECPC_MHVPS_MOD = {
PVName = (@rfid .. "-GPF:PSU0000-YSTA-MOD")
Type = uint8
}
PLC_PERMIT = {
PVName = (@rfid .. "-GPS:PLC4110-CON-GY1PRM")
Type = uint8
}
PLC_OP_SELECTED = {
PVName = (@rfid .. "-GPS:PLC4110-CON-OPGY1")
Type = uint8
}
CCPS_IN_OP = {
PVName = (@rfid .. "-GPS:PLC4110-YON-CCPS1")
Type = uint8
}
PLC_SYNCMODE = {
PVName = (@rfid .. "-GPS:PLC4110-YSTA-MPSS")
Type = uint8
}
PLC_ITL = {
PVName = (@rfid .. "-GPS:PLC4110-YTRP")
Type = uint8
}
PLC_STANDBY = {
PVName = (@rfid .. "-GPS:PLC4110-ST1R")
Type = uint8
}
PLC_READY = {
PVName = (@rfid .. "-GPS:PLC4110-ST2R")
Type = uint8
}
PLC_ON = {
PVName = (@rfid .. "-GPS:PLC4110-ST3R")
Type = uint8
}
APS_FLT = {
PVName = (@rfid .. "-PA1F:PSU3000-YFLT")
Type = uint8
}
APS_READY = {
PVName = (@rfid .. "-PA1F:PSU3000-YSTA")
Type = uint8
}
BPS_FLT = {
PVName = (@rfid .. "-PA1F:PSU1000-YFLT")
Type = uint8
}
BPS_READY = {
PVName = (@rfid .. "-PA1F:PSU1000-YSTA")
Type = uint8
}
MHPS_FLT = {
PVName = (@rfid .. "-PMF:PSU0000-YFLT")
Type = uint8
}
MHPS_READY = {
PVName = (@rfid .. "-PMF:PSU0000-TYSTA")
Type = uint8
}
MHPS_OC = {
PVName = (@rfid .. "-GAFP:FMC4310-YFLT-OC")
Type = uint8
}
MHPS_OV = {
PVName = (@rfid .. "-GAFP:FMC4310-YFLT-OV")
Type = uint8
}
CRIO_RV1 = {
Type = uint8
PVName = (@rfid .. "-GAFP:FMC4310-RV1")
}
CRIO_RV2 = {
Type = uint8
PVName = (@rfid .. "-GAFP:FMC4310-RV2")
}
CRIO_RV3 = {
Type = uint8
PVName = (@rfid .. "-GAFP:FMC4310-RV3")
}
FAST_ITL = {
Type = uint8
PVName = (@rfid .. "-GAFP:FMC4310-YTRP")
}
//! unused: Not shared with th1 (TODO)
FAST_PAUSE = {
Type = uint8
PVName = (@rfid .. "-GAFP:FMC4310-YTRP2")
}
PXI_6259_STATE = {
Type = uint8
PVName = (@rfid .. "-HWCF:6259-0-STATUS")
}
//! unused: No 6683 DS (TODO)
PXI_6683_STATE = {
Type = uint8
PVName = (@rfid .. "-HWCF:6683-0-STATUS")
}
//! unused: No 6683 DS (TODO)
PXI_6683_SYNC = {
Type = uint8
PVName = (@rfid .. "-HWCF:6683-0-SYNC")
}
//! unused: No 6683 DS (TODO)
PXI_6683_SYNCLOST = {
Type = uint8
PVName = (@rfid .. "-HWCF:6683-0-SYNCLOST")
}
PXI_6528_STATE = {
Type = uint8
PVName = (@rfid .. "-HWCF:6528-0-STATUS")
}
}
}

View File

@@ -1,5 +1,6 @@
#package jada_gyro.RTApp.Data
+DDB1 = {
Signals = {
//# PXI Status
@@ -12,15 +13,6 @@
PXI6259_Status = {
Type = uint32
}
PCF_FLT_6259 = {
Type = uint32
}
PCF_FLT_6368_ERRNO_04 = {
Type = uint32
}
PCF_FLT_6368_ERRNO_03 = {
Type = uint32
}
GYA_APS_READY = {
Type = uint8
}
@@ -111,13 +103,23 @@
BEAM_ON_TIME = {
Type = uint32
}
SHOT_ID = {
Type = uint32
}
CRIO_RV1 = {
Type = uint8
}
CRIO_RV2 = {
Type = uint8
}
CRIO_RV3 = {
Type = uint8
}
}
}
+DDB3 = {
Signals = {
//! unused: To be udpdated
PXI6528_Status = {
// PXI 6528 Board Status
SHOT_ID = {
Type = uint32
}
//# DI.0
@@ -160,6 +162,18 @@
FAST_TRIP = {
Type = uint8
}
//# DI 11
CRIO_RV1 = {
Type = uint8
}
//# DI 12
CRIO_RV2 = {
Type = uint8
}
//# DI 13
CRIO_RV3 = {
Type = uint8
}
//# DI.14
PLC_ITL = {
Type = uint8
@@ -324,9 +338,9 @@
//# P1.0 I.08 ECPC Modulation
//# P1.1 I.09 Fast Protection Trip
//# P1.2 I.10
//# P1.3 I.11
//# P1.4 I.12
//# P1.5 I.13
//# P1.3 I.11 CRIO RV1
//# P1.4 I.12 CRIO RV2
//# P1.5 I.13 CRIO RV3
//# P1.6 I.14 LV1 Alarm
//# P1.7 I.15 PLC STANDBY
DI1 = {
@@ -387,10 +401,13 @@
//# NI6259.0
//# APS_SWON BoardId=0, PortId=3.0
+NI6259_DIO_P0 = {
Class = NI6259::NI6259DIO
Class = NI6259DIO
DeviceName = "/dev/pxi6259"
BoardId = 1
Signals = {
Status = {
Type = uint32
}
NI6259Value = {
Type = uint32
Mask = 0xFF
@@ -398,95 +415,3 @@
}
}
}
+NI6259_AO = {
Class = GAMDataSource
Signals = {
CCPS_REF = {
Type = float32
}
}
}
//# Analog slow monitor PXI NI6259
//# TODO implement
+NI6259_AI = {
Class = GAMDataSource
Signals = {
PXI6259_Status = {
Type = uint32
}
GYA_BPS_MESVOLT = {
// AI: 0
Type = float32
}
GYA_BPS_MESCURR = {
// AI: 1
Type = float32
}
GYA_APS_MESVOLT = {
// AI: 2
Type = float32
}
GYA_APS_MESCURR = {
// AI: 3
Type = float32
}
GYA_ARC1_MESVOLT = {
// AI:4
Type = float32
}
GYA_ARC2_MESVOLT = {
// AI:5
Type = float32
}
GYA_ARC3_MESVOLT = {
// AI:6
Type = float32
}
GYA_MHVPS_MESVOLT = {
Type = float32
// AI:8
}
GYA_MHVPS_MESCURR = {
Type = float32
// AI:9
}
GYA_MCPS_CURR_MON = {
Type = float32
}
GYA_GCPS_CURR_MON = {
Type = float32
}
GYA_FHPS_MEAS_ACI = {
Type = float32
}
GYA_CCPS_MEAS_DCI = {
Type = float32
}
// TODO check where is measured
FHPS_MEAS_ACV = {
Type = float32
}
}
}
+PXI6368_3_DataSource = {
Class = GAMDataSource
Signals = {
PXI6368_0 = {
Type = uint32
}
PXI6368_1 = {
Type = uint32
}
}
}
+PXI6368_4_DataSource = {
Class = GAMDataSource
Signals = {
PXI6368_0 = {
Type = uint32
}
PXI6368_1 = {
Type = uint32
}
}
}

View File

@@ -9,14 +9,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
@@ -25,23 +25,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
SignalValue = @state_standby
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -56,14 +56,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
@@ -72,23 +72,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
SignalValue = @state_error
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT

View File

@@ -10,14 +10,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
@@ -26,23 +26,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
SignalValue = @state_standby
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT

View File

@@ -9,8 +9,8 @@
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
@@ -19,23 +19,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
SignalValue = @state_standby
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT

View File

@@ -9,14 +9,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
@@ -25,23 +25,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
SignalValue = @state_standby
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -56,14 +56,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
@@ -72,23 +72,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 5
SignalValue = @state_permit
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -103,14 +103,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
@@ -119,23 +119,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
SignalValue = @state_error
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT

View File

@@ -9,14 +9,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
@@ -25,23 +25,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
SignalValue = @state_standby
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -56,14 +56,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
@@ -72,23 +72,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 5
SignalValue = @state_permit
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -103,14 +103,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
@@ -119,23 +119,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
SignalValue = @state_error
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT

View File

@@ -9,14 +9,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
@@ -25,23 +25,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
SignalValue = @state_standby
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -56,14 +56,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
@@ -72,23 +72,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 5
SignalValue = @state_permit
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -103,14 +103,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
@@ -119,23 +119,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
SignalValue = @state_error
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT

View File

@@ -9,14 +9,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
@@ -25,23 +25,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
SignalValue = @state_standby
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -56,14 +56,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
@@ -72,23 +72,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 5
SignalValue = @state_permit
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -103,14 +103,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
@@ -119,23 +119,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
SignalValue = @state_error
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT

View File

@@ -9,14 +9,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitReady
@@ -25,23 +25,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 4
SignalValue = @state_ready
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -56,14 +56,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitHVON
@@ -72,23 +72,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 6
SignalValue = @state_hvon
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -103,14 +103,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitHVON_SDN
@@ -119,23 +119,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 8
SignalValue = @state_hvon_sdn
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -150,14 +150,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitHVON_PREP
@@ -166,23 +166,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 7
SignalValue = @state_hvon_prep
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -197,14 +197,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitHVON_SDN_PREP
@@ -213,23 +213,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 9
SignalValue = @state_hvon_sdn_prep
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -244,14 +244,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
@@ -260,23 +260,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
SignalValue = @state_error
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT

View File

@@ -9,14 +9,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
@@ -25,23 +25,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
SignalValue = @state_standby
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -56,14 +56,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
@@ -72,23 +72,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 5
SignalValue = @state_permit
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -103,14 +103,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
@@ -119,23 +119,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
SignalValue = @state_error
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT

View File

@@ -9,14 +9,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitReady
@@ -25,23 +25,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 4
SignalValue = @state_ready
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -56,14 +56,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = Disabled
@@ -72,23 +72,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 2
SignalValue = @state_disabled
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
@@ -103,14 +103,14 @@
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
Function = "StopCurrentStateExecution"
Mode = "ExpectsReply"
}
+PrepareNextStateMsg = {
Class = Message
Destination = RTApp
Mode = ExpectsReply
Function = PrepareNextState
Mode = "ExpectsReply"
Function = "PrepareNextState"
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
@@ -119,23 +119,23 @@
+StartNextStateExecutionMsg = {
Class = Message
Destination = RTApp
Function = StartNextStateExecution
Mode = ExpectsReply
Function = "StartNextStateExecution"
Mode = "ExpectsReply"
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
SignalValue = @state_error
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
Destination = RTApp.Functions.StateGAM
Function = "SetOutput"
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT

View File

@@ -1,7 +1,58 @@
#package jada_gyro.RTApp.Data
+DDB1 = {
Signals = {
FAST_STOP = {
Type = uint32
}
PREP_TIME_WF = {
Type = uint32
NumberOfElements = 8000
NumberOfDimensions = 1
}
MHVPS_PREP_WF = {
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
BPS_PREP_WF = {
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
APS_PREP_WF = {
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
MCPS_PREP_WF = {
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GCPS_PREP_WF = {
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
FHPS_PREP_WF = {
Type = float32
NumberOfElements = 8000
NumberOfDimensions = 1
}
GYA_PREPRO_TIME = {
Type = int32
}
FHPS_PrePro = {
Type = float32
}
CSV_LOADED = {
Type = uint32
}
CSV_ERR = {
Type = uint32
}
GCPS_TRG_CURR_SET = {
Type = float32
}
@@ -42,3 +93,40 @@
}
}
}
+Th1Bridge = {
Class = RealTimeThreadAsyncBridge
NumberOfBuffers = 20
Signals = {
APS_OUT = {
Type = float32
}
BPS_OUT = {
Type = float32
}
MHVPS_OUT = {
Type = float32
}
PLC_STANDBY = {
Type = uint8
}
FHPS_PrePro = {
Type = float32
}
PXI_FAULT = {
Type = uint32
}
}
}
+NI_6683H = {
Class = NI6683H
BoardId = 0
Signals = {
Status = {
Type = uint8
}
PtpdStatus = {
Type = uint8
}
}
}

View File

@@ -1,5 +1,6 @@
#package jada_gyro.RTApp.Functions
//# Copy data from DDB1 to EPICSCAOutput DataSource.
+EPICSOutputGAM = {
Class = IOGAM
@@ -7,13 +8,17 @@
PCF_STATE = {
DataSource = DDB1
}
MCPS_ACT_SP = {
//! implicit: unkown signal
MCPS_ACT_SP = { // TODO what the fuck it is?
DataSource = DDB1
Type = uint32
Value = 0
}
GCPS_ACT_SP = {
//! implicit: unkown signal
GCPS_ACT_SP = { // TODO what the fuck it is?
DataSource = DDB1
Type = uint32
Value = 0
}
BPS_OUT = {
DataSource = DDB1
@@ -28,8 +33,7 @@
DataSource = DDB1
}
FHPS_REF = {
DataSource = DDB1
Type = float32
DataSource = WGAsyncBridge
}
CSV_LOADED = {
DataSource = DDB1
@@ -45,74 +49,55 @@
}
HVARMED = {
DataSource = DDB1
Type = uint32
Type = uint8
}
HVINJECTION = {
DataSource = DDB1
Type = uint32
Type = uint8
}
RFON = {
DataSource = DDB1
Type = uint32
Type = uint8
}
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
DataSource = WGAsyncBridge
}
MHVPS_STOP = {
Alias = FAST_STOP
DataSource = DDB1
Type = uint32
}
APS_STOP = {
Alias = FAST_STOP
DataSource = DDB1
Type = uint32
}
BPS_STOP = {
Alias = FAST_STOP
DataSource = DDB1
Type = uint32
}
@@ -121,46 +106,124 @@
Type = uint32
}
// MARTe Internal PCF_FLT
PCF_FLT = {
PCF_FAULT = {
DataSource = DDB1
Type = uint32
}
PXI_FLT = {
PXI_FAULT = {
DataSource = DDB1
Type = uint32
}
BEAM_ON_STAT = {
DataSource = DDB1
Type = uint32
Type = uint8
}
SHOT_ID = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB1
}
FHPS_AUTO_STAT = {
DataSource = DDB1
Type = uint32
DataSource = WGAsyncBridge
}
// Add 20201117
APS_HVON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB1
}
APS_SWON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB1
}
BPS_HVON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB1
}
BPS_SWON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB1
}
MHVPS_HVON = {
DataSource = RealTimeThreadAsyncBridge
Type = uint32
DataSource = DDB1
}
TRIGGER = {
DataSource = DDB1
}
ECPC_MOD = {
DataSource = DDB1
}
PLC_PERMIT = {
DataSource = DDB1
}
PLC_OP_SELECTED = {
DataSource = DDB1
}
CCPS_IN_OPERATION = {
DataSource = DDB1
}
PLC_SYNCMODE = {
DataSource = DDB1
}
PLC_ITL = {
DataSource = DDB1
}
PLC_STANDBY = {
DataSource = DDB1
}
PLC_READY = {
DataSource = DDB1
}
PLC_ON = {
DataSource = DDB1
}
GYA_APS_FLT = {
DataSource = DDB1
}
GYA_APS_READY = {
DataSource = DDB1
}
GYA_BPS_FLT = {
DataSource = DDB1
}
GYA_BPS_READY = {
DataSource = DDB1
}
MHVPS_FLT = {
DataSource = DDB1
}
MHVPS_READY = {
DataSource = DDB1
}
MHVPS_OC = {
DataSource = DDB1
}
MHVPS_OV = {
DataSource = DDB1
}
CRIO_RV1 = {
DataSource = DDB1
}
CRIO_RV2 = {
DataSource = DDB1
}
CRIO_RV3 = {
DataSource = DDB1
}
FAST_TRIP = {
DataSource = DDB1
}
// DO_REV6 = {
// DataSource = DDB1
// }
PXI6259_Status = {
DataSource = DDB1
}
PXI_6683_STATE = {
DataSource = NI_6683H
Alias = Status
}
PXI_6683_SYNC = {
DataSource = NI_6683H
Alias = PtpdStatus
}
// PXI_6683_SYNCLOST = {
// DataSource = DDB1
// }
PXI6528_Status = {
DataSource = DDB1
}
}
OutputSignals = {
@@ -264,7 +327,6 @@
DataSource = EPICSCAOutput
Type = uint32
}
// EPICS PCF_FLT
PCF_FLT = {
DataSource = EPICSCAOutput
}
@@ -280,7 +342,6 @@
FHPS_AUTO_STAT = {
DataSource = EPICSCAOutput
}
// Added 20201117
APS_HVON = {
DataSource = EPICSCAOutput
}
@@ -296,5 +357,89 @@
MHVPS_HVON = {
DataSource = EPICSCAOutput
}
EXT_TRIGGER = {
DataSource = EPICSCAOutput
}
ECPC_MHVPS_MOD = {
DataSource = EPICSCAOutput
}
PLC_PERMIT = {
DataSource = EPICSCAOutput
}
PLC_OP_SELECTED = {
DataSource = EPICSCAOutput
}
CCPS_IN_OP = {
DataSource = EPICSCAOutput
}
PLC_SYNCMODE = {
DataSource = EPICSCAOutput
}
PLC_ITL = {
DataSource = EPICSCAOutput
}
PLC_STANDBY = {
DataSource = EPICSCAOutput
}
PLC_READY = {
DataSource = EPICSCAOutput
}
PLC_ON = {
DataSource = EPICSCAOutput
}
APS_FLT = {
DataSource = EPICSCAOutput
}
APS_READY = {
DataSource = EPICSCAOutput
}
BPS_FLT = {
DataSource = EPICSCAOutput
}
BPS_READY = {
DataSource = EPICSCAOutput
}
MHPS_FLT = {
DataSource = EPICSCAOutput
}
MHPS_READY = {
DataSource = EPICSCAOutput
}
MHPS_OC = {
DataSource = EPICSCAOutput
}
MHPS_OV = {
DataSource = EPICSCAOutput
}
CRIO_RV1 = {
DataSource = EPICSCAOutput
}
CRIO_RV2 = {
DataSource = EPICSCAOutput
}
CRIO_RV3 = {
DataSource = EPICSCAOutput
}
FAST_ITL = {
DataSource = EPICSCAOutput
}
// FAST_PAUSE = {
// DataSource = EPICSCAOutput
// }
PXI_6259_STATE = {
DataSource = EPICSCAOutput
}
PXI_6683_STATE = {
DataSource = EPICSCAOutput
}
PXI_6683_SYNC = {
DataSource = EPICSCAOutput
}
// PXI_6683_SYNCLOST = {
// DataSource = EPICSCAOutput
// }
PXI_6528_STATE = {
DataSource = EPICSCAOutput
}
}
}

View File

@@ -17,31 +17,24 @@
OutputSignals = {
PREP_TIME_WF = {
DataSource = DDB1
Type = float32
}
MHVPS_PREP_WF = {
DataSource = DDB1
Type = float32
}
BPS_PREP_WF = {
DataSource = DDB1
Type = float32
}
APS_PREP_WF = {
DataSource = DDB1
Type = float32
}
MCPS_PREP_WF = {
DataSource = DDB1
Type = float32
}
GCPS_PREP_WF = {
DataSource = DDB1
Type = float32
}
FHPS_PREP_WF = {
DataSource = DDB1
Type = float32
}
}
}

View File

@@ -1,89 +1,28 @@
#package jada_gyro.RTApp.Functions
//# Check PXI board status.
+PXI6259ErrorGAM = {
+PXIErrorGAM = {
Class = JAConditionalSignalUpdateGAM
Operation = OR
ExpectedValues = { 0 0 0 0 }
Comparators = { GREATER GREATER GREATER GREATER }
Values = { 1 }
Operation = "OR"
InputSignals = {
// Conditional signals
PXI6259_Status = {
DataSource = DDB1
PXI6368_Status_3 = {
Alias = PXI6368_Status
DataSource = Th4Bridge
Comparator = "EQUALS"
Value = 3
}
PXI6368_Status_4 = {
Alias = PXI6368_Status
DataSource = Th4Bridge
Comparator = "EQUALS"
Value = 4
}
PXI6528_Status = {
DataSource = DDB1
}
}
OutputSignals = {
PCF_FLT_6259 = {
DataSource = DDB1
}
}
}
+PXI6368Error03GAM = { // detect Hardware error (status number 3) for PXI6368 boards.
Class = JAConditionalSignalUpdateGAM
Operation = OR
InputSignals = {
PXI6368_0 = {
DataSource = PXI6368_3_DataSource
Comparator = "EQUALS"
Value = 3
}
PXI6368_1 = {
DataSource = PXI6368_3_DataSource
Comparator = "EQUALS"
Value = 3
}
}
OutputSignals = {
PCF_FLT_6368_ERRNO_03 = {
DataSource = DDB1
Default = 0
Value = 1
}
}
}
+PXI6368Error04GAM = { // detect No board error (status number 4) for PXI6368 boards.
Class = JAConditionalSignalUpdateGAM
Operation = OR
InputSignals = {
PXI6368_0 = {
DataSource = PXI6368_4_DataSource
Comparator = "EQUALS"
Value = 4
}
PXI6368_1 = {
DataSource = PXI6368_4_DataSource
Comparator = "EQUALS"
Value = 4
}
}
OutputSignals = {
PCF_FLT_6368_ERRNO_04 = {
DataSource = DDB1
Default = 0
Value = 1
}
}
}
+PXIErrorGAM = {
Class = JAConditionalSignalUpdateGAM
Operation = OR
Values = { 1 }
InputSignals = {
PCF_FLT_6368_ERRNO_03 = {
DataSource = DDB1
Comparator = "GREATER"
Value = 0
}
PCF_FLT_6368_ERRNO_04 = {
DataSource = DDB1
Comparator = "GREATER"
Value = 0
}
PCF_FLT_6259 = {
PXI6259_Status = {
DataSource = DDB1
Comparator = "GREATER"
Value = 0

View File

@@ -1,48 +1,6 @@
#package jada_gyro.RTApp.Functions
// GAM for trianguler waveform generation.
+CCPSWaveformGAM = {
Class = JATriangleWaveGAM
InputSignals = {
Frequency = {
Alias = CCPS_OUTPUT_FREQ
DataSource = EPICSCAInput
}
Amplitude = {
Alias = CCPS_OUTPUT_AMP
DataSource = EPICSCAInput
}
Offset = {
Alias = CCPS_OUTPUT_OFFS
DataSource = EPICSCAInput
}
PLCSTANDBY = {
Alias = PLC_STANDBY
DataSource = DDB1
}
}
OutputSignals = {
CCPS_REF = {
DataSource = NI6259_AO
}
}
}
// MCPS, GCPS PV to DDB1
+GCPSGAM = {
Class = IOGAM
InputSignals = {
GCPS_TRG_CURR_MANUAL = {
DataSource = EPICSCAInput
Type = float32
}
}
OutputSignals = {
GCPS_TRG_CURR_SET = {
DataSource = DDB1
Type = float32
}
}
}
//# MCPS, GCPS PV to DDB1
+MCPSGAM = {
Class = IOGAM
InputSignals = {
@@ -50,17 +8,25 @@
DataSource = EPICSCAInput
Type = float32
}
GCPS_TRG_CURR_MANUAL = {
DataSource = EPICSCAInput
Type = float32
}
}
OutputSignals = {
MCPS_TRG_CURR_SET = {
DataSource = DDB1
Type = float32
}
GCPS_TRG_CURR_SET = {
DataSource = DDB1
Type = float32
}
}
}
//# Switching AO port source between internal variable and EPICS PV.
+ChoiceGAM = {
Class = JASourceChoiseGAM
Class = JASourceChoiceGAM
// numberOfPVs = 5
InputSignals = {
BPS_REF = {
@@ -147,69 +113,3 @@
}
}
}
// GAM for FHPS ramping up operation.
+FHPSSetpointGAM = {
Class = IOGAM
InputSignals = {
FHPS_AUTO_TAGV = {
DataSource = EPICSCAInput
Type = float32
}
}
OutputSignals = {
FHPS_TAGV = {
DataSource = DDB1
Type = float32
}
}
}
+FHPSRampupGAM = {
Class = JARampupGAM
InputSignals = {
Currspv = {
Alias = FHPS_REF
DataSource = DDB1
Type = float32
}
Targetv = {
Alias = FHPS_TAGV
DataSource = DDB1
Type = float32
}
Time = {
Alias = FHPS_AUTO_TIME
DataSource = EPICSCAInput
Type = float32
}
Start = {
Alias = FHPS_AUTO_START
DataSource = EPICSCAInput
Type = uint32
}
PLC_STANDBY = {
Alias = PLC_STANDBY
DataSource = NI6528_0_DIO
Type = uint32
}
MANUAL_AUTO = {
Alias = FHPS_MANM
DataSource = EPICSCAInput
Type = uint32
}
FHPS_PrePro = {
DataSource = DDB1
Type = float32
}
}
OutputSignals = {
FHPS_REF = {
DataSource = DDB1 // probably to be direct analog output
Type = float32
}
//TODO remove as not used
FHPS_AUTO_STAT = {
DataSource = DDB1
Type = uint32
}
}
}

View File

@@ -4,6 +4,15 @@
+DDB1 = {
Signals = {
//# Fast controller state variable
//# - 0: Init
//# - 1: Error
//# - 3: Wait Standby
//# - 4: Wait Ready
//# - 5: Wait Permit
//# - 6: Wait HVON
//# - 7: Wait HVON PREP
//# - 8: Wait HVON SDN
//# - 9: Wait HVON SDN PREP
PCF_STATE = {
Type = uint32
}
@@ -16,12 +25,14 @@
}
+Functions = {
//# GAM That publish state of the system
//# The values will be updated by messages coming from
//# the statemachine
+StateGAM = {
Class = ConstantGAM
OutputSignals = {
PCF_STATE = {
DataSource = DDB1
Default = 0
Default = @state_none
}
PCF_FAULT = {
DataSource = DDB1
@@ -32,7 +43,7 @@
//# From any state to Error state.
+GoErrorGAM = {
Class = JAMessageGAM
Operation = OR
Operation = "OR"
InputSignals = {
GYA_APS_FLT = {
DataSource = DDB1
@@ -136,7 +147,7 @@
PLC_SELECT = {
DataSource = EPICSCAInput
Type = uint32
Operator = "EQUALS"
Comparator = "EQUALS"
Value = 0
}
}
@@ -177,9 +188,8 @@
Comparator = "EQUALS"
Value = 1
}
FHPS_MEAS_ACV = {
DataSource = NI6259_AI
Type = float32
GY_FHPS_MEAS_ACV = {
DataSource = EPICSCAInput
Comparator = "GREATER"
Value = 0.0
}
@@ -231,15 +241,15 @@
//# GAM in WaitPermit state. Check Permit and States of Operation Modes.
+GoWaitReadyFromWaitPermitGAM = {
Class = JAMessageGAM
Operation = OR
Operation = "OR"
InputSignals = {
PLC_STANDBY = {
DataSource = DDB1
Value = 0
ExpectedValue = 0
}
PLC_READY = {
DataSource = DDB1
Value = 0
ExpectedValue = 0
}
}
+Event = {
@@ -250,20 +260,21 @@
}
+GoWaitHVONGAM = {
Class = JAMessageGAM
Operation = AND
Operation = "AND"
InputSignals = {
PLC_SYNCMODE = {
DataSource = DDB1
Operator = "EQUALS"
Comparator = "EQUALS"
Value = 0
}
PREP_MODE = {
DataSource = EPICSCAInput
Operator = "EQUALS"
Comparator = "EQUALS"
Value = 0
}
PLC_PERMIT = {
DataSource = DDB1
Comparator = "EQUALS"
Value = 1
}
}
@@ -275,19 +286,21 @@
}
+GoWaitHVON_PREP_GAM = {
Class = JAMessageGAM
Operation = AND
Operation = "AND"
InputSignals = {
PLC_SYNCMODE = {
DataSource = DDB1
Comparator = "EQUALS"
Value = 0
}
PREP_MODE = {
DataSource = EPICSCAInput
Operator = "EQUALS"
Comparator = "EQUALS"
Value = 1
}
PLC_PERMIT = {
DataSource = DDB1
Comparator = "EQUALS"
Value = 1
}
}
@@ -299,19 +312,21 @@
}
+GoWaitHVON_SDN_GAM = {
Class = JAMessageGAM
Operation = AND
Operation = "AND"
InputSignals = {
PLC_SYNCMODE = {
DataSource = DDB1
Comparator = "EQUALS"
Value = 1
}
PREP_MODE = {
DataSource = EPICSCAInput
Operator = "EQUALS"
Comparator = "EQUALS"
Value = 0
}
PLC_PERMIT = {
DataSource = DDB1
Comparator = "EQUALS"
Value = 1
}
}
@@ -323,19 +338,21 @@
}
+GoWaitHVON_SDN_PREP_GAM = {
Class = JAMessageGAM
Operation = AND
Operation = "AND"
InputSignals = {
PLC_SYNCMODE = {
DataSource = DDB1
Comparator = "EQUALS"
Value = 1
}
PREP_MODE = {
DataSource = EPICSCAInput
Operator = "EQUALS"
Comparator = "EQUALS"
Value = 1
}
PLC_PERMIT = {
DataSource = DDB1
Comparator = "EQUALS"
Value = 1
}
}
@@ -348,10 +365,11 @@
//# GAM in WaitHVON_xx states. If PLC_READY is zero, goto WaitStandby.
+FromWaitHVONToWaitStandby = {
Class = JAMessageGAM
Operation = AND
Operation = "AND"
InputSignals = {
PLC_READY = {
DataSource = DDB1
Comparator = "EQUALS"
Value = 0
}
}
@@ -364,35 +382,36 @@
//# GAM in WaitHVON_xx states. If PLC_PERMIT is zero, goto WaitPermit.
+FromWaitHVONToWaitPermit = {
Class = JAMessageGAM
Operation = AND
Operation = "AND"
InputSignals = {
PLC_PERMIT = {
DataSource = DDB1
Comparator = "EQUALS"
Value = 0
}
APS_HVON = {
DataSource = DDB1
Comparator = EQUALS
Comparator = "EQUALS"
Value = 0
}
BPS_HVON = {
DataSource = DDB1
Comparator = EQUALS
Comparator = "EQUALS"
Value = 0
}
MHVPS_HVON = {
DataSource = DDB1
Comparator = EQUALS
Comparator = "EQUALS"
Value = 0
}
BPS_SWON = {
DataSource = DDB1
Comparator = EQUALS
Comparator = "EQUALS"
Value = 0
}
APS_SWON = {
DataSource = DDB1
Comparator = EQUALS
Comparator = "EQUALS"
Value = 0
}
}

View File

@@ -1,192 +1,304 @@
#package jada_gyro.RTApp.Functions
//# GAM used to sync data from Fast thread (th.3) to slow thread (th.1)
+FastStatesSync = {
//# Synchronise Thread 1 to Thread 3 using SynchTread data source
//# Thread 1 will be executed every @fast_slow_ratio cycles of Thread 3
+SyncThreadConsumerGAM = {
Class = IOGAM
InputSignals = {
PXI6528_Status_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
PXI6259_Status = {
Samples = @fast_slow_ratio
Frequency = 1
}
GYA_APS_READY_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
PXI6528_Status = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
GYA_APS_FLT_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
GYA_APS_READY = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
GYA_BPS_READY_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
GYA_APS_FLT = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
GYA_BPS_FLT_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
GYA_BPS_READY = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
MHVPS_OV_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
GYA_BPS_FLT = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
MHVPS_OC_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
MHVPS_OV = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
MHVPS_FLT_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
MHVPS_OC = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
MHVPS_READY_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
MHVPS_FLT = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
ECPC_MOD_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
MHVPS_READY = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
FAST_TRIP_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
ECPC_MOD = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
PLC_ITL_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
FAST_TRIP = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
PLC_STANDBY_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
PLC_ITL = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
PLC_READY_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
PLC_STANDBY = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
PLC_ON_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
PLC_READY = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
PLC_PERMIT_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
PLC_ON = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
PLC_OP_SELECTED_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
PLC_PERMIT = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
PLC_CC_OP_SELECTED_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
PLC_OP_SELECTED = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
PLC_SYNCMODE_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
PLC_CC_OP_SELECTED = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
TRIGGER_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
PLC_SYNCMODE = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
BEAM_ON_STAT_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
TRIGGER = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
HVARMED_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
BEAM_ON_STAT = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
HVINJECTION_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
HVARMED = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
RFON_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
HVINJECTION = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
BEAM_ON_TIME_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
RFON = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
RFON_TIME_SAMPLES = {
DataSource = DDB1
Ranges = { { 0 0 } }
BEAM_ON_TIME = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
RFON_TIME = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
SHOT_ID = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
CRIO_RV1 = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
CRIO_RV2 = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
CRIO_RV3 = {
DataSource = SynchThread
Samples = @fast_slow_ratio
}
}
OutputSignals = {
PXI6259_Status = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
PXI6528_Status = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
GYA_APS_READY = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
GYA_APS_FLT = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
GYA_BPS_READY = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
GYA_BPS_FLT = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
MHVPS_OV = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
MHVPS_OC = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
MHVPS_FLT = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
MHVPS_READY = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
ECPC_MOD = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
FAST_TRIP = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
PLC_ITL = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
PLC_STANDBY = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
PLC_READY = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
PLC_ON = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
PLC_PERMIT = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
PLC_OP_SELECTED = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
PLC_CC_OP_SELECTED = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
PLC_SYNCMODE = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
TRIGGER = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
BEAM_ON_STAT = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
HVARMED = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
HVINJECTION = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
RFON = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
ELAPSED_TIME = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
BEAM_ON_TIME = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
SHOT_ID = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
CRIO_RV1 = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
CRIO_RV2 = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
CRIO_RV3 = {
DataSource = DDB1
Ranges = { { @dec_index, @dec_index } }
}
}
}
+EPICSThSyncGAM = {
Class = IOGAM
InputSignals = {
BPS_OUT = {
DataSource = DDB1
}
APS_OUT = {
DataSource = DDB1
}
MHVPS_OUT = {
DataSource = DDB1
}
PLC_STANDBY = {
DataSource = DDB1
}
PLC_READY = {
FHPS_PrePro = {
DataSource = DDB1
}
PLC_ON = {
PXI_FAULT = {
DataSource = DDB1
}
PLC_PERMIT = {
DataSource = DDB1
}
PLC_OP_SELECTED = {
DataSource = DDB1
OutputSignals = {
BPS_OUT = {
DataSource = Th1Bridge
}
PLC_CC_OP_SELECTED = {
DataSource = DDB1
APS_OUT = {
DataSource = Th1Bridge
}
PLC_SYNCMODE = {
DataSource = DDB1
MHVPS_OUT = {
DataSource = Th1Bridge
}
TRIGGER = {
DataSource = DDB1
PLC_STANDBY = {
DataSource = Th1Bridge
}
BEAM_ON_STAT = {
DataSource = DDB1
FHPS_PrePro = {
DataSource = Th1Bridge
}
HVARMED = {
DataSource = DDB1
}
HVINJECTION = {
DataSource = DDB1
}
RFON = {
DataSource = DDB1
}
ELAPSED_TIME = {
DataSource = DDB1
}
BEAM_ON_TIME = {
DataSource = DDB1
PXI_FAULT = {
DataSource = Th1Bridge
}
}
}

View File

@@ -1,5 +1,6 @@
#package jada_gyro.RTApp
+Data = {
//# SDN subscriber
+SDNCommands = {
@@ -28,7 +29,7 @@
}
}
}
+RealTimeThreadAsyncBridge = {
+Th2Bridge = {
Class = RealTimeThreadAsyncBridge
NumberOfBuffers = 20
Signals = {
@@ -57,10 +58,12 @@
}
}
+SDNReply = {
Class = SDN::SDNPublisher
Class = SDNPublisher
Topic = "SCUJA2ECPC"
Interface = "enp35s0f1"
CPUs = 0x200 // changed from 0x100
Address = "192.195.1.1"
Port = 2000
Locked = 1
Signals = {
//! unused: SDN header not used
@@ -131,7 +134,7 @@
DataSource = SDNCommands
NumberOfDimensions = 1
NumberOfElements = 64
Ranges = { { 0 0 } }
Ranges = { { 0, 0 } }
}
ESDNTime = {
DataSource = SDNCommands
@@ -141,7 +144,7 @@
}
OutputSignals = {
Command = {
DataSource = RealTimeThreadAsyncBridge
DataSource = Th2Bridge
}
ESDNTime = {
DataSource = DDB2
@@ -157,44 +160,44 @@
WaveformPacketID = {
DataSource = DDB2
}
GYA_BPS_MESVOLT = {
DataSource = NI6259_AI
GY_BPS_V_MEAS = {
DataSource = Th4Bridge
}
GYA_BPS_MESCURR = {
DataSource = NI6259_AI
GY_BPS_I_MEAS = {
DataSource = Th4Bridge
}
GYA_APS_MESVOLT = {
DataSource = NI6259_AI
GY_APS_V_MEAS = {
DataSource = Th4Bridge
}
GYA_APS_MESCURR = {
DataSource = NI6259_AI
GY_APS_I_MEAS = {
DataSource = Th4Bridge
}
GYA_ARC1_MESVOLT = {
DataSource = NI6259_AI
GY_ARC1_V_MEAS = {
DataSource = Th4Bridge
}
GYA_ARC2_MESVOLT = {
DataSource = NI6259_AI
GY_ARC2_V_MEAS = {
DataSource = Th4Bridge
}
GYA_ARC3_MESVOLT = {
DataSource = NI6259_AI
GY_ARC3_V_MEAS = {
DataSource = Th4Bridge
}
GYA_MHVPS_MESVOLT = {
DataSource = NI6259_AI
GY_MHV_V_MEAS = {
DataSource = Th4Bridge
}
GYA_MHVPS_MESCURR = {
DataSource = NI6259_AI
GY_MHV_I_MEAS = {
DataSource = Th4Bridge
}
GYA_MCPS_CURR_MON = {
DataSource = NI6259_AI
GY_MCPS_CURR_MON = {
DataSource = EPICSCAInput
}
GYA_GCPS_CURR_MON = {
DataSource = NI6259_AI
GY_GCPS_CURR_MON = {
DataSource = EPICSCAInput
}
GYA_FHPS_MEAS_ACI = {
DataSource = NI6259_AI
GY_FHPS_MEAS_ACI = {
DataSource = EPICSCAInput
}
GYA_CCPS_MEAS_DCI = {
DataSource = NI6259_AI
GY_CCPS_MEAS_DCI = {
DataSource = EPICSCAInput
}
}
OutputSignals = {

View File

@@ -1,12 +1,15 @@
#package jada_gyro.RTApp
+Data = {
+SynchThread = {
Class = RealTimeThreadSynchronisation
Timeout = 0xFFFFFFFF
Signals = {
PXI6259_Status = {
Type = uint32
}
PXI6528_Status = {
// PXI 6528 Board Status
Type = uint32
}
GYA_APS_READY = {
@@ -39,6 +42,15 @@
FAST_TRIP = {
Type = uint8
}
CRIO_RV1 = {
Type = uint8
}
CRIO_RV2 = {
Type = uint8
}
CRIO_RV3 = {
Type = uint8
}
PLC_ITL = {
Type = uint8
}
@@ -84,139 +96,8 @@
RFON_TIME = {
Type = uint32
}
}
}
+DDB1 = {
Signals = {
PXI6528_Status_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
GYA_APS_READY_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
GYA_APS_FLT_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
GYA_BPS_READY_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
GYA_BPS_FLT_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
MHVPS_OV_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
MHVPS_OC_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
MHVPS_FLT_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
MHVPS_READY_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
ECPC_MOD_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
FAST_TRIP_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
PLC_ITL_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
PLC_STANDBY_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
PLC_READY_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
PLC_ON_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
PLC_PERMIT_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
PLC_OP_SELECTED_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
PLC_CC_OP_SELECTED_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
PLC_SYNCMODE_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
TRIGGER_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
BEAM_ON_STAT_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
HVARMED_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
HVINJECTION_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
RFON_SAMPLES = {
Type = uint8
NumberOfElements = 20
NumberOfDimensions = 1
}
BEAM_ON_TIME_SAMPLES = {
SHOT_ID = {
Type = uint32
NumberOfElements = 20
NumberOfDimensions = 1
}
RFON_TIME_SAMPLES = {
Type = uint32
NumberOfElements = 20
NumberOfDimensions = 1
}
}
}
@@ -228,6 +109,30 @@
RFON_TIME = {
Type = uint32
}
PXI6528_Status = {
Type = uint32
}
MHVPS_DT = {
Type = uint32
}
APS_HVON_DT = {
Type = uint32
}
APS_SWON_DT = {
Type = uint32
}
BPS_HVON_DT = {
Type = uint32
}
BPS_SWON_DT = {
Type = uint32
}
SHOTLEN = {
Type = uint32
}
SHORT_PULSE_MODE = {
Type = uint32
}
}
}
}
@@ -235,8 +140,13 @@
+SyncThreadProducerGAM = {
Class = IOGAM
InputSignals = {
PXI6259_Status = {
Alias = Status
DataSource = NI6259_DIO_P0
}
PXI6528_Status = {
DataSource = DDB3
Value = 0
}
GYA_APS_READY = {
DataSource = DDB3
@@ -268,6 +178,15 @@
FAST_TRIP = {
DataSource = DDB3
}
CRIO_RV1 = {
DataSource = DDB3
}
CRIO_RV2 = {
DataSource = DDB3
}
CRIO_RV3 = {
DataSource = DDB3
}
PLC_ITL = {
DataSource = DDB3
}
@@ -313,8 +232,14 @@
RFON_TIME = {
DataSource = DDB3
}
SHOT_ID = {
DataSource = DDB3
}
}
OutputSignals = {
PXI6259_Status = {
DataSource = SynchThread
}
PXI6528_Status = {
DataSource = SynchThread
}
@@ -348,6 +273,15 @@
FAST_TRIP = {
DataSource = SynchThread
}
CRIO_RV1 = {
DataSource = SynchThread
}
CRIO_RV2 = {
DataSource = SynchThread
}
CRIO_RV3 = {
DataSource = SynchThread
}
PLC_ITL = {
DataSource = SynchThread
}
@@ -393,197 +327,8 @@
RFON_TIME = {
DataSource = SynchThread
}
}
}
//# Synchronise Thread 1 to Thread 3 using SynchTread data source
//# Thread 1 will be executed every 20 cycles of Thread 3
+SyncThreadConsumerGAM = {
Class = IOGAM
InputSignals = {
PXI6528_Status = {
SHOT_ID = {
DataSource = SynchThread
Samples = 20
Frequency = 1
}
GYA_APS_READY = {
DataSource = SynchThread
Samples = 20
}
GYA_APS_FLT = {
DataSource = SynchThread
Samples = 20
}
GYA_BPS_READY = {
DataSource = SynchThread
Samples = 20
}
GYA_BPS_FLT = {
DataSource = SynchThread
Samples = 20
}
MHVPS_OV = {
DataSource = SynchThread
Samples = 20
}
MHVPS_OC = {
DataSource = SynchThread
Samples = 20
}
MHVPS_FLT = {
DataSource = SynchThread
Samples = 20
}
MHVPS_READY = {
DataSource = SynchThread
Samples = 20
}
ECPC_MOD = {
DataSource = SynchThread
Samples = 20
}
FAST_TRIP = {
DataSource = SynchThread
Samples = 20
}
PLC_ITL = {
DataSource = SynchThread
Samples = 20
}
PLC_STANDBY = {
DataSource = SynchThread
Samples = 20
}
PLC_READY = {
DataSource = SynchThread
Samples = 20
}
PLC_ON = {
DataSource = SynchThread
Samples = 20
}
PLC_PERMIT = {
DataSource = SynchThread
Samples = 20
}
PLC_OP_SELECTED = {
DataSource = SynchThread
Samples = 20
}
PLC_CC_OP_SELECTED = {
DataSource = SynchThread
Samples = 20
}
PLC_SYNCMODE = {
DataSource = SynchThread
Samples = 20
}
TRIGGER = {
DataSource = SynchThread
Samples = 20
}
BEAM_ON_STAT = {
DataSource = SynchThread
Samples = 20
}
HVARMED = {
DataSource = SynchThread
Samples = 20
}
HVINJECTION = {
DataSource = SynchThread
Samples = 20
}
RFON = {
DataSource = SynchThread
Samples = 20
}
BEAM_ON_TIME = {
DataSource = SynchThread
Samples = 20
}
RFON_TIME = {
DataSource = SynchThread
Samples = 20
}
}
OutputSignals = {
PXI6528_Status_SAMPLES = {
DataSource = DDB1
}
GYA_APS_READY_SAMPLES = {
DataSource = DDB1
}
GYA_APS_FLT_SAMPLES = {
DataSource = DDB1
}
GYA_BPS_READY_SAMPLES = {
DataSource = DDB1
}
GYA_BPS_FLT_SAMPLES = {
DataSource = DDB1
}
MHVPS_OV_SAMPLES = {
DataSource = DDB1
}
MHVPS_OC_SAMPLES = {
DataSource = DDB1
}
MHVPS_FLT_SAMPLES = {
DataSource = DDB1
}
MHVPS_READY_SAMPLES = {
DataSource = DDB1
}
ECPC_MOD_SAMPLES = {
DataSource = DDB1
}
FAST_TRIP_SAMPLES = {
DataSource = DDB1
}
PLC_ITL_SAMPLES = {
DataSource = DDB1
}
PLC_STANDBY_SAMPLES = {
DataSource = DDB1
}
PLC_READY_SAMPLES = {
DataSource = DDB1
}
PLC_ON_SAMPLES = {
DataSource = DDB1
}
PLC_PERMIT_SAMPLES = {
DataSource = DDB1
}
PLC_OP_SELECTED_SAMPLES = {
DataSource = DDB1
}
PLC_CC_OP_SELECTED_SAMPLES = {
DataSource = DDB1
}
PLC_SYNCMODE_SAMPLES = {
DataSource = DDB1
}
TRIGGER_SAMPLES = {
DataSource = DDB1
}
BEAM_ON_STAT_SAMPLES = {
DataSource = DDB1
}
HVARMED_SAMPLES = {
DataSource = DDB1
}
HVINJECTION_SAMPLES = {
DataSource = DDB1
}
RFON_SAMPLES = {
DataSource = DDB1
}
BEAM_ON_TIME_SAMPLES = {
DataSource = DDB1
}
RFON_TIME_SAMPLES = {
DataSource = DDB1
}
}
}

View File

@@ -30,31 +30,31 @@
DataSource = EPICSCAInput
Type = uint32
}
SHORT_PULSE_MODE = {
DataSource = EPICSCAInput
}
}
OutputSignals = {
MHVPS_DT = {
DataSource = DDB3
Type = uint32
}
APS_HVON_DT = {
DataSource = DDB3
Type = uint32
}
APS_SWON_DT = {
DataSource = DDB3
Type = uint32
}
BPS_HVON_DT = {
DataSource = DDB3
Type = uint32
}
BPS_SWON_DT = {
DataSource = DDB3
Type = uint32
}
SHOTLEN = {
DataSource = DDB3
Type = uint32
}
SHORT_PULSE_MODE = {
DataSource = DDB3
}
}
}

View File

@@ -2,42 +2,42 @@
+FastStopRequestGAM = {
Class = JAConditionalSignalUpdateGAM
Operation = OR
Operation = "OR"
InputSignals = {
GYA_APS_FLT = {
DataSource = DDB3
Comparators = EQUALS
Comparator = "EQUALS"
Value = 1
}
GYA_BPS_FLT = {
DataSource = DDB3
Comparators = EQUALS
Comparator = "EQUALS"
Value = 1
}
MHVPS_OV = {
DataSource = DDB3
Comparators = EQUALS
Comparator = "EQUALS"
Value = 1
}
MHVPS_OC = {
DataSource = DDB3
Comparators = EQUALS
Comparator = "EQUALS"
Value = 1
}
MHVPS_FLT = {
DataSource = DDB3
Comparators = EQUALS
Comparator = "EQUALS"
Value = 1
}
MIS_ITL = {
DataSource = EPICSCAInput
Type = uint32
Comparators = EQUALS
Comparator = "EQUALS"
Value = 1
}
PLC_ITL = {
DataSource = DDB3
Comparators = EQUALS
Comparator = "EQUALS"
Value = 1
}
}
@@ -78,13 +78,13 @@
DataSource = EPICSCAInput
}
RFON = {
DataSource = RealTimeThreadAsyncBridge
DataSource = Th2Bridge
}
Time = {
DataSource = RealTimeThreadAsyncBridge
DataSource = Th2Bridge
}
HVInjection = {
DataSource = RealTimeThreadAsyncBridge
DataSource = Th2Bridge
}
}
OutputSignals = {

View File

@@ -49,20 +49,14 @@
DataSource = DDB3
Type = uint8
}
//! implicit: placeholder for spare
NONE_DI11 = {
CRIO_RV1 = {
DataSource = DDB3
Type = uint8
}
//! implicit: placeholder for spare
NONE_DI12 = {
CRIO_RV2 = {
DataSource = DDB3
Type = uint8
}
//! implicit: placeholder for spare
NONE_DI13 = {
CRIO_RV3 = {
DataSource = DDB3
Type = uint8
}
PLC_ITL = {
DataSource = DDB3

View File

@@ -1,5 +1,6 @@
#package jada_gyro.RTApp.Functions
+GAMRealTimeStateMachine = {
Class = JARTStateMachineGAM
ConditionTrigger = 1
@@ -47,8 +48,7 @@
DataSource = DDB3
}
SHORT_PULSE_MODE = {
DataSource = EPICSCAInput
Type = uint32
DataSource = DDB3
}
MHVPS_MODSW = {
DataSource = DDB3
@@ -57,7 +57,6 @@
DO_REV6 = {
DataSource = DDB3
}
}
OutputSignals = {
RTSMValue = {
@@ -78,16 +77,16 @@
DataSource = DDB3
}
BeamONTime = {
Alias = BEAM_ON_TIME
DataSource = DDB3
Type = uint32
}
RFONTime = {
Alias = RFON_TIME
DataSource = DDB3
Type = uint32
}
SHOT_ID = {
DataSource = DDB3
Type = uint32
}
APS_HVON = {
DataSource = DDB3
@@ -158,7 +157,7 @@
DataSource = DDB3
}
Command = {
DataSource = RealTimeThreadAsyncBridge
DataSource = Th2Bridge
Type = uint16
}
}
@@ -168,8 +167,9 @@
Trigger = 1
}
BeamON = {
Alias = BEAM_ON_STAT
DataSource = DDB3
Type = uint32
Type = uint8
}
HVARMED = {
DataSource = DDB3
@@ -181,16 +181,17 @@
DataSource = DDB3
}
BeamONTime = {
Alias = BEAM_ON_TIME
DataSource = DDB3
Type = uint32
}
RFONTime = {
Alias = RFON_TIME
DataSource = DDB3
Type = uint32
}
SHOT_ID = {
DataSource = DDB3
Type = uint32
}
}
}

View File

@@ -0,0 +1,577 @@
#package jada_gyro.RTApp
+Data = {
+FastADC = {
Class = NI6368ADC
// The divisor is computed on BaseSampleClockFrequency.
SamplingFrequency = @sampling_freq
DeviceName = "/dev/pxie-6368"
IsMultiplexed = 0 // Default is 0 for 6368. Set to 1 if using 6363.
BoardId = 0 // Mandatory
ExecutionMode = "RealTimeThread" // Optional (default is IndepenentThread). Possible values:IndependentThread, RealTimeThread
Calibrate = 1 // Optional (default is 0). If disabled the signals show raw acquired value (signal type must be int16). If enabled the samples already converted accordingly to the declared InputRange. In this case the signal type must be float32
Signals = {
Status = {
Type = uint32
NumberOfElements = @slow_clock
}
GY_APS_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_APS_I_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_BPS_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_BPS_I_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_MHV_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_MHV_I_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_ARC1_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_ARC2_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_ARC3_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_RF_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
}
}
+DDB4 = {
Class = GAMDataSource
Signals = {
PXI6368_Status = {
Type = uint32
NumberOfElements = @slow_clock
}
GY_APS_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_APS_I_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_BPS_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_BPS_I_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_MHV_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_MHV_I_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_ARC1_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_ARC2_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_ARC3_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_RF_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
}
}
+FastAnalogDAN = {
Class = DANSource
NumberOfBuffers = 10
CPUMask = 15
StackSize = 10000000
DanBufferMultiplier = 4
StoreOnTrigger = 0
ICProgName = @app_name
Signals = {
GY_APS_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_APS_I_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_BPS_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_BPS_I_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_MHV_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_MHV_I_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_ARC1_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_ARC2_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_ARC3_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
GY_RF_V_MEAS = {
Type = float32
NumberOfElements = @slow_clock
}
}
}
+AnalogEpicsOutput = {
Class = EPICSCAOutput
Signals = {
PXI6368_Status = {
Type = uint32
PVName = (@rfid .. "-HWCF:6368-0-STATUS")
}
GY_APS_V_MEAS = {
Type = float32
PVName = (@rfid .. "-PA1F:PSU3000-ET")
}
GY_APS_I_MEAS = {
Type = float32
PVName = (@rfid .. "-PA1F:PSU3000-IT")
}
GY_BPS_V_MEAS = {
Type = float32
PVName = (@rfid .. "-PA1F:PSU2000-ET")
}
GY_BPS_I_MEAS = {
Type = float32
PVName = (@rfid .. "-PA1F:PSU2000-IT")
}
GY_MHV_V_MEAS = {
Type = float32
PVName = (@rfid .. "-PMF:PSU0000-ET-GA")
}
GY_MHV_I_MEAS = {
Type = float32
PVName = (@rfid .. "-PMF:PSU0000-IT-GA")
}
GY_ARC1_V_MEAS = {
Type = float32
PVName = (@rfid .. "-GAF:MOE2810-ET")
}
GY_ARC2_V_MEAS = {
Type = float32
PVName = (@rfid .. "-GAF:MOE2820-ET")
}
GY_ARC3_V_MEAS = {
Type = float32
PVName = (@rfid .. "-GAF:MOE2830-ET")
}
GY_RF_V_MEAS = {
Type = float32
PVName = (@rfid .. "-GAF:MRR2910-ET")
}
}
}
+Th4Bridge = {
Class = RealTimeThreadAsyncBridge
NumberOfBuffers = 20
Signals = {
PXI6368_Status = {
Type = uint32
}
GY_APS_V_MEAS = {
Type = float32
}
GY_APS_I_MEAS = {
Type = float32
}
GY_BPS_V_MEAS = {
Type = float32
}
GY_BPS_I_MEAS = {
Type = float32
}
GY_MHV_V_MEAS = {
Type = float32
}
GY_MHV_I_MEAS = {
Type = float32
}
GY_ARC1_V_MEAS = {
Type = float32
}
GY_ARC2_V_MEAS = {
Type = float32
}
GY_ARC3_V_MEAS = {
Type = float32
}
GY_RF_V_MEAS = {
Type = float32
}
}
}
}
+Functions = {
+ReadADC = {
Class = IOGAM
InputSignals = {
Status = {
DataSource = FastADC
Frequency = 1
}
GY_APS_V_MEAS = {
DataSource = FastADC
}
GY_APS_I_MEAS = {
DataSource = FastADC
}
GY_BPS_V_MEAS = {
DataSource = FastADC
}
GY_BPS_I_MEAS = {
DataSource = FastADC
}
GY_MHV_V_MEAS = {
DataSource = FastADC
}
GY_MHV_I_MEAS = {
DataSource = FastADC
}
GY_ARC1_V_MEAS = {
DataSource = FastADC
}
GY_ARC2_V_MEAS = {
DataSource = FastADC
}
GY_ARC3_V_MEAS = {
DataSource = FastADC
}
GY_RF_V_MEAS = {
DataSource = FastADC
}
}
OutputSignals = {
PXI6368_Status = {
DataSource = DDB4
}
GY_APS_V_MEAS = {
DataSource = DDB4
}
GY_APS_I_MEAS = {
DataSource = DDB4
}
GY_BPS_V_MEAS = {
DataSource = DDB4
}
GY_BPS_I_MEAS = {
DataSource = DDB4
}
GY_MHV_V_MEAS = {
DataSource = DDB4
}
GY_MHV_I_MEAS = {
DataSource = DDB4
}
GY_ARC1_V_MEAS = {
DataSource = DDB4
}
GY_ARC2_V_MEAS = {
DataSource = DDB4
}
GY_ARC3_V_MEAS = {
DataSource = DDB4
}
GY_RF_V_MEAS = {
DataSource = DDB4
}
}
}
+PushADCtoDAN = {
Class = IOGAM
InputSignals = {
GY_APS_V_MEAS = {
DataSource = DDB4
}
GY_APS_I_MEAS = {
DataSource = DDB4
}
GY_BPS_V_MEAS = {
DataSource = DDB4
}
GY_BPS_I_MEAS = {
DataSource = DDB4
}
GY_MHV_V_MEAS = {
DataSource = DDB4
}
GY_MHV_I_MEAS = {
DataSource = DDB4
}
GY_ARC1_V_MEAS = {
DataSource = DDB4
}
GY_ARC2_V_MEAS = {
DataSource = DDB4
}
GY_ARC3_V_MEAS = {
DataSource = DDB4
}
GY_RF_V_MEAS = {
DataSource = DDB4
}
}
OutputSignals = {
GY_APS_V_MEAS = {
DataSource = FastAnalogDAN
}
GY_APS_I_MEAS = {
DataSource = FastAnalogDAN
}
GY_BPS_V_MEAS = {
DataSource = FastAnalogDAN
}
GY_BPS_I_MEAS = {
DataSource = FastAnalogDAN
}
GY_MHV_V_MEAS = {
DataSource = FastAnalogDAN
}
GY_MHV_I_MEAS = {
DataSource = FastAnalogDAN
}
GY_ARC1_V_MEAS = {
DataSource = FastAnalogDAN
}
GY_ARC2_V_MEAS = {
DataSource = FastAnalogDAN
}
GY_ARC3_V_MEAS = {
DataSource = FastAnalogDAN
}
GY_RF_V_MEAS = {
DataSource = FastAnalogDAN
}
}
}
+PushADCtoEpics = {
Class = IOGAM
InputSignals = {
PXI6368_Status_Async = {
Alias = PXI6368_Status
DataSource = DDB4
Range = { { 0, 0 } }
}
PXI6368_Status = {
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_APS_V_MEAS_Async = {
Alias = GY_APS_V_MEAS
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_APS_V_MEAS = {
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_APS_I_MEAS_Async = {
Alias = GY_APS_I_MEAS
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_APS_I_MEAS = {
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_BPS_V_MEAS_Async = {
Alias = GY_BPS_V_MEAS
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_BPS_V_MEAS = {
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_BPS_I_MEAS_Async = {
Alias = GY_BPS_I_MEAS
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_BPS_I_MEAS = {
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_MHV_V_MEAS_Async = {
Alias = GY_MHV_V_MEAS
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_MHV_V_MEAS = {
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_MHV_I_MEAS_Async = {
Alias = GY_MHV_I_MEAS
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_MHV_I_MEAS = {
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_ARC1_V_MEAS_Async = {
Alias = GY_ARC1_V_MEAS
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_ARC1_V_MEAS = {
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_ARC2_V_MEAS_Async = {
Alias = GY_ARC2_V_MEAS
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_ARC2_V_MEAS = {
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_ARC3_V_MEAS_Async = {
Alias = GY_ARC3_V_MEAS
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_ARC3_V_MEAS = {
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_RF_V_MEAS_Async = {
Alias = GY_RF_V_MEAS
DataSource = DDB4
Range = { { 0, 0 } }
}
GY_RF_V_MEAS = {
DataSource = DDB4
Range = { { 0, 0 } }
}
}
OutputSignals = {
PXI6368_Status_Async = {
Alias = PXI6368_Status
DataSource = Th4Bridge
}
PXI6368_Status = {
DataSource = AnalogEpicsOutput
}
GY_APS_V_MEAS_Async = {
Alias = GY_APS_V_MEAS
DataSource = Th4Bridge
}
GY_APS_V_MEAS = {
DataSource = AnalogEpicsOutput
}
GY_APS_I_MEAS_Async = {
Alias = GY_APS_I_MEAS
DataSource = Th4Bridge
}
GY_APS_I_MEAS = {
DataSource = AnalogEpicsOutput
}
GY_BPS_V_MEAS_Async = {
Alias = GY_BPS_V_MEAS
DataSource = Th4Bridge
}
GY_BPS_V_MEAS = {
DataSource = AnalogEpicsOutput
}
GY_BPS_I_MEAS_Async = {
Alias = GY_BPS_I_MEAS
DataSource = Th4Bridge
}
GY_BPS_I_MEAS = {
DataSource = AnalogEpicsOutput
}
GY_MHV_V_MEAS_Async = {
Alias = GY_MHV_V_MEAS
DataSource = Th4Bridge
}
GY_MHV_V_MEAS = {
DataSource = AnalogEpicsOutput
}
GY_MHV_I_MEAS_Async = {
Alias = GY_MHV_I_MEAS
DataSource = Th4Bridge
}
GY_MHV_I_MEAS = {
DataSource = AnalogEpicsOutput
}
GY_ARC1_V_MEAS_Async = {
Alias = GY_ARC1_V_MEAS
DataSource = Th4Bridge
}
GY_ARC1_V_MEAS = {
DataSource = AnalogEpicsOutput
}
GY_ARC2_V_MEAS_Async = {
Alias = GY_ARC2_V_MEAS
DataSource = Th4Bridge
}
GY_ARC2_V_MEAS = {
DataSource = AnalogEpicsOutput
}
GY_ARC3_V_MEAS_Async = {
Alias = GY_ARC3_V_MEAS
DataSource = Th4Bridge
}
GY_ARC3_V_MEAS = {
DataSource = AnalogEpicsOutput
}
GY_RF_V_MEAS_Async = {
Alias = GY_RF_V_MEAS
DataSource = Th4Bridge
}
GY_RF_V_MEAS = {
DataSource = AnalogEpicsOutput
}
}
}
}

View File

@@ -0,0 +1,376 @@
#package jada_gyro.RTApp
+Data = {
+DANDIODataSource = {
Class = DANSource
NumberOfBuffers = 10
CPUMask = 15
StackSize = 10000000
DanBufferMultiplier = 4
StoreOnTrigger = 0
ICProgName = @app_name
Signals = {
PXI6528_Status_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint32
}
GYA_APS_READY_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint32
}
GYA_APS_FLT_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
GYA_BPS_READY_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
GYA_BPS_FLT_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
MHVPS_OV_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
MHVPS_OC_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
MHVPS_FLT_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
MHVPS_READY_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
ECPC_MOD_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
FAST_TRIP_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
CRIO_RV1_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
CRIO_RV2_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
CRIO_RV3_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
PLC_ITL_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
PLC_STANDBY_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
PLC_READY_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
PLC_ON_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
PLC_PERMIT_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
PLC_OP_SELECTED_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
PLC_CC_OP_SELECTED_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
PLC_SYNCMODE_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
TRIGGER_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
BEAM_ON_STAT_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
HVARMED_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
HVINJECTION_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
RFON_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint8
}
BEAM_ON_TIME_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint32
}
RFON_TIME_SAMPLES = {
SamplingFrequency = @fast_clock
NumberOfElements = @dan_ratio
Type = uint32
}
}
}
}
+Functions = {
+DANDIOPublisherGAM = {
Class = IOGAM
InputSignals = {
PXI6528_Status = {
DataSource = SynchThread
Samples = @dan_ratio
Frequency = 1
}
GYA_APS_READY = {
DataSource = SynchThread
Samples = @dan_ratio
}
GYA_APS_FLT = {
DataSource = SynchThread
Samples = @dan_ratio
}
GYA_BPS_READY = {
DataSource = SynchThread
Samples = @dan_ratio
}
GYA_BPS_FLT = {
DataSource = SynchThread
Samples = @dan_ratio
}
MHVPS_OV = {
DataSource = SynchThread
Samples = @dan_ratio
}
MHVPS_OC = {
DataSource = SynchThread
Samples = @dan_ratio
}
MHVPS_FLT = {
DataSource = SynchThread
Samples = @dan_ratio
}
MHVPS_READY = {
DataSource = SynchThread
Samples = @dan_ratio
}
ECPC_MOD = {
DataSource = SynchThread
Samples = @dan_ratio
}
FAST_TRIP = {
DataSource = SynchThread
Samples = @dan_ratio
}
CRIO_RV1 = {
DataSource = SynchThread
Samples = @dan_ratio
}
CRIO_RV2 = {
DataSource = SynchThread
Samples = @dan_ratio
}
CRIO_RV3 = {
DataSource = SynchThread
Samples = @dan_ratio
}
PLC_ITL = {
DataSource = SynchThread
Samples = @dan_ratio
}
PLC_STANDBY = {
DataSource = SynchThread
Samples = @dan_ratio
}
PLC_READY = {
DataSource = SynchThread
Samples = @dan_ratio
}
PLC_ON = {
DataSource = SynchThread
Samples = @dan_ratio
}
PLC_PERMIT = {
DataSource = SynchThread
Samples = @dan_ratio
}
PLC_OP_SELECTED = {
DataSource = SynchThread
Samples = @dan_ratio
}
PLC_CC_OP_SELECTED = {
DataSource = SynchThread
Samples = @dan_ratio
}
PLC_SYNCMODE = {
DataSource = SynchThread
Samples = @dan_ratio
}
TRIGGER = {
DataSource = SynchThread
Samples = @dan_ratio
}
BEAM_ON_STAT = {
DataSource = SynchThread
Samples = @dan_ratio
}
HVARMED = {
DataSource = SynchThread
Samples = @dan_ratio
}
HVINJECTION = {
DataSource = SynchThread
Samples = @dan_ratio
}
RFON = {
DataSource = SynchThread
Samples = @dan_ratio
}
BEAM_ON_TIME = {
DataSource = SynchThread
Samples = @dan_ratio
}
RFON_TIME = {
DataSource = SynchThread
Samples = @dan_ratio
}
}
OutputSignals = {
PXI6528_Status_SAMPLES = {
DataSource = DANDIODataSource
}
GYA_APS_READY_SAMPLES = {
DataSource = DANDIODataSource
}
GYA_APS_FLT_SAMPLES = {
DataSource = DANDIODataSource
}
GYA_BPS_READY_SAMPLES = {
DataSource = DANDIODataSource
}
GYA_BPS_FLT_SAMPLES = {
DataSource = DANDIODataSource
}
MHVPS_OV_SAMPLES = {
DataSource = DANDIODataSource
}
MHVPS_OC_SAMPLES = {
DataSource = DANDIODataSource
}
MHVPS_FLT_SAMPLES = {
DataSource = DANDIODataSource
}
MHVPS_READY_SAMPLES = {
DataSource = DANDIODataSource
}
ECPC_MOD_SAMPLES = {
DataSource = DANDIODataSource
}
FAST_TRIP_SAMPLES = {
DataSource = DANDIODataSource
}
CRIO_RV1_SAMPLES = {
DataSource = DANDIODataSource
}
CRIO_RV2_SAMPLES = {
DataSource = DANDIODataSource
}
CRIO_RV3_SAMPLES = {
DataSource = DANDIODataSource
}
PLC_ITL_SAMPLES = {
DataSource = DANDIODataSource
}
PLC_STANDBY_SAMPLES = {
DataSource = DANDIODataSource
}
PLC_READY_SAMPLES = {
DataSource = DANDIODataSource
}
PLC_ON_SAMPLES = {
DataSource = DANDIODataSource
}
PLC_PERMIT_SAMPLES = {
DataSource = DANDIODataSource
}
PLC_OP_SELECTED_SAMPLES = {
DataSource = DANDIODataSource
}
PLC_CC_OP_SELECTED_SAMPLES = {
DataSource = DANDIODataSource
}
PLC_SYNCMODE_SAMPLES = {
DataSource = DANDIODataSource
}
TRIGGER_SAMPLES = {
DataSource = DANDIODataSource
}
BEAM_ON_STAT_SAMPLES = {
DataSource = DANDIODataSource
}
HVARMED_SAMPLES = {
DataSource = DANDIODataSource
}
HVINJECTION_SAMPLES = {
DataSource = DANDIODataSource
}
RFON_SAMPLES = {
DataSource = DANDIODataSource
}
BEAM_ON_TIME_SAMPLES = {
DataSource = DANDIODataSource
}
RFON_TIME_SAMPLES = {
DataSource = DANDIODataSource
}
}
}
}

View File

@@ -0,0 +1,42 @@
#package jada_gyro.RTApp
+Functions = {
//# GAM for trianguler waveform generation.
+CCPSWaveformGAM = {
Class = JATriangleWaveGAM
InputSignals = {
Frequency = {
Alias = CCPS_OUTPUT_FREQ
DataSource = EPICSCAInput
}
Amplitude = {
Alias = CCPS_OUTPUT_AMP
DataSource = EPICSCAInput
}
Offset = {
Alias = CCPS_OUTPUT_OFFS
DataSource = EPICSCAInput
}
PLCSTANDBY = {
Alias = PLC_STANDBY
DataSource = Th1Bridge
}
}
OutputSignals = {
CCPS_REF = {
DataSource = DDB6
}
}
}
}
+Data = {
+DDB6 = {
Signals = {
CCPS_REF = {
Type = float32
}
}
}
}

View File

@@ -0,0 +1,77 @@
#package jada_gyro.RTApp
+Functions = {
//# Flat FHPS Setpoint.
+FHPSSetpointGAM = {
Class = IOGAM
InputSignals = {
FHPS_AUTO_TAGV = {
DataSource = EPICSCAInput
Type = float32
}
}
OutputSignals = {
FHPS_TAGV = {
DataSource = DDB6
}
}
}
//# Filament heating rampup reference generator
+FHPSRampupGAM = {
Class = JARampupGAM
InputSignals = {
Targetv = {
Alias = FHPS_TAGV
DataSource = DDB6
}
Time = {
Alias = FHPS_AUTO_TIME
DataSource = EPICSCAInput
Type = float32
}
Start = {
Alias = FHPS_AUTO_START
DataSource = EPICSCAInput
Type = uint32
}
PLC_STANDBY = {
Alias = PLC_STANDBY
DataSource = Th1Bridge
}
MANUAL_AUTO = {
Alias = FHPS_MANM
DataSource = EPICSCAInput
Type = uint32
}
FHPS_PrePro = {
DataSource = Th1Bridge
}
}
OutputSignals = {
FHPS_REF = {
DataSource = DDB6 // probably to be direct analog output
}
FHPS_AUTO_STAT = {
DataSource = DDB6
}
}
}
}
+Data = {
+DDB6 = {
Signals = {
FHPS_REF = {
Type = float32
}
FHPS_TAGV = {
Type = float32
}
FHPS_AUTO_STAT = {
Type = uint32
}
}
}
}

View File

@@ -0,0 +1,81 @@
#package jada_gyro.RTApp
+Data = {
+WGAsyncBridge = {
Class = RealTimeThreadAsyncBridge
NumberOfBuffers = 20
Signals = {
CCPS_REF = {
Type = float32
}
FHPS_REF = {
Type = float32
}
FHPS_AUTO_STAT = {
Type = uint32
}
}
}
+NI6259_AO = {
Class = NI6259DAC
DeviceName = "/dev/pxi6259" // Mandatory
BoardId = 0 // Mandatory
SamplingFrequency = @wg_clock
Signals = {
CCPS_REF = {
Type = float32 // Mandatory. Only type that is supported.
ChannelId = 0 // Mandatory. The channel number.
OutputPolarity = "Bipolar" // Optional. Possible values: Bipolar, Unipolar. Default value Unipolar.
}
FHPS_REF = {
Type = float32
ChannelId = 1
OutputPolarity = "Bipolar"
}
}
}
}
+Functions = {
+WGProducerGAM = {
Class = IOGAM
InputSignals = {
CCPS_REF = {
DataSource = DDB6
}
CCPS_REF_OUT = {
Alias = CCPS_REF
DataSource = DDB6
}
FHPS_REF = {
DataSource = DDB6
}
FHPS_REF_OUT = {
Alias = FHPS_REF
DataSource = DDB6
}
FHPS_AUTO_STAT = {
Type = uint32
}
}
OutputSignals = {
CCPS_REF = {
DataSource = WGAsyncBridge
}
CCPS_REF_OUT = {
Alias = CCPS_REF
DataSource = NI6259_AO
}
FHPS_REF = {
DataSource = WGAsyncBridge
}
FHPS_REF_OUT = {
Alias = FHPS_REF
DataSource = NI6259_AO
}
FHPS_AUTO_STAT = {
DataSource = WGAsyncBridge
}
}
}
}

View File

@@ -6,7 +6,7 @@
Class = LinuxTimer
SleepNature = "Busy"
SleepPercentage = 40
ExecutionMode = RealTimeThread
ExecutionMode = "RealTimeThread"
CPUMask = 0x200
Signals = {
Counter = {
@@ -22,7 +22,7 @@
Class = LinuxTimer
SleepNature = "Busy"
SleepPercentage = 40
ExecutionMode = RealTimeThread
ExecutionMode = "RealTimeThread"
CPUMask = 0x400
Signals = {
Counter = {
@@ -33,6 +33,22 @@
}
}
}
//# Fast Timer for thread 3 (RTStateMachineGAM execution cycle.)
+WGTimer = {
Class = LinuxTimer
SleepNature = "Busy"
SleepPercentage = 40
ExecutionMode = "RealTimeThread"
CPUMask = 0x700
Signals = {
Counter = {
Type = uint32
}
Time = {
Type = uint32
}
}
}
// Add signals to existing ddb
+DDB2 = {
Signals = {
@@ -54,6 +70,16 @@
}
}
}
+DDB6 = {
Signals = {
Time = {
Type = uint32
}
Counter = {
Type = uint32
}
}
}
}
+Functions = {
//# Timer for SDN thread.
@@ -65,7 +91,7 @@
}
Counter = {
DataSource = TimerSDN
Frequency = 1000 // operation:1k(=1ms cyc), debug:10
Frequency = @slow_clock
}
}
OutputSignals = {
@@ -86,8 +112,7 @@
}
Counter = {
DataSource = FastTimer
Frequency = 200000 // operation:10k(=100us cyc)
// Frequency = 100000 //operation:100k(=10us cyc)
Frequency = @fast_clock
}
}
OutputSignals = {
@@ -99,4 +124,24 @@
}
}
}
+WGTimerGAM = {
Class = IOGAM
InputSignals = {
Time = {
DataSource = WGTimer
}
Counter = {
DataSource = WGTimer
Frequency = @wg_clock
}
}
OutputSignals = {
Time = {
DataSource = DDB6
}
Counter = {
DataSource = DDB6
}
}
}
}

View File

@@ -0,0 +1,43 @@
#package jada_gyro
//# Gyrotron ID
#var rfid: string = "EC-GN-P01"
//# Fast Clock
#var fast_clock: uint32 = 20000 // Hz
//# Slow Clock
#var slow_clock: uint32 = 1000 // Hz
//# WF Generation Clock
#var wg_clock: uint32 = 1000 // Hz
//# ADC Clock
#var sampling_freq: uint32 = 1000000 // Hz
//# App name
#var app_name: string = "JADA_RF01App"
//# Ratio between fast and slow
#let fast_slow_ratio: uint32 = (@fast_clock / @slow_clock)
#var dan_ratio: uint32 = 1000
// Constants for state values
#let state_error: uint32 = 1
#let state_disabled: uint32 = 2
#let state_standby: uint32 = 3
#let state_ready: uint32 = 4
#let state_permit: uint32 = 5
#let state_hvon: uint32 = 6
#let state_hvon_prep: uint32 = 7
#let state_hvon_sdn: uint32 = 8
#let state_hvon_sdn_prep: uint32 = 9
#let state_none: uint32 = 0
//# decimation index for sync gam
#let dec_index: int = (@fast_slow_ratio - 1)
// CPUS pinning
#var cpus_epics: uint = 0x1
#var cpus_sdn: uint = 0x2
#var cpus_rt: uint = 0x4
#var cpus_adc: uint = 0x8
#var cpus_dan: uint = 0x10
#var cpus_wg: uint = 0x20