Subject: |
Re: When does a link process its target record? |
From: |
Ned Arnold <nda> |
To: |
tech-talk |
Cc: |
[email protected] |
Date: |
Fri, 1 Nov 2002 13:30:24 -0600 (CST) |
To all tech-talk subscribers ...
I would like to commend Russell Redman in this international forum
for not only pointing out the deficiencies in the EPICS documentation,
but also for providing explicit recommendations as to how it can be
improved. Since such text can be copied verbatim into the appropriate
manuals, it is much more likely to happen.
Thanks Russell -
Ned
> 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 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? Bob Dalesio
- Navigate by Date:
- Prev:
Re: When does a link process its target record? Redman, Russell O.
- Next:
request for count value in record enumerated types Jim Thomas
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
<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: When does a link process its target record? Benjamin Franksen
- Next:
Re: When does a link process its target record? Bob Dalesio
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
<2002>
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|