Attribute Read Complex

Supports reading and encoding Values with structured DataTypes.

Questions? Contact us
Generated: 21/11/2021 at 17:21:20 p.m.
Attribute Read Complex - 4 Test Cases
Test Case Id Test Type Keywords Test Case Description Test Requirements Expected Result


CTT Unavailable  Read()  For each Variable of type Structure, follow the type definition reference to read the structure type-definition from the type dictionary. User to specify the NodeIds of each of their structure type Variables. Note: CTT settings to be flexible to allow user to specify all NodeIds in a single field (CSV format), or to specify a filename of a CSV file.
Step #
Expected Result(s)


Definition is retrieved successfully and validates successfully (see the rules defined in worksheets 'DD', 'In', and 'OF'). The type must exist.


For each configured Variable instance that is of type Structure, read the Value attribute and all references.

The Variant's ExtensionObject's DataType (NodeId) attribute matches the type definition of the structure or sub-type. The references contain a HasTypeDefinition of the actual structure type defined in the type system. The Value (ExtensionObject.Body) is of type ByteString or Xml (depending on encoding used) and decodes/validates according to the schema (in the dictionary)


CTT Unavailable  Read()  Read a value of type Structure, requesting an Encoding as none (empty string "") Read the type system to identify which encodings are available (binary, xml, etc.)
Step #
Expected Result(s)


The default encoding is returned matching the TransportProfileUri in the Session (serverUri field is what maps to the EndpointDescription, which contains the transportProfileUri).


Repeat step #1, but specify an encoding that matches the default, e.g. "Default Binary".

The same result is returned as in step #1 (bit-by-bit).


Repeat step #1, but specify an alternate [supported] encoding. Note: Skip step if no other encodings are available.

The same structure is returned, but using an alternate encoding.


CTT Unavailable  Read()  Request an encoding that is not supported
Read the type system to identify which encodings are available (binary, xml, etc.). Skip step if "Default Binary" and "Default Xml" exist. Bad_DataEncodingUnsupported


CTT Unavailable  Read()  Cycle through the different transports (bin, https) and then request the "other" encoding, e.g. connect via opc.tcp and then request "Default Xml"; connect via https and then request "Default Binary". Check the endpoints to see if multiple transports (opc.tcp and https) are available; skip test if only one transport exists. The structure is returned with the correct encoding and is valid.