EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: Re: bo Record not forcing VAL to 0 or 1
From: Andrew Johnson <[email protected]>
To: [email protected]
Date: Tue, 25 Jan 2011 18:13:51 -0600
Hi Bruce,

On Monday 24 January 2011 23:14:02 Bruce Hill wrote:
> In all the bo record documentation I can find, record processing specifies:
> > if DOL is DB_LINK and OMSL is CLOSED_LOOP
> >
> >     * get value from DOL
> >     * check for link alarm
> >     * force VAL to be 0 or 1
>
> However, the boRecord.c source code for 3.14.9 and 3.14.11 does not do
> this. If you read a non-zero value from the DOL link, VAL and RVAL
> retain that non-zero value, even if it isn't a 1.
>
> Does anyone know if this is intentional, or a bug?

I think this is a bug, but I'm not certain whether it's in the code or the 
documentation.  I just checked the history all the way back to the beginning 
of time (well, to when Marty first added the boRecord code to CVS in 1995) and 
the VAL field has never been forced to be 0 or 1 during record processing.  
Interestingly the forcing does happen at record initialization when DOL is a 
constant.

If VAL is neither 0 nor 1 then ca_get as a string returns "Illegal_Value" and 
RVAL is set to VAL; the behavior of RVAL is correct if the device support has 
set MASK, RVAL is MASK for all non-zero VALs else zero.

Should we fix this in the 3.15 series?  Does anybody know of any databases 
that rely on this weird behavior?

- Andrew
-- 
If a man is offered a fact which goes against his instincts, he will
scrutinize it closely, and unless the evidence is overwhelming, he will
refuse to believe it.  If, on the other hand, he is offered something
which affords a reason for acting in accordance to his instincts, he
will accept it even on the slightest evidence.  -- Bertrand Russell


Replies:
Re: bo Record not forcing VAL to 0 or 1 Bruce Hill
References:
bo Record not forcing VAL to 0 or 1 Bruce Hill

Navigate by Date:
Prev: Re: CSS BOY Meter widget limits Paweł Prędki
Next: RE: GigE driver for Area Detector Szalata, Zenon M.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: bo Record not forcing VAL to 0 or 1 Bruce Hill
Next: Re: bo Record not forcing VAL to 0 or 1 Bruce Hill
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·