OPC 30120: IO-Link Devices and IO-Link Masters


Released 1.00

2018-12-01

This document is subject to the license terms described here.

The general OPC Foundation specification license agreement also applies and can be found here.

This document is a copy of the original which can be found here.


1 Scope 2 Normative References 3 Terms, Definitions, and Conventions 3.1 Overview 3.2 OPC UA for IO-Link Information Model Terms 3.2.1 IO-Link Device 3.2.2 IO-Link Master 3.3 Abbreviations and Symbols 3.4 Conventions used in this Document 3.4.1 Conventions for Terms 3.4.2 Conventions for Node Descriptions 3.4.3 NodeIds and BrowseNames 3.4.3.1 NodeIds 3.4.3.2 BrowseNames 3.4.4 Common Attributes 3.4.4.1 General 3.4.4.2 Objects 3.4.4.3 Variables 3.4.4.4 VariableTypes 3.4.4.5 Methods 4 General Information on IO-Link and OPC UA 4.1 Introduction to IO-Link 4.1.1 What is IO-Link? 4.1.2 Basics of IO-Link 4.1.3 Device Description 4.2 Introduction to OPC Unified Architecture 4.2.1 What is OPC UA? 4.2.2 Basics of OPC UA 4.2.3 Information Modelling in OPC UA 4.2.3.1 Concepts 4.2.3.2 Graphical Notation 4.2.4 OPC UA Profiles 4.2.5 Namespaces 4.2.6 Companion Specifications 5 Combining OPC UA and IO-Link 5.1 System Architecture 5.2 Use Cases 5.2.1 UC.001: Configure an IO-Link Master 5.2.2 UC.002: Find IO-Link Masters 5.2.3 UC.003: Find IO-Link Devices 5.2.4 UC.004: Initial commissioning of IO-Link Device 5.2.5 UC.005: Configure device metadata 5.2.6 UC.006: Configure IO-Link subscriptions 5.2.7 UC.007: Disconnection of IO-Link Device 5.2.8 UC.008: Read product identification 5.2.9 UC.009: Read diagnostics data 5.2.10 UC.010: Read operating and failure statistics 5.2.11 UC.011: Reset operating and failure statistics 5.2.12 UC.012: Optimize machine settings 5.2.13 UC.013: Plant and machine status supervision 5.2.14 UC.014: Faulty device replacement 5.2.15 UC.015: Firmware update 5.2.16 UC.016: Asset Management 5.2.17 UC.017: Cloud-connectivity at Edge Gateway 6 IO-Link Information Model Overview 6.1 Modelling Concepts 6.1.1 IO-Link Master 6.1.2 IO-Link Port 6.1.3 IO-Link Device 6.1.4 IO-Link Events 6.1.5 Block operations: Up- and Download 6.1.6 Managing IODDs 6.1.7 Relating IO-Link Devices to IO-Link Ports 6.2 Model Overview 6.3 Mapping IODD information to OPC UA ObjectTypes 7 OPC UA ObjectTypes 7.1 IOLinkDeviceType ObjectType Definition 7.1.1 Example 7.1.2 Overview 7.1.3 Variables of ParameterSet 7.1.4 Methods of MethodSet 7.1.4.1 ReadISDU 7.1.4.2 WriteISDU 7.1.4.3 SystemCommand 7.1.4.4 ParamUploadFromDeviceStart 7.1.4.5 ParamUploadFromDeviceStop 7.1.4.6 ParamDownloadToDeviceStart 7.1.4.7 ParamDownloadToDeviceStop 7.1.4.8 ParamDownloadToDeviceStore 7.1.4.9 ParamBreak 7.1.4.10 DeviceReset 7.1.4.11 ApplicationReset 7.1.4.12 RestoreFactorySettings 7.2 IOLinkIODDDeviceType 7.2.1 General information on IODDs 7.2.2 Example 7.2.3 Overview 7.2.4 Variables of the ParameterSet Object 7.2.5 Variables of the IODDInformation Object 7.2.6 Variables of the DeviceTypeImage Object 7.3 ObjectTypes generated based on IODDs 7.3.1 General 7.3.2 NodeId of generated ObjectTypes and their InstanceDeclarations 7.3.3 Namespace of the BrowseNames 7.3.4 Mapping to InstanceDeclarations inherited from IOLinkIODDDeviceType 7.3.5 Mapping of IODD Menus 7.3.6 Mapping of IODD Variables 7.3.7 Mapping of Methods from IODD Menus 7.3.8 Mapping of StdVariableRef and StdRecordItemRef 7.3.9 Mapping of ProcessDataCollection and ProcessDataRefCollection 7.3.10 Mapping of DirectParameterOverlay 7.3.11 Mapping of Default Values 7.3.12 Mapping of DeviceVariantCollection 7.3.13 Mapping of EventCollection 7.4 Creation of Instances based on ObjectTypes generated out of IODDs 7.5 IOLinkMasterType ObjectType Definition 7.5.1 Example 7.5.2 Overview 7.5.3 Variables of ParameterSet 7.5.4 Methods of MethodSet 7.5.4.1 Restart 7.5.4.2 ResetStatisticsOnAllPorts 7.6 IOLinkPortType ObjectType Definition 7.6.1 Example 7.6.2 Overview 7.6.3 Variables of ParameterSet 7.6.4 Methods of MethodSet 7.6.4.1 ResetStatistics 7.6.4.2 UpdateConfiguration 7.7 DeviceVariantType 8 OPC UA Objects, Variables and Methods 8.1 General 8.2 IODDManagement Object 8.3 RemoveIODD Method 8.4 IOLinkMasterSet Object 9 OPC UA EventTypes 9.1 General 9.2 IOLinkEventType 9.3 IOLinkDeviceEventType 9.4 IOLinkIODDDeviceEventType 9.5 IOLinkPortEventType 9.6 IOLinkMasterEventType 9.7 IOLinkAlarmType 9.8 IOLinkDeviceAlarmType 9.9 IOLinkIODDDeviceAlarmType 9.10 IOLinkPortAlarmType 9.11 IOLinkMasterAlarmType 10 OPC UA VariableTypes 10.1 ProcessDataVariableType 11 OPC UA ReferenceTypes 11.1 HasIdentificationMenu 11.2 HasParameterMenu 11.3 HasObservationMenu 11.4 HasDiagnosisMenu 12 Mapping of DataTypes 12.1 Overview 12.2 Primitive DataTypes 12.2.1 Boolean DataType 12.2.2 Integer DataTypes 12.2.3 Float DataType 12.2.4 String DataType 12.2.5 Byte[] DataType 12.2.6 DateTime DataType 12.2.6.1 Overview 12.2.6.2 Conversion from IO-Link TimeT to OPC UA DateTime 12.2.6.3 Conversion from OPC UA DateTime to IO-Link TimeT 12.2.6.4 Conversion of special values (Summary) 12.2.7 Duration DataType 12.2.7.1 Duration DataType used for TimeSpanT 12.2.7.1.1 Overview 12.2.7.1.2 Conversion from IO-Link TimeSpanT to OPC UA Duration 12.2.7.1.3 Conversion from OPC UA Duration to IO-Link TimeSpanT 12.2.7.2 Duration DataType used for values coded with 1 byte 12.3 Mapping of Records and Arrays 12.3.1 Overview 12.3.2 Structure DataType 12.3.3 Array DataTypes 12.4 Enumeration and OptionSet DataTypes 12.4.1 EncodingEnum 13 Standardized Properties and Mapping to the Properties 13.1 InstrumentRange 13.2 InstrumentRanges 13.3 EnumValues 13.4 TrueState and FalseState 13.5 Encoding 13.6 DisplayFormat 14 ISDU Error Handling 14.1 Overview 14.2 Occurrence of ISDU Errors 14.3 Mapping of ISDU Errors in DiagnosticInfo 14.4 Content of localizedText in DiagnosticInfo 14.4.1 No IODD information available 14.4.2 IODD information available 15 Profiles and Namespaces 15.1 Namespace Metadata 15.1.1 Namespace http://opcfoundation.org/UA/IOLink/ 15.1.2 Namespace http://opcfoundation.org/UA/IOLink/IODD/ 15.2 Conformance Units and Profiles 15.3 Server Facets 15.3.1 IO-Link Event Facet 15.3.2 IO-Link Base Condition Facet 15.3.3 IO-Link Alarm Facet 15.4 Server Profiles 15.4.1 IO-Link Base Profile 15.4.2 IO-Link Advanced Profile 15.5 Client Facets 15.6 Handling of OPC UA namespaces Annex A (normative): OPC UA for IO-Link Namespace and Mappings A.1 Namespace and identifiers for OPC UA for IO-Link Information Model A.2 Profile URIs for OPC UA for IO-Link Information Model Annex B (informative): Aggregation as System Architecture Option B.1 Overview B.2 System Architecture Annex C (normative): EngineeringUnits C.1 Overview