sddssnapshotreads values of process variables and writes them to a file. An input file lists the process variables to be read.
sddssnapshot differs from
burtrb in that
sddssnapshot may operate in a server mode
in which a new file is written to the named output file whenever the signal SIGUSR1 is received
Another improvement over
burtrb is that
all data in the input file (even those not needed by the program) are transfered to the output file.
sddssnapshot is more for data collection as opposed to backup and restore.
sddssnapshot SR.req SR.snp -nameOfData="Value"where the contents of the file
SDDS1 &column name = ControlName, type = string, &end &data mode = ascii, &end &data mode = "ascii", no_row_counts=1 &end S1A:Q1:CurrentAO S1A:Q2:CurrentAO ...
usage: sddssnapshot [-pipe[=input][,output]] [<input>] [<output>] [-ezcaTiming=<timeout>,<retries>] [-unitsOfData=<string>] [-nameOfData=<string>] [-serverMode=<pidFile>] [-average=<number>,<intervalInSec>] Takes a snapshot of EPICS scalar process variables. Requires the column "ControlName" with the process variable names. For server mode, writes a new file to the given filename whenever SIGUSR1 is received. Exits when SIGUSR2 is received.
The input file is an SDDS file with at least one column:
The output file contains all columns of the input file including those not needed by the program plus a column named on the command line option -nameOfData. This column is defined as a double type and contains the readback values. Optionally the units of that readback column may be specified on the command line. Of course this option is useful only if all the process variables have the same units, as in the case of recording orbit values from all bpms. If the -average option is requested, then an additional double column is created with the name of the readback column with the ``StDev'' appended to it.
A process id file is created with option
serverMode=<pidFile>. This file contains a single
number which is the pid number of the running
sddssnapshotprocess. This file is the mechanism through which the user will know to which process should the SIGUSR1 be sent. To activate one snapshot write, the user can type the command ``
kill -SIGUSR1 `cat <pidFile>`''.