Files
ec-gn-ja-pcf/EC-GN-JA-PCF/.svn/pristine/37/37d562b0855d966536fb2fe47245ae93bfaed2b7.svn-base

1082 lines
32 KiB
Plaintext

// +LoggerService = {
// Class = LoggerService
// CPUs = 0x1
// StackSize = 32768
// NumberOfLogPages = 128
// +ConLogger = {
// Class = ConsoleLogger
// Format = "EtOoFmC"
// PrintKeys = 1
// }
// }
+StateMachine = {
Class = StateMachine
+INITIAL = {
Class = ReferenceContainer
+START = {
Class = StateMachineEvent
NextState = "RUNNING"
NextStateError = "ERROR"
+PrepareNextStateOnOurRTApp = {
Class = Message
Destination = MyDemoApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = State1
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = MyDemoApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
}
+RUNNING = {
Class = ReferenceContainer
+LOCKEDFOREVER = {
Class = StateMachineEvent
NextState = RUNNING
NextStateError = ERROR
}
}
+ERROR = {
Class = ReferenceContainer
+LOCKEDFOREVER = {
Class = StateMachineEvent
NextState = ERROR
NextStateError = ERROR
}
}
}
+MyDemoApp = {
Class = RealTimeApplication
+Functions = {
Class = ReferenceContainer
+GAMTimer = {
Class = IOGAM
InputSignals = {
Time = {
DataSource = Timer
Type = uint32
}
Counter = {
DataSource = Timer
Type = uint32
Frequency = 1 //in Hz. Cycle for one state execution.
}
RTThreadPerf = {
DataSource = Timings
Alias = "State1.Thread1_CycleTime"
Type = uint32
}
}
OutputSignals = {
Time = {
DataSource = DDB1
Type = uint32
}
Counter = {
DataSource = DDB1
Type = uint32
}
RTThreadPerf = {
DataSource = DDB1
Type = uint32
}
}
}
//EPICS PV read GAM
+PV2DDB1GAM = {
Class = IOGAM
InputSignals = {
ni6259d0p0do0 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6259d0p0do1 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6259d0p0do2 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6259d0p0do3 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6259d0p0do4 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6259d0p0do5 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6259d0p0do6 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6259d0p0do7 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d0p3do0 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d0p3do1 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d0p3do2 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d0p3do3 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d0p3do4 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d0p3do5 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d0p3do6 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d0p3do7 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d0p4do0 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d0p4do1 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d0p4do2 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d0p4do3 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d0p4do4 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d0p4do5 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d0p4do6 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d0p4do7 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6259d1p0do0 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6259d1p0do1 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6259d1p0do2 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6259d1p0do3 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6259d1p0do4 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6259d1p0do5 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6259d1p0do6 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6259d1p0do7 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d1p3do0 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d1p3do1 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d1p3do2 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d1p3do3 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d1p3do4 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d1p3do5 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d1p3do6 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d1p3do7 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d1p4do0 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d1p4do1 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d1p4do2 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d1p4do3 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d1p4do4 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d1p4do5 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d1p4do6 = {
DataSource = EPICSCAInput
Type = uint32
}
ni6528d1p4do7 = {
DataSource = EPICSCAInput
Type = uint32
}
}
OutputSignals = {
ni6259d0p0do0 = {
DataSource = DDB1
Type = uint32
}
ni6259d0p0do1 = {
DataSource = DDB1
Type = uint32
}
ni6259d0p0do2 = {
DataSource = DDB1
Type = uint32
}
ni6259d0p0do3 = {
DataSource = DDB1
Type = uint32
}
ni6259d0p0do4 = {
DataSource = DDB1
Type = uint32
}
ni6259d0p0do5 = {
DataSource = DDB1
Type = uint32
}
ni6259d0p0do6 = {
DataSource = DDB1
Type = uint32
}
ni6259d0p0do7 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p3do0 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p3do1 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p3do2 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p3do3 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p3do4 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p3do5 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p3do6 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p3do7 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p4do0 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p4do1 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p4do2 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p4do3 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p4do4 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p4do5 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p4do6 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p4do7 = {
DataSource = DDB1
Type = uint32
}
ni6259d1p0do0 = {
DataSource = DDB1
Type = uint32
}
ni6259d1p0do1 = {
DataSource = DDB1
Type = uint32
}
ni6259d1p0do2 = {
DataSource = DDB1
Type = uint32
}
ni6259d1p0do3 = {
DataSource = DDB1
Type = uint32
}
ni6259d1p0do4 = {
DataSource = DDB1
Type = uint32
}
ni6259d1p0do5 = {
DataSource = DDB1
Type = uint32
}
ni6259d1p0do6 = {
DataSource = DDB1
Type = uint32
}
ni6259d1p0do7 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p3do0 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p3do1 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p3do2 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p3do3 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p3do4 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p3do5 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p3do6 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p3do7 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p4do0 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p4do1 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p4do2 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p4do3 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p4do4 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p4do5 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p4do6 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p4do7 = {
DataSource = DDB1
Type = uint32
}
}
}
//HW Write GAMs
//NI6259 uses uint32, so it is not able to use BitSumGAM
+NI6259D0P0GAM = {
Class = JABitSumGAM
InputSignals = {
ni6259d0p0do0 = {
DataSource = DDB1
Type = uint32
}
ni6259d0p0do1 = {
DataSource = DDB1
Type = uint32
}
ni6259d0p0do2 = {
DataSource = DDB1
Type = uint32
}
ni6259d0p0do3 = {
DataSource = DDB1
Type = uint32
}
ni6259d0p0do4 = {
DataSource = DDB1
Type = uint32
}
ni6259d0p0do5 = {
DataSource = DDB1
Type = uint32
}
ni6259d0p0do6 = {
DataSource = DDB1
Type = uint32
}
ni6259d0p0do7 = {
DataSource = DDB1
Type = uint32
}
}
OutputSignals = {
NI6259D0P0Value = {
DataSource = Display
Type = uint8
}
}
}
+NI6528D0P3GAM = {
Class = JABitSumGAM
InputSignals = {
ni6528d0p3do0 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p3do1 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p3do2 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p3do3 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p3do4 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p3do5 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p3do6 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p3do7 = {
DataSource = DDB1
Type = uint32
}
}
OutputSignals = {
NI6528D0P3Value = {
DataSource = Display
Type = uint8
}
}
}
+NI6528D0P4GAM = {
Class = JABitSumGAM
InputSignals = {
ni6528d0p4do0 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p4do1 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p4do2 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p4do3 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p4do4 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p4do5 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p4do6 = {
DataSource = DDB1
Type = uint32
}
ni6528d0p4do7 = {
DataSource = DDB1
Type = uint32
}
}
OutputSignals = {
NI6528D0P4Value = {
DataSource = Display
Type = uint8
}
}
}
//NI6259 uses uint32, so it is not able to use BitSumGAM
+NI6259D1P0GAM = {
Class = JABitSumGAM
InputSignals = {
ni6259d1p0do0 = {
DataSource = DDB1
Type = uint32
}
ni6259d1p0do1 = {
DataSource = DDB1
Type = uint32
}
ni6259d1p0do2 = {
DataSource = DDB1
Type = uint32
}
ni6259d1p0do3 = {
DataSource = DDB1
Type = uint32
}
ni6259d1p0do4 = {
DataSource = DDB1
Type = uint32
}
ni6259d1p0do5 = {
DataSource = DDB1
Type = uint32
}
ni6259d1p0do6 = {
DataSource = DDB1
Type = uint32
}
ni6259d1p0do7 = {
DataSource = DDB1
Type = uint32
}
}
OutputSignals = {
NI6259D1P0Value = {
DataSource = Display
Type = uint8
}
}
}
+NI6528D1P3GAM = {
Class = JABitSumGAM
InputSignals = {
ni6528d1p3do0 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p3do1 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p3do2 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p3do3 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p3do4 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p3do5 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p3do6 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p3do7 = {
DataSource = DDB1
Type = uint32
}
}
OutputSignals = {
NI6528D1P3Value = {
DataSource = Display
Type = uint8
}
}
}
+NI6528D1P4GAM = {
Class = JABitSumGAM
InputSignals = {
ni6528d1p4do0 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p4do1 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p4do2 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p4do3 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p4do4 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p4do5 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p4do6 = {
DataSource = DDB1
Type = uint32
}
ni6528d1p4do7 = {
DataSource = DDB1
Type = uint32
}
}
OutputSignals = {
NI6528D1P4Value = {
DataSource = Display
Type = uint8
}
}
}
}
+Data = {
Class = ReferenceContainer
DefaultDataSource = DDB1
+DDB1 = {
Class = GAMDataSource
}
+Timer = {
Class = LinuxTimer
SleepNature = "Busy"
SleepPercentage = 0
ExecutionMode = RealTimeThread
CPUMask = 0x1
Signals = {
Counter = {
Type = uint32
}
Time = {
Type = uint32
}
}
}
/****
+NI6259D1P0 = {
Class = NI6259::NI6259DIO
DeviceName = "/dev/pxi6259"
BoardId = 1
Signals = {
NI6269D1P0Value = {
Type = uint32
Mask = 0xFF
PortId = 0
}
}
}
+NI6528D1P3 = {
Class = NI6528
DeviceName = "/dev/pxi6528.1"
Port = 3
Value = {
NI6528D1P3Value = {
Type = uint32
}
}
}
+NI6528D1P4 = {
Class = NI6528
DeviceName = "/dev/pxi6528.1"
Port = 4
Value = {
NI6528D1P4Value = {
Type = uint32
}
}
}
+NI6259D0P0 = {
Class = NI6259::NI6259DIO
DeviceName = "/dev/pxi6259"
BoardId = 0
Signals = {
NI6259D0P0Value = {
Type = uint32
Mask = 0xFF
PortId = 0
}
}
}
+NI6528D0P3 = {
Class = NI6528
DeviceName = "/dev/pxi6528.0"
Port = 3
Value = {
NI6528D0P3Value = {
Type = uint32
}
}
}
+NI6528D0P4 = {
Class = NI6528
DeviceName = "/dev/pxi6528.0"
Port = 4
Value = {
NI6528D0P4Value = {
Type = uint32
}
}
}
***/
+EPICSCAInput = {
Class = "EPICSCA::EPICSCAInput"
CPUMask = "1"
StackSize = "10000000"
Signals = {
// NI6259 DO PVs
ni6259d0p0do0 = {
PVName = "ni6259:d0:p0:do0"
Type = uint32
}
ni6259d0p0do1 = {
PVName = "ni6259:d0:p0:do1"
Type = uint32
}
ni6259d0p0do2 = {
PVName = "ni6259:d0:p0:do2"
Type = uint32
}
ni6259d0p0do3 = {
PVName = "ni6259:d0:p0:do3"
Type = uint32
}
ni6259d0p0do4 = {
PVName = "ni6259:d0:p0:do4"
Type = uint32
}
ni6259d0p0do5 = {
PVName = "ni6259:d0:p0:do5"
Type = uint32
}
ni6259d0p0do6 = {
PVName = "ni6259:d0:p0:do6"
Type = uint32
}
ni6259d0p0do7 = {
PVName = "ni6259:d0:p0:do7"
Type = uint32
}
// NI6528P3 PVs
ni6528d0p3do0 = {
PVName = "ni6528:d0:p3:do0"
Type = uint32
}
ni6528d0p3do1 = {
PVName = "ni6528:d0:p3:do1"
Type = uint32
}
ni6528d0p3do2 = {
PVName = "ni6528:d0:p3:do2"
Type = uint32
}
ni6528d0p3do3 = {
PVName = "ni6528:d0:p3:do3"
Type = uint32
}
ni6528d0p3do4 = {
PVName = "ni6528:d0:p3:do4"
Type = uint32
}
ni6528d0p3do5 = {
PVName = "ni6528:d0:p3:do5"
Type = uint32
}
ni6528d0p3do6 = {
PVName = "ni6528:d0:p3:do6"
Type = uint32
}
ni6528d0p3do7 = {
PVName = "ni6528:d0:p3:do7"
Type = uint32
}
//NI6528P4 PVs
ni6528d0p4do0 = {
PVName = "ni6528:d0:p4:do0"
Type = uint32
}
ni6528d0p4do1 = {
PVName = "ni6528:d0:p4:do1"
Type = uint32
}
ni6528d0p4do2 = {
PVName = "ni6528:d0:p4:do2"
Type = uint32
}
ni6528d0p4do3 = {
PVName = "ni6528:d0:p4:do3"
Type = uint32
}
ni6528d0p4do4 = {
PVName = "ni6528:d0:p4:do4"
Type = uint32
}
ni6528d0p4do5 = {
PVName = "ni6528:d0:p4:do5"
Type = uint32
}
ni6528d0p4do6 = {
PVName = "ni6528:d0:p4:do6"
Type = uint32
}
ni6528d0p4do7 = {
PVName = "ni6528:d0:p4:do7"
Type = uint32
}
// NI6259 DO PVs
ni6259d1p0do0 = {
PVName = "ni6259:d1:p0:do0"
Type = uint32
}
ni6259d1p0do1 = {
PVName = "ni6259:d1:p0:do1"
Type = uint32
}
ni6259d1p0do2 = {
PVName = "ni6259:d1:p0:do2"
Type = uint32
}
ni6259d1p0do3 = {
PVName = "ni6259:d1:p0:do3"
Type = uint32
}
ni6259d1p0do4 = {
PVName = "ni6259:d1:p0:do4"
Type = uint32
}
ni6259d1p0do5 = {
PVName = "ni6259:d1:p0:do5"
Type = uint32
}
ni6259d1p0do6 = {
PVName = "ni6259:d1:p0:do6"
Type = uint32
}
ni6259d1p0do7 = {
PVName = "ni6259:d1:p0:do7"
Type = uint32
}
// NI6528P3 PVs
ni6528d1p3do0 = {
PVName = "ni6528:d1:p3:do0"
Type = uint32
}
ni6528d1p3do1 = {
PVName = "ni6528:d1:p3:do1"
Type = uint32
}
ni6528d1p3do2 = {
PVName = "ni6528:d1:p3:do2"
Type = uint32
}
ni6528d1p3do3 = {
PVName = "ni6528:d1:p3:do3"
Type = uint32
}
ni6528d1p3do4 = {
PVName = "ni6528:d1:p3:do4"
Type = uint32
}
ni6528d1p3do5 = {
PVName = "ni6528:d1:p3:do5"
Type = uint32
}
ni6528d1p3do6 = {
PVName = "ni6528:d1:p3:do6"
Type = uint32
}
ni6528d1p3do7 = {
PVName = "ni6528:d1:p3:do7"
Type = uint32
}
//NI6528P4 PVs
ni6528d1p4do0 = {
PVName = "ni6528:d1:p4:do0"
Type = uint32
}
ni6528d1p4do1 = {
PVName = "ni6528:d1:p4:do1"
Type = uint32
}
ni6528d1p4do2 = {
PVName = "ni6528:d1:p4:do2"
Type = uint32
}
ni6528d1p4do3 = {
PVName = "ni6528:d1:p4:do3"
Type = uint32
}
ni6528d1p4do4 = {
PVName = "ni6528:d1:p4:do4"
Type = uint32
}
ni6528d1p4do5 = {
PVName = "ni6528:d1:p4:do5"
Type = uint32
}
ni6528d1p4do6 = {
PVName = "ni6528:d1:p4:do6"
Type = uint32
}
ni6528d1p4do7 = {
PVName = "ni6528:d1:p4:do7"
Type = uint32
}
}
}
+Display = {
Class = LoggerDataSource
}
+Timings = {
Class = TimingDataSource
}
}
+States = {
Class = ReferenceContainer
+State1 = {
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
Class = RealTimeThread
Functions = {GAMTimer PV2DDB1GAM NI6259D0P0GAM NI6528D0P3GAM NI6528D0P4GAM NI6259D1P0GAM NI6528D1P3GAM NI6528D1P4GAM }
CPUMask = 0x1
}
}
}
}
+Scheduler = {
Class = GAMScheduler
TimingDataSource = Timings
}
}