Limitations on Reading Data Types

<< Click to Display Table of Contents >>

 

Limitations on Reading Data Types

An Elipse E3 OPC UA Driver supports basic data types and one-dimensional arrays, as well as a few types of structures defined by the OPC UA standard. The following data types of scalar values and arrays are supported:

Fully-supported data types: SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Float, Double, Boolean, String, DateTime, and ByteString

Supported data types with limitations: DataValue (ignores timestamp and quality), LocalizedText (ignores locale), QualifiedName (ignores NamespaceIndex), StatusCode (converted to SCode or HRESULT), Guid (converted to text), ArrayQualifiedName, ArrayLocalizedText, Structure, ArrayStructure, ArrayDataValue, Unknown, and ArrayUnknown (do not allow writings on the current version of Elipse E3)

Supported data types converted to one-dimension arrays with a fixed size: These data types are returned as arrays of Variants, where each one of these fields is an array item. If a field is another object, Variant contains another array, and so on. Supported data types are ServerDiagnosticsSummaryDataType, SubscriptionDiagnosticsDataType, SessionSecurityDiagnosticsDataType, SessionDiagnosticsDataType, ApplicationDescription, Argument, BuildInfo, ServiceCounterDataType, ExpandedNodeId, NodeId, ServerStatusDataType, EUInformation, Range, TimeZoneDataType, StatusResult, ComplexNumberType, DoubleComplexNumberType, XVType, RedundantServerDataType, SamplingIntervalDiagnosticsDataType, EnumValueType, NetworkGroupDataType, and EndpointUrlListDataType

 

NOTE

Structures defined by specific OPC UA Servers, not compatible with OPC UA standard, are not read by Elipse E3.

 

In query fields, the text of OPC UA Tag paths follows OPC UA standard for relative paths. Components of this path are the following:

/ (slash mark): Indicates any hierarchical reference

. (period): Indicates any aggregation reference

[ns:]browse-name: A String that follows a slash mark or period specifies a browse name of an item. This name can be prefixed with its Namespace index. If omitted, assumes an index of 0 (zero)

& (ampersand, escape character): Inserts a reserved character in place. For example, an expression "&/Name" is replaced by "/Name". Reserved characters are the following:

/ (slash mark)

. (period)

< (less than)

> (greater than)

: (colon)

# (number sign)

! (exclamation point)

& (ampersand)

 

A formal definition of an OPC UA path, in BNF notation, is the following:

<relative-path> ::= <reference-type> <browse-name>
<reference-type> ::= '/' | '.' | '<' ['#'] ['!']
  <browse-name> '>'
<browse-name> ::= [<namespace-index> ':'] <name>
<namespace-index> ::= <digit> [<digit>]
<digit> ::= '0' | '1' | '2' | '3' | '4' | '5'
  | '6' | '7' | '8' | '9'
<name> ::= (<name-char> | '&' <reserved-char>)
  [<name>]
<reserved-char> ::= '/' | '.' | '<' | '>' | ':'
  | '#' | '!' | '&'
<name-char> ::= All valid characters for a String,
  except reserved characters

 

Elipse E3 does not support OPC UA Node Identifiers (NodeIds) that do not belong to an OPC UA Server where OPC UA Tag browsing is performed (Gateway Servers). These OPC UA Tags, therefore, are not displayed on a window for selecting OPC UA Servers. In addition, paths are always hierarchical and only slash mark (/) and period (.) reference types are supported (the <browse-name> type is not supported).

Was this page useful?