Hi Andrew, Dirk and EPICS friends,
Thank you all for all the helps!
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.
Best regards.
Dehong
----- Original Message -----
From: Andrew Johnson <[email protected]>
Date: Monday, February 4, 2008 4:23 pm
Subject: Re: passive record/field to process when there is a CA read
To: Dehong Zhang <[email protected]>
Cc: [email protected]
> Dehong Zhang wrote:
> >
> > Is it possible to set up a passive record/field, which will only be
> processed
> > when some channel access client tries to read it?
>
> Not using standard record types, and I wouldn't really recommend that
>
> you try to create a custom record type to do that because the database
>
> layer wasn't designed with that ability in mind — if you did manage to
>
> implement something like that, it could very easily break when a new
> release of Base comes along.
>
> The IOC was designed so that in most circumstances requesting or even
>
> monitoring data from any field is a "safe" activity that should not
> significantly affect the continued operation of the control system.
> If
> someone could cause the control system's behavior to change just by
> getting a value through channel access, engineers would be *much* more
>
> careful when diagnosing an IOC with which they have little familiarity.
>
> If you tell us what you're trying to achieve at a higher level, you
> might get some alternative suggestions on how to achieve that without
>
> needing to implement "process on get" semantics.
>
> - 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
- Replies:
- Re: passive record/field to process when there is a CA read Andrew Johnson
- 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
- Navigate by Date:
- Prev:
Portable Channel Access Server on vxWorks Dirk Zimoch
- Next:
Re: passive record/field to process when there is a CA read Andrew Johnson
- 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: passive record/field to process when there is a CA read Andrew Johnson
- Next:
Re: passive record/field to process when there is a CA read Andrew Johnson
- 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
|