g+
g+ Communities
Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <2013 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <2013
<== Date ==> <== Thread ==>

Subject: RE: sequencer programs in an IOC
From: Mark Rivers <rivers@cars.uchicago.edu>
To: "'Jiro Fujita'" <jiro@creighton.edu>, James F Ross <james.falconer.ross@gmail.com>
Cc: EPICS Tech Talk <Tech-talk@aps.anl.gov>
Date: Tue, 22 Jan 2013 20:19:24 +0000
I would go a step further and say that the C code should be "transparent".  It is created in the O.$(ARCH) directory from the .stt code, and is then immediately compiler to an object file to be linked into your application.

The startup script calls a function that is defined in a dbd file via an entry like:
registrar(dxpMEDRegistrar)

That accesses the SNL program, dxpMED.st, whose definition is like the following:

program dxpMED("P=13GE2:med:,DXP=dxp,MCA=mca,N_DETECTORS=16,N_SCAS=16")

The O.linux-x86 directory for that module contains the following files:
corvette:dxp/dxpApp/src>ls -l O.linux-x86
total 19552
...
-rw-rw-r-- 1 epics epics  2043540 Dec 14 19:00 dxpMED.c
-rw-rw-r-- 1 epics epics     1004 Dec 14 19:00 dxpMED.d
-rw-rw-r-- 1 epics epics    97303 Dec 14 19:00 dxpMED.i
-rw-rw-r-- 1 epics epics  1805352 Dec 14 19:00 dxpMED.o

Mark


-----Original Message-----
From: tech-talk-bounces@aps.anl.gov [mailto:tech-talk-bounces@aps.anl.gov] On Behalf Of Jiro Fujita
Sent: Tuesday, January 22, 2013 2:10 PM
To: James F Ross
Cc: EPICS Tech Talk
Subject: Re: sequencer programs in an IOC

James, 

In short, when you write a program in state notation language (that you use for EPICS sequencer) and make the IOC, it first gets covered to C code via SNC (SNL to C compiler).  Then, the resulting C code get compiled by GCC.  In general, you should not have to do much with the C code; certainly, anything we use at STAR soft IOC, we should not have to do much with it.  


On Jan 22, 2013, at 9:56 AM, James F Ross wrote:

> Hello everyone,
> I'm trying to understand an IOC that generates a controls monitoring webpage at STAR.  For whatever reason, the IOC is not writing the html file that it should be (it has worked in the past).
> 
> The source code is a number of .stt files, each of which handles variables for a different subsystem.  Ultimately all of these variables are brought together using a file called overall.stt, and the webpage is written by a file called overallhtml.stt.  
> 
> When the IOC is compiled, these .stt files produce .c files of the same name.  What I'm wondering is, how are these c files used?  Do they become binary files when the IOC is compiled?  What generally happens in an IOC between these c files and a sequencer program being called in the start up script for the IOC?  
> 
> The sequencer programs are loaded as follows in the IOC startup file:
> seq mot_gas
> seq trig
> seq eemc
> seq bemc
> seq tofm
> seq overall
> seq overallhtml
> 
> Are these binary executable files that are being called, or does the startup script read the c code directly?  I can't find any binary files by these names on the computer, but I see no errors while compiling either.  If anyone has any insight I could use a hand.  I know you won't know specifics on my setup, but any help with sequencer programs in general would be nice.
> 
> Thanks very much!
> James Ross
> 




Replies:
Re: sequencer programs in an IOC James F Ross
References:
sequencer programs in an IOC James F Ross
Re: sequencer programs in an IOC Jiro Fujita

Navigate by Date:
Prev: Re: sequencer programs in an IOC Jiro Fujita
Next: Edm installation Steve
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <2013
Navigate by Thread:
Prev: Re: sequencer programs in an IOC Jiro Fujita
Next: Re: sequencer programs in an IOC James F Ross
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <2013
ANJ, 22 Jan 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·