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:
Status Flag
CompactLogix
5370,
ControlLogix
5570,
Compact GuardLogix
5370, and
GuardLogix
5570 controllers
CompactLogix
5380,
CompactLogix
5480,
ControlLogix
5580,
Compact GuardLogix
5380, and
GuardLogix
5580 controllers
Status.0 = InstructFault
X
X
Status.1 = InFaulted
X
X
Status.2 = SeverityInv
X
X
Status.3 = AlarmLimitsInv
X
X
Status.4 = DeadbandInv
X
X
Status.5 = ROCPosLimitInv
X
X
Status.6 = ROCNegLimitInv
X
X
Status.7 = ROCPeriodInv
X
X
Status.8 = Overflow
-
X
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.
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
only.
4
4
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
ALMA ROC Conditions Behavior Acknowledge
ROC Conditions Behavior No Acknowledge
ALMA 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
ALMA_LD_example_v31
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
Have questions or feedback about this documentation? Please submit your feedback here.