ISIS Logo
ISISDAE
ISISDAE IOC
st.cmd
Go to the documentation of this file.
1 #!../../bin/windows-x64-debug/ISISDAE-IOC-01
2 
3 ## You may have to change ISISDAE-IOC-01 to something else
4 ## everywhere it appears in this file
5 
6 # Increase this if you get <<TRUNCATED>> or discarded messages warnings in your errlog output
7 errlogInit2(65536, 4096)
8 
9 < envPaths
10 epicsEnvSet "WIRING_DIR" "$(ICPCONFIGROOT)/tables"
11 epicsEnvSet "WIRING_PATTERN" ".*wiring.*"
12 epicsEnvSet "DETECTOR_DIR" "$(ICPCONFIGROOT)/tables"
13 epicsEnvSet "DETECTOR_PATTERN" ".*det.*"
14 epicsEnvSet "SPECTRA_DIR" "$(ICPCONFIGROOT)/tables"
15 epicsEnvSet "SPECTRA_PATTERN" ".*spec.*"
16 epicsEnvSet "PERIOD_DIR" "$(ICPCONFIGROOT)/tables"
17 epicsEnvSet "PERIOD_PATTERN" ".*period.*"
18 epicsEnvSet "TCB_DIR" "$(ICPCONFIGROOT)/tcb"
19 epicsEnvSet "TCB_PATTERN" ".*tcb.*"
20 
21 cd ${TOP}
22 
23 ## Register all support components
24 dbLoadDatabase "dbd/ISISDAE-IOC-01.dbd"
25 ISISDAE_IOC_01_registerRecordDeviceDriver pdbbase
26 
27 ##ISIS## Run IOC initialisation
28 < $(IOCSTARTUP)/init.cmd
29 
30 # The search path for database files
31 epicsEnvSet("EPICS_DB_INCLUDE_PATH", "$(ADCORE)/db")
32 
34 
35 ## used for restarting and checking EPICS block archiver via web URL
36 webgetConfigure("arch1")
37 webgetConfigure("arch2")
38 
39 ## uncomment to disable uamps too large check
40 #epicsEnvSet("NOCHECKFUAMP","1")
41 
42 ## local dae, no dcom/labview
43 ## define max number of live detectos and max (x,y) size of each
44 isisdaeConfigure("icp", $(DAEDCOM=1), $(DAEHOST=localhost), "spudulike", "reliablebeam", 2)
45 ## pass 1 as second arg to signify DCOM to either local or remote dae
46 ## pass 2 as second arg to signify SECI mode
47 #isisdaeConfigure("icp", 1, "localhost")
48 #isisdaeConfigure("icp", 1, "ndxchipir", "spudulike", "reliablebeam")
49 
50 ## Load the FileLists
51 FileListConfigure("WLIST", "$(WIRING_DIR)", "$(WIRING_PATTERN)", 1)
52 FileListConfigure("DLIST", "$(DETECTOR_DIR)", "$(DETECTOR_PATTERN)", 1)
53 FileListConfigure("SLIST", "$(SPECTRA_DIR)", "$(SPECTRA_PATTERN)", 1)
54 FileListConfigure("PLIST", "$(PERIOD_DIR)", "$(PERIOD_PATTERN)", 1)
55 FileListConfigure("TLIST", "$(TCB_DIR)", "$(TCB_PATTERN)", 1)
56 
57 ## Load record instances
58 
59 ##ISIS## Load common DB records
60 < $(IOCSTARTUP)/dbload.cmd
61 
62 epicsEnvSet("Q","DAE:")
63 ## Set PARALLEL=# to enable parallel DAE3
64 $(PARALLEL=) epicsEnvSet("IFPARALLEL","#")
65 $(IFPARALLEL=) epicsEnvSet("VETO_DELAY","1")
66 $(IFPARALLEL=) epicsEnvSet("OTHER_DAE","TE:NDW847:DAE:")
67 $(IFPARALLEL=) epicsEnvSet("VETO_1","$(MYPVPREFIX)TEKAFG3XXX_01:OUTPUT1:STATUS:SP")
68 $(IFPARALLEL=) epicsEnvSet("VETO_2","$(MYPVPREFIX)TEKAFG3XXX_01:OUTPUT2:STATUS:SP")
69 $(IFPARALLEL=) epicsEnvSet("ENDRUN_DAE3","$(MYPVPREFIX)DAE:ENDRUN_DAE3")
70 $(IFPARALLEL=) epicsEnvSet("BEGINRUN_DAE3","$(MYPVPREFIX)DAE:BEGINRUN_DAE3")
71 
72 ## Load our record instances
73 $(IFPARALLEL=) dbLoadRecords("$(ISISDAE)/db/dae3_parallel.db","P=$(MYPVPREFIX), Q=$(Q), OTHER_DAE=$(OTHER_DAE=), VETO_1=$(VETO_1=), VETO_2=$(VETO_2=), VETO_DELAY=$(VETO_DELAY=)")
74 
75 dbLoadRecords("$(ISISDAE)/db/isisdae.db","S=$(MYPVPREFIX), P=$(MYPVPREFIX), Q=$(Q), WIRINGLIST=WLIST, DETECTORLIST=DLIST, SPECTRALIST=SLIST, PERIODLIST=PLIST, TCBLIST=TLIST, BEGINRUNA=$(BEGINRUN_DAE3=$(MYPVPREFIX)$(Q)_BEGINRUN1), ENDRUNA=$(ENDRUN_DAE3=$(MYPVPREFIX)$(Q)_ENDRUN1)")
76 dbLoadRecords("$(ISISDAE)/db/dae_diag.db","P=$(MYPVPREFIX),Q=DAE:")
77 dbLoadRecords("$(ISISDAE)/db/veto.db","P=$(MYPVPREFIX),Q=DAE:")
78 
79 cd ${TOP}/iocBoot/${IOC}
80 
81 ## uncomment to enable live view
82 #ffmpegServerConfigure(8081)
83 iocshLoad "liveview.cmd", "LVDET=1,LVADDR=0"
84 iocshLoad "liveview.cmd", "LVDET=2,LVADDR=1"
85 
86 ##ISIS## Stuff that needs to be done after all records are loaded but before iocInit is called
87 < $(IOCSTARTUP)/preiocinit.cmd
88 
89 ## 0=none,0x1=err,0x2=IO_device,0x4=IO_filter,0x8=IO_driver,0x10=flow,0x20=warning
90 #asynSetTraceMask("icp", -1, 0x11)
91 
92 iocInit
93 
94 ## Start any sequence programs
95 #seq sncxxx,"user=faa59Host"
96 
97 ##ISIS## Stuff that needs to be done after iocInit is called e.g. sequence programs
98 < $(IOCSTARTUP)/postiocinit.cmd
99 
100 # Save motor positions every 5 seconds
101 create_monitor_set("$(IOCNAME)_positions.req", 5, "P=$(MYPVPREFIX)$(Q)")
102 
103 # Save motor settings every 30 seconds
104 create_monitor_set("$(IOCNAME)_settings.req", 30, "P=$(MYPVPREFIX)$(Q)")
dbLoadRecords("$(ISISDAE)/db/ADisisdae.template","P=$(MYPVPREFIX),R=DAE:AD$(LVDET):,PORT=icp,ADDR=$(LVADDR),TIMEOUT=1,DATATYPE=6")
This waveform ; TYPE=Int8,FTVL=UCHAR for 8 bit integer ; TYPE=Int32,FTVL=LONG for 32 bit integer ; TY...
ISISDAE_IOC_01_registerRecordDeviceDriver pdbbase
Definition: st.cmd:25
webgetConfigure("arch1")
used for restarting and checking EPICS block archiver via web URL ;
errlogInit2(65536, 4096)
You may have to change ISISDAE-IOC-01 to something else ; everywhere it appears in this file ;...
epicsEnvSet WIRING_PATTERN *wiring *epicsEnvSet DETECTOR_DIR(ICPCONFIGROOT)/tables"
FileListConfigure("WLIST","$(WIRING_DIR)","$(WIRING_PATTERN)", 1)
pass 1 as second arg to signify DCOM to either local or remote dae ; pass 2 as second arg to signify ...
isisdaeConfigure("icp",$(DAEDCOM=1),$(DAEHOST=localhost),"spudulike","reliablebeam", 2)
uncomment to disable uamps too large check ;
IFPARALLEL
Load our record instances ;.
Definition: st.cmd:65
asynSetMinTimerPeriod(0.001)
epicsEnvSet TCB_PATTERN *tcb * cd
Definition: st.cmd:21
epicsEnvSet SPECTRA_PATTERN *spec *epicsEnvSet PERIOD_DIR(ICPCONFIGROOT)/tables"
epicsEnvSet PERIOD_PATTERN *period *epicsEnvSet TCB_DIR(ICPCONFIGROOT)/tcb"
epicsEnvSet("EPICS_CA_MAX_ARRAY_BYTES","1100000")
needs to fit in EPICS_CA_MAX_ARRAY_BYTES i.e.
PARALLEL
Set PARALLEL=# to enable parallel DAE3 ;.
Definition: st.cmd:64
epicsEnvSet DETECTOR_PATTERN *det *epicsEnvSet SPECTRA_DIR(ICPCONFIGROOT)/tables"
Copyright © 2013 Science and Technology Facilities Council | Generated by   doxygen 1.8.5