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  <20082009  2010  2011  2012  2013  2014  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  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Generating an IOC with SEQ logic in it.
From: Andrew Johnson <[email protected]>
To: [email protected]
Cc: David Dudley <[email protected]>
Date: Fri, 31 Oct 2008 10:01:39 -0500
Hi David,

On Thursday 30 October 2008 21:51:21 David Dudley wrote:
>
> As I understand things, I need to generate an IOC for my system that
> contains the sequencer program I wrote to perform some control on one of
> our systems.
>
> I have the sequencer program written, and it operates correctly.

I assume this means that you've been debugging the sequence program built as a 
standalone executable, and you now want to build it into the IOC that it's 
talking to.

> When I generated the sequencer program, I installed it inside the
> directory that contains all the other components of the system (in my
> case, it's </usr/local/EPICS>, and the sequencer source is in
> </usr/local/EPICSSRC/modules/soft/seq/seq> ).
>
> I'm having problems understanding how to create the IOC program with
> the sequencer component included.

You have to compile a .st (or .stt) file separately for use in an executable 
and in an IOC, because the SNCFLAGS needed and hence the .c files generated 
are different.  In general you have to pick one or the other, but see below 
if you need to build both at the same time from the same source file.  You 
should be able to compile the sequence program with flags appropriate for use 
in an IOC in one module and then actually link it into the IOC in a different 
module if that's what you're trying to do though.

> Any suggestions?

Take a look at the makeBaseApp template example, which shows how to build a 
sequence program both ways.  It may look like that is compiling two different 
programs, but actually the sncProgram.st file merely contains a single line 
that #includes the sncExample.stt file; that's the technique which allows you 
to build both kinds of object from the same Makefile (the source files have 
to have different base-names since that's how the build system knows which 
SNCFLAGS settings to use).  There are other ways to do that which generally 
involve copying the source file to a new name using a private Makefile rule.

Make sure that you have SNCSEQ=/usr/local/EPICSSRC/modules/soft/seq/seq in the 
configure/RELEASE file of both the module that contains the .st/.stt file and 
the one where you're building the IOC.  Your IOC needs it for the libraries 
containing the sequencer, whereas the other needs it for access to the snc 
compiler.

> Also, I frequently get a message "... too many open files" when I
> attempt to make the system.

I can only guess that your Makefile is somehow trying to include itself, 
that's not an error I've ever seen.  More information on the content of your 
Makefile where this happens would elicit more help...

HTH,

- Andrew
-- 
Talk is cheap. Show me the code. -- Linus Torvalds

References:
Generating an IOC with SEQ logic in it. David Dudley

Navigate by Date:
Prev: Re: Generating an IOC with SEQ logic in it. David Maden
Next: GPIB - asyn - streamdevice Szalata, Zenon M.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Generating an IOC with SEQ logic in it. David Maden
Next: GPIB - asyn - streamdevice Szalata, Zenon M.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·