EPICS Home

Experimental Physics and Industrial Control System


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

Subject: Re: aSub, EFLG, and array length changes
From: Andrew Johnson <[email protected]>
To: [email protected], [email protected]
Date: Tue, 2 Oct 2012 23:41:23 -0500
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  <20122013  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  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024