2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 | Index | 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Alarm behaviour |
From: | Timo Korhonen via Core-talk <core-talk at aps.anl.gov> |
To: | EPICS Core Talk <core-talk at aps.anl.gov> |
Date: | Fri, 16 Jun 2023 15:26:41 +0000 |
Hi, Yesterday I was presented with a case that puzzles me. I thought I understand the behavior of alarms but it seems that I do not. One (ai, “Soft Channel”) record in our system seems to be stuck in alarm state. See below for what CA and PVA report. The record reports a MINOR alarm severity, even if the HIGH is set at 30 and the value is below (at 27.96). The record gets its input from another record, so I thought that maybe the alarm is propagated from there, but the input link is set to NMS.
And, the origin record is not in an alarm state so that would be odd anyway. What am I missing here? (One interesting observation is that pvget -v lists severities as null, although they are set (for sure.) HSV is set to MINOR (1). EPICS version in this case is 7.0.6.1, but I see this with 7.0.7 as well. I do not think that this is related to the alarm behavior though.) The records do not latch alarm states, do they? Or have I been wrong all these years? (I tried some other records in a soft IOC and they behaved as I would expect.) What is the purpose of the ACKS and ACKT fields (if the explanation would be too long to write here, I can try to figure out from the source code…) I have read what the record documentation says, but it does not help me to understand how these are intended to be used. (Just for curiosity, ACKS=INVALID and ACKT=YES for that record.) Is there an explanation for this, or any ideas where to look at? Timo -- (epics) timokorhonen@nxnode-06:~$ caget -a DTL-010:EMR-TT-028:Temp DTL-010:EMR-TT-028:Temp 2023-06-16 09:09:44.009138 27.96 HIGH MINOR (epics) timokorhonen@nxnode-06:~$ pvget DTL-010:EMR-TT-028:Temp DTL-010:EMR-TT-028:Temp 2023-06-16 09:12:21.929 27.94 MINOR DEVICE HIGH
(epics) timokorhonen@nxnode-06:~$ pvget -v DTL-010:EMR-TT-028:Temp DTL-010:EMR-TT-028:Temp epics:nt/NTScalar:1.0
double value 27.96 alarm_t alarm MINOR DEVICE HIGH
int severity 1 int status 1 string message HIGH structure timeStamp long secondsPastEpoch 1686899551 int nanoseconds 309940000 int userTag 0 structure display double limitLow 10 double limitHigh 150 string description "Temperature DTL-010 Tank, Location 028" string units degC int precision 0 enum_t form (0) Default int index 0 string[] choices [Default, String, Binary, Decimal, Hex, Exponential, Engineering] control_t control double limitLow 10 double limitHigh 150 double minStep 0 valueAlarm_t valueAlarm boolean active false double lowAlarmLimit nan double lowWarningLimit nan double highWarningLimit 30 double highAlarmLimit 50 int lowAlarmSeverity 0 int lowWarningSeverity 0 int highWarningSeverity 0 int highAlarmSeverity 0 byte hysteresis 0 Dr. Timo Korhonen Chief Engineer, Integrated Control System European Spallation Source ERIC P.O. Box 176, SE-221 00 Lund, Sweden Visiting address: Partikelgatan 2, 224 84 Lund Mobile: +46 721 79 22 31 E-mail: timo.korhonen at ess.eu
|