-
Notifications
You must be signed in to change notification settings - Fork 2
Run control
Run control is implemented purely in EPICS.�� A DB file support/RunControl/runcontrol.db can be loaded into any IOC and given the name of each PV that needs this feature. It defines a few PVs for this:
$(PV):RC:LOW
$(PV):RC:HIGH
$(PV):RC:ENABLE
$(PV):RC:INRANGE
When a values is out of range, it will push this information into variables managed by INSTETC which will ultimately pause/resume data collection. Feedback can be obtained via:
$(P):CS:RC:OUT:CNT number of items out of range
$(P):CS:RC:OUT:LIST names of PVs out of range (space separated in char waveform)
CA monitors can be posted on either CNT
or LIST
, CNT
is guaranteed to see all transitions, LIST
will be up to date but may not see all transitions
(LIST
is actually a ��set�� which can be added to/removed from via PV�s;�� it is called generically via aSub records so provides a general mechanism for keeping a more readable list of things if we need it).
Run testRunControl from iocBoot for an example.� You need to start INSTETC first if you wish to use the above CS variables.
To do run control on SECI blocks a separate IOC ioc/RUNCTRL will be used. This will need to be restarted by the blockserver as appropriate and the blockserver will also need to (re)write a startup file for it containing lines like:
dbLoadRecords("$(RUNCONTROL)/db/runcontrol.db","P=$(MYPVPREFIX),PV=$(MYPVPREFIX)TEST2")