EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: Re: Basic Question regarding input links
From: Luedeke Andreas <[email protected]>
To: Mark Rivers <[email protected]>
Cc: [email protected]
Date: Wed, 13 Jun 2007 03:13:57 +0200
Mark Rivers wrote:

The reason I'm asking is that in my application, only the channel access link causes "answr" to process, the database link doesn't, and we couldn't agree on what was supposed to happen.



That is what is supposed to happen. If you want a record to process when its input changes then you must set the link to CP.

PP is what you set output links to if you want it to process the record
that the output is linked to.

Mark



Of course you can use PP on input links, too:
it causes the record that the link points to to process before the data is read from the link.


In your example:
if "b.VAL" changes then the record "answr" processes and this in turn causes record "a" to process,
before "a.VAL" is read to "answr.B" and "answr.VAL" is calculated.


For further information read the "Record Reference Manual", Chapter "1.3. Passive Scanning",
e.g. at
http://www.aps.anl.gov/epics/EpicsDocumentation/AppDevManuals/RecordRef/Recordref-1.html


Cheers
Andreas

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Mathias Steiner
Sent: Tuesday, June 12, 2007 6:00 PM
To: [email protected]
Subject: Basic Question regarding input links


Learned Friends,

I have what I believe to be a very basic EPICS question.
I'm new to ioc programming, so bear with me, please.

Let "a" and "b" be analog input records, passive, initialized to 1.
On the same ioc as those two, define

record(calc, "answr")
{
  ...
  field(INPA, "a.VAL PP NMS")
  field(INPB, "b.VAL CP NMS")
  field(CALC, "A+B")
  ...
}

As the ioc starts up, the value of "answr" is 2, as expected.

My question is this:
When "a" is set to another value, does "answr" process?

Also, when "b" is set to a different value, does "answr" process?

In other words, does a change in the linked record lead to processing of the linking record, and does it do so for both database links and channel access links?

The reason I'm asking is that in my application, only the channel access link causes "answr" to process, the database link doesn't, and we couldn't agree on what was supposed to happen.

Cheers, and Thanks in advance,
-Mathias








--
Dr. Andreas Luedeke, SLS Operations Manager, Tel:+41-56-3104002
[email protected], http://people.web.psi.ch/luedeke


Replies:
Re: Basic Question regarding input links Benjamin Franksen
References:
RE: Basic Question regarding input links Mark Rivers

Navigate by Date:
Prev: RE: Basic Question regarding input links Mark Rivers
Next: VxWorks Buffer Problems Matt Rippa
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Basic Question regarding input links Mark Rivers
Next: Re: Basic Question regarding input links Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·