The IOLinkEventType defines the base structure for all EventTypes providing simple Events (Notifications) defined in this specification. Subtypes are defined to distinguish between events originating from IO-Link Device, IO-Link Masters and ports of the IO-Link Masters.

The IOLinkAlarmType defines the base structure for all EventTypes providing alarms (Errors and Warnings) defined in this specification. Subtypes are defined to distinguish between alarms originating from IO-Link Device, IO-Link Masters and ports of the IO-Link Masters.

The IOLinkEventType is the base EventType for Events generated from IO-Link Devices or IO-Link Masters. It is formally defined in Table 47.

Table 47 – IOLinkEventType Definition

Attribute

Value

BrowseName

IOLinkEventType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of BaseEventType defined in OPC 10000-5.

HasSubtype

ObjectType

IOLinkDeviceEventType

HasSubtype

ObjectType

IOLinkPortEventType

HasSubtype

ObjectType

IOLinkMasterEventType

HasProperty

Variable

IOLinkEventCode

UInt16

PropertyType

Mandatory

The EventType inherits the Properties of the BaseEventType.

  • The mandatory Property EventId is a vendor-specific unique identification of the Event.
  • The mandatory Property EventType reflects the type of Event, so either the NodeId of the IOLinkEventType or a subtype.
  • The content of the Properties SourceNode, SourceName, Time, ReceiveTime, and Message is defined by its subtypes.
  • The optional Property LocalTime shall not be provided.
  • The Property Severity reflects the mode of IO-Link events. The IOLinkEventType or subtypes shall only be used for “Notification” and the severity shall be “200”.

The Property IOLinkEventCode is defined by the subtypes of the EventType.

The IOLinkDeviceEventType is the base EventType for Events generated from IO-Link Devices. It is formally defined in Table 48.

Table 48 – IOLinkDeviceEventType Definition

Attribute

Value

BrowseName

IOLinkDeviceEventType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of IOLinkEventType defined in section 9.2.

HasSubtype

ObjectType

IOLinkIODDDeviceEventType

The following rules for the inherited Properties apply.

  • The mandatory Property SourceNode shall be the NodeId of the object representing the IO-Link Device the event originates from.
  • The mandatory Property SourceName shall be the string part of the BrowseName of the Object representing the IO-Link Device the Event originates from.
  • The mandatory Property Time shall be the time the IO-Link Master receives the Event from the IO-Link Device.

Note that the event might have been generated already at an earlier time (more than communication delays) in the IO-Link Device, before it was received by the IO-Link Master.

  • The mandatory Property ReceiveTime shall be set to the time the OPC UA Server receives the event. In case the OPC UA Server runs on the IO-Link Master, this might be the same value as the value of Property Time.
  • In case the IO-Link event code is not described in an IODD, the mandatory Property Message shall be set to “IO-Link EventCode: 0x<xxxx>” for the English locale, where xxxx is the event code as hexadecimal representation. For example, for event code 0x18FF the message shall be “IO-Link EventCode: 0x18FF”. The server may provide different locales containing a translation of that string. In case the IO-Link Specification defines a specific string (Table D.1 of IO-Link Specification) for a specific event code, the server may also use that string instead of the generic message. For example, for event code 0x4000 the string “Temperature fault – Overload” is defined and can be used alternatively as Message.
  • The mandatory Property IOLinkEventCode shall provide the two-octet event code of the IO-Link Device as UInt16.

The IOLinkIODDDeviceEventType is the EventType for Events generated from IO-Link Devices based on IODD information. It is formally defined in Table 49.

Table 49 – IOLinkIODDDeviceEventType Definition

Attribute

Value

BrowseName

IOLinkIODDDeviceEventType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of IOLinkDeviceEventType defined in section 9.3.

HasProperty

Variable

Name

LocalizedText

PropertyType

Mandatory

The following rules for the inherited Properties apply.

  • The mandatory Property Message shall be mapped to the corresponding IODD Event/Description element. Localization should be considered. If the optional element Description is not provided, the mandatory element Name shall be used.

The mandatory Property Name shall be mapped to the corresponding IODD Event/Name element. Localization should be considered.

The IOLinkPortEventType represents Events triggered by a concrete port of an IO-Link Master. It is formally defined in Table 48.

Table 50 – IOLinkPortEventType Definition

Attribute

Value

BrowseName

IOLinkPortEventType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of IOLinkEventType

The following rules for the inherited Properties apply.

  • The mandatory Property SourceNode shall be the NodeId of the Object of IOLinkPortType the event originates from.
  • The mandatory Property SourceName shall start with the string part of the BrowseName of the Object of IOLinkMasterType the IO-Link Port is connected to, followed by a “.” and the string part of the BrowseName of the Object of IOLinkPortType the Event originates from.
  • The mandatory Property Time shall be the time the Event occurred on the IO-Link Master.
  • The mandatory Property ReceiveTime shall be set to the time the OPC UA Server receives the event. In case the OPC UA Server runs on the IO-Link Master, this might be the same value as the value of Property Time.
  • The allowed IOLinkPortEvents are defined in IO-Link Addendum as port specific events. The EventCode ID shall be mapped to the IOLinkEventCode. In case of a vendor-specific EventCode ID the Message is vendor-specific. In case of all other EventCode IDs the descriptive text of IO-Link Addendum shall be used as Message for locale “en”. For EventCode IDs 0xFF21 to 0xFFFF no text is defined. For those, the following Message texts defined in Table 51 shall be used for locale “en”. Servers may provide translations for all Message texts in other languages.

Table 51 – Message texts for specific IOLinkEventCode values

IOLinkEventCode

Message (for locale “en”)

0xFF21

New Device

0xFF22

Device not available – communication lost

0xFF23

Invalid backup – Data Storage identification mismatch

0xFF24

Invalid backup – Data Storage buffer overflow

0xFF25

Invalid backup – Data Storage parameter access denied

0xFF31

Event lost – incorrect Event signaling

The IOLinkMasterEventType is the base EventType for Events generated from an IO-Link Master. It is formally defined in Table 52.

Table 52 – IOLinkMasterEventType Definition

Attribute

Value

BrowseName

IOLinkMasterEventType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of IOLinkEventType

The following rules for the inherited Properties apply.

  • The mandatory Property SourceNode shall be the NodeId of the object representing the IO-Link Master the event originates from.
  • The mandatory Property SourceName shall be the string part of the BrowseName of the Object representing the IO-Link Master the Event originates from.
  • The mandatory Property Time shall be the time the Event occurred on the IO-Link Master.
  • The mandatory Property ReceiveTime shall be set to the time the OPC UA Server receives the event. In case the OPC UA Server runs on the IO-Link Master, this might be the same value as the value of Property Time.
  • The Properties IOLinkEventCode and Message are vendor-specific. Vendors may also create subtypes of this EventType to add vendor-specific Properties or to categorize the events generated by the IO-Link Master.

The IOLinkAlarmType is the base EventType for alarms generated from IO-Link Devices or IO-Link Masters. It is formally defined in Table 53.

Table 53 – IOLinkAlarmType Definition

Attribute

Value

BrowseName

IOLinkAlarmType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of OffNormalAlarmType defined in OPC 10000-9.

HasSubtype

ObjectType

IOLinkDeviceAlarmType

HasSubtype

ObjectType

IOLinkPortAlarmType

HasSubtype

ObjectType

IOLinkMasterAlarmType

HasProperty

Variable

IOLinkEventCode

UInt16

PropertyType

Mandatory

The EventType inherits the InstanceDeclarations of the OffNormalAlarmType.

  • The mandatory Property EventId is a vendor-specific unique identification of the Event.
  • The mandatory Property EventType reflects the type of Event, so either the NodeId of the IOLinkAlarmType or a subtype.
  • The content of the Properties SourceNode, SourceName, Time, ReceiveTime, and Message is defined by its subtypes.
  • The optional Property LocalTime shall not be provided.
  • The Property Severity reflects the mode of IO-Link events. In case of “Warning” it shall be “500” and in case of “Error” it shall be “700”.
  • The mandatory Variable EnabledState reflects if the alarm has enabled. It is vendor-specific. If the server does not support disabling of IO-Link alarms it shall always be set to enabled.
  • The mandatory Variable AckedState reflects if the alarm has been acknowledged. It is vendor-specific. If the server does not support acknowledgment of IO-Link alarms it shall always be set to acknowledged.
  • The mandatory Variable ActiveState reflects if the alarm is active or not. The ActiveState is set to active when an IO-Link event APPEARS, and set to inactive when an IO-Link event DISAPPEARS.
  • The behaviour of all Methods defined on the supertypes are vendor-specific, according to the defined behaviour in OPC 10000-9. If a server does not support specific functionality like disabling or acknowledging IO-Link alarms, those Method calls shall fail.

Note: The ConditionRefresh and ConditionRefresh2 Methods are not defined as InstanceDeclarations and shall behave as defined in OPC 10000-9.

  • Whether the optional Variables defined on the supertypes are provided is vendor-specific. If they are provided, the content shall be according to OPC 10000-9.
  • The content of the mandatory Variables defined on the supertypes is vendor-specific, according to OPC 10000-9.
  • The mandatory Properties InputNode and NormalState are vendor-specific and typically set to the NULL NodeId.
  • The mandatory Property SuppressedOrShelved is vendor-specific and typically set to “False”.

The Property IOLinkEventCode is defined by the subtypes of the EventType.

The IOLinkDeviceAlarmType is the base EventType for alarms generated from IO-Link Devices. It is formally defined in Table 54.

Table 54 – IOLinkDeviceAlarmType Definition

Attribute

Value

BrowseName

IOLinkDeviceAlarmType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of IOLinkAlarmType defined in 9.7.

HasSubtype

ObjectType

IOLinkIODDDeviceAlarmType

The following rules for the inherited Properties apply.

  • The mandatory Property SourceNode shall be the NodeId of the object representing the IO-Link Device the event originates from.
  • The mandatory Property SourceName shall be the string part of the BrowseName of the Object representing the IO-Link Device the Event originates from.
  • The mandatory Property Time shall be the time the IO-Link Master receives the Event from the IO-Link Device.

Note that the event might have been generated already at an earlier time (more than communication delays) in the IO-Link Device, before it was received by the IO-Link Master.

  • The mandatory Property ReceiveTime shall be set to the time the OPC UA Server receives the event. In case the OPC UA Server runs on the IO-Link Master, this might be the same value as the value of Property Time.
  • In case the IO-Link event code is not described in an IODD, the mandatory Property Message shall be set to “IO-Link EventCode: 0x<xxxx>” for the English locale, where xxxx is the event code as hexadecimal representation. For example, for event code 0x18FF the message shall be “IO-Link EventCode: 0x18FF”. The server may provide different locales containing a translation of that string. In case the IO-Link Specification defines a specific string (Table D.1 of IO-Link Specification) for a specific event code, the server may also use that string instead of the generic message. For example, for event code 0x4000 the string “Temperature fault – Overload” is defined, and can be used alternatively as Message.
  • The mandatory Property IOLinkEventCode shall provide the two-octet event code of the IO-Link Device as UInt16.

The IOLinkIODDDeviceAlarmType is the EventType for Alarms generated from IO-Link Devices based on IODD information. It is formally defined in Table 55.

Table 55 – IOLinkIODDDeviceAlarmType Definition

Attribute

Value

BrowseName

IOLinkIODDDeviceAlarmType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of IOLinkAlarmType defined in 9.8.

HasProperty

Variable

Name

LocalizedText

PropertyType

Mandatory

The following rules for the inherited Properties apply.

  • The mandatory Property Message shall be mapped to the corresponding IODD Event/Description element. Localization should be considered. If the optional element Description is not provided, the mandatory element Name shall be used.

The mandatory Property Name shall be mapped to the corresponding IODD Event/Name element. Localization should be considered.

The IOLinkPortAlarmType represents alarms triggered by a concrete port of an IO-Link Master. It is formally defined in Table 56.

Table 56 – IOLinkPortAlarmType Definition

Attribute

Value

BrowseName

IOLinkPortAlarmType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of IOLinkAlarmType

The following rules for the inherited Properties apply.

  • The mandatory Property SourceNode shall be the NodeId of the Object of IOLinkPortType the event originates from.
  • The mandatory Property SourceName shall start with the string part of the BrowseName of the Object of IOLinkMasterType the IO-Link Port is connected to, followed by a “.” and the string part of the BrowseName of the Object of IOLinkPortType the Event originates from.
  • The mandatory Property Time shall be the time the Event occurred on the IO-Link Master.
  • The mandatory Property ReceiveTime shall be set to the time the OPC UA Server receives the event. In case the OPC UA Server runs on the IO-Link Master, this might be the same value as the value of Property Time.
  • The allowed IOLinkPortAlarms are defined in IO-Link Addendum as port specific events. The EventCode ID shall be mapped to the IOLinkEventCode. In case of a vendor-specific EventCode ID the Message is vendor-specific. In case of all other EventCode IDs the descriptive text of IO-Link Addendum shall be used as Message for locale “en”. For EventCode IDs 0xFF21 to 0xFFFF no text is defined. For those, the following Message texts defined in Table 51 shall be used for locale “en”. Servers may provide translations for all Message texts in other languages.

The IOLinkMasterAlarmType is the base EventType for alarms generated from an IO-Link Master. It is formally defined in Table 57.

Table 57 – IOLinkMasterAlarmType Definition

Attribute

Value

BrowseName

IOLinkMasterAlarmType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of IOLinkAlarmType

The following rules for the inherited Properties apply.

  • The mandatory Property SourceNode shall be the NodeId of the object representing the IO-Link Master the event originates from.
  • The mandatory Property SourceName shall be the string part of the BrowseName of the Object representing the IO-Link Master the Event originates from.
  • The mandatory Property Time shall be the time the Event occurred on the IO-Link Master.
  • The mandatory Property ReceiveTime shall be set to the time the OPC UA Server receives the event. In case the OPC UA Server runs on the IO-Link Master, this might be the same value as the value of Property Time.
  • The Properties IOLinkEventCode and the Message are vendor-specific. Vendors may also create subtypes of this EventType to add vendor-specific Properties or to categorize the alarms generated by the IO-Link Master.