EPICS Controls 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  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: sequencer programs in an IOC
From: Mark Rivers <[email protected]>
To: "'Paul Nord'" <[email protected]>, Jiro Fujita <[email protected]>
Cc: EPICS tech talk <[email protected]>
Date: Tue, 22 Jan 2013 23:24:44 +0000
I realize I forgot an argument to seqChanShow. It should be

seqChanShow seqProg -

where seqProg is the name of your seq program.

This assumes you are using the iocsh shell. With the vxWorks shell the syntax is different.

Mark
________________________________________
From: [email protected] [[email protected]] on behalf of Mark Rivers [[email protected]]
Sent: Tuesday, January 22, 2013 4:08 PM
To: 'Paul Nord'; Jiro Fujita
Cc: EPICS tech talk
Subject: RE: sequencer programs in an IOC

Do “seqChanShow –“ to see only the disconnect channels (notes the minus sign after seqChanShow).

Mark


From: [email protected] [mailto:[email protected]] On Behalf Of Paul Nord
Sent: Tuesday, January 22, 2013 3:21 PM
To: Jiro Fujita
Cc: EPICS tech talk
Subject: Re: sequencer programs in an IOC

Or one could go through the PV's and try a "caget" from the IOC machine to see if they can be found.


On Jan 22, 2013, at 3:03 PM, Jiro Fujita <[email protected]<mailto:[email protected]>> wrote:


Hi Tim,

Thanks for that.  I was actually suggesting to James more or less to do the same in a private e-mail (I figured that it wasn't worth bothering the rest of the world with STAR experiment specific suggestions).

James, as Tim suggests, I suspect the problem is from the missing PVs.  This is also consistent with what we have discussed based upon Dilan's (our former colleague) e-mail from last year.  Go through the PVs used, and comment them out if necessary for the debug purpose.  As I suggested earlier in the private e-mail, if necessary, you can also put printf statement here and there so that you can trace the progress in the IOC shell.


On Jan 22, 2013, at 2:56 PM, Tim Mooney wrote:


James,

Here's one possibility:

By default, a sequencer program won't actually start running for real until every PV it connects to has connected. (See compiler option "+c".)  You won't get an error message in this case.  You can check the status of PV connections with the "seqChanShow" command. (See http://www-csr.bessy.de/control/SoftDist/sequencer/Using.html#examining-the-program)

Tim
________________________________
From: "James F Ross" <[email protected]<mailto:[email protected]>>
To: "Mark Rivers" <[email protected]<mailto:[email protected]>>
Cc: "Jiro Fujita" <[email protected]<mailto:[email protected]>>, "EPICS Tech Talk" <[email protected]<mailto:[email protected]>>
Sent: Tuesday, January 22, 2013 2:31:02 PM
Subject: Re: sequencer programs in an IOC

Thanks guys,
Yes, the c code is not the problem.  There was a communication issue that I knew was causing problems.  That is fixed now, and I am getting a few of the desired html files written, but for some reason the main file is not being written.  It seems to be going running the program relating to the eemc (one of the early ones called by a seq command in the st.cmd file) but never moves on to the program after it.  There is no indication of error, but I'm looking at both the eemc source code and the bemc code (the next program called in the st.cmd file).

James

On Tue, Jan 22, 2013 at 3:19 PM, Mark Rivers <[email protected]<mailto:[email protected]>> wrote:
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: [email protected]<mailto:[email protected]> [mailto:[email protected]<mailto:[email protected]>] 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 Kevin Peterson
References:
Re: sequencer programs in an IOC Tim Mooney
Re: sequencer programs in an IOC Jiro Fujita
Re: sequencer programs in an IOC Paul Nord
RE: sequencer programs in an IOC Mark Rivers

Navigate by Date:
Prev: RE: sequencer programs in an IOC Emmanuel Mayssat
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  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: sequencer programs in an IOC Mark Rivers
Next: Re: sequencer programs in an IOC Kevin Peterson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·