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