-
Notifications
You must be signed in to change notification settings - Fork 0
Overrides and Effective State
An alarm can be in two basic states:
- "Active": Timely operator action required (actively alarming / annunciating)
- "Normal": No operator action required
In an ideal world alarm producers are sophisticated and aware of the machine program and nuisance alarms are non-existent. Nuisance alarms are alarms which are in the Active state incorrectly - there really isn't any operator action required despite the alarm producer indicating there is. In practice, nuisance alarms are very common and quickly undermine the value of an alarm system. Overrides are one way for operators to deal with nuisance alarms by adding a layer of indirection from alarm producers and allowing effective activation state to differ from actual activation state. Multiple overrides are possible simultaneously and precedence determines effective override state, which is factored into effective activation state.
Precedence | Name | Trigger | Duration | Note |
---|---|---|---|---|
1 | Disabled | Manual Operator Command | Indefinite | A broken alarm can be flagged as out-of-service |
2 | Filtered | Manual Operator Command of filterable alarm | Indefinite | An alarm can be "suppressed by design" - generally a group of alarms are filtered out when not needed for the current machine program. The Filter Processor helps operators filter multiple alarms with simple grouping commands (like by area). |
3 | Masked | Automatic upon activtation of both maskable alarm and parent alarm | Only while parent alarm is active | An alarm can be suppressed by a parent alarm to minimize confusion during an alarm flood and build an alarm hierarchy |
4 | OnDelayed | Automatic upon activation of on-delayable alarm | Short with expiration | An alarm with an on-delay is temporarily suppressed upon activation to minimize fleeting/chattering |
5 | Shelved | Manual Operator Command | Short with expiration | An alarm can be temporarily suppressed via manual operator command |
6 | OffDelayed† | Automatic upon de-activation of off-delayable alarm | Short with expiration | An alarm with an off-delay is temporarily incited upon de-activation to minimize fleeting/chattering |
7 | Latched† | Automatic upon activation of latchable alarm | Until Operator Ack | A fleeting alarm (one that toggles between Active and Normal too quickly) can be configured to require acknowledgement by operators - the alarm is latched once active and won't clear to Normal (or Active) until acknowledged |
† Incited alarm override (Others are suppressed override)
Operator Initiated
- Disable and Undisable
- Shelve and Unshelve
- Filter and Unfilter
- Unlatch (acknowledge)
Automated
- On-Delay and Un-On-Delay
- Off-Delay and Un-Off-Delay
- Latch
- Mask and Unmask
- Unshelve (timer expiration or active cleared if one-shot)
Note: Some overrides are disallowed by configuration. The alarm-registrations topic schema contains fields indicating whether an alarm is filterable, maskable (maskedby), on-delayable (ondelayseconds), off-delayable (offdelayseconds), and latchable (latching).
The effective alarm state is computed by the jaws-effective-processor, which consumes the alarm-registrations, alarm-activations, and alarm-overrides topics. The processor outputs override updates to the alarm-overrides, and calculated activation state to the effective-activations topic. Calculated registration state is output to the effective-registrations topic. The processor also outputs combined alarm records containing both registration and activation to the effective-alarms topic for clients that require an absolute ordering of registration and activation messages or for clients that prefer to store less registration state at the expense of larger all-in-one activation messages.
The effective activation state takes into consideration override precedence, one shot vs continuous shelving, and Active vs Normal with overridden considerations. The effective activation states in precedence order:
Precedence | State | Effectively | Note |
---|---|---|---|
1 | NormalDisabled | Normal | Until disable removed (suppressed) |
2 | NormalFiltered | Normal | Until the filter is removed (suppressed) |
3 | NormalMasked | Normal | Until the alarm or parent alarm becomes inactive (suppressed) |
4 | NormalOnDelayed | Normal | Until delay expires OR the alarm becomes inactive (suppressed) |
5 | NormalOneShotShelved | Normal | Until the alarm becomes inactive OR shelving expires (suppressed) |
6 | NormalContinuousShelved | Normal | Until shelving expires (suppressed) |
7 | ActiveOffDelayed | Active | Until delay expires (incited) |
8 | ActiveLatched | Active | Until operator acknowledgement (incited) |
9 | Active | Active | Timely operator action is required |
10 | Normal | Normal | Does not require operator action |
Note: Some states are mutually exclusive such as the override states with "Normal" prefix cannot occur at the same times as their Active counterparts (For example, an alarm can not be both NormalDisabled and Disabled at the same time, but an alarm can be both Disabled and Filtered). The Precedence is arbitrary in these mutually exclusive cases. The way our override schema is keyed it is also impossible for an alarm to be both One shot and continuous shelved simultaneously (they're also mutually exclusive states).
Note: Registration isn't used to determine activation state at this time; just ensures an initial set of "Normal" alarms are recorded.