UAUserIdentityToken

DataType

Description

UserIdentityTokenType

UAUserIdentityTokenType

Defines the identity Token to authenticate a user during the creation of a Session.

See UAUserIdentityTokenType

TokenParam1

Vendor specific

Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. In case of TokenType “Anonymous” the Param1 will not be evaluated.

In case of TokenType “Username” the Param1 contains the user name.

In case of TokenType “x509” the Param1 contains the location of the certificate store.

TokenParam2

Vendor specific

Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. In case of TokenType “Anonymous” the Param2 will not be evaluated.

In case of TokenType “Username” the Param2 contains the user password.

In case of TokenType “x509” the Param2 contains the certificate name.

UASessionConnectInfo

DataType

Description

SessionName

Vendor specific

Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. Defines the name of the session assigned by the client. The name is shown in the diagnostics information of the server. In case of empty string the server will generate a session name.

ApplicationName

Vendor specific

Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. Defines the readable name of the OPC UA client application. The string can be empty.

SecurityMsgMode

UASecurityMsgMode

See UASecurityMsgMode.

SecurityPolicy

UASecurityPolicy

See UASecurityPolicy.

CertificateStore

Vendor specific

Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. Defines the location of the certificate store used for the application certificates and trust lists. The structure of the certificate store is vendor specific. In case of empty string the default certificate store is used.

ClientCertificateName

Vendor specific

Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. Defines the name of the client certificate and private key in the certificate store. In case of empty string the default client application certificate is used.

Implementation note: The ApplicationURI will be extracted from the certificate.

ServerUri

Vendor specific

Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. Defines the URI of the server.

CheckServerCertificate

BOOL

Flag indicating if the server certificate should be checked with the trust list of the client application.

TransportProfile

UATransportProfile

See UATransportProfile

UserIdentityToken

UAUserIdentityToken

See UAUserIdentityToken

VendorSpecificParameter

Vendor specific

Vendor may define specific parameters, e.g. in case multiple clients are available, client instance can be defined with this parameter. The VendorSpecificParameter can be empty.

SessionTimeout

TIME

Defines how long the session will survive when there is no connection.

MonitorConnection

TIME

Defines the interval time to check the connection.

The connection monitoring has to be done by the client vendor implementation and is defined in OPC 10000-4

LocaleIDs

ARRAY [1..5] OF STRING[6]

OPC 10000-3:

<language>[-<country/region>] where <language> is a two letter ISO 639-1:2002 code for language, <country /region> is the three letter ISO 3166 code for the country/region.

Sample: en-US, zh-CHS

UANodeID

DataType

Description

NamespaceIndex

UINT

Identifier

Vendor specific

Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. In case of IdentifierType GUID the format is like 00000316-0000-0000-C000-000001000046

In case of IdentifierType Opaque string has to be base 64 encoded byte string.

IdentifierType

UAIdentifierType

See UAIdentifierType

UAQualifiedName

DataType

Description

NamespaceIndex

UINT

The namespace index to which name is associated.

Name

Vendor specific

Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. Name of the qualified name.

UARelativePathElement

DataType

Description

ReferenceTypeId

UANodeID

See UANodeID. If the ReferenceTypeId is a NULL-UANodeID the reference type is 33 (HierarchicalReferences)

IsInverse

BOOL

If TRUE, the inverse references will be evaluated. Default is FALSE.

IncludeSubtypes

BOOL

If TRUE also subtypes from ReferenceTypeId will be evaluated. Default is TRUE.

TargetName

UAQualifiedName

See UAQualifiedName

UARelativePath

DataType

Description

NoOfElements

UINT

Number of Elements.

Elements

ARRAY OFUARelativePathElement

See UARelativePathElement. One relative path element. Length of the array is vendor specific MAX_ELEMENTS_RELATIVEPATH

See Constants of Array Lengths

UABrowsePath

DataType

Description

StartingNode

UANodeID

See UANodeID. Starting NodeId from where the relative path will be evaluated.

RelativePath

UARelativePath

See UARelativePath. The relative path which will be evaluated.

UAMonitoringParameter

DataType

Description

SamplingInterval

TIME

The rate in milliseconds the server checks the underlying data source for changes.

QueueSize

UINT

The queue size for the monitoring item.See also 4.2 Monitored Items

DiscardOldest

BOOL

Determine the discard policy in case of queue overflow:TRUE: Discard the oldest in the sample queue FALSE: Discard the newest in the sample queue

DeadbandType

UADeadbandType

See

UADeadbandType. This parameter indicates if a deadband is applied and if applied, which type of Deadband.

Deadband

REAL

e.g. percent 0.1%.

UALocalizedText

DataType

Description

Locale

STRING[6]

OPC 10000-3:

<language>[-<country/region>] where <language> is a two letter ISO639 code for language, <country /region> is the three letter ISO3166 code for the country/region.

Sample: en-US, zh-CHS.

Text

Vendor specific

Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. Contains localized text as string.

This UANodeInfo is the first version of declaration – to ease the handling of BrowseName the usage of the second version UANodeInformation is recommended. This also affects

UANodeInformation.

UANodeInfo

DataType

Description

AccessLevel

BYTE

A bit mask indicating whether the current value of the Value Attribute is readable and writable as well as whether the history of the value is readable and changeable.

Bit

Value

AccessLevel

0x0

None

0

0x1

CurrentRead

1

0x2

CurrentWrite

2

0x4

HistoryRead

3

0x8

HistoryWrite

4

5

6

7

ArrayDimension

ARRAY OFUDINT

The length for each dimension of an array value.

Length is vendor-specific (MAX_ELEMENTS_ARRAYDIMENSION). See Constants of Array Lengths

BrowseName

STRING

The BrowseName is composed of a namespace index and a name. The String representation is of the format [ns:] BrowseName. The browse name may be prefixed by its namespace index. If the namespace prefix is omitted then namespace index 0 is used.

ContainsNoLoops

BOOL

Indicates that following forward references within a view will not cause a loop.

DataType

UANodeID

See UANodeID. The node id of the data type for the variable value.

Description

UALocalizedText

A localized description for the node.

DisplayName

UALocalizedText

A localized human readable name for the node.

EventNotifier

BYTE

This Attribute represents a bit mask that identifies whether the Object can be used to subscribe to Events and whether the history of Events is accessible and changeable.

Bit

Value

EventNotifier

0x0

The Object does not produce events and has no event history. (SubscribeToEvents)

0

0x1

The Object produces event notifications.

1

0x2

Reserved. Must always be zero

2

0x4

The Object has an event history which may be read. (HistoryRead)

3

0x8

The Object has an event history which may be updated (HistoryWrite)

4

5

6

7

Executable

BOOL

Whether the method can be called.

Historizing

BOOL

Specifies whether the server is actively collecting historical data for the variable.

InverseName

STRING

The browse name for an inverse reference.

IsAbstract

BOOL

Indicates that a type node may not be instantiated.

MinimumSamplingInterval

TIME

Specifies (in ms) how fast the server can reasonably sample the value for changes.

NodeClass

UANodeClassMask

See UANodeClassMask. The base type of the node.

An enumeration identifying the NodeClass of a Node such as Object, Variable or Method.

NodeID

UANodeID

See UANodeID. The server unique identifier for the node.

Symmetric

BOOL

Indicates that forward and inverse references have the same meaning.

UserAccessLevel

BYTE

Contains the same information as the AccessLevel but takes user access rights into account.

Bit

Value

AccessLevel

0x0

None

0

0x1

CurrentRead

1

0x2

CurrentWrite

2

0x4

HistoryRead

3

0x8

HistoryWrite

4

5

6

7

UserExecutable

BOOL

Whether the method can be called by the current user.

UserWriteMask

UDINT

Indicates which attributes are writable by the current user.

ValueRank

DINT

The number of dimensions in the value.

WriteMask

UDINT

Indicates which attributes are writable.

Note: Additional added Attributes from OPC UA (like DataTypeDefinition, RolePermissions, etc.) will not be reflected in UANodeInformation. Instead use UA_ReadList for this Attributes. The same is valid for the Attribute “Inverse Name (10)” when it needs to be a WSTRING instead of STRING.

UANodeInformation

DataType

Description

AccessLevel (17)

BYTE

A bit mask indicating whether the current value of the Value Attribute is readable and writable as well as whether the history of the value is readable and changeable.

Bit

Value

AccessLevel

0x00

None

0

0x01

CurrentRead

1

0x02

CurrentWrite

2

0x04

HistoryRead

3

0x08

HistoryWrite

4

0x10

SemanticChange

5

0x20

StatusWrite

6

0x40

TimestampWrite

7

ArrayDimension (16)

ARRAY OFUDINT

The length for each dimension of an array value.

Length is vendor-specific (MAX_ELEMENTS_ARRAYDIMENSION). See Constants of Array Lengths

BrowseName (3)

UAQualifiedName

See UAQualifiedName.

ContainsNoLoops (11)

BOOL

Indicates that following forward references within a view will not cause a loop.

DataType (14)

UANodeID

See UANodeID. The node id of the data type for the variable value.

Description (5)

UALocalizedText

A localized description for the node.

DisplayName (4)

UALocalizedText

A localized human readable name for the node.

EventNotifier (12)

BYTE

This Attribute represents a bit mask that identifies whether the Object can be used to subscribe to Events and whether the history of Events is accessible and changeable.

Bit

Value

EventNotifier

0x00

The Object does not produce events and has no event history. (SubscribeToEvents)

0

0x01

The Object produces event notifications.

1

0x02

Reserved. Must always be zero

2

0x04

The Object has an event history which may be read. (HistoryRead)

3

0x08

The Object has an event history which may be updated (HistoryWrite)

4

5

6

7

Executable (21)

BOOL

Whether the method can be called.

Historizing (20)

BOOL

Specifies whether the server is actively collecting historical data for the variable.

InverseName (10)

STRING

The browse name for an inverse reference.

IsAbstract (8)

BOOL

Indicates that a type node may not be instantiated.

MinimumSamplingInterval (19)

TIME

Specifies (in ms) how fast the server can reasonably sample the value for changes.

NodeClass (2)

UANodeClassMask

See UANodeClassMask. The base type of the node.

An enumeration identifying the NodeClass of a Node such as Object, Variable or Method.

Symmetric (9)

BOOL

Indicates that forward and inverse references have the same meaning.

UserAccessLevel (18)

BYTE

Contains the same information as the AccessLevel but takes user access rights into account.

Bit

Value

AccessLevel

0x00

None

0

0x01

CurrentRead

1

0x02

CurrentWrite

2

0x04

HistoryRead

3

0x08

HistoryWrite

4

0x10

SemanticChange

5

0x20

StatusWrite

6

0x40

TimestampWrite

7

UserExecutable (22)

BOOL

Whether the method can be called by the current user.

UserWriteMask (7)

UDINT

Indicates which attributes are writable by the current user.

ValueRank (15)

DINT

The number of dimensions in the value.

WriteMask (6)

UDINT

Indicates which attributes are writable.

UAIndexRange

DataType

Description

StartIndex

UINT

Start index.

EndIndex

UINT

End index.

Note: IndexRange can be defined as follows: For each Dimension:

  1. Start and EndIndex are to be assigned.
  2. StartIndex must be smaller than EndIndex.
  3. To access all the elements in a Dimension it’s a must to assign StartIndex and EndIndex depending on the number of total Elements in the Dimension.
  4. A single element in a Dimension can be selected by specifying the same StartIndex and EndIndex.

UANodeAdditionalInfo

DataType

Description

AttributeID

UAAttributeID

Selects the attribute to be accessed. The default AttributeID is UAAI_Value (13).

See

UAAttributeID

IndexRangeCount

UINT

Count of valid IndexRange specified. Vendorspecific.

IndexRange

ARRAY OFUAIndexRange

See UAIndexRange

Length is vendor-specific (MAX_ELEMENTS_INDEXRANGE See Constants of Array Lengths

UAViewDescription

DataType

Description

ViewID

UANodeID

Node ID of the view to limit the browse. Empty for browsing the entire Address Space

See UANodeID

TimeStamp

Vendor specific

If ‘0’ - any ViewID which matches should be used. Shall be DT or LDT. The recommendation for new implementation is to use LDT

Version

UDINT

If ‘0’ - any ViewID which matches should be used.

UABrowseDescription

DataType

Description

StartingNodeID

UANodeID

Node ID of the starting node to browse.

See UANodeID

Direction

UABrowseDirection

Browse direction forward, inverse, both.

See UABrowseDirection

ReferenceTypeID

UANodeID

Node ID of the Reference Type the server should follow.

See UANodeID

Default value: HierachicalReferences

IncludeSubtypes

BOOL

Indicates if also subtypes of the Reference Type should be retuned

Default: TRUE

NodeClass

UANodeClassMask

Filter on the Node Class of the retuned Nodes

See UANodeClassMask

ResultMask

UABrowseResultMask

Selects which fields of the UAReferenceDescription are requested from the server.

See UABrowseResultMask

UAReferenceDescription

DataType

Description

ReferenceTypeID

UANodeID

Node ID of the ReferenceType followed from the starting Node to the target Node. See UANodeID

IsForward

BOOL

Set if followed a forward Reference

NodeID

UAExpandedNodeID

Node ID of the target Node. This could also be a Node in another server. See UAExpandedNodeID

BrowseName

Vendor specific

Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. The qualified name of the target Node.

DisplayName

UALocalizedText

The localized name of the target Node. See UALocalizedText

NodeClass

UANodeClassMask

Node Class of the target Node. See UANodeClassMask

TypeDefinition

UAExpandedNodeID

Node ID of the Object or Variable type of the target Node. See UAExpandedNodeID

UAExpandedNodeID

DataType

Description

ServerIndex

UDINT

The ServerIndex formatted as a base 10 number.

NamespaceURI

Vendor specific

Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. The NamespaceUri formatted as a string. Any reserved characters in the URI shall be replaced with a ‘%’ followed by its 8 bit ANSI value encoded as two hexadecimal digits (case insensitive). For example, the character ‘;’ would be replaced by ‘%3B’.

The reserved characters are ‘;’ and ‘%’.

ID

UANodeID

An identifier for a node in the address space of an OPC UA Server.

See UANodeID

UAHADataValue

DataType

Description

Value

Vendor specific

Vendor specific

StatusCode

UAHAUpdateStatusCode

See UAHAUpdateStatusCode

ServerTimeStamp

Vendor specific

Shall be DT or LDT. The recommendation for new implementation is to use LDT

SourceTimeStamp

Vendor specific

Shall be DT or LDT. The recommendation for new implementation is to use LDT

UAMonitoredVariables

DataType

Description

Values

ARRAY OFVendor specific

Vendor specific.

Array shall have the minimum length as UAMonitoringParameter QueueSize

TimeStamps

ARRAY OFVendor specific

Shall be DT or LDT. The recommendation for new implementation is to use LDT. It is expected, that the SourceTimeStamp from the server is returned.

Optional – If exists it shall have the same length as the Values array.

NodeQualityIDs

ARRAY OFDWORD

Contains an error code for each element of the Values array.

Optional – If exists it shall have the same length as the Values array.

In case of “Overflow” Bit ‘7’ will be set if queue size is greater than 1. If this bit is set, not every detected change has been returned since the Server’s queue buffer for the MonitoredItem reached its limit and had to purge out data and the MinLostValueCount from UA_MonitoredItemAddList will be incremented by one (1).

NewValuesCount

UINT

Count of Values (Vendorspecific) which were updated starting from the lowest element of the Values.