Difference between revisions of "Epics Logger Scripts for SBS"
Line 1: | Line 1: | ||
Here is some technical information about how to add EPICS variables to | Here is some technical information about how to add EPICS variables to | ||
the logging of information for the SBS. | the logging of information for the SBS. | ||
− | + | ||
+ | == Explaining the scheme == | ||
+ | |||
+ | The EPICS data go to two places | ||
1. HALOG -- both start-of-run and end-of-run. | 1. HALOG -- both start-of-run and end-of-run. | ||
Line 12: | Line 15: | ||
variables and put them into text files. | variables and put them into text files. | ||
+ | <pre> | ||
+ | File to log EPICS data | ||
/adaqfs/home/sbs-onl/logentry_scripts/halla/EpicsToFile | /adaqfs/home/sbs-onl/logentry_scripts/halla/EpicsToFile | ||
+ | </pre> | ||
the text files are in | the text files are in | ||
Line 24: | Line 30: | ||
with data in the /Results subdirectory. | with data in the /Results subdirectory. | ||
+ | Other scripts insert the halla1.epics file into the datastream | ||
+ | and into the HALOG. | ||
+ | |||
+ | All the scripts mentioned are in the directory | ||
+ | /adaqfs/home/sbs-onl/logentry_scripts/halla/ | ||
+ | |||
+ | <pre> | ||
+ | InsertETLoop -- loops forever, puts halla1.epics into ET system | ||
+ | as event type 131 | ||
+ | |||
+ | getruninfo_bgr_SBS -- inserts EPICS data into HALOG. | ||
+ | |||
+ | and getruninfo_bgr_SBS is called by | ||
+ | |||
+ | start_run_SBS -- runs at the start of a run | ||
+ | |||
+ | end_run_SBS -- runs at the end of a run | ||
+ | </pre> | ||
Now, how to add a variable. | Now, how to add a variable. | ||
<pre> | <pre> |
Revision as of 17:03, 23 October 2022
Here is some technical information about how to add EPICS variables to the logging of information for the SBS.
Explaining the scheme
The EPICS data go to two places
1. HALOG -- both start-of-run and end-of-run.
2. datastream as event type 131
First let me describe the scheme.
A script called EpicsToFile runs continuously, using caget to obtain EPICS variables and put them into text files.
File to log EPICS data /adaqfs/home/sbs-onl/logentry_scripts/halla/EpicsToFile
the text files are in /adaqfs/home/sbs-onl/logentry_scripts/halla/epics/halla.epics
Note, halla1.epics is rewritten frequently while halla.epics is a more stable copy that gets put into HALOG and datastream.
For the HV, its similar. A script /adaqfs/home/sbs-onl/logentry_scripts/HV_logging_SBS/EpicsLooper with data in the /Results subdirectory.
Other scripts insert the halla1.epics file into the datastream and into the HALOG.
All the scripts mentioned are in the directory /adaqfs/home/sbs-onl/logentry_scripts/halla/
InsertETLoop -- loops forever, puts halla1.epics into ET system as event type 131 getruninfo_bgr_SBS -- inserts EPICS data into HALOG. and getruninfo_bgr_SBS is called by start_run_SBS -- runs at the start of a run end_run_SBS -- runs at the end of a run
Now, how to add a variable.
1. Edit EpicsToFile, add your variable. 2. Might want run this with TESTPRINT=1 and run EpicsToFile interactively to check it. Don't forget to restore TESTPRINT=0. 3. Kill the current running of EpicsToFile [sbs-onl@adaq1 halla]$ ps awx | grep EpicsToFile 4018 pts/69 S+ 0:00 grep --color=auto EpicsToFile 10161 ? S 1:03 /bin/ksh /adaqfs/home/sbs-onl/logentry_scripts/halla//EpicsToFile kill -9 10161 4. Then wait. The cron script "startCron" will restart it in a few minutes. Perhaps check the process list to be sure.
One fly in the ointment at the moment is that if someone is doing "less EpicsToFile" or "more EpicsToFile" on adaq1, then unfortunately startCron is not smart enough to restart EpicsToFile. It is smart enough to ignore emacs sessions. In the meantime, kill the "less" command, too.
[sbs-onl@adaq1 halla]$ ps awx | grep EpicsToFile 2312 pts/69 T 0:00 less EpicsToFile 3034 pts/69 S+ 0:00 grep --color=auto EpicsToFile 10161 ? S 1:04 /bin/ksh /adaqfs/home/sbs-onl/logentry_scripts/halla//EpicsToFile kill -9 2312 kill -9 10161