Alarm Set Operation (ASO)

This information applies to the Compact GuardLogix 5380, CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, and GuardLogix 5580 controllers.
The Alarm Set Operation (ASO) instruction issues a specified operation to all alarm conditions of the specified alarm set. The Alarm Set Operation instruction is used to initiate asynchronous execution of an alarm operation for all alarm conditions of the specified alarm set. The instruction iterates through alarm conditions of the specified alarm set and sets an internal flag requesting the operation execution for each of the conditions. The internal flags have the same purpose and priority as the existing user accessible Progxxx bits and will be processed for all the alarm conditions of the specified alarm set during the next periodic evaluation of each particular alarm condition from the set.
Available Languages
Ladder Diagram
Function Block Diagram
This instruction is not available in Function Block Diagram.
Structured Text
ASO (Alarm Set, Alarm Set Control, Operation)Operands
IMPORTANT:
Unexpected operation may occur if:
  • The same tag (ALARM_SET_CONTROL) is used as a parameter for more than one instruction invocation.
  • The .LastState structure member is modified by a user application program.
WARNING:
The Alarm Set Control structure contains internal state information. If any of the configuration operands are changed while in run mode, accept the pending edits and cycle the controller mode from Program to Run for the changes to take effect.
The following table provides operands used for configuring the instruction.
Operand
Data Type
Format
Description
Alarm Set
ALARM_SET
AlarmSet
The ALARM_SET structure represents alarm conditions that are operated on by this instruction.
Alarm Set Control
ALARM_SET_CONTROL
tag
This data type contains three BOOL flags:
  • EnableIn
  • EnableOut
  • LastState
The instruction reacts to the edge (transition of .EnableIn from false to true) instead of the level.
EnableOut is always set to .EnableIn.
The request to perform the instruction operation have the same priority as ProgXXX flags.
Operation
immediate
This operand can be selected from the list or entered as an integer value:
0 - Acknowledge
1 - Reset
2 - Enable
3 - Disable
4- Unshelve
5 - Suppress
6 - Unsuppress
7 - ResetAlarmCount
Affects Math Status FlagsNoMajor/Minor FaultsNone specific to this instruction. See Index through arrays for array-indexing faults.Execution
Condition/State
Action Taken
Prescan
The instruction clears all ALARM_SET structure members.
Rung-condition -in is false
The instruction clears .EnableOut and .LastState structure members.
Rung-condition-in is true
If .LastState is false then the instruction initiates the operation and sets .LastState structure member to true. The .EnableOut structure member is always set to true.
Postscan
The instruction clears all ALARM_SET structure members.
OperationThe Alarm Set Operation instruction initiates asynchronous execution of one of the following alarm operations on the specified alarm set:
  • Acknowledge
  • Reset
  • Enable
  • Disable
  • Unshelve
  • Suppress
  • Unsuppress
  • ResetAlarmCount
The instruction iterates through all alarm conditions which are included in the specified alarm set or in the nested alarm sets to set an internal flag representing the request to perform the required operation on a particular alarm condition. The operation is initiated for all alarm conditions which are iterated by the instruction with the following exceptions:
  • Alarm Conditions which are configured not to support alarm operations
  • Alarm Conditions which are configured as not used
When an alarm operation is initiated for a particular alarm condition by the instruction, the operation is performed during the next alarm periodic evaluation of the alarm condition.When the instruction is called multiple times for the same Alarm Set to initiate contradictory alarm operations, the last requested operation is always applied to all alarm conditions in the Alarm Set. The alarm operations initiated for the Alarm Set may be applied to the conditions before the last requested operation is performed.When an Alarm Condition is periodically evaluated, the requests to perform particular alarm operations have the same priority as the requests to perform alarm operations initiated via user accessible Progxxx flags. It means that if a request to perform an alarm operation is generated by the instruction, then it is handled as if the corresponding Progxxx flag is set and the same rules used to resolve conflicting requests specified for ProgXXX flags are used to resolve conflicts between the instruction requests and requests made via Progxxx flags.The Alarm Set Operation instruction initiates the required alarm operation only when it detects the transition of .EnableIn value from false to true. In order to detect the transition, .LastState structure member is used to store .EnableIn value from the previous instruction execution. See the Execution section above.
TIP:
If the Alarm set provided as the instruction parameter contains an excessive number of alarm conditions, then the execution time of the ASO instruction can increase significantly.
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.