IODDs are defined in IODD Specification. When referencing this specification, we include the XML schema files defining IODDs and the standard definitions XML documents. By default, the IODD Specification Version 1.1 is referenced. If there are deviations between the Version 1.1 and Version 1.0.1, this is indicated in this specification.
When referencing parts of an IODD the following notation is used:
- Refencing an XML element of another XML element: <parent element>/<child element>, for example DeviceIdentity/VendorUrl.
- Referencing an XML attribute of an XML element <parent element>/@<attribute>, for example DeviceIdentity/@vendorId.
There are places where instances of an XML type are referenced, for example instances of VariableT or MenuT. In that case we reference to IODD Variables or IODD Menus.
In Figure 12 an example of an instance of the IOLinkIODDDeviceType is shown. This example is using only the mandatory InstanceDeclarations, in order to give an overview on the ObjectType. Several Properties are directly connected to the Object, whereas the Parameters are connected via the ParameterSet, Methods via the MethodSet and both organized via different FunctionalGroups (Identification, General and Profiles).
Figure 12 – Example instance of IOLinkIODDDeviceType (no optional InstanceDeclarations shown)
The IOLinkIODDDeviceType provides the structure that all ObjectTypes generated based on IODDs have to provide and is formally defined in Table 17.
Table 17 – IOLinkIODDDeviceType Definition
Attribute |
Value |
|||||
BrowseName |
IOLinkIODDDeviceType |
|||||
IsAbstract |
True |
|||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
|
Subtype of IOLinkDeviceType defined in 7.1. |
||||||
HasComponent |
Object |
2:ParameterSet |
|
BaseObjectType |
Mandatory |
|
Organizes |
Object |
Specialist |
|
FunctionalGroupType |
Mandatory |
|
Organizes |
Object |
Maintenance |
|
FunctionalGroupType |
Mandatory |
|
Organizes |
Object |
Observer |
|
FunctionalGroupType |
Mandatory |
|
HasComponent |
Object |
IODDInformation |
|
FolderType |
- |
|
HasComponent |
Object |
DeviceVariants |
|
FolderType |
- |
|
HasComponent |
Object |
DeviceVariant |
|
DeviceVariantType |
Mandatory |
|
HasProperty |
Variable |
VendorURL |
String |
Property |
Mandatory |
|
HasProperty |
Variable |
DeviceName |
LocalizedText |
Property |
Mandatory |
|
HasProperty |
Variable |
VendorLogo |
Image |
Property |
Optional |
|
HasComponent |
Object |
2:DeviceTypeImage |
|
FolderType |
Optional |
The IOLinkIODDDeviceType ObjectType is an abstract type. Concrete subtypes are generated for concrete IODDs (see section 7.3 for details).
The mandatory Object ParameterSet is inherited from the supertype and overridden in order to add parameters defined in section 7.2.4.
The mandatory Object Specialist groups all menus of the SpecialistRoleMenuSet defined in an IODD.
The mandatory Object Maintenance groups all menus of the MaintenanceRoleMenuSet defined in an IODD.
The mandatory Object Observer groups all menus of the ObserverRoleMenuSet defined in an IODD.
The Object IODDInformation provides information about the IODD and is only provided on the ObjectType, not the instances of the ObjectType. Therefore, it does not have a ModellingRule. Its content is defined in 7.2.5.
The Object DeviceVariants provides information about the IO-Link Device variants supported by the ObjectType. It references all device variants (Objects of Type DeviceVariantType) with a HasComponent Reference. Device variants are defined by the subtypes of this ObjectType.
The mandatory Object DeviceVariant provides information about the currently used device variant on the instance.
The mandatory read-only Property VendorURL maps to the IODD DeviceIdentity/VendorURL element.
The mandatory read-only Property DeviceName maps to the IODD DeviceIdentity/DeviceName element. Localization should be considered. In IODD Specification Version 1.0.1 there is no IODD DeviceIdentity/DeviceName element defined. Instead of, the IODD DeviceVariant/ProductName element shall be used. Localization should be considered.
The optional read-only Property VendorLogo maps to the IODD DeviceIdentity/VendorLogo element, if the optional element is provided.
The optional Object DeviceTypeImage defined in OPC 10000-100 is overridden in order to reference Images of the DeviceVariant Object (see section 7.2.6).
In Table 18, the Variables of the ParameterSet Object of the IOLinkIODDDeviceType, are defined.
Table 18 – ParameterSet of IOLinkIODDDeviceType
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
HasComponent |
Variable |
SupportedAccessLocks |
Byte |
OptionSetType |
Optional |
The optional, read-only Variable SupportedAccessLocks maps to the IODD Features/SupportedAccessLocks element. The lowest bit of the Byte references to parameter, the next to dataStorage, the next to localParamaterization and the next to localUserInterface as defined in SupportedAccessLocksT. The OptionSetValues Property shall be filled with those names for locale “en”. Servers might provide translations to other languages. In IODD Specification Version 1.0.1 there is no IODD Features/SupportedAccessLocks element. Therefore, the OPC UA Variable SupportedAccessLocks is not provided for IODDs following the IODD Specification Version 1.0.1.
In Table 19 the Variables of the IODDInformation Object of the IOLinkIODDDeviceType are defined.
Table 19 – IODDInformation of IOLinkIODDDeviceType
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
HasProperty |
Variable |
Version |
String |
PropertyType |
Mandatory |
HasProperty |
Variable |
ReleaseDate |
String |
PropertyType |
Mandatory |
HasProperty |
Variable |
Copyright |
String |
PropertyType |
Mandatory |
HasProperty |
Variable |
IOLinkRevision |
String |
PropertyType |
Mandatory |
The mandatory, read-only Property Version maps to the IODD DocumentInfo/@version attribute.
The mandatory, read-only Property ReleaseDate maps to the IODD DocumentInfo/@releaseDate attribute.
The mandatory, read-only Property Copyright maps to the IODD DocumentInfo/@copyright attribute.
The mandatory, read-only Property IOLinkRevision maps to the IODD ProfileHeader/ProfileRevision element.
In Table 20, references of the DeviceTypeImage Object of the IOLinkIODDDeviceType, are defined.
Table 20 – DeviceTypeImage of IOLinkIODDDeviceType
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
HasComponent |
Variable |
DeviceIcon |
References Variable DeviceIcon of DeviceVariant Object |
||
HasComponent |
Variable |
DeviceSymbol |
References Variable DeviceSymbol of DeviceVariant Object |