Register Now


Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Captcha Click on image to update the captcha .


Register Now

register content

PLC Alarm Logic Alarm Set Operation Instruction (ASO)

This information applies to Compact GuardLogix 5380, CompactLogix 5380, CompactLogix 5480, ControlLogix 5580 and GuardLogix 5580 controllers. The alarm set operation instruction issues a specified operation on all alarm conditions of the specified alarm set. The alarm set operation instruction is used to start the asynchronous execution of the alarm operation for all alarm conditions of the specified alarm set. This instruction traverses the alarm conditions of the specified alarm set and sets an internal flag that requires operations to be performed on each condition. The purpose and priority of the internal flags are the same as the Progxxx bits accessible to existing users, and all alarm conditions of the specified alarm set will be processed during the next periodic evaluation of each specific alarm condition from the collection.

Ladder Diagram

plc programming ASO Ladder plc

Function Block Diagram

This instruction is not available in Function Block Diagram.

Structured Text

ASO (Alarm Set, Alarm Set Control, Operation)


OperandData TypeFormatDescription
Alarm SetALARM_SETAlarmSetThe ALARM_SET structure represents alarm conditions that are operated on by this instruction.
Alarm Set ControlALARM_SET_CONTROLtagThis 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.

OperationimmediateThis 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

Major/Minor Faults

None specific to this instruction. See Index Through Arrays for array-indexing faults.

Condition/StateAction Taken
PrescanThe instruction clears all ALARM_SET structure members.
Rung-condition -in is falseThe instruction clears .EnableOut and .LastState structure members.
Rung-condition-in is trueIf .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.
PostscanThe instruction clears all ALARM_SET structure members.

The 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 specific alarm condition by instruction, the operation will be performed during the periodic alarm evaluation of the next alarm condition.

When the same alarm set calls this instruction multiple times to initiate contradictory alarm operations, the last requested operation will always be applied to all alarm conditions in the alarm set. The alarm operation initiated for the alarm set can 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.