The sscan module
The following documentation is available:
- The sscan record documentation. This also includes some information on saveData, the synApps
client program that writes scan data to disk.
- The scanparm record documentation.
- description of the 'MDA' (multidimensional archive) file format written by saveData.
This file format uses the XDR standard for cross-platform compatibility.
- Sample copy of the file that tells saveData what to do.
- A description of the XDR (External Data Representation) standard
- Powerpoint presentation that describes the sscan module; shows how to use
the sscan record; describes saveData's MDA file format; and explains how EPICS
putNotify/ca_put_callback() completion behaves, and how to handle processing
chains that don't satisfy EPICS' execution-tracing requirements.
Installation and use of the sscan module
Installation and Building
After obtaining a copy of the distribution, it must be installed
and built for use at your site. Usually, these steps only need to be
- Unzip and untar the distribution, e.g. on Unix:
Usually this is done in an EPICS 'support' directory. It will produce the
tar xf sscan_R2-3.tar
in synApps 5.5 and higher, it will produce
sscan-2-6-6 -- i.e., no subdirectory.
- Edit sscan's configure/RELEASE file and set the paths to
your installation of EPICS base and to your versions of other
- Run gnumake in the top level directory and check for
any compilation errors.
Use of the sscan module in an EPICS IOC
The sscan module is not intended to run an IOC application directly, but
rather to contribute code libraries, databases, MEDM displays, etc., to an
IOC application. SynApps contains an example IOC application (the xxx
module), which pulls software from the sscan module and deploys it in an IOC.
The essential steps in applying sscan-module code in an IOC application
("example") are the following:
Suggestions and Comments to:
- Include the following line in example/configure/RELEASE.
SSCAN=<full path to sscan module>
- Include the following line in
- Include the following line in example/exampleApp/src/Makefile.
example_LIBS += sscan scanProgress
- Load the databases standardScans, and saveData, by including the following
lines in st.cmd:
- If you use autosave, include standardScans_settings.req, and
saveData_settings.req in your autosave request file:
file standardScans_settings.req P=$(P)
file saveData_settings.req P=$(P)
- Tell saveData how to initialize by editing the file
and placing it in the ioc's startup directory. Usually, the only part of this
file that you modify is the section marked
[extraPV]. In this section, enter
the names of the PV's you want saveData to include in every scan-data file.
If a PV is not well described by it's record's
.DESC field, you can
append your own description.
- Initialize saveData by including the following line in st.cmd, after iocInit:
- Before running any scans, specify where saveData is to write scan-data
files. Bring up the medm display,
scan_saveData.adl and fill in the
"File system" and "Subdirectory" fields (i.e., the PV's
Tim Mooney :