Analog Alarm (ALMA)
This information applies to the
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, Compact GuardLogix
5380, CompactLogix
5380, CompactLogix
5480, ControlLogix
5580, and GuardLogix
5580 controllers. Controller differences are noted where applicable.The Analog Alarm (ALMA) instruction provides level and rate-of-change alarming for any analog signal.
Ladder Diagram
Function Block
Structured Text
ALMA (ALMA,In,ProgAckAll,ProgDisable,ProgEnable)
Operands
Ladder Diagram
Operand | Type | Format | Description |
ALMA | ALARM_ANALOG | Structure | ALMA structure |
In | REAL
DINT
INT
SINT | Tag
Immediate | The alarm input value, which is compared with alarm limits to detect the alarm condition. |
ProgAckAll | BOOL | Tag
Immediate | On transition from False to True, acknowledges all alarm conditions that require acknowledgement. |
ProgDisable | BOOL | Tag
Immediate | When True, disables alarm (does not override Enable Commands). |
ProgEnable | BOOL | Tag
Immediate | When True, enables alarm (takes precedence over Disable commands). |
Function Block
Operand | Type | Format | Description |
ALMA tag | ALARM_ANALOG | structure | ALMA structure |
Structured Text
Operand | Type | Format | Description |
ALMA | ALARM_ANALOG | Structure | ALMA structure |
In | REAL
DINT
INT
SINT | Tag
Immediate | The alarm input value, which is compared with alarm limits to detect the alarm condition. |
ProgAckAll | BOOL | Tag
Immediate | On transition from False to True, acknowledges all alarm conditions that require acknowledgement. |
ProgDisable | BOOL | Tag
Immediate | When True, disables alarm (does not override Enable Commands). |
ProgEnable | BOOL | Tag
Immediate | When True, enables alarm (takes precedence over Disable commands). |
See Structured Text Syntax for more information on the syntax of expressions within the structured text.
ALMA Structure
Input Parameters
Input Parameter | Data Type | Description |
---|---|---|
EnableIn | BOOL | Ladder Diagram: Corresponds to the rung state. If false, the instruction does not execute and outputs are not updated. Structured Text: If false, the instruction does not execute and outputs are not updated. Default is set. Function Block: If false, the instruction does not execute and outputs are not updated. Default is set. |
In | REAL | The alarm input value, which is compared with alarm limits to detect the alarm condition. Default = 0.0. Ladder Diagram: Copied from instruction operand. Structured Text: Copied from instruction operand. |
InFault | BOOL | Bad health indicator for the input. The user application may set InFault to indicate the input signal has an error. When set, the instruction sets InFaulted (Status.1). When cleared to false, the instruction clears InFaulted to false (Status.1). In either case, the instruction continues to evaluate In for alarm conditions. Default is false (good health). |
HHEnabled | BOOL | High High alarm condition detection. Set to true to enable detection of the High High alarm condition. Clear to false to make detection unavailable for the High High alarm condition. Default is set. |
HEnabled | BOOL | High alarm condition detection. Set to true to enable detection of the High alarm condition. Clear to false to make detection unavailable for the High alarm condition. Default is set. |
LEnabled | BOOL | Low alarm condition detection. Set to true to enable detection of the Low alarm condition. Clear to false to make detection unavailable for the Low alarm condition. Default is set. |
LLEnabled | BOOL | Low Low alarm condition detection. Set to true to enable detection of the Low Low alarm condition. Clear to false to make detection unavailable for the Low Low alarm condition. Default is set. |
AckRequired | BOOL | Specifies whether alarm acknowledgment is required. When set to true, acknowledgment is required. When cleared to false, acknowledgment is not required and HHAcked, HAcked, LAcked, LLAcked, ROCPosAcked, and ROCNegAcked are always set to true Default is true. |
ProgAckAll | BOOL | Set to true by the user program to acknowledge all alarm conditions. Takes effect only if any alarm condition is unacknowledged. Requires a false-to-true transition. Default is false. Ladder Diagram: Copied from the instruction operand. Structured Text: Copied from the instruction operand. |
OperAckAll | BOOL | Set to true by the operator interface to acknowledge all alarm conditions. Takes effect only if any alarm condition is unacknowledged. The alarm instruction clears this parameter to false. Default is false. |
HHProgAck | BOOL | High High program acknowledge. Set to true by the user program to acknowledge a High High condition. Takes effect only if the alarm condition is unacknowledged. Requires a false -to-true transition. Default is false. |
HHOperAck | BOOL | High High operator acknowledge. Set to true by the operator interface to acknowledge a High High condition. Takes effect only if the alarm condition is unacknowledged. The alarm instruction clears this parameter to false. Default is false. |
HProgAck | BOOL | High program acknowledge. Set to true by the user program to acknowledge a High condition. Takes effect only if the alarm condition is unacknowledged. Requires a false-to-true transition. Default is false. |
HOperAck | BOOL | High operator acknowledge. Set to true by the operator interface to acknowledge a High condition. Takes effect only if the alarm condition is unacknowledged. The alarm instruction clears this parameter to false. Default is false. |
LProgAck | BOOL | Low program acknowledge. Set to true by the user program to acknowledge a Low condition. Takes effect only if the alarm condition is unacknowledged. Requires a false-to-true transition. Default is false. |
LOperAck | BOOL | Low operator acknowledge. Set to true by the operator interface to acknowledge a Low condition. Takes effect only if the alarm condition is unacknowledged. The alarm instruction clears this parameter to false. Default is false. |
LLProgAck | BOOL | Low Low program acknowledge. Set to true by the user program to acknowledge a Low Low condition. Takes effect only if the alarm condition is unacknowledged. Requires a false-to-true transition. Default is false. |
LLOperAck | BOOL | Low Low operator acknowledge. Set to true by the operator interface to acknowledge a Low Low condition. Takes effect only if the alarm condition is unacknowledged. The alarm instruction clears this parameter false. Default is false. |
ROCPosProgAck | BOOL | Positive rate of change program acknowledge. Set to true by the user program to acknowledge a positive rate-of-change condition. Requires a false-to-true transition while the alarm condition is unacknowledged. Default is false. |
ROCPosOperAck | BOOL | Positive rate of change operator acknowledge. Set to true by the operator interface to acknowledge a positive rate-of-change condition. Requires a false-to-true transition while the alarm condition is unacknowledged. The alarm instruction sets this parameter to false. Default is false. |
ROCNegProgAck | BOOL | Negative rate of change program acknowledge. Set to true by the user program to acknowledge a negative rate-of-change condition. Requires a false-to-true transition while the alarm condition is unacknowledged. Default is false. |
ROCNegOperAck | BOOL | Negative rate of change operator acknowledge. Set to true by the operator interface to acknowledge a negative rate-of-change condition. Requires a false-to-true transition while the alarm condition is unacknowledged. The alarm instruction clears this parameter to false. Default is false. |
ProgSuppress | BOOL | Set to true by the user program to suppress the alarm. Default is cleared. |
OperSuppress | BOOL | Set to true by the operator interface to suppress the alarm. The alarm instruction clears this parameter to false. Default is false. |
ProgUnsuppress | BOOL | Set to true by the user program to unsuppress the alarm. Takes precedence over Suppress commands. Default is false. |
OperUnsuppress | BOOL | Set to true by the operator interface to unsuppress the alarm. Takes precedence over Suppress commands. The alarm instruction sets this parameter to false. Default is false. |
HHOperShelve | BOOL | High-high operator shelve. Set to true by the operator interface to shelve or reshelve a high-high condition. Requires a false-to-true transition. The alarm instruction clears this parameter to false. Default is false. Unshelve commands take precedence over Shelve commands. Shelving an alarm postpones alarm processing. It is like suppressing an alarm, except that shelving is time limited. If an alarm is acknowledged while it is shelved, it remains acknowledged even if it becomes active again. It becomes unacknowledged when the shelve duration ends. |
HOperShelve | BOOL | High operator shelve. Set to true by the operator interface to shelve or reshelve a high condition. Requires a transition from false in one program scan to true in the next program scan. The alarm instruction clears this parameter to false. Default is false. Unshelve commands take precedence over Shelve commands. |
LOperShelve | BOOL | Low operator shelve. Set to true by the operator interface to shelve or reshelve a low condition. Requires a transition false in one program scan to true in the next program scan. The alarm instruction clears this parameter to false. Default is false. Unshelve commands take precedence over Shelve commands. |
LLOperShelve | BOOL | Low-low operator shelve. Set to true by the operator interface to shelve or reshelve a low-low condition. Requires a transition from false in one program scan to true in the next program scan. The alarm instruction clears this parameter to false. Default is false. Unshelve commands take precedence over Shelve commands. |
ROCPosOperShelve | BOOL | Positive rate-of-change operator shelve. Set to true by the operator interface to shelve or reshelve a positive rate-of-change condition. Requires a transition from false in one program scan to true in the next program scan. The alarm instruction clears this parameter to false. Default is false. Unshelve commands take precedence over Shelve commands. |
ROCNegOperShelve | BOOL | Negative rate-of-change operator shelve. Set to true by the operator interface to shelve or reshelve a negative rate-of-change condition. Requires a transition from false in one program scan to true in the next program scan. The alarm instruction clears this parameter to false. Default is false. Unshelve commands take precedence over Shelve commands. |
ProgUnshelveAll | BOOL | Set to true by the user program to unshelve all conditions on this alarm. If both shelve and unshelve are true, unshelve commands take precedence over shelve commands. Default is false. |
HHOperUnshelve | BOOL | High-high operator unshelve. Set to true by the operator interface to unshelve a high-high condition. The alarm instruction clears this parameter to false. If both shelve and unshelve are true, unshelve commands take precedence over shelve commands. Default is false. |
HOperUnshelve | BOOL | High operator unshelve. Set to true by the operator interface to unshelve a high condition. The alarm instruction clears this parameter to false. If both shelve and unshelve are true, unshelve commands take precedence over shelve commands. Default is false. |
LOperUnshelve | BOOL | Low operator unshelve. Set to true by the operator interface to unshelve a low condition. The alarm instruction clears this parameter to false. If both shelve and unshelve are true, unshelve commands take precedence over shelve commands. Default is false. |
LLOperUnshelve | BOOL | Low-low operator unshelve. Set to true by the operator interface to unshelve a low-low condition. The alarm instruction clears this parameter to false. If both shelve and unshelve are true, unshelve commands take precedence over shelve commands. Default is false. |
ROCPosOperUnshelve | BOOL | Positive rate-of-change operator unshelve. Set to true by the operator interface to unshelve a positive rate-of-change condition. The alarm instruction clears this parameter to false. If both shelve and unshelve are set, unshelve commands take precedence over shelve commands. Default is false. |
ROCNegOperUnshelve | BOOL | Negative rate-of-change operator unshelve. Set to true by the operator interface to unshelve a negative rate-of-change condition. The alarm instruction clears this parameter to false. If both shelve and unshelve are true, unshelve commands take precedence over shelve commands. Default is false. |
ProgDisable | BOOL | Copied from the instruction operand. |
OperDisable | BOOL | Set to true by the operator interface to disable the alarm. The alarm instruction clears this parameter to false. Default is false. |
ProgEnable | BOOL | Copied from the instruction operand. |
OperEnable | BOOL | Set to true by the operator interface to enable the alarm. Takes precedence over Disable command. The alarm instruction clears this parameter false. Default is false. |
AlarmCountReset | BOOL | Set to true by the operator interface to reset the alarm counts for all conditions. The alarm instruction clears this parameter to false. Default is false. |
HHMinDurationEnable | BOOL | High-high minimum duration enable. Set to true to enable minimum duration timer when detecting the high-high condition. Default is true. |
HMinDurationEnable | BOOL | High minimum duration enable. Set to true to enable minimum duration timer when detecting the high condition. Default is true. |
LMinDurationEnable | BOOL | Low minimum duration enable. Set to true to enable minimum duration timer when detecting the low condition. Default is true. |
LLMinDurationEnable | BOOL | Low-low minimum duration enable. Set to true to enable minimum duration timer when detecting the low-low condition. Default is true. |
HHLimit | REAL | High High alarm limit. Valid = HLimit < HHLimit < maximum positive float. Default = 0.0. |
HHSeverity | DINT | Severity of the High High alarm condition. This does not affect processing of alarms by the controller, but can be used for sorting and filtering functions at the alarm subscriber. Valid = 1...1000 (1000 = most severe; 1 = least severe). Default = 500. |
HLimit | REAL | High alarm limit. Valid = LLimit < HLimit < HHLimit. Default = 0.0. |
HSeverity | DINT | Severity of the High alarm condition. This does not affect processing of alarms by the controller, but can be used for sorting and filtering functions at the alarm subscriber. Valid = 1...1000 (1000 = most severe; 1 = least severe). Default = 500. |
LLimit | REAL | Low alarm limit. Valid = LLLimit < LLimit < HLimit. Default = 0.0. |
LSeverity | DINT | Severity of the Low alarm condition. This does not affect processing of alarms by the controller, but can be used for sorting and filtering functions at the alarm subscriber. Valid = 1...1000 (1000 = most severe; 1 = least severe). Default = 500. |
LLLimit | REAL | Low Low alarm limit. Valid = maximum negative float < LLLimit < LLimit. Default = 0.0. |
LLSeverity | DINT | Severity of the Low Low alarm condition. This does not affect processing of alarms by the controller, but can be used for sorting and filtering functions at the alarm subscriber. Valid = 1...1000 (1000 = most severe; 1 = least severe). Default = 500. |
MinDurationPRE | DINT | Minimum duration preset (milliseconds) for an alarm level condition to remain true before the condition is marked as InAlarm and alarm notification is sent to clients. The controller collects alarm data as soon as the alarm condition is detected; so no data is lost while waiting to meet the minimum duration. Does not apply to rate-of-change conditions or to conditions for which minimum duration detection is disabled. MinDurationPRE only applies to the first excursion from normal in either direction. For example, once the High condition times out, the High High condition becomes active immediately, while a Low condition waits for the timeout period. Valid = 0...2147483647. Default = 0. |
ShelveDuration | DINT | Time duration (in minutes) for which a shelved alarm will be shelved. Minimum time is one minute. Maximum time is defined by MaxShelveDuration. |
MaxShelveDuration | DINT | Maximum time duration (in minutes) for which an alarm can be shelved. |
Deadband | REAL | Deadband for detecting that High High, High, Low, and Low Low alarm levels have returned to normal. A non-zero Deadband can reduce alarm condition chattering if the In value is continually changing but remaining near the level condition threshold. The Deadband value does not affect the transition to the InAlarm (active) state. Once a level condition is active, but before the condition returns to the inactive (normal) state, the In value must either: drop below the threshold minus the deadband (for High and High High conditions).
OR rise above the threshold plus the deadband (for Low and Low Low conditions). The Deadband is not used to condition the Minimum Duration time measurement. Valid = 0 = Deadband < Span from first enabled Low alarm to the first enabled High alarm. Default = 0.0. |
ROCPosLimit | REAL | Limit for an increasing rate-of-change in units per second. Detection is enabled for any value > 0.0 if ROCPeriod is also > 0.0. Valid = 0.0...maximum possible float. Default = 0.0. |
ROCPosSeverity | DINT | Severity of the increasing rate-of-change condition. This does not affect processing of alarms by the controller, but can be used for sorting and filtering functions at the alarm subscriber. Valid = 1...1000 (1000 = most severe; 1 = least severe). Default = 500. |
ROCNegLimit | REAL | Limit for a decreasing rate-of-change in units per second. Detection is enabled for any value > 0.0 if ROCPeriod is also > 0.0. Valid = 0.0...maximum possible float. Default = 0.0. |
ROCNegSeverity | DINT | Severity of the decreasing rate-of-change condition. This does not affect processing of alarms by the controller, but can be used for sorting and filtering functions at the alarm subscriber. Valid = 1...1000 (1000 = most severe; 1 = least severe). Default = 500. |
ROCPeriod | REAL | Time period in seconds for calculation (sampling interval) of the rate of change value. Each time the sampling interval expires, a new sample of In is stored, and ROC is re-calculated. Instead of an enable bit like other conditions in the analog alarm, the rate-of-change detection is enabled by putting any non-zero value in the ROCPeriod. Valid = 0.0...32767.0 Default = 0.0. |
Output Parameters
These output parameters are common to ladder logic.
Output Parameter | Data Type | Description | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AnyInAlarmUnack | BOOL | Combined alarm active and acknowledged status. Set to true when any alarm condition is detected and unacknowledged. Cleared to false when all alarm conditions are inactive, acknowledged, or both. | ||||||||||||||||||||||||||||||
HHInAlarm | BOOL | High High alarm condition status. Set to true when a High High condition is Active. Cleared to false when no High High condition exists. | ||||||||||||||||||||||||||||||
HInAlarm | BOOL | High alarm condition status. Set to true when a High condition is Active. Cleared to false when no High condition exists. | ||||||||||||||||||||||||||||||
LInAlarm | BOOL | Low alarm condition status. Set to true when a Low condition is Active. Cleared to false when no Low condition exists. | ||||||||||||||||||||||||||||||
LLInAlarm | BOOL | Low Low alarm condition status. Set to true when a Low Low condition is Active. Cleared to false when no Low Low condition exists. | ||||||||||||||||||||||||||||||
ROCPosInAlarm | BOOL | Positive rate-of-change alarm condition status. Set to true when a positive rate-of-change condition exists. Cleared to false when no positive rate-of-change condition exists. | ||||||||||||||||||||||||||||||
ROCNegInAlarm | BOOL | Negative rate-of-change alarm condition status. Set to true when a negative rate-of-change condition exists. Cleared to False when no negative rate-of-change condition exists. | ||||||||||||||||||||||||||||||
ROC | REAL | Calculated rate-of-change of the In value. This value is updated when the instruction is scanned following each elapsed ROCPeriod. The ROC value is used to evaluate the ROCPosInAlarm and ROCNegInAlarm conditions. ROC = (current sample of In – previous sample of In) / ROCPeriod | ||||||||||||||||||||||||||||||
HHAcked | BOOL | High High condition acknowledged status. Set to true when a High High condition is acknowledged. Always set to true when AckRequired is cleared to false. Cleared to false when a High High condition is not acknowledged. | ||||||||||||||||||||||||||||||
HAcked | BOOL | High condition acknowledged status. Set to true when a High condition is acknowledged. Always set to true when AckRequired is cleared to false. Cleared to false when a High condition is not acknowledged. | ||||||||||||||||||||||||||||||
LAcked | BOOL | Low condition acknowledged status. Set to true when a Low condition is acknowledged. Always set to true when AckRequired is cleared to false. Cleared to false when a Low condition is not acknowledged. | ||||||||||||||||||||||||||||||
LLAcked | BOOL | Low Low condition acknowledged status. Set to true when a Low Low condition is acknowledged. Always true when AckRequired is cleared to false. Cleared to false when a Low Low condition is not acknowledged. | ||||||||||||||||||||||||||||||
ROCPosAcked | BOOL | Positive rate-of-change condition acknowledged status. Set to true when a positive rate-of-change condition is acknowledged. Always true when AckRequired is cleared to false. Cleared to false when a positive rate-of-change condition is not acknowledged. | ||||||||||||||||||||||||||||||
ROCNegAcked | BOOL | Negative rate-of-change condition acknowledged status. Set to true when a negative rate-of-change condition is acknowledged. Always set to true when AckRequired is cleared to false. Cleared to false when a negative rate-of-change condition is not acknowledged. | ||||||||||||||||||||||||||||||
HHInAlarmUnack | BOOL | Combined High High condition active and unacknowledged status. Set to true when the High High condition is active (HHInAlarm is true) and unacknowledged. Cleared to false when the High High condition is inactive, acknowledged, or both. | ||||||||||||||||||||||||||||||
HInAlarmUnack | BOOL | Combined High condition active and unacknowledged status. Set to true when the High condition is active (HInAlarm is true) and unacknowledged. Cleared to false when the High condition is inactive, acknowledged, or both. | ||||||||||||||||||||||||||||||
LInAlarmUnack | BOOL | Combined Low condition active and unacknowledged status. Set to true when the Low condition is active (LInAlarm is true) and unacknowledged. Cleared to false when the Low condition is inactive, acknowledged, or both. | ||||||||||||||||||||||||||||||
LLInAlarmUnack | BOOL | Combined Low Low condition active and unacknowledged status. Set to true when the Low Low condition is active (LLInAlarm is true) and unacknowledged. Cleared to false when the Low Low condition is inactive, acknowledged, or both. | ||||||||||||||||||||||||||||||
ROCPosInAlarmUnack | BOOL | Combined positive rate-of-change condition active and unacknowledged status. Set to true when the positive rate-of-change condition is active (ROCPosInAlarm is true) and unacknowledged. Cleared to false when the positive rate-of-change condition is inactive, acknowledged, or both. | ||||||||||||||||||||||||||||||
ROCNegInAlarmUnack | BOOL | Combined negative rate-of-change condition active and unacknowledged status. Set to true when the negative rate-of-change condition is active (ROCNegInAlarm is true) and unacknowledged. Cleared to false when the negative rate-of-change condition is inactive, acknowledged, or both. | ||||||||||||||||||||||||||||||
Suppressed | BOOL | Suppressed status of the alarm. Set to true when the alarm is suppressed. Cleared to false when the alarm is not suppressed. | ||||||||||||||||||||||||||||||
HHShelved | BOOL | High-high condition shelved status. Set to true when a high-high condition is shelved. Cleared to false when high-high condition is unshelved. | ||||||||||||||||||||||||||||||
HShelved | BOOL | High condition shelved status. Set to true when a high condition is shelved. Cleared to false when high condition is unshelved. | ||||||||||||||||||||||||||||||
LShelved | BOOL | Low condition shelved status. Set to true when a low condition is shelved. Cleared to false when low condition is unshelved. | ||||||||||||||||||||||||||||||
LLShelved | BOOL | Low-low condition shelved status. Set to true when a low-low condition is shelved. Cleared to false when low-low condition is unshelved. | ||||||||||||||||||||||||||||||
ROCPosShelved | BOOL | Positive rate-of-change condition shelved status. Set to true when a positive rate-of-change condition is shelved. Cleared to false when positive rate-of-change condition is unshelved. | ||||||||||||||||||||||||||||||
ROCNegShelved | BOOL | Negative rate-of-change condition shelved status. Set to true when a negative rate-of-change condition is shelved. Cleared to false when negative rate-of-change condition is unshelved. | ||||||||||||||||||||||||||||||
Disabled | BOOL | Disabled status of the alarm. Set to true when the alarm is unavailable (disabled). Cleared to false when the alarm is enabled. | ||||||||||||||||||||||||||||||
Commissioned | BOOL | The commissioned bit is not used. | ||||||||||||||||||||||||||||||
MinDurationACC | DINT | Not Used. Value is always 0. | ||||||||||||||||||||||||||||||
HHInAlarmTime | LINT | Timestamp when the ALMA instruction detected that the In value exceeded the High High condition limit for the most recent transition to the active state. | ||||||||||||||||||||||||||||||
HHAlarmCount | DINT | The number of times the High High condition has been activated. If the maximum value is reached, the counter leaves the value at the maximum count value. | ||||||||||||||||||||||||||||||
HInAlarmTime | LINT | Timestamp when the ALMA instruction detected that the In value exceeded the High condition limit for the most recent transition to the active state. | ||||||||||||||||||||||||||||||
HAlarmCount | DINT | The number of times the High condition has been activated. If the maximum value is reached, the counter leaves the value at the maximum count value. | ||||||||||||||||||||||||||||||
LInAlarmTime | LINT | Timestamp when the ALMA instruction detected that the In value exceeded the Low condition limit for the most recent transition to the active state. | ||||||||||||||||||||||||||||||
LAlarmCount | DINT | The number of times the Low condition has been activated. If the maximum value is reached, the counter leaves the value at the maximum count value. | ||||||||||||||||||||||||||||||
LLInAlarmTime | LINT | Timestamp when the ALMA instruction detected that the In value exceeded the Low Low condition limit for the most recent transition to the active state. | ||||||||||||||||||||||||||||||
LLAlarmCount | DINT | The number of times the Low Low condition has been activated. If the maximum value is reached, the counter leaves the value at the maximum count value. | ||||||||||||||||||||||||||||||
ROCPosInAlarmTime | LINT | Timestamp when the ALMA instruction detected that the In value exceeded the positive-rate-of-change condition limit for the most recent transition to the active state. | ||||||||||||||||||||||||||||||
ROCPosInAlarmCount | DINT | The number of times the positive rate-of-change condition has been activated. If the maximum value is reached, the counter leaves the value at the maximum count value. | ||||||||||||||||||||||||||||||
ROCNegInAlarmTime | LINT | Timestamp when the ALMA instruction detected that the In value exceeded the negative-rate-of-change condition limit for the most recent transition to the active state. | ||||||||||||||||||||||||||||||
ROCNegAlarmCount | DINT | The number of times the negative rate-of-change condition has been activated. If the maximum value is reached, the counter leaves the value at the maximum count value. | ||||||||||||||||||||||||||||||
AckTime | LINT | Timestamp of most recent condition acknowledgment. If the alarm does not require acknowledgment, this timestamp is equal to most recent condition alarm time. | ||||||||||||||||||||||||||||||
RetToNormalTime | LINT | Timestamp of alarm returning to a normal state. | ||||||||||||||||||||||||||||||
AlarmCountResetTime | LINT | Timestamp indicating when the alarm count was reset. | ||||||||||||||||||||||||||||||
ShelveTime | LINT | Timestamp indicates when an alarm condition was shelved the last time. Set by controller when alarm condition is shelved. Alarm conditions can be shelved and unshelved many times. Each time alarm condition is shelved the timestamp is set to current time. | ||||||||||||||||||||||||||||||
UnshelveTime | LINT | Timestamp indicating when all alarm conditions are going to be unshelved. Value is set only when no alarm condition is shelved yet. The timestamp is determined as sum of the ShelveDuration time period and current time. If an alarm condition is unshelved programmatically or by an operator and no other alarm condition is shelved, then value is set to the current time. | ||||||||||||||||||||||||||||||
Status | DINT | Combined status indicators:
| ||||||||||||||||||||||||||||||
InstructFault (Status.0) | BOOL | Instruction error conditions exist. This is not a minor or major controller error. Check the remaining status bits to determine what occurred. | ||||||||||||||||||||||||||||||
InFaulted (Status.1) | BOOL | User program has set InFault to indicate bad quality input data. Alarm continues to evaluate In for alarm conditions. | ||||||||||||||||||||||||||||||
SeverityInv (Status.2) | BOOL | Alarm severity configuration is invalid. If severity <1, the instruction uses Severity = 1. If severity >1000, the instruction uses Severity = 1000. | ||||||||||||||||||||||||||||||
AlarmLimitsInv (Status.3) | BOOL | Alarm Limit configuration is invalid (for example, LLimit < LLLimit). If invalid, the instruction clears all level conditions active bits. Until the fault is cleared, no new level conditions can be detected. | ||||||||||||||||||||||||||||||
DeadbandInv (Status.4) | BOOL | Deadband configuration is invalid. If invalid, the instruction uses
Deadband = 0.0. Valid = 0 = Deadband < Span from first enabled low alarm to the first enabled high alarm. | ||||||||||||||||||||||||||||||
ROCPosLimitInv (Status.5) | BOOL | Positive rate-of-change limit invalid. If invalid, the instruction uses ROCPosLimit = 0.0, which makes positive rate-of-change detection unavailable. | ||||||||||||||||||||||||||||||
ROCNegLimitInv (Status.6) | BOOL | Negative rate-of-change limit invalid. If invalid, the instruction uses ROCNegLimit = 0.0, which makes negative rate-of-change detection unavailable. | ||||||||||||||||||||||||||||||
ROCPeriodInv (Status.7) | BOOL | Rate-of-change period invalid. If invalid, the instruction uses ROCPeriod = 0.0, which makes rate-of-change detection unavailable. | ||||||||||||||||||||||||||||||
Overflow (Status.8) | BOOL | The Overflow bit is set to true when an overflow condition is detected. The overflow bit is cleared to false when the overflow condition has been corrected. Applies toL8 controllers for tables in topicsonly. |
Connect a button to the OperShelve tag
The alarm instruction only processes the OperShelve tag on transition from cleared to set to prevent unwanted reshelving of the alarm. For example, if an operator presses a push button to shelve the alarm while the ProgUnshelve tag is set, the alarm is not shelved because the ProgUnshelve tag takes precedence. To shelve the alarm, the operator can release and press the push button again once ProgUnshelve is cleared.
Affects Math Status Flags
Controllers | Affected Math Status Flags |
CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers | Conditional |
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, and GuardLogix 5570 controllers | Yes |
A minor fault will occur if: | Fault Type | Fault Code |
The input value is INF or NAN for
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, and GuardLogix 5570 controllers | 4 | 4 |
See Math status flags.
Major/Minor Faults
None specific to this instruction. See Index through arrays for array-indexing faults.
Analog Alarm State Diagrams
These illustrations show the manner in which an analog alarm responds to changing alarm conditions and operator commands.
Analog Alarm Timing Diagrams
These timing diagrams show the sequence of analog alarm operations.
Level Conditions Behavior Acknowledge
Level Conditions Behavior No Acknowledge
ROC Conditions Behavior Acknowledge
ROC Conditions Behavior No Acknowledge
Execution
Ladder Diagram
Condition/State | Action Taken |
Prescan | Rung-condition-out is cleared to false. All of the ALMA structure parameters are cleared All alarm conditions are acknowledged. All operator requests are cleared All timestamps are cleared All delivery flags are cleared. |
Rung-condition-in is false | Rung-condition-out is cleared to false. |
Rung-condition-in is true | Rung-condition-out is set to true The instruction executes |
Postscan | Rung-condition-out is cleared to false |
Function Block
Condition/State | Action Taken |
Prescan | Tag.EnableOut is cleared to false. All of the ALMA structure parameters are cleared All alarm conditions are acknowledged. All operator requests are cleared All timestamps are cleared All delivery flags are cleared. |
Tag.EnableIn is false | Tag.EnableOut is cleared to false |
Tag.EnableIn is true | The instruction executes Tag.EnableOut is set to true |
Instruction first run | N/A |
Instruction first scan | N/A |
Postscan | Tag.EnableOut is cleared to false |
Structured Text
In Structured Text, EnableIn is always true during normal scan. Therefore, if the instruction is in the control path activated by the logic it will execute.
Condition/State | Action Taken |
Prescan | See Prescan in the Ladder Diagram table. |
Normal Execution | See Rung-condition-in is true in the Ladder Diagram table. |
Postscan | See Postscan in the Ladder Diagram table. |
Examples
Ladder Diagram
Function Block
An example of an ALMA instruction in Function Block is shown below. In this example, the Tank 32 Level Transmitter (Tank32LT) is monitored for alarm conditions. The Tank32LevelAck tag can be used to acknowledge all conditions of this alarm.
Structured Text
In this example, the Tank 32 Level Transmitter (Tank32LT) is monitored for alarm conditions. The Tank32LevelAck tag can be used to acknowledge all conditions of this alarm.
ALMA(Tank32Level,Tank32LT,Tank32LevelAck,0, 0);
Provide Feedback