Ack

(Alarm Manager module)

Description: Will acknowledge an alarm.
Returns: Nothing
Usage: Script Only.
Function Groups: Alarm
Related to: AckAllAlarms | AckAllAlarmsPlusDlg
Format: \AlarmManager.Ack(AlarmName[, EventTime, AccountID, Device, RecordGUID, Custom, MachineID, FromPLC]);
Parameters:  
AlarmName
Required.

Unique name for the alarm. Typically the unique ID, which can be obtained using GetAlarmName.
If there are multiple built-in alarms in a tag, the convention is to concatenate the UniqueID with a separator and a unique integer or string per alarm. For example, Concat(Root\UniqueID, \AlarmSeparatorString, 0).

EventTime
Optional UTC timestamp of the value. Defaults to the current time.
AccountID
Optional text. The name of the operator who acknowledged the alarm.
If invalid, the logged-in user (according to the Security Manager) will be used.
Device
Optional text. Name of the client device that sent the acknowledgment.
RecordGUID
Optional text. Acknowledge only this specific record.
See: Alarm API Structure Definitions
Custom
Optional. A structure of custom fields to log.
MachineID
Optional. The machine ID of the workstation linked with this acknowledgement.
FromPLC
Optional. Used only with PLCAlarm tag. True when the Ack took place in the PLC.

Comments:

 

Example:

  If StrictlyNotEqual(IsUnAcked, OldIsUnAcked);
  [
    IfThen(!IsUnAcked,
       { If I have been Acked in the PLC, Ack me. }
      \AlarmManager.Ack(AlarmName { Alarm name  },
                        Invalid   { TimeStamp   },
                        Invalid   { AccountID   },
                        Invalid   { Device      },
                        Invalid   { RecordGUID  },
                        Invalid   { Custom      },
                        Invalid   { MachineID   },
                        TRUE      { FromPLC     });
    );

    OldIsUnAcked = IsUnAcked;
  ]