Argonne National Laboratory

Experimental Physics and
Industrial Control System

<19941995  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  Index <19941995  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 
<== Date ==> <== Thread ==>

Subject: Re: pvget to an _output_ record
From: dalesio@luke.atdiv.lanl.gov (Bob Dalesio)
Date: Mon, 5 Dec 94 15:01:56 MST
To do this correctly, there would have to be several changes.

The analog output record does fetch the value before sending a new output. The
fetch does NOT call device support, however. So there is little value here.
Even if it did call device support, it proceeds to write out the new output
(whatever is in VAL) regardless of what it read. It doesn't even consider the
possibility that the outputs can change through any other mechanism. This could
be a deficiency of the analog output record. Perhaps it should be modified to
handle this for all cases. If so, we would need to revisit all device support
that hooks to analog outputs.

You also have a race condition, where either the Multibus or EPICS tools can
be writing to this area. If they are writing at the same time, this needs to
be detected and a rational action taken.

I think you need a special record.
It would monitor the Multibus memory either as part of periodic record
processing or a device driver callback. This would update EPICS controllers with
the value that was set through the other Multibus interface.
You would need to put in an option for actions to take when an EPICS request is
made in the middle of a Multibus change:
Throw away new output if Multibus memory changed outside EPICS
Override the Multibus value with the new EPICS value
Look at both and pick the largest/smallest changes

If this didn't make any sense, we can go into more detail. In short, I think it
would be easier to create a new record type that handles this. It may be more 
correct to apply this thinking to analog outputs and fix all of the device
support so it incorporates this functionality.

Navigate by Date:
Prev: Re: pvget to an _output_ record Bill Brown
Next: Re: pvget to an _output_ record Marty Kraimer
Index: <19941995  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 
Navigate by Thread:
Prev: Re: pvget to an _output_ record Bill Brown
Next: Re: pvget to an _output_ record Marty Kraimer
Index: <19941995  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 
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 ·