Sequencer

From LNLEpicsWiki

Jump to: navigation, search

In the following we describe how to install the Seqencer as a Soft Module of EPICS.

Make a directory for Sequencer:

 $ cd /opt/epics
 $ mkdir sequencer

Download the newest release from the website http://epics.web.psi.ch/software/sequencer/

 $ cd /opt/epics/sequencer
 $ wget http://epics.web.psi.ch/software/sequencer/download/seq-2.0.12.tar.gz

Uncompress the archive:

 $ cd /opt/epics/sequencer
 $ tar -zxvf seq-2.0.12.tar.gz

A sub-directory called sncseq-2.0.12 appeared in /opt/epics/sequencer. General installation instructions are available on the website http://epics.web.psi.ch/software/sequencer/

Edit into the <seqencer_top>/configure/RELEASE file:

 $ vi /opt/epics/sequencer/sncseq-2.0.12/configure/RELEASE
 comment out the definition line for EPICS_BASE and insert instead:
 EPICS_BASE=/opt/epics/base-3.14.10

Make the sequencer:

 $ cd /opt/epics/sequencer/sncseq-2.0.12
 $ make

It should proceed without any error messages.

To make the Sequencer available to your application do the following changes in the <application_top> directory.

Edit into the file <application_top>/configure/RELEASE:

 $ vi <application_top>/configure/RELEASE
 Insert after "#SNCSEQ=$(EPICS_BASE)/../modules/soft/seq" the following line to define the location of the Sequencer:
 SNCSEQ=/opt/epics/sequencer/sncseq-2.0.12

You might have written your sequencer program called <sequencer_file_name>.stt containing a sequencer program called <sequencer_program_name>, so it starts like

 $ cat <sequencer_file_name>.stt
 program <sequencer_program_name>
 ...

First of all make a dbd file in the directory <application_top>/<application_name>App/src with the following content (it is just one line):

 $ vi <application_top>/<application_name>App/src/<sequencer_dbd_file_name>.dbd
 registrar(<sequencer_program_name>Registrar)

Now, edit into the application Makefile and insert the lines below:

 $ vi <application_top>/<application_name>App/src/Makefile
 Insert after "# PSupply.dbd will be made up from these files:" the following line:
 <application_name>_DBD += <sequencer_dbd_file_name>.dbd
 Insert after "#PSupply_LIBS += xxx" the following two lines:
 <application_name>_LIBS += seq pv
 <application_name>_SRCS += <sequencer_file_name>.stt

Make your application:

 $ cd <application_top>
 $ make

Before starting up your IOC edit the startup script st.cmd and make the sequencer program run:

 $ vi <application_top>/iocBoot/iocPSupplyIOC/st.cmd
 Insert after "## Start any sequence programs" the line below:
 seq <sequencer_program_name>, "<optional macro substitution>"

Start up your IOC with an embedded sequencer program:

 $ cd application_top>/iocBoot/iocPSupplyIOC
 $ ../../bin/linux-x86/PSupply st.cmd

Some useful commands from http://www.slac.stanford.edu/comp/unix/package/epics/sequencer/manual/Manual.pdf page no.30 give information about your running sequencer program, like

 epics> seqShow
 epics> seqShow <sequencer_program_name>
 ...