EPICS sequencer (snc/seq)
Welcome to the home of the EPICS Sequencer module, which provides the state notation
compiler ("snc") and run-time support ("seq") for implementing state transition diagrams in an EPICS
environment. Versions prior to 2.0.0 only run under VxWorks; versions 2.0.0 and later run in any environment which
implements the OSI layer (introduced in EPICS R3.14).
This site gives access to the software source code, information on other modules which
are needed to install and run it, and documentation on how to include and use it in your
EPICS applications.
Files
Download from
http://epics.web.psi.ch/software/sequencer/download, or via these links:
Trac repository
The
APS Trac repository is here:
https://svn.aps.anl.gov/trac/epics/sncseq
(direct SVN link: https://svn.aps.anl.gov/epics/sncseq)
Install & build
After obtaining a copy of the distribution, it must be installed and built
for use at your site. These steps only need to be performed once for the site
(unless versions of the module running under different releases of EPICS and/or
the other required modules are needed). In the following, substitute
"config" (EPICS R3.13.x) or "configure"
(EPICS R3.14.x) for "<config-dir>":
-
Create an installation directory for the module; usually this will be of the form /path/to/module/seq.
-
Unpack the distribution tar file in this
directory; this will produce a <supporttop>
sub-directory named after the version number, e.g. seq-1.9.5.
-
Edit the files
<config-dir>/RELEASE
and
<config-dir>/CONFIG
and set the paths to your installation of EPICS; in
CONFIG, either modify CROSS_COMPILER_TARGET_ARCHS or remove
it to default to all architectures.
-
Run gnumake in the top-level directory and check for any compilation errors.
-
Building sequencer applications for EPICS R3.13.x
To use the installed and built support software in an <ioctop>
application, make the following changes to the application:
-
Ensure that it is not using the version of snc
(the state notation compiler) from EPICS base (EPICS base does
not contain a file called libSeq so this is not a problem).
-
Edit the config/RELEASE file and add the lines:
SEQ=/path/to/seq/version
Arrange to use the correct version of
snc by editing config/CONFIG and adding the lines:
ifdef SEQ
SNC = $(SEQ)/bin/$(HOST_ARCH)/snc
endif
-
In the application source
directory if the EPICS base object files are linked together, edit
Makefile.Vx and add:
ifdef SEQ
USR_INCLUDES +=
-I$(SEQ)/include
SEQ_BIN=$(SEQ)/bin/$(T_A)
LIBOJBS += $(SEQ_BIN)/seqLib
endif
-
Also in Makefile.Vx, change
the line:
INSTALLS +=
iocCore seq
to:
INSTALLS += iocCore
Rebuild the application and use the newly installed module as
desired.
Building sequencer applications for EPICS R3.14.x
- Edit configure/RELEASE and set SNCSEQ to the directory where you
installed the sequencer:
SNCSEQ = /path/to/seq/version
- Edit your application Makefile and:
If you used makeBaseApp to create your application framework there
will be comments in the application Makefile guiding you through these
steps.
Documentation
The following documentation is available:
- State Notation Language and Sequencer Users Guide -- March 2000 / EPICS
3.14.0: (HTML)
(PDF
- 579KB) (PS
- 1.6MB)
- Release notes (HTML) ... not yet available
Documentation is provided in each release under the "docs" directory. The above links
are for version 2.0.x.
See also:
This software was originally developed by Andy
Kozubal at Los Alamos
National Laboratory (LANL). It was subsequently modified by
William Lupton, formerly at the
W. M. Keck Observatory (Keck),
with contributions by Greg White of the Stanford
Linear Accelerator Center National Accelerator Laboratory (SLAC-NAL).
Versions up to 1.9.2 were part of EPICS base and
were or are being used at many EPICS sites.
Version 1.9.3 has been in use at many EPICS sites.
Version 1.9.4 is the first version to be distributed as an unbundled module.
Version 1.9.5 is a bug-fix version: sequencer deletion from the VxWorks shell once
again works.
Version 1.9.6-beta is 1.9.5 with
Ben Franksen's asynchronous pvPut() support.
Version 2.0.0 is the first version to run under operating systems other than VxWorks,
via the EPICS OSI layer.
Author: Michael Laznovsky Phone: +41 56 310 5301 Email: Michael.Laznovsky@psi.ch Updated: 08.12.2008
Source: /afs/psi.ch/project/epics/www/software/sequencer/index.php
|