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]