The conditional alarming feature, available for only standard alarms, lets you easily add alarm time delays and enable/disable alarms to minimize nuisance alarms.
For example, when an upstream pump is turned off, the downstream low flow alarm is temporarily not meaningful. The low flow alarm becomes a nuisance alarm when the pump is off and should be disabled. The LO_ENAB parameter can be used to dynamically enable/disable the alarm. When this pump is turned back on, it may be best for the low flow alarm to remain disabled for a short period of time, allowing the flow rate time to rise above the low flow alarm limit. The LO_ENAB_DELAY parameter causes a delay in setting an alarm immediately after the alarm has been enabled using the LO_ENAB parameter.
Conditional alarming for standard alarms is enabled through their function block's Block Alarms dialog. When conditional alarming is enabled, five new parameters are added to the block for each available ACT parameter (HI_ACT, HI_HI_ACT, LO_ACT, LO_LO_ACT, DV_HI_ACT, DV_LO_ACT and DISC_ACT). Conditional alarming parameters can be modified in either the Block Alarms dialog or an individual alarm's Alarm Properties dialog (Condition tab). The Conditioning tab is available only when conditional alarming is enabled for that alarm.
In the descriptions that follow, the term alarm_ is used to represent either HI, HI_HI, LO, LO_LO, DV_HI, DV_LO, or DISC, corresponding to the alarm being configured. The ACT parameter indicates the current status of its alarm condition, with 1 (true) representing an alarm condition. The five additional parameters are:
This parameter enables/disables conditional alarm processing for a single alarm. The default value for this parameter is enabled (1), when conditional alarming for a function block is enabled. You can write to the alarm_ENAB parameter to dynamically enable/disable the alarm based on external process conditions.
When alarm_ENAB is disabled (0):
This parameter delays the time (in seconds) that it takes for alarm_ACT to be true (1) after the alarm condition is detected. If the alarm condition clears before the delay time is reached, the alarm_ACT parameter remains false (0) and the timer is reset. Every time the alarm condition clears, the timer resets.
This parameter delays the time (in seconds) that it takes for alarm_ACT to be set to 0 (false) after the alarm condition clears. If the alarm condition reoccurs before the delay time is reached, the alarm_ACT parameter remains true (1) and the timer is reset. Every time the alarm condition is detected, the timer resets.
This parameter delays the time (in seconds) before alarm processing begins immediately after the alarm is enabled (alarm_ENAB becomes true). The alarm_ACT parameter is forced to 0 for the time specified (in seconds). The timer resets whenever alarm_ENAB goes from zero to 1.
This parameter is used as a deadband when resetting base alarm conditions for analog values. The block uses the value of alarm_HYS instead of the standard ALARM_HYS. When conditional alarm detection is enabled, the block uses ALARM_HYS as the deadband for deviation alarm conditions only.
Example
Conditional alarming behavior is influenced by the module and block execution scan rates. For example, if a module executes at a five second scan rate and a block in the module executes every 10 module scans, then the block runs every 50 seconds. If any conditional alarming delay is set to 50 seconds or less, the delay condition is met the next time the block runs. So if the alarm condition is met, the alarm becomes active between 0 and 50 seconds after the alarm condition was met. If the delay condition was set to 51 seconds, the alarm would become active between 51 and 100 seconds after the alarm condition was met.