EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: forcing binary output value at initialization
From: Andrew Johnson <[email protected]>
To: [email protected]
Cc: [email protected]
Date: Fri, 21 Apr 2000 17:17:28 -0500
[email protected] wrote:
> 
>         I am trying to force a binary output record to come up in a
> specific state at IOC initialization.  The device is an XVME-240, and I
> want the outputs to come up "high" at startup.  Here is what I tried:

I came across a very similar problem the other day, although with the ao
record.  There appears to be an omission from the Record Reference Manual,
which doesn't completely describe the return value from the init_record
call to device support, or how device support signals whether it's capable
of reading back the current output value from the hardware.  The omission
occurs on ao and bo, maybe on other types as well.

> "If DOL is a constant, then VAL is initialized to 1 if its value is
> nonzero or initialized to 0 if DOL is zero, and UDF is set to FALSE."

The following line says "If device support includes init_record it is
called. VAL is set using RVAL, and UDF is cleared".  In fact VAL is only
set from RVAL if the device support routine returned 0 (which the xy240
one does). The device support knows that it can read back the current
output register contents from the hardware.  It does so, puts the result
into RVAL, and returns 0 (meaning convert RVAL to VAL, overwriting
whatever was put in there from DOL).  If it couldn't (say the output
regster was write-only) it should return 2 (meaning there's nothing to
convert).

This behaviour is essential for some applications that need bumpless
reboot - they must be able to initialize the software by reading back the
current state of the hardware.  You can use the DOL initialization
technique for soft records and for devices that don't support readback (as
long as the device support init_record routine returns 2 rather than 0),
but unfortunately the xy240 provides too much functionality!

- Andrew
-- 
Complexity comes for free, Simplicity you have to work for.


References:
forcing binary output value at initialization pate

Navigate by Date:
Prev: forcing binary output value at initialization pate
Next: Re: forcing binary output value at initialization William Lupton
Index: 1994  1995  1996  1997  1998  1999  <20002001  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: forcing binary output value at initialization pate
Next: Re: forcing binary output value at initialization pate
Index: 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·