OPC UA Interoperability Testing with OpcCmd: Difference between revisions

From OPC Labs Knowledge Base
Line 77: Line 77:


= Method Services =
= Method Services =
; Call() a method defined by the vendor (not any of the OPC UA defined methods). Vary the methods to ensure different method signatures are covered, e.g. no parameters, in-parameters only, out-parameters only, in and out parameters etc.
: (tbd)


= Information Model =
= Information Model =

Revision as of 12:37, 30 September 2022

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

Read() attributes - as supported by the Client - for a standard UA-defined node (e.g. "Server"). Repeat with other nodes.
(tbd)
Read() all supported attributes for a given vendor node in a single call. Vary the vendor nodes.
(tbd)
Read() all supported attributes on a given node while specifying a MaxAge value.
(tbd)
Read() the value attribute while specifying an encoding (not "default"). Vary the encoding.
(tbd)
Read() a value that is an array while varying the IndexRange to include specific indexes, the first X, the last X, the middle X. Vary the number of dimensions (e.g. "1:2,1:2" or "1:2,1:2,1:2" etc.) - if available.
(tbd)
Write() one or more Value attributes (WriteAccess permitted) for one or more nodes in a single call. Vary nodes.
(tbd)
Write() a value that is an array using the IndexRange to vary the number of elements, e.g. all, first X, last X, middle X. Repeat for multi-dimension arrays, if available.
(tbd)

Method Services

Call() a method defined by the vendor (not any of the OPC UA defined methods). Vary the methods to ensure different method signatures are covered, e.g. no parameters, in-parameters only, out-parameters only, in and out parameters etc.
(tbd)

Information Model

Subscription Services

Redundancy

Eventing

Data Change

Node Management

Alarm and Condition

Historical Access

Discovery

Challenge