OPC UA Interoperability Testing with OpcCmd

From OPC Labs Knowledge Base
Revision as of 12:18, 30 September 2022 by User (talk | contribs) (→‎View Services)
Jump to navigation Jump to search

This article is mainly for internal usage.

Session

CreateSession() over an insecure channel with UA TCP and SecurityPolicy =None
Example: uaClient read opc.tcp://opcua.demo-this.com:51210/UA/SampleServer i=2255 --EndpointAllowedMessagedSecurity SecurityNone
CreateSession() over a secure channel with UA TCP and SecurityPolicy=Basic128Rsa15 where the key length is minimum 2048.
Example: uaClient read opc.tcp://opcua.demo-this.com:51210/UA/SampleServer i=2255 --EndpointSecurityPolicyDisplayName Basic128Rsa15
ActivateSession() with user identity = username/password
Example: uaClient read opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer i=2255 --EndpointUser appadmin:demo
ActivateSession() with user identity = anonymous
Example: uaClient read //opcua.demo-this.com:51210/UA/SampleServer i=2255 --EndpointAnonymous True
However, the anonymous identity is the default, and as such is used in other tests unless other identity is explicitly specified.
ActivateSession - change user in an existing session.
Not supported (by API).
Use CloseSession() to end session. If possible, verify that the following service calls to the session are rejected.
Example:
uaClient --!option AmbientOutput=[Boolean]True --ConnectionMonitoring
read opc.tcp://opcua.demo-this.com:51210/UA/SampleServer i=2255
Then, keep pressing Enter until the ambient disconnection events are displayed.
Create and use multiple sessions.
Example:
!option AmbientOutput [Boolean]True
uaClient --ConnectionMonitoring
getService uaClientConnectionControl lockConnection //opcua.demo-this.com:51210/UA/SampleServer
\uaClient --ConnectionMonitoring read //opcua.demo-this.com:51210/UA/SampleServer i=2255
CreateSession() with an application instance certificate
Example: uaClient read opc.tcp://opcua.demo-this.com:51210/UA/SampleServer i=2255 --EndpointAllowedMessagedSecurity Secure
CreateSession() over a secure channel with HTTPS and SecurityPolicy =None.
Example: uaClient read https://opcua.demo-this.com:51212/UA/SampleServer i=2255 --EndpointAllowedMessagedSecurity SecurityNone
ActivateSession() with user identity = X509 certificate
Example: uaClient read //opcua.demo-this.com:51210/UA/SampleServer i=2255 --EndpointCertificateFileName MyCertificate.pfx
CreateSession() over a secure channel with UA TCP and SecurityPolicy=Basic256Sha256
Example: uaClient read opc.tcp://opcua.demo-this.com:51210/UA/SampleServer i=2255 --EndpointSecurityPolicyDisplayName Basic256Sha256
CreateSession() over a secure channel with UA TCP and SecurityPolicy=Aes128-Sha256-RsaOaep
Example: uaClient read opc.tcp://opcua.demo-this.com:51210/UA/SampleServer i=2255 --EndpointSecurityPolicyDisplayName Aes128-Sha256-RsaOaep
CreateSession() over a secure channel with UA TCP and SecurityPolicy=Aes256-Sha256-RsaPss
Example: uaClient read opc.tcp://opcua.demo-this.com:51210/UA/SampleServer i=2255 --EndpointSecurityPolicyDisplayName Aes256-Sha256-RsaPss

View Services

Call Browse() on a single node in the address space. Repeat with other nodes.
(tbd)
Call Browse() by specifying more than one node in a single call. Walk through the address space.
Not supported (by OpcCmd).
Call Browse() using various Reference filters; e.g. only hierarchical references.
(tbd)
Call Browse() using various NodeClass filters (e.g. to return Variable nodes only).
(tbd)
Call Browse() with a filter to reduce the result information (e.g. omit BrowseName and ReferenceType).
(tbd)
[obsolete] BrowseNext (Continuation Point)
Not supported.
TranslateBrowsePathToNodeId to determine the NodeID of components (e.g. properties)
(tbd)
[obsolete] TranslateBrowsePathToNodeId for non-hierarchical References
Not supported.
Register()/UnregisterNodes() for one or more standard UA-defined Nodes (e.g. "Server") in a single call.
(tbd)
Register()/UnregisterNodes() for one or more vendor-defined Nodes in a single call.
(tbd)
Browse with Views.
Not supported (by API).

Attribute Services

Method Services

Information Model

Subscription Services

Redundancy

Eventing

Data Change

Node Management

Alarm and Condition

Historical Access

Discovery

Challenge