OPC 10000-4: UA Part 4: Services


Released 1.05.03

2023-12-13

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, abbreviated terms and conventions 3.1 Terms and definitions 3.1.1 Active Server 3.1.2 Deadband 3.1.3 DiscoveryEndpoint 3.1.4 Endpoint 3.1.5 EphemeralKey 3.1.6 Failed Server 3.1.7 Failover 3.1.8 Gateway Server 3.1.9 HostName 3.1.10 Redundancy 3.1.11 RedundantServerSet 3.1.12 SecurityToken 3.1.13 ServerUri 3.1.14 SoftwareCertificate 3.2 Abbreviated terms 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.1.7 Continuous security checks 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 RedundantServerSet 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 6.6.3 Client Redundancy 6.6.4 Network Redundancy 6.6.4.1 Overview 6.6.4.2 Transparent 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 AdditionalParametersType 7.2 ApplicationDescription 7.3 ApplicationInstanceCertificate 7.4 ApplicationType 7.5 BrowseDirection 7.6 BrowseResult 7.7 ContentFilter 7.7.1 ContentFilter structure 7.7.2 ContentFilterResult 7.7.3 FilterOperator 7.7.4 FilterOperand parameters 7.7.4.1 Overview 7.7.4.2 ElementOperand 7.7.4.3 LiteralOperand 7.7.4.4 AttributeOperand 7.7.4.5 SimpleAttributeOperand 7.8 Counter 7.9 ContinuationPoint 7.10 DataChangeTrigger 7.11 DataValue 7.11.1 General 7.11.2 PicoSeconds 7.11.3 SourceTimestamp 7.11.4 ServerTimestamp 7.11.5 StatusCode assigned to a value 7.12 DiagnosticInfo 7.13 DiscoveryConfiguration parameters 7.13.1 Overview 7.13.2 MdnsDiscoveryConfiguration 7.14 EndpointDescription 7.15 EphemeralKeyType 7.16 ExpandedNodeId 7.17 ExtensibleParameter 7.18 Index 7.19 IntegerId 7.20 MessageSecurityMode 7.21 MonitoringParameters 7.22 MonitoringFilter parameters 7.22.1 Overview 7.22.2 DataChangeFilter 7.22.3 EventFilter 7.22.4 AggregateFilter 7.23 MonitoringMode 7.24 NodeAttributes parameters 7.24.1 Overview 7.24.2 ObjectAttributes parameter 7.24.3 VariableAttributes parameter 7.24.4 MethodAttributes parameter 7.24.5 ObjectTypeAttributes parameter 7.24.6 VariableTypeAttributes parameter 7.24.7 ReferenceTypeAttributes parameter 7.24.8 DataTypeAttributes parameter 7.24.9 ViewAttributes parameter 7.24.10 GenericAttributes parameter 7.25 NotificationData parameters 7.25.1 Overview 7.25.2 DataChangeNotification parameter 7.25.3 EventNotificationList parameter 7.25.4 StatusChangeNotification parameter 7.26 NotificationMessage 7.27 NumericRange 7.28 QueryDataSet 7.29 ReadValueId 7.30 ReferenceDescription 7.31 RelativePath 7.32 RegisteredServer 7.33 RequestHeader 7.34 ResponseHeader 7.35 ServiceFault 7.36 SessionAuthenticationToken 7.37 SignatureData 7.38 SignedSoftwareCertificate 7.39 StatusCode 7.39.1 General 7.39.2 Common StatusCodes 7.40 TimestampsToReturn 7.41 UserIdentityToken parameters 7.41.1 Overview 7.41.2 Token Encryption and Proof of Possession 7.41.2.1 Overview 7.41.2.2 Legacy Encrypted Token Secret Format 7.41.2.3 EncryptedSecret Format 7.41.2.4 RsaEncryptedSecret DataType 7.41.2.5 EccEncryptedSecret DataType 7.41.3 AnonymousIdentityToken 7.41.4 UserNameIdentityToken 7.41.5 X509IdentityTokens 7.41.6 IssuedIdentityToken 7.42 UserTokenPolicy 7.43 UserTokenType 7.44 VersionTime 7.45 ViewDescription Annex A (informative)BNF definitions A.1 Overview over BNF A.2 BNF of RelativePath A.3 BNF of NumericRange Annex B (informative)ContentFilter 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