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  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: Alarm for noisy readback channel
From: "J. Lewis Muir" <[email protected]>
To: Paul Nord <[email protected]>
Cc: EPICS Tech Talk <[email protected]>
Date: Wed, 22 Feb 2012 16:53:21 -0600
On 2/22/12 4:29 PM, Paul Nord wrote:
> I've got a network device that's misbehaving.  It "sometimes" reports an absolutely ridiculous value.  I'd like to set an alarm on this PV but I don't want the alarm sounding once or twice an hour when there's not really anything wrong.  (Never cry wolf.)
> 
> In the typical failure mode it reports a "crazy" value once and then goes back to the normal value.  (The device actually returns the voltage value for a channel when you ask for a current.  And it formats a reply and happily returns "Current: 3600 A", which would be impressive for a supply running at 3600 V.  It works out to 13 MegaWatts.  The real current is just ~100 uA.)
> 
> What's the best way to deal with this?
> 	A CALC pv that takes this value as an input but returns zero if the reading was outside of some range?
> 	A CALC pv that counts the number of readings which are outside of the proper range?  (e.g. A>1.0?(VAL+1):0 )
> 
> Are there other good mechanisms?

Hi, Paul.

For a glitchy device reading where I don't want to see the
glitch, I typically keep track of the most recent non-glitch
value read from the device and a count of the number of
consecutive glitches.  If the value read is not a glitch, I use
it and reset my glitch count to 0.  If the value read is a
glitch, I increment the glitch count.  If the glitch count is
less than or equal to the max allowed glitch count, I use the
most recent non-glitch value.  If the glitch count has exceeded
the max allowed glitch count, I set the value to some in-range
default value (e.g. 0) and set the alarm status to INVALID.
This can be done in a C/C++ driver or using just records in
EPICS Base.

Lewis

References:
Alarm for noisy readback channel Paul Nord

Navigate by Date:
Prev: RE: Alarm for noisy readback channel Pierrick M Hanlet
Next: RE: Alarm for noisy readback channel Allison, Stephanie
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: RE: Alarm for noisy readback channel Pierrick M Hanlet
Next: RE: Alarm for noisy readback channel Allison, Stephanie
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 
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 ·