Dehong Zhang wrote:
What we have in mind is a simple case: if no CA client is "getting" data from
a PV, the PV can remain un-processed -- processor does nothing. It can be
waiting for events or PP etc. Once a CA client tries to get/read data, the EPICS
internal part checks to see whether there is a recent-enough copy, just return
the data if yes, or process then return if the current data is too old.
So we could have a scan option, which does "process upon CA request but not
more than * Hz". This way the IOC is protected.
Without such an option, the user would need 2 actions like Dirk pointed out,
or the processor has to waste some cycles to always make sure the data is
current, either by listening to events or process periodically.
There is a significant difference between get and monitor behavior in
Channel Access, and from your description you should be talking about
monitors rather than gets. Any long-running client program should be
setting up monitors rather than polling for updates using ca_get(), and
all the main EPICS extensions such as MEDM, EDM, ALH do that. If that's
true for your case you should be able to use the technique described on
slide 33 of this lecture:
http://www.aps.anl.gov/epics/docs/USPAS2007/lectures/Database2.pdf
This technique is not guaranteed to be future-proof, but it works in all
current releases and I'm not expecting it to go away soon. The important
part is the subroutine record that can detect whether there are any CA
monitors connected to itself; if you have control over the client
programs or display screens that you want the database to detect, you
only need to arrange that they monitor that subroutine record, and now
the IOC can alter its behavior depending on whether anyone's listening
or not.
HTH,
- Andrew
--
When a distinguished but elderly scientist states that something is
possible, he is almost certainly right. When he states that something
is impossible, he is very probably wrong. -- Arthur C. Clarke
- References:
- passive record/field to process when there is a CA read Dehong Zhang
- Re: passive record/field to process when there is a CA read Andrew Johnson
- Re: passive record/field to process when there is a CA read Dehong Zhang
- Navigate by Date:
- Prev:
Re: passive record/field to process when there is a CA read Dehong Zhang
- Next:
RE: Portable Channel Access Server on vxWorks Jeff Hill
- 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
2025
- Navigate by Thread:
- Prev:
Re: passive record/field to process when there is a CA read Dehong Zhang
- Next:
Re: passive record/field to process when there is a CA read Dirk Zimoch
- 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
2025
|