The section defines alarms. Alarms in PackML are provided via a set of tags. Alarms in OPC UA are provided via events and a full alarming system. This is a preferred method for providing alarms, but it does require some additional overhead. To allow the PackML information model to be implemented in smaller devices it was decided to initially support the existing Tag based representation of Alarm information, and to add the OPC UA Event based definition of alarms in the next release. Servers shall be able to report alarms in both manners, and Clients can use the manner that is most appropriate for them. Some smaller device might find it easier to just access the tags for Alarm information, but display system or other HMIs would probably make use of the OPC UA Event based system for alarming.

The following VariableType is used to report alarms in the PackML unit. In addition, the data is also available as a structured datatype, which is much like an event.

The PackMLAlarmDataType provides the PackML tag alarm structure. It is formally defined in Table 62.

Table 62 – PackMLAlarmDataType Structure

Name

Type

Description

PackMLAlarmDataType

Structure

ID

Int32

A unique number assigned to each type of alarm, stop or warning.

Value

Int32

An alarm, stop or warning message number associated to the ID to allow for user specific detail or to break down the Alarm.ID to greater detail

Message

String

The actual text of the alarm, stop or warning for those machines capable of providing string information

Category

Int32

A user defined value which indicates what type of alarm, stop or warning has occurred. E.g. electrical, mechanical, process limit, …

DateTime

UtcTime

The date and time that the alarm, stop or warning occurred

AckDateTime

UtcTime

The date and time that the alarm, stop or warning was Acknowledged,

Trigger

Boolean

This variable is true when the alarm is active

[note: This section will be defined in a future release]