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. |
- The mandatory Object Management shall reference the Methods defined in Table 26. Servers may add vendor-specific Parameters or Methods to the Object.
Table 26 – References of Management Object
References |
BrowseName |
Comment |
Organizes |
Restart |
Method defined in Table 30. |
- The mandatory Object Statistics shall reference the Parameters and Methods defined in Table 26. Servers may add vendor-specific Parameters or Methods to the Object.
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.