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  2022  2023  2024  <2025 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  2022  2023  2024  <2025
<== Date ==> <== Thread ==>

Subject: RE: IOC, QServ, and AMSG / alarm.message
From: Ivan Finch - STFC UKRI via Tech-talk <tech-talk at aps.anl.gov>
To: Michael Davidsaver <mdavidsaver at gmail.com>, Aqeel Alshafei - STFC UKRI <Aqeel.Alshafei at stfc.ac.uk>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Tue, 18 Feb 2025 12:29:48 +0000
>> In addition, I have tried to put AMSG and NAMSG on a normal PV without input, output or forward link. alarm message is not being set from AMSG.
>
> As with SEVR and STAT fields, I don't think that AMSG/NAMSG should be set directly.
>
> As I think about it, it would make sense to have a soft device support which sets SEVR/STAT/AMSG to values read from a link.

I think I may not fully understand the intent of the AMSG/NAMSG record fields. 

A bit of context may make it clearer where we're coming from. We're transitioning from our old control system to a new PVAccess based EPICS control system. But as we're in transition we're running the two control systems in parallel and using our own custom Python software based on pvapy to bridge between them. We're currently still running our old alarm system which displays an alarm message, e.g. "SYNC - R6A Plant - DC Bias Water Pressure Low".

We can route alarms from EPICS PVs into the old control system's alarm display. At the start of our transition most of these EPICS alarms were generated by pvapy or p4p and we could set the Normative Type alarm.message field as desired. This message field is what we would show in the old control system alarm display. We've now begun deploying conventional EPICS IOCs using QServ to make the PVs available as PVAccess PVs. Unfortunately, the default alarm.message field is less informative! Our control room is currently seeing alarm messages like "INJ - VAC - STATE" (we prepend the "INJ - VAC - " in the bridging software).

Ideally, we'd like to simply set the alarm.message through the Record of the PV. We can already determine an alarm's severity and status from the obvious fields to determine if it's LOLO, HI, INVALID, COMM, etc. So, setting the AMSG to a constant string would suffice for most of our use cases. 

Hence our initial attempts to do something like my colleague Aqeel outlines:

record(calc, "EXAMPLE:COUNTER") {
    field(AMSG, "Bad Counter")
    field(VAL, "0")
    field(INPA, "5")
    field(CALC, "VAL = A? 0: VAL+1")
    field(HIGH, "5")
    field(HSV, "MAJOR")
    field(SCAN, "1 second")
}

It appears that this is not the intended behaviour of the AMSG field? As you note, it wouldn't generally make sense for SEVR or STAT to be settable, producing a PV that was locked to a particular alarm state. Hopefully, the discussion above shows that in some cases a constant (or near constant) AMSG may make sense.

Any advice on a way to control the alarm.message would be very helpful.

Thank you for any help you can give,

Ivan
 

Replies:
Re: IOC, QServ, and AMSG / alarm.message Michael Davidsaver via Tech-talk
References:
IOC, QServ, and AMSG / alarm.message Ivan Finch - STFC UKRI via Tech-talk
Re: IOC, QServ, and AMSG / alarm.message Michael Davidsaver via Tech-talk
Re: IOC, QServ, and AMSG / alarm.message Aqeel Alshafei - STFC UKRI via Tech-talk
Re: IOC, QServ, and AMSG / alarm.message Michael Davidsaver via Tech-talk
Re: IOC, QServ, and AMSG / alarm.message Aqeel Alshafei - STFC UKRI via Tech-talk
Re: IOC, QServ, and AMSG / alarm.message Michael Davidsaver via Tech-talk

Navigate by Date:
Prev: Re: PVA Gateway issues with two networks client Saisrikiran Mudigonda via Tech-talk
Next: RE: StreamDevice Checksum formatting bug Baily, Scott A 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  2022  2023  2024  <2025
Navigate by Thread:
Prev: Re: IOC, QServ, and AMSG / alarm.message Johnson, Andrew N. via Tech-talk
Next: Re: IOC, QServ, and AMSG / alarm.message Michael Davidsaver 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  2022  2023  2024  <2025
ANJ, 18 Feb 2025 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions ·
· Download · Search · IRMIS · Talk · Documents · Links · Licensing ·