Embedded OPC UA Stack  1.0.0.125
Data Types

XmlElement

An XML element encoded as a UTF-8 string.

Field DataType ValueRank
Length Int32 Scalar
Value Char Array

NodeId

An identifier for a node in a UA server address space.

Field DataType ValueRank
NodeIdType NodeIdType Scalar
Reserved1 Bit Scalar
TwoByte TwoByteNodeId Scalar
FourByte FourByteNodeId Scalar
Numeric NumericNodeId Scalar
String StringNodeId Scalar
Guid GuidNodeId Scalar
ByteString ByteStringNodeId Scalar

QualifiedName

A string qualified with a namespace index.

Field DataType ValueRank
NamespaceIndex Int32 Scalar
Name CharArray Scalar

LocalizedText

A string qualified with a namespace index.

Field DataType ValueRank
LocaleSpecified Bit Scalar
TextSpecified Bit Scalar
Reserved1 Bit Scalar
Locale CharArray Scalar
Text CharArray Scalar

NamingRuleType

This data type is an enumeration that identifies the NamingRule.

Enum String Enum Value
Mandatory 1
Optional 2
Constraint 3

IdType

An enumeration that identifies the IdType of a NodeId.

Enum String Enum Value Description
Numeric 0 Numeric value
String 1 String value
Guid 2 Globally Unique Identifier
Opaque 3 Namespace specific format

NodeClass

An enumeration that identifies a NodeClass.

Enum String Enum Value
Unspecified 0
Object 1
Variable 2
Method 4
ObjectType 8
VariableType 16
ReferenceType 32
DataType 64
View 128

Argument

Defines a method input or output argument specification.

It is for example used in the input and output argument Properties for methods.

Field DataType ValueRank Description
Name String Scalar The name of the argument
DataType NodeId Scalar The NodeId of the DataType of this argument.
ValueRank Int32 Scalar Indicates whether the DataType is an array and how many dimensions the array has. More...
ArrayDimensions UInt32 Array Specifies the length of each dimension for an array dataType. More...
Description LocalizedText Scalar A localised description of the argument.

ValueRank

Indicates whether the DataType is an array and how many dimensions the array has.

It may have the following values:

n > 1
The DataType is an array with the specified number of dimensions.
OneDimension (1)
The DataType is an array with one dimension.
OneOrMoreDimensions (0)
The dataType is an array with one or more dimensions.
Scalar (−1)
The DataType is not an array.
Any (−2)
The DataType can be a scalar or an array with any number of dimensions.
ScalarOrOneDimension (−3)
The DataType can be a scalar or a one dimensional array.
Note
All DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.

ArrayDimensions

Specifies the length of each dimension for an array dataType.

It is intended to describe the capability of the DataType, not the current size.

The number of elements shall be equal to the value of the valueRank. Shall be null if valueRank ≦ 0.

A value of 0 for an individual dimension indicates that the dimension has a variable length.

EnumValueType

A mapping between a value of an enumerated type and a name and description.

When this type is used in an array representing human readable representations of an enumeration, each Value shall be unique in that array.

Field DataType ValueRank Description
Value Int64 Scalar The Integer representation of an Enumeration.
DisplayName LocalizedText Scalar A human-readable representation of the Value of the Enumeration.
Description LocalizedText Scalar A localized description of the enumeration value. More...

Description

A localized description of the enumeration value.

This field can contain an empty string if no description is available.

OptionSet

This abstract DataType is the base DataType for all DataTypes representing a bit mask.

All OptionSet DataTypes representing bit masks shall inherit from this DataType.

The DataType Nodes representing concrete subtypes of the OptionSet shall have an OptionSetValues Property.

Field DataType ValueRank Description
Value ByteString Scalar Array of bytes representing the bits in the option set. More...
ValidBits ByteString Scalar Array of bytes with same size as value representing the valid bits in the value parameter. More...

Value

Array of bytes representing the bits in the option set.

The length of the ByteString depends on the number of bits.

ValidBits

Array of bytes with same size as value representing the valid bits in the value parameter.

When the Server returns the value to the Client, the ValidBits provides information of which bits in the bit mask have a meaning. When the Client passes the value to the Server, the ValidBits defines which bits should be written. Only those bits defined in ValidBits are changed in the bit mask, all others stay the same.

Union

This abstract DataType is the base DataType for all union DataTypes.

The DataType is a subtype of Structure DataType. All DataTypes inheriting from this DataType have special handling for the encoding as defined in Part 6 of the OPC UA Specification. All union DataTypes shall inherit from this DataType.

TimeZoneDataType

The local time that may or may not take daylight saving time into account.

Field DataType ValueRank Description
Offset Int16 Scalar The offset in minutes from UtcTime.
DaylightSavingInOffset Boolean Scalar If TRUE, daylight saving time (DST) is in effect and offset includes the DST correction. More...

DaylightSavingInOffset

If TRUE, daylight saving time (DST) is in effect and offset includes the DST correction.

If FALSE, the offset does not include the DST correction and DST may or may not have been in effect.

BuildInfo

Contains elements that describe the build information of the Server.

Field DataType ValueRank Description
ProductUri String Scalar URI that identifies the software.
ManufacturerName String Scalar Name of the software manufacturer.
ProductName String Scalar Name of the software.
SoftwareVersion String Scalar Software version.
BuildNumber String Scalar Build number.
BuildDate DateTime Scalar Date and time of the build.

RedundancySupport

Defines the redundancy support of the Server.

Enum String Enum Value Description
None 0 There is no redundancy support.
Cold 1 The server supports cold redundancy as defined in Part 4 of the OPC UA Specification.
Warm 2 The server supports warm redundancy as defined in Part 4 of the OPC UA Specification.
Hot 3 The server supports hot redundancy as defined in Part 4 of the OPC UA Specification.
Transparent 4 The server supports transparent redundancy as defined in Part 4 of the OPC UA Specification.
HotAndMirrored 5 The server supports HotAndMirrored redundancy as defined in Part 4 of the OPC UA Specification.

ServerState

An enumeration that defines the execution state of the Server.

Enum String Enum Value Description
Running 0 The server is running normally. More...
Failed 1 A vendor-specific fatal error has occurred within the server. More...
NoConfiguration 2 The server is running but has no configuration information loaded and therefore does not transfer data.
Suspended 3 The server has been temporarily suspended by some vendor-specific method and is not receiving or sending data.
Shutdown 4 The server has shut down or is in the process of shutting down. More...
Test 5 The server is in Test Mode. More...
CommunicationFault 6 The server is running properly, but is having difficulty accessing data from its data sources. More...
Unknown 7 This state is used only to indicate that the OPC UA server does not know the state of underlying servers.

Running

The server is running normally.

This is the usual state for a server.

Failed

A vendor-specific fatal error has occurred within the server.

The server is no longer functioning. The recovery procedure from this situation is vendor-specific. Most Service requests should be expected to fail.

Shutdown

The server has shut down or is in the process of shutting down.

Depending on the implementation, this might or might not be visible to clients.

Test

The server is in Test Mode.

The outputs are disconnected from the real hardware, but the server will otherwise behave normally. Inputs may be real or may be simulated depending on the vendor implementation. StatusCode will generally be returned normally.

CommunicationFault

The server is running properly, but is having difficulty accessing data from its data sources.

This may be due to communication problems or some other problem preventing the underlying device, control system, etc. from returning valid data. It may be a complete failure, meaning that no data is available, or a partial failure, meaning that some data is still available. It is expected that items affected by the fault will individually return with a BAD FAILURE status code indication for the items.

RedundantServerDataType

Contains elements that describe the status of the Server.

Field DataType ValueRank Description
ServerId String Scalar The Id of the server (not the URI).
ServiceLevel Byte Scalar The service level of the server.
ServerState ServerState Scalar The current state of the server.

EndpointUrlListDataType

Structure representing a list of URLs of an Endpoint.

Field DataType ValueRank Description
EndpointUrlList String Array List of URLs of an Endpoint.

NetworkGroupDataType

Contains information on different network paths for one Server.

Field DataType ValueRank Description
ServerUri String Scalar URI of the Server represented by the network group.
NetworkPaths EndpointUrlListDataType Array Array of different network paths to the server, for example provided by different network cards in a Server node. More...

NetworkPaths

Array of different network paths to the server, for example provided by different network cards in a Server node.

Each network path can have several Endpoints representing different protocol options for the same path.

SamplingIntervalDiagnosticsDataType

Contains diagnostic information about the sampling rates currently used by the Server.

Field DataType ValueRank
SamplingInterval Double Scalar
MonitoredItemCount UInt32 Scalar
MaxMonitoredItemCount UInt32 Scalar
DisabledMonitoredItemCount UInt32 Scalar

ServerDiagnosticsSummaryDataType

Contains diagnostic summary information for the Server.

Field DataType ValueRank Description
ServerViewCount UInt32 Scalar The number of server-created views in the server.
CurrentSessionCount UInt32 Scalar The number of client sessions currently established in the server.
CumulatedSessionCount UInt32 Scalar The cumulative number of client sessions that have been established in the server since the server was started (or restarted). More...
SecurityRejectedSessionCount UInt32 Scalar The number of client session establishment requests that were rejected due to security constraints since the server was started (or restarted).
RejectedSessionCount UInt32 Scalar The number of client session establishment requests that were rejected since the server was started (or restarted). More...
SessionTimeoutCount UInt32 Scalar The number of client sessions that were closed due to timeout since the server was started (or restarted).
SessionAbortCount UInt32 Scalar The number of client sessions that were closed due to errors since the server was started (or restarted).
CurrentSubscriptionCount UInt32 Scalar The number of subscriptions currently established in the server.
CumulatedSubscriptionCount UInt32 Scalar The cumulative number of subscriptions that have been established in the server since the server was started (or restarted). More...
PublishingIntervalCount UInt32 Scalar The number of publishing intervals currently supported in the server.
SecurityRejectedRequestsCount UInt32 Scalar The number of requests that were rejected due to security constraints since the server was started (or restarted). More...
RejectedRequestsCount UInt32 Scalar The number of requests that were rejected since the server was started (or restarted). More...

CumulatedSessionCount

The cumulative number of client sessions that have been established in the server since the server was started (or restarted).

This includes the currentSessionCount.

RejectedSessionCount

The number of client session establishment requests that were rejected since the server was started (or restarted).

This number includes the securityRejectedSessionCount.

CumulatedSubscriptionCount

The cumulative number of subscriptions that have been established in the server since the server was started (or restarted).

This includes the currentSubscriptionCount.

SecurityRejectedRequestsCount

The number of requests that were rejected due to security constraints since the server was started (or restarted).

The requests include all Services defined in Part 4 of the OPC UA Specification, also requests to create sessions.

RejectedRequestsCount

The number of requests that were rejected since the server was started (or restarted).

The requests include all Services defined in Part 4 of the OPC UA Specification, also requests to create sessions. This number includes the securityRejectedRequestsCount.

ServerStatusDataType

Contains elements that describe the status of the Server.

Field DataType ValueRank Description
StartTime DateTime Scalar Time (UTC) the server was started. More...
CurrentTime DateTime Scalar The current time (UTC) as known by the server.
State ServerState Scalar The current state of the server.
BuildInfo BuildInfo Scalar Build information of the server.
SecondsTillShutdown UInt32 Scalar Approximate number of seconds until the server will be shut down. More...
ShutdownReason LocalizedText Scalar An optional localized text indicating the reason for the shutdown. More...

StartTime

Time (UTC) the server was started.

This is constant for the server instance and is not reset when the server changes state. Each instance of a server should keep the time when the process started.

SecondsTillShutdown

Approximate number of seconds until the server will be shut down.

The value is only relevant once the state changes into SHUTDOWN.

ShutdownReason

An optional localized text indicating the reason for the shutdown.

The value is only relevant once the state changes into SHUTDOWN.

SessionDiagnosticsDataType

Contains diagnostic information about client sessions.

Most of the values represented in this structure provide information about the number of calls of a Service, the number of currently used MonitoredItems, etc. Those numbers need not provide the exact value; they need only provide the approximate number, so that the Server is not burdened with providing the exact numbers.

Field DataType ValueRank Description
SessionId NodeId Scalar Server-assigned identifier of the session.
SessionName String Scalar The name of the session provided in the CreateSession request.
ClientDescription ApplicationDescription Scalar The description provided by the client in the CreateSession request.
ServerUri String Scalar The serverUri request in the CreateSession request.
EndpointUrl String Scalar The endpointUrl passed by the client to the CreateSession request.
LocaleIds String Array Array of LocaleIds specified by the client in the open session call.
ActualSessionTimeout Double Scalar The requested session timeout specified by the client in the open session call.
MaxResponseMessageSize UInt32 Scalar The maximum size for the response message sent to the client.
ClientConnectionTime DateTime Scalar The server timestamp when the client opens the session.
ClientLastContactTime DateTime Scalar The server timestamp of the last request of the client in the context of the session.
CurrentSubscriptionsCount UInt32 Scalar The number of subscriptions currently used by the session.
CurrentMonitoredItemsCount UInt32 Scalar The number of MonitoredItems currently used by the session.
CurrentPublishRequestsInQueue UInt32 Scalar The number of publish timer expirations when there are data to be sent, but there are no publish requests for this session. More...
TotalRequestCount ServiceCounterDataType Scalar Counter of allServices, identifying the number of received requests of any Services on the session.
UnauthorizedRequestCount UInt32 Scalar Counter of all Services, identifying the number of Service requests that were rejected due to authorization failure.
ReadCount ServiceCounterDataType Scalar Counter of the Read Service, identifying the number of received requests of this Service on the session.
HistoryReadCount ServiceCounterDataType Scalar Counter of the HistoryRead Service, identifying the number of received requests of this Service on the session.
WriteCount ServiceCounterDataType Scalar Counter of the Write Service, identifying the number of received requests of this Service on the session.
HistoryUpdateCount ServiceCounterDataType Scalar Counter of the HistoryUpdate Service, identifying the number of received requests of this Service on the session.
CallCount ServiceCounterDataType Scalar Counter of the Call Service, identifying the number of received requests of this Service on the session.
CreateMonitoredItemsCount ServiceCounterDataType Scalar Counter of the CreateMonitoredItems Service, identifying the number of received requests of this Service on the session.
ModifyMonitoredItemsCount ServiceCounterDataType Scalar Counter of the ModifyMonitoredItems Service, identifying the number of received requests of this Service on the session.
SetMonitoringModeCount ServiceCounterDataType Scalar Counter of the SetMonitoringMode Service, identifying the number of received requests of this Service on the session.
SetTriggeringCount ServiceCounterDataType Scalar Counter of the SetTriggering Service, identifying the number of received requests of this Service on the session.
DeleteMonitoredItemsCount ServiceCounterDataType Scalar Counter of the DeleteMonitoredItems Service, identifying the number of received requests of this Service on the session.
CreateSubscriptionCount ServiceCounterDataType Scalar Counter of the CreateSubscription Service, identifying the number of received requests of this Service on the session.
ModifySubscriptionCount ServiceCounterDataType Scalar Counter of the ModifySubscription Service, identifying the number of received requests of this Service on the session.
SetPublishingModeCount ServiceCounterDataType Scalar Counter of the SetPublishingMode Service, identifying the number of received requests of this Service on the session.
PublishCount ServiceCounterDataType Scalar Counter of the Publish Service, identifying the number of received requests of this Service on the session.
RepublishCount ServiceCounterDataType Scalar Counter of the Republish Service, identifying the number of received requests of this Service on the session.
TransferSubscriptionsCount ServiceCounterDataType Scalar Counter of the TransferSubscriptions Service, identifying the number of received requests of this Service on the session.
DeleteSubscriptionsCount ServiceCounterDataType Scalar Counter of the DeleteSubscriptions Service, identifying the number of received requests of this Service on the session.
AddNodesCount ServiceCounterDataType Scalar Counter of the AddNodes Service, identifying the number of received requests of this Service on the session.
AddReferencesCount ServiceCounterDataType Scalar Counter of the AddReferences Service, identifying the number of received requests of this Service on the session.
DeleteNodesCount ServiceCounterDataType Scalar Counter of the DeleteNodes Service, identifying the number of received requests of this Service on the session.
DeleteReferencesCount ServiceCounterDataType Scalar Counter of the DeleteReferences Service, identifying the number of received requests of this Service on the session.
BrowseCount ServiceCounterDataType Scalar Counter of the Browse Service, identifying the number of received requests of this Service on the session.
BrowseNextCount ServiceCounterDataType Scalar Counter of the BrowseNext Service, identifying the number of received requests of this Service on the session.
TranslateBrowsePathsToNodeIdsCount ServiceCounterDataType Scalar Counter of the TranslateBrowsePathsToNodeIds Service, identifying the number of received requests of this Service on the session.
QueryFirstCount ServiceCounterDataType Scalar Counter of the QueryFirst Service, identifying the number of received requests of this Service on the session.
QueryNextCount ServiceCounterDataType Scalar Counter of the QueryNext Service, identifying the number of received requests of this Service on the session.
RegisterNodesCount ServiceCounterDataType Scalar Counter of the RegisterNodes Service, identifying the number of received requests of this Service on the session.
UnregisterNodesCount ServiceCounterDataType Scalar Counter of the UnregisterNodesService, identifying the number of received requests of this Service on the session.

CurrentPublishRequestsInQueue

The number of publish timer expirations when there are data to be sent, but there are no publish requests for this session.

The value shall be 0 if there are no data to be sent or publish requests queued.

SessionSecurityDiagnosticsDataType

contains security-related diagnostic information about client sessions.

Because this information is security-related, it should not be made accessible to all users, but only to authorised users.

Field DataType ValueRank Description
SessionId NodeId Scalar Server-assigned identifier of the session.
ClientUserIdOfSession String Scalar Name of authenticated user when creating the session.
ClientUserIdHistory String Array Array containing the name of the authenticated user currently active (either from creating the session or from calling the ActivateSession Service) and the history of those names. More...
AuthenticationMechanism String Scalar Type of authentication currently used by the session. The string shall be one of the UserIdentityTokenType enum.
Encoding String Scalar Which encoding is used on the wire. More...
TransportProtocol String Scalar Which transport protocol is used. More...
SecurityMode MessageSecurityMode Scalar The message security mode used for the session.
SecurityPolicyUri String Scalar The name of the security policy used for the session.
ClientCertificate ByteString Scalar The application instance certificate provided by the client in the CreateSession request.

ClientUserIdHistory

Array containing the name of the authenticated user currently active (either from creating the session or from calling the ActivateSession Service) and the history of those names.

Each time the active user changes, an entry shall be made at the end of the array. The active user is always at the end of the array. Servers may restrict the size of this array, but shall support at least a size of 2.

Encoding

Which encoding is used on the wire.

The string shall be “XML” or “UA Binary”.

TransportProtocol

Which transport protocol is used.

The string shall be the scheme from the URL used to establish the session, for example “opc.tcp” or “https”.

ServiceCounterDataType

Contains diagnostic information about subscriptions.

Field DataType ValueRank Description
TotalCount UInt32 Scalar The number of Service requests that have been received.
ErrorCount UInt32 Scalar The total number of Service requests that were rejected.

SubscriptionDiagnosticsDataType

Contains diagnostic information about subscriptions.

Field DataType ValueRank Description
SessionId NodeId Scalar Server-assigned identifier of the session the subscription belongs to.
SubscriptionId UInt32 Scalar Server-assigned identifier of the subscription.
Priority Byte Scalar The priority the client assigned to the subscription.
PublishingInterval Double Scalar The publishing interval of the subscription in milliseconds.
MaxKeepAliveCount UInt32 Scalar The maximum keep-alive count of the subscription.
MaxLifetimeCount UInt32 Scalar The maximum lifetime count of the subscription.
MaxNotificationsPerPublish UInt32 Scalar The maximum number of notifications per publish response.
PublishingEnabled Boolean Scalar Whether publishing is enabled for the subscription.
ModifyCount UInt32 Scalar The number of ModifySubscription requests received for the subscription.
EnableCount UInt32 Scalar The number of times the subscription has been enabled.
DisableCount UInt32 Scalar The number of times the subscription has been disabled.
RepublishRequestCount UInt32 Scalar The number of Republish Service requests that have been received and processed for the subscription.
RepublishMessageRequestCount UInt32 Scalar The total number of messages that have been requested to be republished for the subscription. More...
RepublishMessageCount UInt32 Scalar The number of messages that have been successfully republished for the subscription.
TransferRequestCount UInt32 Scalar The total number of TransferSubscriptions Service requests that have been received for the subscription.
TransferredToAltClientCount UInt32 Scalar The number of times the subscription has been transferred to an alternate client.
TransferredToSameClientCount UInt32 Scalar The number of times the subscription has been transferred to an alternate session for the same client.
PublishRequestCount UInt32 Scalar The number of Publish Service requests that have been received and processed for the subscription.
DataChangeNotificationsCount UInt32 Scalar The number of data change Notifications sent by the subscription.
EventNotificationsCount UInt32 Scalar The number of Event Notifications sent by the subscription.
NotificationsCount UInt32 Scalar The total number of Notifications sent by the subscription.
LatePublishRequestCount UInt32 Scalar The number of times the subscription has entered the LATE State, i.e. the number of times the publish timer expires and there are unsent notifications.
CurrentKeepAliveCount UInt32 Scalar The number of times the subscription has entered the KEEPALIVE State.
CurrentLifetimeCount UInt32 Scalar The current lifetime count of the subscription.
UnacknowledgedMessageCount UInt32 Scalar The number of unacknowledged messages saved in the republish queue.
DiscardedMessageCount UInt32 Scalar The number of messages that were discarded before they were acknowledged.
MonitoredItemCount UInt32 Scalar The total number of monitored items of the subscription, including the disabled monitored items.
DisabledMonitoredItemCount UInt32 Scalar The number of disabled monitored items of the subscription.
MonitoringQueueOverflowCount UInt32 Scalar The number of times a monitored item dropped notifications because of a queue overflow.
NextSequenceNumber UInt32 Scalar Sequence number for the next notification message.
EventQueueOverFlowCount UInt32 Scalar The number of times a monitored item in the subscription has generated an Event of type EventQueueOverflowEventType.

RepublishMessageRequestCount

The total number of messages that have been requested to be republished for the subscription.

Note that due to the design of the Republish Service this number is always equal to the republishRequestCount.

ModelChangeStructureDataType

Contains elements that describe changes of the model.

Field DataType ValueRank Description
Affected NodeId Scalar NodeId of the Node that was changed. More...
AffectedType NodeId Scalar If the affected Node was an object or Variable, affectedType contains the NodeId of the TypeDefinitionNode of the affected Node. Otherwise it is set to null.
Verb Byte Scalar Describes the changes happening to the affected Node. More...

Affected

NodeId of the Node that was changed.

The client should assume that the affected Node has been created or deleted, had a Reference added or deleted, or the DataType has changed as described by the verb.

Verb

Describes the changes happening to the affected Node.

The verb is an 8-bit unsigned integer used as bit mask with the structure defined in the following table:

Field Bit Description
NodeAdded 0 Indicates the affected Node has been added.
NodeDeleted 1 Indicates the affected Node has been deleted.
ReferenceAdded 2 Indicates a Reference has been added. The affected Node may be either a SourceNode or TargetNode. Note that an added bidirectional Reference is reflected by two ChangeStructures.
ReferenceDeleted 3 Indicates a Reference has been deleted. The affected Node may be either a SourceNode or TargetNode. Note that a deleted bidirectional Reference is reflected by two ChangeStructures.
DataTypeChanged 4 This verb may be used only for affected Nodes that are Variables or VariableTypes. It indicates that the DataType Attribute has changed.
Reserved 5:7 Reserved for future use. Shall always be zero.

A verb may identify several changes on the affected Node at once. This feature should be used if event compression is used.

Note that all verbs shall always be considered in the context where the ModelChangeStructureDataType is used. A NodeDeleted may indicate that a Node was removed from a view but still exists in other Views.

SemanticChangeStructureDataType

Contains elements that describe a change of the model.

Field DataType ValueRank Description
Affected NodeId Scalar NodeId of the Node that owns the Property that has changed.
AffectedType NodeId Scalar If the affected Node was an object or Variable, affectedType contains the NodeId of the TypeDefinitionNode of the affected Node. More...

AffectedType

If the affected Node was an object or Variable, affectedType contains the NodeId of the TypeDefinitionNode of the affected Node.

Otherwise it is set to null.