Hello Dehong,
unfortunately EPICS does not support this.
What I normally do is to write a 1 to <record>.PROC via ca_sg_put. This call
completes when the the record has finished processing. (You can also use
ca_put_callback instead.) Then, I read the value with a ca_get. Of course, this
is not an atomic action as there are two channel access calls involved. That
means, it is possible that a second client processes the record again before you
could read and you will read his value instead of yours. But this is normally
not a problem.
It is a pity that EPICS leaks atomic process-and-read and read-modify-write calls.
Dirk
Dehong Zhang wrote:
Hi,
Is it possible to set up a passive record/field, which will only be processed
when some channel access client tries to read it?
Thanks and best regards,
Dehong
--
Dr. Dirk Zimoch
Paul Scherrer Institut, WBGB/006
5232 Villigen PSI, Switzerland
Phone +41 56 310 5182
- References:
- 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 Andrew Johnson
- Next:
Portable Channel Access Server on vxWorks 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
- Navigate by Thread:
- Prev:
Re: passive record/field to process when there is a CA read Andrew Johnson
- Next:
Portable Channel Access Server on vxWorks 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
|