OPC 10000-6: OPC Unified Architecture

Part 6: Mappings

Release 1.04
2017-11-22

Copyright (c) 2019 OPC Foundation
Generated on 11/3/2019 1:01:20 AM.

This document is subject to the license terms described here.

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

Table of Contents

1 Scope

2 Normative references

3 Terms, definitions and conventions
    3.1 Terms and definitions
    3.2 Abbreviations and symbols

4 Overview

5 Data encoding
    5.1 General
        5.1.1 Overview
        5.1.2 Built-in Types
        5.1.3 Guid
        5.1.4 ByteString
        5.1.5 ExtensionObject
        5.1.6 Variant
        5.1.7 Decimal
    5.2 OPC UA Binary
        5.2.1 General
        5.2.2 Built-in Types
            5.2.2.1 Boolean
            5.2.2.2 Integer
            5.2.2.3 Floating Point
            5.2.2.4 String
            5.2.2.5 DateTime
            5.2.2.6 Guid
            5.2.2.7 ByteString
            5.2.2.8 XmlElement
            5.2.2.9 NodeId
            5.2.2.10 ExpandedNodeId
            5.2.2.11 StatusCode
            5.2.2.12 DiagnosticInfo
            5.2.2.13 QualifiedName
            5.2.2.14 LocalizedText
            5.2.2.15 ExtensionObject
            5.2.2.16 Variant
            5.2.2.17 DataValue
        5.2.3 Decimal
        5.2.4 Enumerations
        5.2.5 Arrays
        5.2.6 Structures
        5.2.7 Structures with optional fields
        5.2.8 Unions
        5.2.9 Messages
    5.3 OPC UA XML
        5.3.1 Built-in Types
            5.3.1.1 General
            5.3.1.2 Boolean
            5.3.1.3 Integer
            5.3.1.4 Floating Point
            5.3.1.5 String
            5.3.1.6 DateTime
            5.3.1.7 Guid
            5.3.1.8 ByteString
            5.3.1.9 XmlElement
            5.3.1.10 NodeId
            5.3.1.11 ExpandedNodeId
            5.3.1.12 StatusCode
            5.3.1.13 DiagnosticInfo
            5.3.1.14 QualifiedName
            5.3.1.15 LocalizedText
            5.3.1.16 ExtensionObject
            5.3.1.17 Variant
            5.3.1.18 DataValue
        5.3.2 Decimal
        5.3.3 Enumerations
        5.3.4 Arrays
        5.3.5 Structures
        5.3.6 Structures with optional fields
        5.3.7 Unions
        5.3.8 Messages
    5.4 OPC UA JSON
        5.4.1 General
        5.4.2 Built-in Types
            5.4.2.1 General
            5.4.2.2 Boolean
            5.4.2.3 Integer
            5.4.2.4 Floating point
            5.4.2.5 String
            5.4.2.6 DateTime
            5.4.2.7 Guid
            5.4.2.8 ByteString
            5.4.2.9 XmlElement
            5.4.2.10 NodeId
            5.4.2.11 ExpandedNodeId
            5.4.2.12 StatusCode
            5.4.2.13 DiagnosticInfo
            5.4.2.14 QualifiedName
            5.4.2.15 LocalizedText
            5.4.2.16 ExtensionObject
            5.4.2.17 Variant
            5.4.2.18 DataValue
        5.4.3 Decimal
        5.4.4 Enumerations
        5.4.5 Arrays
        5.4.6 Structures
        5.4.7 Structures with optional fields
        5.4.8 Unions
        5.4.9 Messages

6 Message SecurityProtocols
    6.1 Security handshake
    6.2 Certificates
        6.2.1 General
        6.2.2 Application Instance Certificate
        6.2.3 Certificate Chains
    6.3 Time synchronization
    6.4 UTC and International Atomic Time (TAI)
    6.5 Issued User Identity Tokens
        6.5.1 Kerberos
        6.5.2 JSON Web Token (JWT)
        6.5.3 OAuth2
            6.5.3.1 General
            6.5.3.2 Access Tokens
            6.5.3.3 Authorization Code
            6.5.3.4 Refresh Token
            6.5.3.5 Client Credentials
    6.6 WS Secure Conversation
    6.7 OPC UA Secure Conversation
        6.7.1 Overview
        6.7.2 MessageChunk structure
            6.7.2.1 Overview
            6.7.2.2 Message Header
            6.7.2.3 Security Header
            6.7.2.4 Sequence Header
            6.7.2.5 Message Footer
        6.7.3 MessageChunks and error handling
        6.7.4 Establishing a SecureChannel
        6.7.5 Deriving keys
        6.7.6 Verifying Message Security

7 TransportProtocols
    7.1 OPC UA Connection Protocol
        7.1.1 Overview
        7.1.2 Message structure
            7.1.2.1 Overview
            7.1.2.2 Message Header
            7.1.2.3 Hello Message
            7.1.2.4 Acknowledge Message
            7.1.2.5 Error Message
            7.1.2.6 ReverseHello Message
        7.1.3 Establishing a connection
        7.1.4 Closing a connection
        7.1.5 Error handling
    7.2 OPC UA TCP
    7.3 SOAP/HTTP
    7.4 OPC UA HTTPS
        7.4.1 Overview
        7.4.2 Session-less Services
        7.4.3 XML Encoding
        7.4.4 OPC UA Binary Encoding
        7.4.5 JSON Encoding
    7.5 WebSockets
        7.5.1 Overview
        7.5.2 Protocol Mapping
        7.5.3 Security
    7.6 Well known addresses

8 Normative Contracts
    8.1 OPC Binary Schema
    8.2 XML Schema and WSDL

Annex A (normative) Constants
    A.1 Attribute Ids
    A.2 Status Codes
    A.3 Numeric Node Ids

Annex B (normative) OPC UA Nodeset

Annex C (normative) Type declarations for the OPC UA native Mapping

Annex D (normative) WSDL for the XML Mapping
    D.1 XML Schema
    D.2 WDSL Port Types
    D.3 WSDL Bindings

Annex E (normative) Security settings management
    E.1 Overview
    E.2 SecuredApplication
    E.3 CertificateIdentifier
    E.4 CertificateStoreIdentifier
    E.5 CertificateList
    E.6 CertificateValidationOptions

Annex F (normative) Information Model XML Schema
    F.1 Overview
    F.2 UANodeSet
    F.3 UANode
    F.4 Reference
    F.5 RolePermission
    F.6 UAType
    F.7 UAInstance
    F.8 UAVariable
    F.9 UAMethod
    F.10 TranslationType
    F.11 UADataType
    F.12 DataTypeDefinition
    F.13 DataTypeField
    F.14 Variant
    F.15 Example (Informative)
    F.16 UANodeSetChanges
    F.17 NodesToAdd
    F.18 ReferencesToChange
    F.19 ReferenceToChange
    F.20 NodesToDelete
    F.21 NodeToDelete
    F.22 UANodeSetChangesStatus
    F.23 NodeSetStatusList
    F.24 NodeSetStatus