Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017 Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
<== Date ==> <== Thread ==>

Subject: Re: SIML type CA and PINI=YES issue
From: Andrew Johnson <anj@aps.anl.gov>
To: <core-talk@aps.anl.gov>
Date: Wed, 29 Nov 2017 14:26:49 -0600
On 11/29/2017 01:13 PM, Kasemir, Kay wrote:
>> That's where out-of-band management would jump in... 
> Printing a message on the IOC console would be a bit like out-of-band notification,
> but you would not see at all that via a CA client,
> while on the console you might then see that every time the record processes.

The error message should be logged too (your IOCs do all connect to an
error logger don't they? ... No, ours don't really any more, or nobody
ever looks at the log files, but we are planning to feed them all into
something like ElasticSearch in the future...).

For records that might process frequently the messages would be annoying
noisy though, and when your SIML target really does live on a remote IOC
which goes down that could be a problem.

This is one of those situations when a link type that atomically reads a
dbState value might be worthwhile, and a better solution than using CA
links. Actually why limit ourselves to just binary values, why not
create a link type that provides atomic access to any shared storage
(similar to the old global symbol support, but with proper thread
protection)?


>> What about setting STAT to LINK without setting the severity?
> Yes, good compromise between showing nothing and stopping the normal operation.

I didn't know you could actually do that, but it looks like you can. The
recGblSetSevr() routine sets NSTA and NSEV, but only when the new
severity is higher than the current one. You would have to bypass that
and set NSTA directly (but only when NSEV is NO_ALARM). However those
values will get copied from NSTA & NSEV into STAT & SEVR fields by
recGblResetAlarms() unconditionally, which will post a DBE_VALUE event
on both STAT and the VAL field when STAT changes even if SEVR doesn't or
is zero.

Not sure that the current GUI tools will ever actually display the
result, but maybe that doesn't matter?

- Andrew

-- 
Arguing for surveillance because you have nothing to hide is no
different than making the claim, "I don't care about freedom of
speech because I have nothing to say." -- Edward Snowdon

Replies:
Re: SIML type CA and PINI=YES issue Ralph Lange
References:
SIML type CA and PINI=YES issue Ralph Lange
Re: SIML type CA and PINI=YES issue Ralph Lange
Re: SIML type CA and PINI=YES issue Kasemir, Kay
Re: SIML type CA and PINI=YES issue Ralph Lange
Re: SIML type CA and PINI=YES issue Kasemir, Kay

Navigate by Date:
Prev: Re: warnings about strict aliasing Michael Davidsaver
Next: Re: SIML type CA and PINI=YES issue Ralph Lange
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
Navigate by Thread:
Prev: Re: SIML type CA and PINI=YES issue Kasemir, Kay
Next: Re: SIML type CA and PINI=YES issue Ralph Lange
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
ANJ, 29 Nov 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·