Hi Matthias,
On Wednesday 29 September 2010 10:52:48 Matthias Clausen wrote:
is there a place in the EPICS doc which describes how to actually
acknowledge alarms correctly on an IOC?
The AppDevGuide mentions the ACKT and ACKS fields in sections 11.6.2 and
15.3.3 but doesn't explain how to access the acknowledgement fields through
CA. The CA reference manual does describe the three DBR types that you need
to use, but isn't really explicit about how to use them.
I need an implementation in Java which we will do ourselves. As far as I
remember from 'old alh' times the mechanism was not straight forward.
Reading should work through the ACKS field - or is there a DBR type
which includes this information?
I don't know for sure whether JCA/CAJ supports these, but I think it should:
* To monitor the current alarm info ask for DBE_ALARM events with the special
DBR_STSACK_STRING request type, which provides the values of all four alarm
fields in one structure (there's a typo in the CAref manual that I just fixed,
where it says "ackv" it means "acks").
* To set the ACKT field of a record for configuring its transient alarm
behaviour make a DBR_PUT_ACKT request with ca_put() or ca_put_callback() and
the values 0 (no ack needed for transient alarms) or 1 (ack needed).
* To acknowledge an alarm do a put request with DBR_PUT_ACKS and the severity
value that you want to acknowledge.
Hope to see you in two weeks!
You too, I'm planning to be there.
- Andrew