The following just became obvious in BESSY real life:
There are channels where the attached hardware latches the error
status. The operator has to actively "error reset" the device to make
the error bits go back to green. In such cases, you don't want to have
to acknowledge those alarms additionally in the Alarm Handler. So we
set ACKT to false for such error bits.
BUT: In cases of transiently failing connections (such as loose field
bus plugs or short hangup states followed by quick reboots of the
remote hardware) we are losing this failure information because also
the resulting transient INVALID status doesn't need to be acknowledged.
Suggestion:
Change the type of alarmAckTransient from boolean to
menu(menuAlarmSevr) and redefine it as "highest level of alarm that
does not have to be acknowledged". Doesn't need more space in the DB
and allows for nice and subtle configuration options: e.g. warnings
that don't have to be ack'ed while errors do.
What do you think?