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
<2017>
2018
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
<2017>
2018
2019
2020
2021
2022
2023
2024
|