EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: Re: When does a link process its target record?
From: "Redman, Russell O." <[email protected]>
To: "Tech-Talk (E-mail)" <[email protected]>
Date: Fri, 1 Nov 2002 10:38:21 -0800
My thanks to Ned Arnold, Jim Thomas, Andrew Johnson and Benjamin Franksen
for their very helpful answers.  [And I apologise for not having put a
subject line on my message, which is going to make this thread hard to
follow in the archive.  I borrowed this subject line from Ben, since it
seemed the most appropriate.]

As Ned says, things were apparently behaving as designed.  However, I still
regard the discussion of CA links in the Record Reference Manual in sections
1.3 and 2.2 to be incorrect.  Recall that section 1.3 says

   Channel Access links, be they between records located in 
   different IOCs or between records located in the same IOC, 
   cannot be process passive, e.g., they cannot cause the 
   record they specify to process when written to or read from.

This is false as written.  You cannot specify PP in the link, but (borrowing
some words from Ned) the real condition should have been written as:

   Channel Access links, be they between records located in 
   different IOCs or between records located in the same IOC, 
   cannot be process passive, e.g., the link itself cannot be 
   configured to cause the target record to process when 
   written to or read from.  Note, however, that a Channel Access
   output link will cause the target record to process if the 
   destination field is defined as "PP" (with the statement 
   "pp(TRUE)" in the *.dbd file and so documented under the 
   PP column in the record reference manual) and the record 
   scan field is set to "Passive". If these two conditions are 
   true, the record will process when ANY channel access
   client (including a sequence programs, CA links, etc) writes 
   to that field."

Section 2.2 should be modified similarly. 

Although the SNL manual is pretty good, I think it could be improved
significantly by adding similar text to the discussion of pvPut and pvGet.
Processing records in the database is such a fundamental part of EPICS that
I strongly believe that the effects of pvPut and pvGet should be made
explicit. May I suggest that the pvGet discussion be amended to include the
text:

   Like any other Channel Access input operation that uses ca_get, 
   calling pvGet does not cause the assigned record to process, 
   and therefore always fetches the current value of the assigned field.

Similarly, the pvPut discussion might be amended by including the text:

   Like any other Channel Access output operation that uses ca_put, 
   calling pvPut will cause the record containing the assigned field 
   to process if and only if the destination field is defined as "PP" 
   (with the statement "pp(TRUE)" in the *.dbd file and so documented 
   under the PP column in the record reference manual) and the 
   record scan field is set to "Passive". 

It might also be worth stating explicitly whether pvPutComplete waits for
the record to finish processing, or just for the put operation to complete
(I am guessing the latter). 

Cheers,
Russell O. Redman

Replies:
Re: When does a link process its target record? Benjamin Franksen

Navigate by Date:
Prev: Re: When does a link process its target record? Benjamin Franksen
Next: Re: When does a link process its target record? Ned Arnold
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  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: Your Message Sent on Thu, 31 Oct 2002 12:25:33 -0800 Andrew Johnson
Next: Re: When does a link process its target record? Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  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 ·