Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Plant SCADA

AlarmAck

  • Last UpdatedSep 09, 2025
  • 3 minute read

Acknowledges alarms. You can acknowledge the alarm where the cursor is positioned, one or more alarm lists on the active page, a whole category of alarms, or alarms of a particular priority.

This command takes the currently logged in user into account. In other words, only the alarms that the user can see are acknowledged.

You would normally call this function from a keyboard command. No action is taken if the specified alarms have already been acknowledged.

If this function is not called from a foreground task, it becomes a blocking function.

Note: For projects using StruxureWare templates, Mode 0 cannot be used, and Mode 1 is only supported when Value set to –1 (acknowledge all lists on the page).

Syntax

INT AlarmAck(INT Mode, INT Value [, STRING ClusterName])

Mode:

The type of acknowledgment:

0 - Acknowledge a single alarm.

• Set Value to the AN where the alarm is displayed.

• Set Value to 0 to acknowledge the alarm at the current cursor position.

1 - Acknowledge a page of alarms. An alarm page can contain more than one alarm list:

• Set Value to the AN where the alarm list is displayed.

• Set Value to 0 to acknowledge the (displayed) alarm list on the active page where the cursor is positioned.

• Set Value to -1 to acknowledge all (displayed) alarm lists on the active page. This only applies to alarm lists created using AlarmDsp (and not those created using AlarmDspLast).

2 - Acknowledge a category of alarms:

• Set Value to the alarm category (0 to 16375) of the alarms to be acknowledged. Please be aware that Alarm category 0 indicates all categories; alarm category 255 indicates hardware alarms.

• Set Value to the group handle to acknowledge a group of categories.

3 - Acknowledge alarms of a specific priority.

Hardware alarms are not affected by priority.

• Set Value to the alarm priority (0-255) of the alarms to be acknowledged. Alarm priority 0 indicates all priorities.

• Set Value to the group handle to acknowledge a group of alarms of different priorities.

Value:

Used to specify which alarms to acknowledge.

sClusterName:

Used with Mode 2 or 3 to specify the name of the cluster in which the alarms being acknowledged reside. This argument is optional if the client is connected to only one cluster containing an alarm server or are resolving the alarm server via the current cluster context.

This argument is not required where the mode is 2 and the value is 255 (hardware alarm category).

This argument is enclosed in quotation marks "".

Return Value

Alarm commands on single clusters will return either 0 if successful or an error code if unsuccessful.

Alarm commands across multiple clusters may also return a partial success result, whereby a command has been successful on 'at least' one cluster but unsuccessful on another cluster.

Note: In some cases, this function is non-blocking. Under these circumstances, any error that is detected when the alarm server processes the command will not be returned.

GrpOpen, AlarmAckRec, AlarmAckTag, AlarmClear, AlarmDisable, AlarmEnable

Example

System keyboard

Key Sequence

LeftButton

Command

AlarmAck(0, 0)

Comment

Acknowledge the alarm where the cursor is positioned

System keyboard

Key Sequence

ShiftLeftButton

Command

AlarmAck(1, -1)

Comment

Acknowledge a page of alarms

Comment

Acknowledge the alarm where the cursor is positioned

System keyboard

Key Sequence

AlarmAck ### Enter

Command

AlarmAck(2, Arg1, "clusterXYZ")

Comment

Acknowledge alarms of a specified category in cluster XYZ

System keyboard

Key Sequence

AckPri ############# Enter

Command

AlarmAck(3,Arg1, "clusterXYZ")

Comment

Acknowledge alarms of a specific priority in cluster XYZ

! Acknowledge alarms of the specified group of categories.

FUNCTION

AckGrp(STRING CategoryGroup)

INT hGrp;

hGrp=GrpOpen("CatGroup",1);

StrToGrp(hGrp,CategoryGroup);

AlarmAck(2,hGrp, "clusterXYZ");

GrpClose(hGrp);

END

See Also

Alarm Functions

In This Topic
Related Links
TitleResults for “How to create a CRG?”Also Available in