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.
This document defines nodes in the following nodesets:
        
            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