The IOLinkPortType provides information of one port of an IO-Link Master and is formally defined in Table 8.

Table 31 – IOLinkPortType Definition

Attribute

Value

BrowseName

IOLinkPortType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of TopologyElementType defined in OPC 10000-100.

HasComponent

Object

2:ParameterSet

BaseObjectType

Mandatory

HasComponent

Object

2:MethodSet

BaseObjectType

Mandatory

HasProperty

Variable

DeviceConfigurationDisabled

Boolean

PropertyType

Mandatory

HasComponent

Object

Capabilities

FunctionalGroupType

Mandatory

HasComponent

Object

Information

FunctionalGroupType

Mandatory

HasComponent

Object

Statistics

FunctionalGroupType

Mandatory

HasComponent

Object

Configuration

FunctionalGroupType

Mandatory

HasComponent

Object

SIOProcessData

FunctionalGroupType

Mandatory

HasComponent

Object

Device

IOLinkDeviceType

Optional

HasComponent

Object

Alarms

FolderType

Optional

GeneratesEvent

ObjectType

IOLinkPortEventType

Defined in 9.5.

GeneratesEvent

ObjectType

IOLinkPortAlarmType

Defined in 9.10

The IOLinkPortType ObjectType is a concrete type and can be used directly. Vendors may create subtypes of the IOLinkPortType to add vendor-specific extensions.

The ObjectType inherits the following InstanceDeclarations directly or indirectly from the TopologyElementType defined in OPC 10000-100.

  • The optional Object ParameterSet is used to reference all Parameters and shall be provided. Therefore, the ObjectType overrides the Object and changes its ModellingRule to Mandatory.
  • The optional Object MethodSet is used to reference all Methods and shall be provided. Therefore, the ObjectType overrides the Object and changes its ModellingRule to Mandatory.
  • The optional Object Identification is not used in this ObjectType.
  • The Object <GroupIdentifier > has the ModellingRule OptionalPlaceholder and is intended to group the Parameters. It is already used in this ObjectType by adding various FunctionalGroupType Objects. Vendors may add vendor-specific Objects to group additional Parameters.
  • The optional Object Lock can be supported by a server to provide locking capabilities (see OPC 10000-100 for details). This is intended to prevent different clients and users to configure an IO-Link Master at the same time. Locking the Port also locks the connected IO-Link Device.

The ObjectType defines additional InstanceDeclarations:

  • The mandatory Variable DeviceConfigurationDisabled indicates whether configuration changes of the connected IO-Link Device (Device Object) are allowed via OPC UA. If set to “True”, nearly all configuration settings become read-only and cannot be changed via OPC UA anymore. The Variable setting is vendor-specific, including whether it can be changed via OPC UA. For example, if a fieldbus is currently active on the IO-Link Master, a server might set this Variable to “True” on all its ports.

That includes in detail following rules:

  • For the IO-Link Device connected to the IO-Link Port (Device Object) all Parameters become read-only.
  • For the IO-Link Device connected to the IO-Link Port (Device Object) all Methods defined in the IOLinkDeviceType except ReadISDU become not executable.
  • For the IO-Link Device connected to the IO-Link Port (Device Object) all Methods created based on the IODD become not executable unless the Methods only trigger the reading of ISDUs.

The Method ResetStatistics on the IO-Link Port and ResetStatisticsOnAllPorts on the IO-Link Master shall still be executable.

There is no direct relation between the DeviceConfigurationDisabled Variable and the Lock Object on the IOLinkDeviceType. The Lock Object prevents different OPC UA Clients to configure the IO-Link Device at the same time whereas the DeviceConfigurationDisabled Variable indicates that the IO-Link Master is in a state that does not allow the IO-Link Device to be configured by any OPC UA Client. When the DeviceConfigurationDisabled Variable is set to “True” Servers may prevent the usage of the Lock Object for all Clients.

  • The mandatory Object Capabilities shall reference the Parameters defined in Table 32. Servers may add vendor-specific Parameters to the Object.

Table 32 – References of Capabilities Object

References

BrowseName

Comment

Organizes

PortClass

Variable defined in Table 38.

Organizes

MaxPowerSupply

Variable defined in Table 38.

Organizes

Pin2Support

Variable defined in Table 38.

Table 33 – References of Configuration Object

References

BrowseName

Comment

Organizes

CycleTime

Variable defined in Table 38.

Organizes

ValidationAndBackup

Variable defined in Table 38.

Organizes

PortMode

Variable defined in Table 38.

Organizes

Pin2Configuration

Variable defined in Table 38.

Organizes

UseIODD

Variable defined in Table 38.

Organizes

ConfiguredDevice

Object of type FunctionalGroupType with ModellingRule Mandatory, its references are defined in Table 34.

Organizes

UpdateConfiguration

Method defined in Table 43.

Table 34 – References of ConfiguredDevice Object

References

BrowseName

Comment

Organizes

DeviceID

Variable defined in Table 38.

Organizes

VendorID

Variable defined in Table 38.

Table 35 – References of Information Object

References

BrowseName

Comment

Organizes

Baudrate

Variable defined in Table 38.

Organizes

ActualCycleTime

Variable defined in Table 38.

Organizes

Quality

Variable defined in Table 38.

Organizes

Status

Variable defined in Table 38.

Table 36 – References of SIOProcessData Object

References

BrowseName

Comment

Organizes

Pin2ProcessData

Variable defined in Table 38.

Organizes

Pin4ProcessData

Variable defined in Table 38.

Table 37 – References of Statistics Object

References

BrowseName

Comment

Organizes

DateOfLastStatisticsReset

Variable defined in Table 38.

Organizes

NumberOfAborts

Variable defined in Table 38.

Organizes

NumberOfCycles

Variable defined in Table 38.

Organizes

NumberOfDeviceHasBeenExchanged

Variable defined in Table 38.

Organizes

NumberOfRetries

Variable defined in Table 38.

Organizes

ResetStatistics

Method defined in Table 43.

  • The optional Alarms Object is used to group all alarms of the instance, in case the server supports representing the alarms as Objects in the AddressSpace. If the server does not support this, the Object shall not be provided.