EPICS Home

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  <20172018  2019  2020  2021  2022  2023  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  <20172018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: CA monitoring weirdness for status/severity
From: "Hogben, Colin H" <[email protected]>
To: "Johnson, Andrew N." <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Mon, 07 Aug 2017 13:05:57 +0100
Hi Andrew,
Thanks for your response.

>> My first surprise is that the HIGH field is reported as undefined, when it clearly has the value I configured.

There are 3 aspects to the camonitor output, and I think you're getting them confused.

I'm coming at this from the CA protocol perspective, and I'm aware that a CA_PROTO_EVENT_ADD response for TIME_DOUBLE contains status, severity and value (and also timestamp).

The <undefined> part means the record's time stamp is as yet unset, because it hasn't been processed yet. Similarly the UDF INVALID part means the record is still in a UDF alarm state because the VAL field hasn't been set. Note that the time stamp and alarm status and severity are related to the record as a whole, not to the particular field you're monitoring.

From the CA point of view, the .HIGH and .VAL are separate PVs; the protocol has no knowledge of what "record" or other concept may lie behind them. Even if the CA server is using some common status & severity for multiple PVs, I'd still expect it to report the same status & severity to all clients of any given PV.

  chah:ao.HIGH                   <undefined> 11 UDF INVALID

The value changes as you expect, but the record still hasn't processed or been given a value to define the VAL field, so it's still undefined and in UDF alarm.

However, if I start a new camonitor, I get

  gen-pub-11:~ $ camonitor chah:ao.HIGH
  chah:ao.HIGH                   2017-08-07 10:30:55.033976 11

Are you sure you didn't also do a put to the VAL field in between?

Yes, quite sure. Did you try it? BTW I forgot to say that this is with version 3.14.12.5 of base.

The change to the metadata implies that someone did since they are now set so the record has been processed.

It looks to me as though writing to .HIGH causes the record to be processed.

I've just discovered that if I do a second write to .HIGH, the original camonitor sees status=0 severity=0 and a valid timestamp when it receives the new EVENT_ADD. As though they're lagging behind by one update.

If you're going to be writing your own CA client code, you may not want to actually monitor the metadata for channels which aren't a record's VAL field, and make sure you're monitoring the right CA Event type as well.

Hmm, if status & severity aren't reliable other than for .VAL, it looks like I may have to apply some heuristics based on the PV name (eugh!).

--
Colin Hogben
Professional Software/Control Engineer
CODAS & IT Department
United Kingdom Atomic Energy Authority
Culham Science Centre
Abingdon
Oxfordshire
OX14 3DB
Tel : 01235 464948
Web: www.gov.uk/ukaea

Replies:
Re: CA monitoring weirdness for status/severity bob dalesio
RE: CA monitoring weirdness for status/severity Mark Rivers
References:
CA monitoring weirdness for status/severity Hogben, Colin H
Re: CA monitoring weirdness for status/severity Johnson, Andrew N.

Navigate by Date:
Prev: Re: CA monitoring weirdness for status/severity Johnson, Andrew N.
Next: Re: CA monitoring weirdness for status/severity bob dalesio
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: CA monitoring weirdness for status/severity Johnson, Andrew N.
Next: Re: CA monitoring weirdness for status/severity bob dalesio
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024