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: merge multiple alarms |
From: | "Mooney, Tim M." <[email protected]> |
To: | Tito Körner <[email protected]>, "[email protected]" <[email protected]> |
Date: | Wed, 30 Oct 2013 16:05:33 +0000 |
Hi Tito,
If you used the calcout record, you could have, say, calcout.INPA linked to an input PV, and calcout.INPB linked to calcout.INAV, which contains the link state of calcout.INPA (zero if the link is bad). Then you could have a calc subexpression like this: "b?a:1". Tim Mooney From: [email protected] [[email protected]] on behalf of Tito Körner [[email protected]]
Sent: Tuesday, October 29, 2013 1:46 PM To: [email protected] Subject: merge multiple alarms Hello,
I have a set of pvs (created via an ai record and a substitution file) representing the channels of high voltage boxes looking like this:BOX:<boxnumber>:<levelnumber>:<channelnumber>:read_volt Now I'd like to have a record for each box, that displays if one of the voltage values is drifting away by using the alarm states of the ai record. The boxes are organised the following way: every box has 5 'levels' and each of them has 8 'channels' - so I have 40 voltage outputs per box. field (INPA, "BOX:$(BOXNO):$(LEVELNO):0:read_volt.STAT") field (INPA, "BOX:$(BOXNO):$(LEVELNO):1:read_volt.STAT") ... Then I use another calc record that checks if all levels of a box are 1: field (INPA, "BOX:$(BOXNO):0:level_stat") ... field (INPH, "BOX:$(BOXNO):$(LEVELNO):7:read_volt.STAT") record (calc, "checkit") { field (INPA, ":BOX:10:4:7:read_volt.STAT") field (CALC, "A") field (SCAN, ".1 second") } |