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  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024  Index 1994  1995  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  2021  <20222023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Alarm severity in PVA
From: Michael Davidsaver via Tech-talk <tech-talk at aps.anl.gov>
To: "Kasemir, Kay" <kasemirk at ornl.gov>, "Cobb, Tom (DLSLtd,RAL,LSCI)" <tom.cobb at diamond.ac.uk>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Mon, 14 Feb 2022 12:02:31 -0800
On 2/14/22 05:29, Kasemir, Kay via Tech-talk wrote:
How should a UI render invalidAlarm vs undefinedAlarm vs "can't connect to PV"?
Is there much of a difference to a user of a UI between those three states?

Good question. In CS-Studio, the display builder uses a very similar variant of purple for both the invalid and undefined severity, and also a very similar dash-dotted vs. dotted border style. So even color-vision-impaired users can tell a difference if they want to, but it's a small difference because either case basically means: Ignore what you see, it's not valid data.  If it's clearly disconnected, text-type widgets show "<PV Name>" instead of the last value, to make it more obvious that we can't connect to the PV and at the same time indicate what PV that is.

But that still leaves the question of when you'd get invalid vs. undefined.

Not sure if that's fully defined and consistently implemented in all the PVA servers (QSRV, custom C++/python server, ...).

It's unfortunately no so clear to me how to map between the database/CA alarm
model to the PVA NT* alarm.

The way QSRV does it at the moment:

https://github.com/epics-base/pva2pva/blob/f07d14b12dc892e434b5498afe8782e4f3145711/pdbApp/pvif.cpp#L331-L378

https://github.com/epics-base/pva2pva/blob/f07d14b12dc892e434b5498afe8782e4f3145711/pdbApp/pvif.cpp#L404

I make no warranty for this being correct, or even useful.

... CS-Studio for example does this:
If there is no 'alarm' found in the PVA data, assume that it was simply not provided (custom server...) and the alarm severity is OK.
If there is an 'alarm' structure, but it fails to contain a 'severity', assume undefinedAlarm, else use the severity as received.


References:
Alarm severity in PVA Cobb, Tom (DLSLtd,RAL,LSCI) via Tech-talk
Re: Alarm severity in PVA Kasemir, Kay via Tech-talk

Navigate by Date:
Prev: Re: Potentiostat EPICS driver (EC301 / SP-300) Nilson Pereira via Tech-talk
Next: Pheobus Alarm-System - Handling varying locations for associated displays Gotz, Malte via Tech-talk
Index: 1994  1995  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  2021  <20222023  2024 
Navigate by Thread:
Prev: Re: Alarm severity in PVA Kasemir, Kay via Tech-talk
Next: Pheobus Alarm-System - Handling varying locations for associated displays Gotz, Malte via Tech-talk
Index: 1994  1995  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  2021  <20222023  2024 
ANJ, 14 Sep 2022 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·