EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Sequencer question
From: Mark Rivers <[email protected]>
To: "'[email protected], [email protected], [email protected]'" <[email protected]>
Cc: "'[email protected]'" <[email protected]>
Date: Sat, 5 Aug 2000 18:47:05 -0500
Folks,

I have a question about the EPICS sequencer program.  There does not seem to
be a way to invoke ca_put_array_callback from within an SNL program, only
ca_array_put.  This seems to be a serious limitation.  For example, I have
an SNL program in which I want to write 4 strings to a stringout record.
...
    strcpy(stringOut, 'string 1');
    pvPut(stringOut);
    strcpy(stringOut, 'string 2');
    pvPut(stringOut);
    strcpy(stringOut, 'string 3');
    pvPut(stringOut);
    strcpy(stringOut, 'string 4');
    pvPut(stringOut);

What happens is that only "string 1" and "string 4" get written to the
device, because the record is busy processing when "string 2" and "string 3"
are sent, so they are never sent, channel access throws them away and only
sends the last one, "string 4".  I could call taskDelay() after each
pvPut(), but this is ugly.  It seems to me that the SNL needs a
pvPutCallback, so that it is possible to wait until the record is done
processing one string before sending the next.

Do others agree that this would be useful, or am I missing some other way to
accomplish what I need?  Is there a version of the sequencer which already
has this feature added?  A quick look at the code leads me to think that it
would not be very difficult to add, since synchronous pvGet is already
supported via a callback and semaphore.

Cheers,
Mark Rivers



Navigate by Date:
Prev: RE: Kinetic Systems 2917/3922 CAMAC interface on PowerPC Mark Rivers
Next: RE: Sequencer question William Lupton
Index: 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: RFC: Graphical Database Editor Steve Lewis
Next: RE: Sequencer question William Lupton
Index: 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·