Implementing gams and datas
This commit is contained in:
@@ -0,0 +1,46 @@
|
|||||||
|
#package jada_gyro.JAGyroApp.Data
|
||||||
|
|
||||||
|
+EPICSCAInput = {
|
||||||
|
Class = EPICSCAInput
|
||||||
|
Signals = {
|
||||||
|
MIS_ITL = {
|
||||||
|
Type = uint32
|
||||||
|
PVName = "EC-GN-P01-GAFP:FMC4310-YTRP"
|
||||||
|
}
|
||||||
|
RESET_FLT = {
|
||||||
|
PVName = "EC-GN-P01-GPF:STAT-RST-FLT"
|
||||||
|
Type = uint32
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//# PXI NI6528 Digital input datasource
|
||||||
|
//# TODO: configure it
|
||||||
|
+NI6528_DI = {
|
||||||
|
Class = GAMDataSource // TODO Change
|
||||||
|
Signals = {
|
||||||
|
GYA_APS_FLT = {
|
||||||
|
// DI.1
|
||||||
|
Type = uint32
|
||||||
|
}
|
||||||
|
GYA_BPS_FLT = {
|
||||||
|
Type = uint32
|
||||||
|
// DI.3
|
||||||
|
}
|
||||||
|
MHVPS_OV = {
|
||||||
|
Type = uint32
|
||||||
|
// DI.4
|
||||||
|
}
|
||||||
|
MHVPS_OC = {
|
||||||
|
Type = uint32
|
||||||
|
// DI.5
|
||||||
|
}
|
||||||
|
MHVPS_FLT = {
|
||||||
|
Type = uint32
|
||||||
|
// DI.6
|
||||||
|
}
|
||||||
|
PLC_ITL = {
|
||||||
|
Type = uint32
|
||||||
|
// DI.9
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -29,4 +29,88 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//# From any state to Error state.
|
||||||
|
+GoErrorGAM = {
|
||||||
|
Class = JAMessageGAM
|
||||||
|
Operation = OR
|
||||||
|
InputSignals = {
|
||||||
|
GYA_APS_FLT = {
|
||||||
|
DataSource = NI6528_DI
|
||||||
|
ExpectedValue = 1
|
||||||
|
}
|
||||||
|
GYA_BPS_FLT = {
|
||||||
|
DataSource = NI6528_DI
|
||||||
|
ExpectedValue = 1
|
||||||
|
}
|
||||||
|
MHVPS_OV = {
|
||||||
|
DataSource = NI6528_DI
|
||||||
|
ExpectedValue = 1
|
||||||
|
}
|
||||||
|
MHVPS_OC = {
|
||||||
|
DataSource = NI6528_DI
|
||||||
|
ExpectedValue = 1
|
||||||
|
}
|
||||||
|
MHVPS_FLT = {
|
||||||
|
DataSource = NI6528_DI
|
||||||
|
ExpectedValue = 1
|
||||||
|
}
|
||||||
|
MIS_ITL = {
|
||||||
|
DataSource = EPICSCAInput
|
||||||
|
ExpectedValue = 1
|
||||||
|
}
|
||||||
|
PLC_ITL = {
|
||||||
|
DataSource = NI6528_DI
|
||||||
|
ExpectedValue = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+Event = {
|
||||||
|
Class = Message
|
||||||
|
Destination = StateMachine
|
||||||
|
Function = GoError
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//# Reset Error GAM
|
||||||
|
+ResetErrorGAM = {
|
||||||
|
Class = JAMessageGAM
|
||||||
|
Operation = AND
|
||||||
|
InputSignals = {
|
||||||
|
RESET_FLT = {
|
||||||
|
DataSource = EPICSCAInput
|
||||||
|
ExpectedValue = 1
|
||||||
|
}
|
||||||
|
GYA_APS_FLT = {
|
||||||
|
DataSource = NI6528_DI
|
||||||
|
ExpectedValue = 0
|
||||||
|
}
|
||||||
|
GYA_BPS_FLT = {
|
||||||
|
DataSource = NI6528_DI
|
||||||
|
ExpectedValue = 0
|
||||||
|
}
|
||||||
|
MHVPS_OV = {
|
||||||
|
DataSource = NI6528_DI
|
||||||
|
ExpectedValue = 0
|
||||||
|
}
|
||||||
|
MHVPS_OC = {
|
||||||
|
DataSource = NI6528_DI
|
||||||
|
ExpectedValue = 0
|
||||||
|
}
|
||||||
|
MHVPS_FLT = {
|
||||||
|
DataSource = NI6528_DI
|
||||||
|
ExpectedValue = 0
|
||||||
|
}
|
||||||
|
MIS_ITL = {
|
||||||
|
DataSource = EPICSCAInput
|
||||||
|
ExpectedValue = 0
|
||||||
|
}
|
||||||
|
PLC_ITL = {
|
||||||
|
DataSource = NI6528_DI
|
||||||
|
ExpectedValue = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+Event = {
|
||||||
|
Class = Message
|
||||||
|
Destination = StateMachine
|
||||||
|
Function = GoError
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,196 @@
|
|||||||
|
#package jada_gyro.JAGyroApp.States
|
||||||
|
|
||||||
|
+Disabled = {
|
||||||
|
Class = RealTimeState
|
||||||
|
+Threads = {
|
||||||
|
Class = ReferenceContainer
|
||||||
|
+Thread1 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer1kHzGAM StateGAM CCPSWaveformGAM GoErrorGAM GoWaitStandbyGAM choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM }
|
||||||
|
CPUs = 0x100
|
||||||
|
}
|
||||||
|
+Thread2 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
|
||||||
|
CPUs = 0x200
|
||||||
|
}
|
||||||
|
+Thread3 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { FastTimerGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM }
|
||||||
|
CPUs = 0x400
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
+WaitStandby = {
|
||||||
|
Class = RealTimeState
|
||||||
|
+Threads = {
|
||||||
|
Class = ReferenceContainer
|
||||||
|
+Thread1 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitStandbyGAM choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM GoDisabledGAM GoWaitReadyGAM GoErrorGAM }
|
||||||
|
CPUs = 0x100
|
||||||
|
}
|
||||||
|
+Thread2 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
|
||||||
|
CPUs = 0x200
|
||||||
|
}
|
||||||
|
+Thread3 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer100kHzGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM }
|
||||||
|
CPUs = 0x400
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+WaitReady = {
|
||||||
|
Class = RealTimeState
|
||||||
|
+Threads = {
|
||||||
|
Class = ReferenceContainer
|
||||||
|
+Thread1 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitReadyGAM choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM GoWaitPermitGAM GoWaitStandbyFromReadyGAM GoErrorGAM }
|
||||||
|
CPUs = 0x100
|
||||||
|
}
|
||||||
|
+Thread2 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
|
||||||
|
CPUs = 0x200
|
||||||
|
}
|
||||||
|
+Thread3 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer100kHzGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM }
|
||||||
|
CPUs = 0x400
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+WaitPermit = {
|
||||||
|
Class = RealTimeState
|
||||||
|
+Threads = {
|
||||||
|
Class = ReferenceContainer
|
||||||
|
+Thread1 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitPermitGAM choiseGAM EPICSOutputGAM GoWaitReadyFromWaitPermitGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM GoWaitHVONGAM GoWaitHVON_PREP_GAM GoWaitHVON_SDN_GAM GoWaitHVON_SDN_PREP_GAM GoErrorGAM }
|
||||||
|
CPUs = 0x100
|
||||||
|
}
|
||||||
|
+Thread2 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
|
||||||
|
CPUs = 0x200
|
||||||
|
}
|
||||||
|
+Thread3 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer100kHzGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM }
|
||||||
|
CPUs = 0x400
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Real-Time state for HVPS sequence timing control.
|
||||||
|
+WaitHVON = {
|
||||||
|
Class = RealTimeState
|
||||||
|
+Threads = {
|
||||||
|
Class = ReferenceContainer
|
||||||
|
+Thread1 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitHVONGAM choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM writeBeamONTimeGAM writeRFONTimeGAM FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
|
||||||
|
CPUs = 0x100
|
||||||
|
}
|
||||||
|
+Thread2 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
|
||||||
|
CPUs = 0x200
|
||||||
|
}
|
||||||
|
+Thread3 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM NI6528P3GAM NI6528P4GAM GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM }
|
||||||
|
CPUs = 0x400
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+WaitHVON_SDN = {
|
||||||
|
Class = RealTimeState
|
||||||
|
+Threads = {
|
||||||
|
Class = ReferenceContainer
|
||||||
|
+Thread1 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer1kHzGAM CCPSWaveformGAM FHPSRampupGAM InWaitHVON_SDNGAM choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM writeBeamONTimeGAM writeRFONTimeGAM FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
|
||||||
|
CPUs = 0x100
|
||||||
|
}
|
||||||
|
+Thread2 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
|
||||||
|
CPUs = 0x200
|
||||||
|
}
|
||||||
|
+Thread3 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM NI6528P3GAM NI6528P4GAM GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM }
|
||||||
|
CPUs = 0x400
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+WaitHVON_PREP = {
|
||||||
|
Class = RealTimeState
|
||||||
|
+Threads = {
|
||||||
|
Class = ReferenceContainer
|
||||||
|
+Thread1 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_PREPGAM choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM writeBeamONTimeGAM writeRFONTimeGAM FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
|
||||||
|
CPUs = 0x100
|
||||||
|
}
|
||||||
|
+Thread2 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
|
||||||
|
CPUs = 0x200
|
||||||
|
}
|
||||||
|
+Thread3 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM NI6528P3GAM NI6528P4GAM GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM }
|
||||||
|
CPUs = 0x400
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+WaitHVON_SDN_PREP = {
|
||||||
|
Class = RealTimeState
|
||||||
|
+Threads = {
|
||||||
|
Class = ReferenceContainer
|
||||||
|
+Thread1 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_SDN_PREPGAM choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM writeBeamONTimeGAM writeRFONTimeGAM FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM }
|
||||||
|
CPUs = 0x100
|
||||||
|
}
|
||||||
|
+Thread2 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
|
||||||
|
CPUs = 0x200
|
||||||
|
}
|
||||||
|
+Thread3 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM NI6528P3GAM NI6528P4GAM GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM }
|
||||||
|
CPUs = 0x400
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
+Error = {
|
||||||
|
Class = RealTimeState
|
||||||
|
+Threads = {
|
||||||
|
Class = ReferenceContainer
|
||||||
|
+Thread1 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer1kHzGAM StateGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM ExitedHVArmedInjectionRFONGAM ResetPSsGAM ResetErrorGAM ErrorGAM choiseGAM EPICSOutputGAM FHPSSetpointGAM FHPSRampupGAM CCPSWaveformGAM }
|
||||||
|
CPUs = 0x100
|
||||||
|
}
|
||||||
|
+Thread2 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { TimeSDNGAM SDNCommandGAM SDNReplyGAM }
|
||||||
|
CPUs = 0x200
|
||||||
|
}
|
||||||
|
+Thread3 = {
|
||||||
|
Class = RealTimeThread
|
||||||
|
Functions = { Timer100kHzGAM NI6528P3GAM NI6528P4GAM NI6528P5GAM NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM NI6528P3WriteGAM NI6528P4WriteGAM }
|
||||||
|
CPUs = 0x400
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user