The IOLinkMasterType provides information of an IO-Link Master and is formally defined in Table 23.

Table 23 – IOLinkMasterType Definition

Attribute

Value

BrowseName

IOLinkMasterType

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

HasComponent

Object

2:Identification

FunctionalGroupType

Mandatory

HasComponent

Object

Capabilities

FunctionalGroupType

Mandatory

HasComponent

Object

Management

FunctionalGroupType

Mandatory

HasComponent

Object

Statistics

FunctionalGroupType

Mandatory

HasProperty

Variable

DeviceID

UInt32

PropertyType

Mandatory

HasProperty

Variable

ProductID

String

PropertyType

Optional

HasProperty

Variable

ProductText

String

PropertyType

Optional

HasProperty

Variable

RevisionID

String

PropertyType

Optional

HasProperty

Variable

VendorID

UInt16

PropertyType

Optional

HasProperty

Variable

VendorURL

String

PropertyType

Optional

HasProperty

Variable

IOLinkStackRevision

String

PropertyType

Optional

HasProperty

Variable

MasterConfigurationDisabled

Boolean

PropertyType

Mandatory

HasComponent

Object

Port<n>

IOLinkPortType

MandatoryPlaceholder

HasComponent

Object

Alarms

FolderType

Optional

GeneratesEvent

ObjectType

IOLinkMasterEventType

Defined in 9.6.

GeneratesEvent

ObjectType

IOLinkMasterAlarmType

Defined in 9.11.

The IOLinkMasterType ObjectType is a concrete type and can be used directly. Vendors may create subtypes of the IOLinkMasterType 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 the 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 the ModellingRule to Mandatory.
  • The optional Object Identification shall be provided and shall reference the Parameters defined in Table 24. Those Parameters together uniquely identify the IO-Link Master (see OPC 10000-100 for details). Therefore, the ObjectType overrides the Object and changes the ModellingRule to Mandatory.

Table 24 – References of Identification Object

References

BrowseName

Comment

Organizes

DeviceID

Variable defined in Table 23.

Organizes

VendorID

Variable defined in Table 23.

Organizes

ApplicationSpecificTag

Variable defined in Table 28.

Organizes

FunctionTag

Variable defined in Table 28.

Organizes

LocationTag

Variable defined in Table 28.

Organizes

MasterType

Variable defined in Table 28.

  • The Object <GroupIdentifier > has the ModellingRule OptionalPlaceholder and is intended to group the Parameters. It is already used in this ObjectType by adding the Objects Capabilities, Management and Statistics. 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 an IOLinkMasterType Object includes locking all its ports and the IOLinkDeviceType Objects connected to the ports.

The ObjectType defines additional InstanceDeclarations:

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

Table 25 – References of Capabilities Object

References

BrowseName

Comment

Organizes

MaxNumberOfPorts

Variable defined in Table 28.

Organizes

MaxPowerSupply

Variable defined in Table 28.

Table 26 – References of Management Object

References

BrowseName

Comment

Organizes

Restart

Method defined in Table 30.

Table 27 – References of Statistics Object

References

BrowseName

Comment

Organizes

ResetStatisticsOnAllPorts

Method defined in Table 30.

Organizes

NumberOfIOLinkMasterStarts

Variable defined in Table 28.

Organizes

DateOfLastStatisticsReset

Variable defined in Table 28.

  • The mandatory, read-only Variable DeviceID shall be mapped to MasterID of the MasterIdent structure defined in the SMI (see IO-Link Addendum). The value (three bytes) shall be mapped to an UInt32, using Big Endian.
  • The optional, read-only Variable ProductID provides a vendor-specific product or type identification like the ProductID of the IOLinkDeviceType. The implementation is vendor-specific.
  • The optional, read-only Variable ProductText provides additional, vendor-specific product information like the ProductText of the IOLinkDeviceType. The implementation is vendor-specific.
  • The optional, read-only Variable RevisionID contains the IO-Link protocol version supported by the IO-Link Master, like the RevisionID of the IOLinkDeviceType. The same rules as defined for RevisionID in IOLinkDeviceType apply (see section 7.1).
  • The optional, read-only Variable VendorID of type UInt16 shall be mapped to VendorID of the MasterIdent structure defined in the SMI (see IO-Link Addendum), using the same type.
  • The optional Variable VendorURL provides a link to the website of the vendor of the IO-Link Master. The implementation is vendor-specific.
  • The optional read-only Variable IOLinkStackRevision provides the revision of the IO-Link stack implementation used by the IO-Link Master. The implementation is vendor-specific.
  • The mandatory Variable MasterConfigurationDisabled indicates whether configuration changes 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”.

That includes in detail following rules:

  • The Method Restart of the IO-Link Master becomes not executable.
  • For all Ports of the IO-Link Master the Method UpdateConfiguration becomes not executable.
  • For all Ethernet configurations connected to the Fieldbus the configuration becomes read-only.

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

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

  • The Port<n> Object of ModellingRule MandatoryPlaceholder represents the ports of the IO-Link Master. For each port of the IO-Link Master one Object of type IOLinkPortType shall be provided, where <n> represents the number of the port. For example, a master having two ports has the Objects Port1 and Port2. How the counting starts (e.g. Port0 or Port1) is vendor-specific.
  • 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.