OPC 10000-4: OPC Unified Architecture

Part 4: Services

Release 1.04
2017-11-22

Copyright (c) 2019 OPC Foundation
Generated on 11/2/2019 5:02:42 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
    3.3 Conventions for Service definitions

4 Overview
    4.1 Service Set model
    4.2 Request/response Service procedures

5 Service Sets
    5.1 General
    5.2 Service request and response header
    5.3 Service results
    5.4 Discovery Service Set
        5.4.1 Overview
        5.4.2 FindServers
            5.4.2.1 Description
            5.4.2.2 Parameters
            5.4.2.3 Service results
        5.4.3 FindServersOnNetwork
            5.4.3.1 Description
            5.4.3.2 Parameters
            5.4.3.3 Service results
        5.4.4 GetEndpoints
            5.4.4.1 Description
            5.4.4.2 Parameters
            5.4.4.3 Service Results
        5.4.5 RegisterServer
            5.4.5.1 Description
            5.4.5.2 Parameters
            5.4.5.3 Service Results
        5.4.6 RegisterServer2
            5.4.6.1 Description
            5.4.6.2 Parameters
            5.4.6.3 Service results
            5.4.6.4 StatusCodes
    5.5 SecureChannel Service Set
        5.5.1 Overview
        5.5.2 OpenSecureChannel
            5.5.2.1 Description
            5.5.2.2 Parameters
            5.5.2.3 Service results
        5.5.3 CloseSecureChannel
            5.5.3.1 Description
            5.5.3.2 Parameters
            5.5.3.3 Service results
    5.6 Session Service Set
        5.6.1 Overview
        5.6.2 CreateSession
            5.6.2.1 Description
            5.6.2.2 Parameters
            5.6.2.3 Service results
        5.6.3 ActivateSession
            5.6.3.1 Description
            5.6.3.2 Parameters
            5.6.3.3 Service results
        5.6.4 CloseSession
            5.6.4.1 Description
            5.6.4.2 Parameters
            5.6.4.3 Service results
        5.6.5 Cancel
            5.6.5.1 Description
            5.6.5.2 Parameters
            5.6.5.3 Service results
    5.7 NodeManagement Service Set
        5.7.1 Overview
        5.7.2 AddNodes
            5.7.2.1 Description
            5.7.2.2 Parameters
            5.7.2.3 Service results
            5.7.2.4 StatusCodes
        5.7.3 AddReferences
            5.7.3.1 Description
            5.7.3.2 Parameters
            5.7.3.3 Service results
            5.7.3.4 StatusCodes
        5.7.4 DeleteNodes
            5.7.4.1 Description
            5.7.4.2 Parameters
            5.7.4.3 Service results
            5.7.4.4 StatusCodes
        5.7.5 DeleteReferences
            5.7.5.1 Description
            5.7.5.2 Service results
            5.7.5.3 StatusCodes
    5.8 View Service Set
        5.8.1 Overview
        5.8.2 Browse
            5.8.2.1 Description
            5.8.2.2 Parameters
            5.8.2.3 Service results
            5.8.2.4 StatusCodes
        5.8.3 BrowseNext
            5.8.3.1 Description
            5.8.3.2 Parameters
            5.8.3.3 Service results
            5.8.3.4 StatusCodes
        5.8.4 TranslateBrowsePathsToNodeIds
            5.8.4.1 Description
            5.8.4.2 Parameters
            5.8.4.3 Service results
            5.8.4.4 StatusCodes
        5.8.5 RegisterNodes
            5.8.5.1 Description
            5.8.5.2 Parameters
            5.8.5.3 Service results
        5.8.6 UnregisterNodes
            5.8.6.1 Description
            5.8.6.2 Parameters
            5.8.6.3 Service results
    5.9 Query Service Set
        5.9.1 Overview
        5.9.2 Querying Views
        5.9.3 QueryFirst
            5.9.3.1 Description
            5.9.3.2 Service results
            5.9.3.3 StatusCodes
        5.9.4 QueryNext
            5.9.4.1 Descriptions
            5.9.4.2 Parameters
            5.9.4.3 Service results
    5.10 Attribute Service Set
        5.10.1 Overview
        5.10.2 Read
            5.10.2.1 Description
            5.10.2.2 Parameters
            5.10.2.3 Service results
            5.10.2.4 StatusCodes
        5.10.3 HistoryRead
            5.10.3.1 Description
            5.10.3.2 Parameters
            5.10.3.3 Service results
            5.10.3.4 StatusCodes
        5.10.4 Write
            5.10.4.1 Description
            5.10.4.2 Parameters
            5.10.4.3 Service results
            5.10.4.4 StatusCodes
        5.10.5 HistoryUpdate
            5.10.5.1 Description
            5.10.5.2 Parameters
            5.10.5.3 Service results
            5.10.5.4 StatusCodes
    5.11 Method Service Set
        5.11.1 Overview
        5.11.2 Call
            5.11.2.1 Description
            5.11.2.2 Parameters
            5.11.2.3 Service results
            5.11.2.4 StatusCodes
    5.12 MonitoredItem Service Set
        5.12.1 MonitoredItem model
            5.12.1.1 Overview
            5.12.1.2 Sampling interval
            5.12.1.3 Monitoring mode
            5.12.1.4 Filter
            5.12.1.5 Queue parameters
            5.12.1.6 Triggering model
        5.12.2 CreateMonitoredItems
            5.12.2.1 Description
            5.12.2.2 Parameters
            5.12.2.3 Service results
            5.12.2.4 StatusCodes
        5.12.3 ModifyMonitoredItems
            5.12.3.1 Description
            5.12.3.2 Parameters
            5.12.3.3 Service results
            5.12.3.4 StatusCodes
        5.12.4 SetMonitoringMode
            5.12.4.1 Description
            5.12.4.2 Parameters
            5.12.4.3 Service results
            5.12.4.4 StatusCodes
        5.12.5 SetTriggering
            5.12.5.1 Description
            5.12.5.2 Parameters
            5.12.5.3 Service results
            5.12.5.4 StatusCodes
        5.12.6 DeleteMonitoredItems
            5.12.6.1 Description
            5.12.6.2 Parameters
            5.12.6.3 Service results
            5.12.6.4 StatusCodes
    5.13 Subscription Service Set
        5.13.1 Subscription model
            5.13.1.1 Description
            5.13.1.2 State table
            5.13.1.3 State Variables and parameters
            5.13.1.4 Functions
        5.13.2 CreateSubscription
            5.13.2.1 Description
            5.13.2.2 Parameters
            5.13.2.3 Service results
        5.13.3 ModifySubscription
            5.13.3.1 Description
            5.13.3.2 Parameters
            5.13.3.3 Service results
        5.13.4 SetPublishingMode
            5.13.4.1 Description
            5.13.4.2 Parameters
            5.13.4.3 Service results
            5.13.4.4 StatusCodes
        5.13.5 Publish
            5.13.5.1 Description
            5.13.5.2 Parameters
            5.13.5.3 Service results
            5.13.5.4 StatusCodes
        5.13.6 Republish
            5.13.6.1 Description
            5.13.6.2 Parameters
            5.13.6.3 Service results
        5.13.7 TransferSubscriptions
            5.13.7.1 Description
            5.13.7.2 Parameters
            5.13.7.3 Service results
            5.13.7.4 StatusCodes
        5.13.8 DeleteSubscriptions
            5.13.8.1 Description
            5.13.8.2 Parameters
            5.13.8.3 Service results
            5.13.8.4 StatusCodes

6 Service behaviours
    6.1 Security
        6.1.1 Overview
        6.1.2 Obtaining and Installing an Application Instance Certificate
        6.1.3 Determining if a Certificate is Trusted
        6.1.4 Creating a SecureChannel
        6.1.5 Creating a Session
        6.1.6 Impersonating a User
    6.2 Authorization Services
        6.2.1 Overview
        6.2.2 Indirect Handshake with an Identity Provider
        6.2.3 Direct Handshake with an Identity Provider
    6.3 Session-less Service Invocation
        6.3.1 Description
        6.3.2 Parameters
        6.3.3 Service results
    6.4 Software Certificates
    6.5 Auditing
        6.5.1 Overview
        6.5.2 General audit logs
        6.5.3 General audit Events
        6.5.4 Auditing for Discovery Service Set
        6.5.5 Auditing for SecureChannel Service Set
        6.5.6 Auditing for Session Service Set
        6.5.7 Auditing for NodeManagement Service Set
        6.5.8 Auditing for Attribute Service Set
        6.5.9 Auditing for Method Service Set
        6.5.10 Auditing for View, Query, MonitoredItem and Subscription Service Set
    6.6 Redundancy
        6.6.1 Redundancy overview
        6.6.2 Server Redundancy
            6.6.2.1 General
            6.6.2.2 Redundant Server Set Requirements
            6.6.2.3 Transparent Redundancy
                    6.6.2.3.1.1 Client Behaviour
                    6.6.2.3.1.2 Server Requirements
            6.6.2.4 Non-transparent Redundancy
                6.6.2.4.1 Overview
                6.6.2.4.2 ServiceLevel
                6.6.2.4.3 Load Balancing
                6.6.2.4.4 Server Failover Modes
                6.6.2.4.5 Client Failover Behaviour
                    6.6.2.4.5.1 General
                    6.6.2.4.5.2 Cold
                    6.6.2.4.5.3 Warm
                    6.6.2.4.5.4 Hot
                    6.6.2.4.5.5 HotAndMirrored
            6.6.2.5 Hiding Failover with a Server Proxy (Informative)
        6.6.3 Client Redundancy
        6.6.4 Network Redundancy
            6.6.4.1 Overview
            6.6.4.2 Transparent (Informative)
            6.6.4.3 Non-Transparent
        6.6.5 Manually Forcing Failover
    6.7 Re-establishing connections
    6.8 Durable Subscriptions

7 Common parameter type definitions
    7.1 ApplicationDescription
    7.2 ApplicationInstanceCertificate
    7.3 BrowseResult
    7.4 ContentFilter
        7.4.1 ContentFilter structure
        7.4.2 ContentFilterResult
        7.4.3 FilterOperator
        7.4.4 FilterOperand parameters
            7.4.4.1 Overview
            7.4.4.2 ElementOperand
            7.4.4.3 LiteralOperand
            7.4.4.4 AttributeOperand
            7.4.4.5 SimpleAttributeOperand
    7.5 Counter
    7.6 ContinuationPoint
    7.7 DataValue
        7.7.1 General
        7.7.2 PicoSeconds
        7.7.3 SourceTimestamp
        7.7.4 ServerTimestamp
        7.7.5 StatusCode assigned to a value
    7.8 DiagnosticInfo
    7.9 DiscoveryConfiguration parameters
        7.9.1 Overview
        7.9.2 MdnsDiscoveryConfiguration
    7.10 EndpointDescription
    7.11 ExpandedNodeId
    7.12 ExtensibleParameter
    7.13 Index
    7.14 IntegerId
    7.15 MessageSecurityMode
    7.16 MonitoringParameters
    7.17 MonitoringFilter parameters
        7.17.1 Overview
        7.17.2 DataChangeFilter
        7.17.3 EventFilter
        7.17.4 AggregateFilter
    7.18 MonitoringMode
    7.19 NodeAttributes parameters
        7.19.1 Overview
        7.19.2 ObjectAttributes parameter
        7.19.3 VariableAttributes parameter
        7.19.4 MethodAttributes parameter
        7.19.5 ObjectTypeAttributes parameter
        7.19.6 VariableTypeAttributes parameter
        7.19.7 ReferenceTypeAttributes parameter
        7.19.8 DataTypeAttributes parameter
        7.19.9 ViewAttributes parameter
        7.19.10 GenericAttributes parameter
    7.20 NotificationData parameters
        7.20.1 Overview
        7.20.2 DataChangeNotification parameter
        7.20.3 EventNotificationList parameter
        7.20.4 StatusChangeNotification parameter
    7.21 NotificationMessage
    7.22 NumericRange
    7.23 QueryDataSet
    7.24 ReadValueId
    7.25 ReferenceDescription
    7.26 RelativePath
    7.27 RegisteredServer
    7.28 RequestHeader
    7.29 ResponseHeader
    7.30 ServiceFault
    7.31 SessionAuthenticationToken
    7.32 SignatureData
    7.33 SignedSoftwareCertificate
    7.34 StatusCode
        7.34.1 General
        7.34.2 Common StatusCodes
    7.35 TimestampsToReturn
    7.36 UserIdentityToken parameters
        7.36.1 Overview
        7.36.2 Token Encryption and Proof of Possession
            7.36.2.1 Overview
            7.36.2.2 Legacy Encrypted Token Secret Format
            7.36.2.3 EncryptedSecret Format
            7.36.2.4 RsaEncryptedSecret DataType
        7.36.3 AnonymousIdentityToken
        7.36.4 UserNameIdentityToken
        7.36.5 X509IdentityTokens
        7.36.6 IssuedIdentityToken
    7.37 UserTokenPolicy
    7.38 VersionTime
    7.39 ViewDescription

Annex A (informative) BNF definitions
    A.1 Overview over BNF
    A.2 BNF of RelativePath
    A.3 BNF of NumericRange

Annex B (informative) Content Filter and Query Examples
    B.1 Simple ContentFilter examples
        B.1.1 Overview
        B.1.2 Example 1
        B.1.3 Example 2
    B.2 Complex Examples of Query Filters
        B.2.1 Overview
        B.2.2 Used type model
        B.2.3 Example Notes
        B.2.4 Example 1
        B.2.5 Example 2
        B.2.6 Example 3
        B.2.7 Example 4
        B.2.8 Example 5
        B.2.9 Example 6
        B.2.10 Example 7
        B.2.11 Example 8
        B.2.12 Example 9