Experimental Physics and Industrial Control System
Hi Michael,
On 2012-10-02 Michael Davidsaver wrote:
>
> I've come across an unexpected behavior with monitors on the VAL* fields
> of the aSub record. It seems that the default is to post monitors only
> on change (EFLG="ON CHANGE").
>
> Unfortunately, the calculation to determine if the value has changed
> doesn't work correctly in some cases. The issue is that while the
> previous values are saved, the length of the previous values are not.
> So the comparison test uses the same length (NEV*) for VAL* and OVL*.
> Thus, if the change is that the array gets smaller, but the remaining
> values are unchanged, then no monitor is posted.
Good catch, you're right. This wouldn't have been as noticeable before
3.14.12 because the CA clients had to monitor the NEV* field separately to get
the data length anyway.
> The obvious solution is to add another set of fields to track the number
> of element in the old value. Does this seem reasonable? Also, how to
> express "the number of element in OVLA" in 4 characters or less?
ONV* (you're storing the Old value of the NEV* fields, and the E is
superfluous to the name).
This is a bug fix, so please work on the 3.14 branch if possible.
Thanks,
- Andrew
--
Never interrupt your enemy when he is making a mistake.
-- Napoleon Bonaparte
- References:
- aSub, EFLG, and array length changes Michael Davidsaver
- Navigate by Date:
- Prev:
Re: caget -c Andrew Johnson
- Next:
Author Error message runtests Ahed Aladwan
- 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:
aSub, EFLG, and array length changes Michael Davidsaver
- Next:
caget -c J. Lewis Muir
- 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