An OPC UA Server need not expose its DataTypes in its AddressSpace. Independent of the exposition of DataTypes, it shall support the DataTypes as described in the following subclauses.

OPC 10000-3 defines a set of DataTypes. Their representation in the AddressSpace is defined in Table 115.

Table 115 OPC 10000-3 DataType Definitions

BrowseName

Argument

AudioDataType

BaseDataType

Boolean

Byte

ByteString

DataTypeDefinition

DateString

DateTime

Decimal

DecimalString

Double

Duration

DurationString

EnumDefinition

Enumeration

EnumField

EnumValueType

Float

Guid

IdType

Image

ImageBMP

ImageGIF

ImageJPG

ImagePNG

Int16

Int32

Int64

Integer

LocaleId

LocalizedText

NamingRuleType

NodeClass

NodeId

NormalizedString

Number

OptionSet

QualifiedName

SByte

String

Structure

StructureDefinition

StructureField

TimeString

TimeZoneDataType

UInt16

UInt32

UInt64

UInteger

Union

UtcTime

XmlElement

Of the DataTypes defined in Table 115 only some are the sources of References as defined in the following tables.

The References of the BaseDataType are defined in Table 116.

Table 116 – BaseDataType Definition

Attributes

Value

BrowseName

BaseDataType

IsAbstract

TRUE

References

NodeClass

BrowseName

IsAbstract

HasSubtype

DataType

Boolean

FALSE

HasSubtype

DataType

ByteString

FALSE

HasSubtype

DataType

DateTime

FALSE

HasSubtype

DataType

DataValue

FALSE

HasSubtype

DataType

DiagnosticInfo

FALSE

HasSubtype

DataType

Enumeration

TRUE

HasSubtype

DataType

ExpandedNodeId

FALSE

HasSubtype

DataType

Guid

FALSE

HasSubtype

DataType

LocalizedText

FALSE

HasSubtype

DataType

NodeId

FALSE

HasSubtype

DataType

Number

TRUE

HasSubtype

DataType

QualifiedName

FALSE

HasSubtype

DataType

String

FALSE

HasSubtype

DataType

Structure

TRUE

HasSubtype

DataType

XmlElement

FALSE

The References of Structure are defined in Table 117.

Table 117 – Structure Definition

Attributes

Value

BrowseName

Structure

IsAbstract

TRUE

References

NodeClass

BrowseName

IsAbstract

HasSubtype

DataType

Argument

FALSE

HasSubtype

DataType

UserIdentityToken

TRUE

HasSubtype

DataType

AddNodesItem

FALSE

HasSubtype

DataType

AddReferencesItem

FALSE

HasSubtype

DataType

DeleteNodesItem

FALSE

HasSubtype

DataType

DeleteReferencesItem

FALSE

HasSubtype

DataType

ApplicationDescription

FALSE

HasSubtype

DataType

BuildInfo

FALSE

HasSubtype

DataType

RedundantServerDataType

FALSE

HasSubtype

DataType

SamplingIntervalDiagnosticsDataType

FALSE

HasSubtype

DataType

ServerDiagnosticsSummaryDataType

FALSE

HasSubtype

DataType

ServerStatusDataType

FALSE

HasSubtype

DataType

SessionDiagnosticsDataType

FALSE

HasSubtype

DataType

SessionSecurityDiagnosticsDataType

FALSE

HasSubtype

DataType

ServiceCounterDataType

FALSE

HasSubtype

DataType

StatusResult

FALSE

HasSubtype

DataType

SubscriptionDiagnosticsDataType

FALSE

HasSubtype

DataType

ModelChangeStructureDataType

FALSE

HasSubtype

DataType

SemanticChangeStructureDataType

FALSE

HasSubtype

DataType

SignedSoftwareCertificate

FALSE

HasSubtype

DataType

TimeZoneDataType

FALSE

HasSubtype

DataType

EnumValueType

FALSE

HasSubtype

DataType

OptionSet

TRUE

HasSubtype

DataType

Union

TRUE

HasSubtype

DataType

StructureField

FALSE

HasSubtype

DataType

DataTypeDefinition

TRUE

The References of Enumeration are defined in Table 118.

Table 118 – Enumeration Definition

Attributes

Value

BrowseName

Enumeration

IsAbstract

TRUE

References

NodeClass

BrowseName

IsAbstract

HasSubtype

DataType

IdType

FALSE

HasSubtype

DataType

NamingRuleType

FALSE

HasSubtype

DataType

NodeClass

FALSE

HasSubtype

DataType

SecurityTokenRequestType

FALSE

HasSubtype

DataType

MessageSecurityMode

FALSE

HasSubtype

DataType

RedundancySupport

FALSE

HasSubtype

DataType

ServerState

FALSE

The References of ByteString are defined in Table 119.

Table 119 – ByteString Definition

Attributes

Value

BrowseName

ByteString

IsAbstract

FALSE

References

NodeClass

BrowseName

IsAbstract

HasSubtype

DataType

Image

TRUE

HasSubtype

DataType

AudioDataType

FALSE

The References of Number are defined in Table 120.

Table 120 – Number Definition

Attributes

Value

BrowseName

Number

IsAbstract

TRUE

References

NodeClass

BrowseName

IsAbstract

HasSubtype

DataType

Integer

TRUE

HasSubtype

DataType

UInteger

TRUE

HasSubtype

DataType

Double

FALSE

HasSubtype

DataType

Float

FALSE

HasSubtype

DataType

Decimal

FALSE

The References of Double are defined in Table 121.

Table 121 – Double Definition

Attributes

Value

BrowseName

Double

IsAbstract

FALSE

References

NodeClass

BrowseName

IsAbstract

HasSubtype

DataType

Duration

FALSE

The References of Integer are defined in Table 122.

Table 122 – Integer Definition

Attributes

Value

BrowseName

Integer

IsAbstract

TRUE

References

NodeClass

BrowseName

IsAbstract

HasSubtype

DataType

SByte

FALSE

HasSubtype

DataType

Int16

FALSE

HasSubtype

DataType

Int32

FALSE

HasSubtype

DataType

Int64

FALSE

The References of DateTime are defined in Table 123.

Table 123 – DateTime Definition

Attributes

Value

BrowseName

DateTime

IsAbstract

FALSE

References

NodeClass

BrowseName

IsAbstract

HasSubtype

DataType

UtcTime

FALSE

The References of String are defined in Table 124.

Table 124 – String Definition

Attributes

Value

BrowseName

String

IsAbstract

FALSE

References

NodeClass

BrowseName

IsAbstract

HasSubtype

DataType

LocaleId

FALSE

HasSubtype

DataType

NumericRange

FALSE

HasSubtype

DataType

NormalizedString

FALSE

HasSubtype

DataType

DecimalString

FALSE

HasSubtype

DataType

DurationString

FALSE

HasSubtype

DataType

TimeString

FALSE

HasSubtype

DataType

DateString

FALSE

The References of UInteger are defined in Table 125.

Table 125 – UInteger Definition

Attributes

Value

BrowseName

UInteger

IsAbstract

TRUE

References

NodeClass

BrowseName

IsAbstract

HasSubtype

DataType

Byte

FALSE

HasSubtype

DataType

UInt16

FALSE

HasSubtype

DataType

UInt32

FALSE

HasSubtype

DataType

UInt64

FALSE

The References of Image are defined in Table 126.

Table 126 – Image Definition

Attributes

Value

BrowseName

Image

IsAbstract

TRUE

References

NodeClass

BrowseName

IsAbstract

HasSubtype

DataType

ImageBMP

FALSE

HasSubtype

DataType

ImageGIF

FALSE

HasSubtype

DataType

ImageJPG

FALSE

HasSubtype

DataType

ImagePNG

FALSE

The References of UInt64 are defined in Table 127.

Table 127 – UInt64 Definition

Attributes

Value

BrowseName

UInt64

IsAbstract

FALSE

References

NodeClass

BrowseName

IsAbstract

HasSubtype

DataType

BitFieldMaskDataType

FALSE

The References of DataTypeDefinition are defined in Table 128.

Table 128 – DataTypeDefinition Definition

Attributes

Value

BrowseName

DataTypeDefinition

IsAbstract

TRUE

References

NodeClass

BrowseName

IsAbstract

HasSubtype

DataType

StructureDefinition

FALSE

HasSubtype

DataType

EnumDefinition

FALSE

The References of EnumValueType are defined in Table 129.

Table 129 – EnumValueType Definition

Attributes

Value

BrowseName

EnumValueType

IsAbstract

FALSE

References

NodeClass

BrowseName

IsAbstract

HasSubtype

DataType

EnumField

FALSE

OPC 10000-4 defines a set of DataTypes. Their representation in the AddressSpace is defined in Table 130.

Table 130 OPC 10000-4 DataType Definitions

BrowseName

AnonymousIdentityToken

DataValue

DiagnosticInfo

ExpandedNodeId

SignedSoftwareCertificate

UserIdentityToken

UserNameIdentityToken

X509IdentityToken

SecurityTokenRequestType

AddNodesItem

AddReferencesItem

DeleteNodesItem

DeleteReferencesItem

NumericRange

MessageSecurityMode

ApplicationDescription

The SecurityTokenRequestType is an enumeration that is defined as the type of the requestType parameter of the OpenSecureChannel Service in OPC 10000-4.

The AddNodesItem is a structure that is defined as the type of the nodesToAdd parameter of the AddNodes Service in OPC 10000-4.

The AddReferencesItem is a structure that is defined as the type of the referencesToAdd parameter of the AddReferences Service in OPC 10000-4.

The DeleteNodesItem is a structure that is defined as the type of the nodesToDelete parameter of the DeleteNodes Service in OPC 10000-4.

The DeleteReferencesItem is a structure that is defined as the type of the referencesToDelete parameter of the DeleteReferences Service in OPC 10000-4.

The References of UserIdentityToken are defined in Table 131.

Table 131 – UserIdentityToken Definition

Attributes

Value

BrowseName

UserIdentityToken

IsAbstract

TRUE

References

NodeClass

BrowseName

IsAbstract

HasSubtype

DataType

UserNameIdentityToken

FALSE

HasSubtype

DataType

X509IdentityToken

FALSE

HasSubtype

DataType

AnonymousIdentityToken

FALSE

This structure contains elements that describe the build information of the Server. Its elements are defined in Table 132.

Table 132 – BuildInfo Structure

Name

Type

Description

BuildInfo

structure

Information that describes the build of the software.

productUri

String

URI that identifies the software

manufacturerName

String

Name of the software manufacturer.

productName

String

Name of the software.

softwareVersion

String

Software version

buildNumber

String

Build number

buildDate

UtcTime

Date and time of the build.

Its representation in the AddressSpace is defined in Table 133.

Table 133 – BuildInfo Definition

Attributes

Value

BrowseName

BuildInfo

This DataType is an enumeration that defines the redundancy support of the Server. Its values are defined in Table 134.

Table 134 – RedundancySupport Values

Value

Description

NONE_0

None means that there is no redundancy support.

COLD_1

Cold means that the server supports cold redundancy as defined in OPC 10000-4.

WARM_2

Warm means that the server supports warm redundancy as defined in OPC 10000-4.

HOT_3

Hot means that the server supports hot redundancy as defined in OPC 10000-4.

TRANSPARENT_4

Transparent means that the server supports transparent redundancy as defined in OPC 10000-4.

HOT_AND_MIRRORED_5

HotAndMirrored means that the server supports HotAndMirrored redundancy as defined in OPC 10000-4.

See OPC 10000-4 for a more detailed description of the different values.

Its representation in the AddressSpace is defined in Table 135.

Table 135 – RedundancySupport Definition

Attribute

Value

BrowseName

RedundancySupport

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

EnumStrings

LocalizedText[]

PropertyType

Mandatory

This DataType is an enumeration that defines the execution state of the Server. Its values are defined in Table 136.

Table 136 – ServerState Values

Value

Description

RUNNING_0

The Server is running normally. This is the usual state for a Server.

FAILED_1

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.

NO_CONFIGURATION_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 initiated a shut down or is in the process of shutting down. This ServerState is intended as an indication to Clients connected to the Server to orderly disconnect from the Server before the Server completes the shut down.

TEST_5

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.

COMMUNICATION_FAULT_6

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.

UNKNOWN_7

This state is used only to indicate that the OPC UA Server does not know the state of underlying system.

Its representation in the AddressSpace is defined in Table 137.

Table 137 – ServerState Definition

Attribute

Value

BrowseName

ServerState

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

EnumStrings

LocalizedText[]

PropertyType

Mandatory

This structure contains elements that describe the status of the Server. Its composition is defined in Table 138.

Table 138 – RedundantServerDataType Structure

Name

Type

Description

RedundantServerDataType

structure

serverId

String

The Id of the server (not the URI).

serviceLevel

Byte

The service level of the server.

serverState

ServerState

The current state of the server.

Its representation in the AddressSpace is defined in Table 139.

Table 139 – RedundantServerDataType Definition

Attributes

Value

BrowseName

RedundantServerDataType

This structure contains diagnostic information about the sampling rates currently used by the Server. Its elements are defined in Table 140.

Table 140 – SamplingIntervalDiagnosticsDataType Structure

Name

Type

Description

SamplingIntervalDiagnosticsDataType

structure

samplingInterval

Duration

The sampling interval in milliseconds.

monitoredItemCount

UInt32

The number of MonitoredItems being sampled at this sample rate.

maxMonitoredItemCount

UInt32

The maximum number of MonitoredItems being sampled at this sample rate at the same time since the server was started (restarted).

disabledMonitoredItemCount

UInt32

The number of MonitoredItems at this sample rate whose sampling currently disabled.

Its representation in the AddressSpace is defined in Table 141.

Table 141 – SamplingIntervalDiagnosticsDataType Definition

Attributes

Value

BrowseName

SamplingIntervalDiagnosticsDataType

This structure contains diagnostic summary information for the Server. Its elements are defined in Table 142.

Table 142 – ServerDiagnosticsSummaryDataType Structure

Name

Type

Description

ServerDiagnosticsSummaryDataType

structure

serverViewCount

UInt32

The number of server-created views in the server.

currentSessionCount

UInt32

The number of client sessions currently established in the server.

cumulatedSessionCount

UInt32

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

securityRejectedSessionCount

UInt32

The number of client session establishment requests (ActivateSession and CreateSession) that were rejected due to security constraints since the server was started (or restarted).

rejectedSessionCount

UInt32

The number of client session establishment requests (ActivateSession and CreateSession) that were rejected since the server was started (or restarted). This number includes the securityRejectedSessionCount.

sessionTimeoutCount

UInt32

The number of client sessions that were closed due to timeout since the server was started (or restarted).

sessionAbortCount

UInt32

The number of client sessions that were closed due to errors since the server was started (or restarted).

currentSubscriptionCount

UInt32

The number of subscriptions currently established in the server.

cumulatedSubscriptionCount

UInt32

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

publishingIntervalCount

UInt32

The number of publishing intervals currently supported in the server.

securityRejectedRequestsCount

UInt32

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 OPC 10000-4, also requests to create sessions.

rejectedRequestsCount

UInt32

The number of requests that were rejected since the server was started (or restarted). The requests include all Services defined in OPC 10000-4, also requests to create sessions. This number includes the securityRejectedRequestsCount.

Its representation in the AddressSpace is defined in Table 143.

Table 143 – ServerDiagnosticsSummaryDataType Definition

Attributes

Value

BrowseName

ServerDiagnosticsSummaryDataType

This structure contains elements that describe the status of the Server. Its composition is defined in Table 144.

Table 144 – ServerStatusDataType Structure

Name

Type

Description

ServerStatusDataType

structure

startTime

UtcTime

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.

currentTime

UtcTime

The current time (UTC) as known by the Server.

state

ServerState

The current state of the Server. Its values are defined in 12.6.

buildInfo

BuildInfo

secondsTillShutdown

UInt32

Approximate number of seconds until the Server will be shut down. The value is only relevant once the state changes into SHUTDOWN_4.

After the Server shut down is initated, the state changes to SHUTDOWN_4 and the actual shut down should be delayed for a configurable time if Clients are connected to the Server to allow these Clients an orderly disconnect.

shutdownReason

LocalizedText

An optional localized text indicating the reason for the shutdown. The value is only relevant once the state changes into SHUTDOWN_4.

Its representation in the AddressSpace is defined in Table 145.

Table 145 – ServerStatusDataType Definition

Attributes

Value

BrowseName

ServerStatusDataType

This structure contains diagnostic information about client sessions. Its elements are defined in Table 146. 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.

Table 146 – SessionDiagnosticsDataType Structure

Name

Type

Description

SessionDiagnosticsDataType

structure

sessionId

NodeId

Server-assigned identifier of the session.

sessionName

String

The name of the session provided in the CreateSession request.

clientDescription

Application

Description

The description provided by the client in the CreateSession request.

serverUri

String

The serverUri request in the CreateSession request.

endpointUrl

String

The endpointUrl passed by the client to the CreateSession request.

localeIds

LocaleId[]

Array of LocaleIds specified by the client in the open session call.

actualSessionTimeout

Duration

The requested session timeout specified by the client in the open session call.

maxResponseMessageSize

UInt32

The maximum size for the response message sent to the client.

clientConnectionTime

UtcTime

The server timestamp when the client opens the session.

clientLastContactTime

UtcTime

The server timestamp of the last request of the client in the context of the session.

currentSubscriptionsCount

UInt32

The number of subscriptions currently used by the session.

currentMonitoredItemsCount

UInt32

The number of MonitoredItems currently used by the session

currentPublishRequestsInQueue

UInt32

The number of publish requests currently in the queue for the session.

totalRequestCount

ServiceCounterDataType

Counter of all Services, identifying the number of received requests of any Services on the session.

unauthorizedRequestCount

UInt32

Counter of all Services, identifying the number of Service requests that were rejected due to authorization failure

readCount

ServiceCounterDataType

Counter of the Read Service, identifying the number of received requests of this Service on the session.

historyReadCount

ServiceCounterDataType

Counter of the HistoryRead Service, identifying the number of received requests of this Service on the session.

writeCount

ServiceCounterDataType

Counter of the Write Service, identifying the number of received requests of this Service on the session.

historyUpdateCount

ServiceCounterDataType

Counter of the HistoryUpdate Service, identifying the number of received requests of this Service on the session.

callCount

ServiceCounterDataType

Counter of the Call Service, identifying the number of received requests of this Service on the session.

createMonitoredItemsCount

ServiceCounterDataType

Counter of the CreateMonitoredItems Service, identifying the number of received requests of this Service on the session.

modifyMonitoredItemsCount

ServiceCounterDataType

Counter of the ModifyMonitoredItems Service, identifying the number of received requests of this Service on the session.

setMonitoringModeCount

ServiceCounterDataType

Counter of the SetMonitoringMode Service, identifying the number of received requests of this Service on the session.

setTriggeringCount

ServiceCounterDataType

Counter of the SetTriggering Service, identifying the number of received requests of this Service on the session.

deleteMonitoredItemsCount

ServiceCounterDataType

Counter of the DeleteMonitoredItems Service, identifying the number of received requests of this Service on the session.

createSubscriptionCount

ServiceCounterDataType

Counter of the CreateSubscription Service, identifying the number of received requests of this Service on the session.

modifySubscriptionCount

ServiceCounterDataType

Counter of the ModifySubscription Service, identifying the number of received requests of this Service on the session.

setPublishingModeCount

ServiceCounterDataType

Counter of the SetPublishingMode Service, identifying the number of received requests of this Service on the session.

publishCount

ServiceCounterDataType

Counter of the Publish Service, identifying the number of received requests of this Service on the session.

republishCount

ServiceCounterDataType

Counter of the Republish Service, identifying the number of received requests of this Service on the session.

transferSubscriptionsCount

ServiceCounterDataType

Counter of the TransferSubscriptions Service, identifying the number of received requests of this Service on the session.

deleteSubscriptionsCount

ServiceCounterDataType

Counter of the DeleteSubscriptions Service, identifying the number of received requests of this Service on the session.

addNodesCount

ServiceCounterDataType

Counter of the AddNodes Service, identifying the number of received requests of this Service on the session.

addReferencesCount

ServiceCounterDataType

Counter of the AddReferences Service, identifying the number of received requests of this Service on the session.

deleteNodesCount

ServiceCounterDataType

Counter of the DeleteNodes Service, identifying the number of received requests of this Service on the session.

deleteReferencesCount

ServiceCounterDataType

Counter of the DeleteReferences Service, identifying the number of received requests of this Service on the session.

browseCount

ServiceCounterDataType

Counter of the Browse Service, identifying the number of received requests of this Service on the session.

browseNextCount

ServiceCounterDataType

Counter of the BrowseNext Service, identifying the number of received requests of this Service on the session.

translateBrowsePathsToNodeIdsCount

ServiceCounterDataType

Counter of the TranslateBrowsePathsToNodeIds Service, identifying the number of received requests of this Service on the session.

queryFirstCount

ServiceCounterDataType

Counter of the QueryFirst Service, identifying the number of received requests of this Service on the session.

queryNextCount

ServiceCounterDataType

Counter of the QueryNext Service, identifying the number of received requests of this Service on the session.

registerNodesCount

ServiceCounterDataType

Counter of the RegisterNodes Service, identifying the number of received requests of this Service on the session.

unregisterNodesCount

ServiceCounterDataType

Counter of the UnregisterNodesService, identifying the number of received requests of this Service on the session.

Its representation in the AddressSpace is defined in Table 147.

Table 147 – SessionDiagnosticsDataType Definition

Attributes

Value

BrowseName

SessionDiagnosticsDataType

This structure contains security-related diagnostic information about client sessions. Its elements are defined in Table 148. Because this information is security-related, it shall only be accessible by authorised users.

Table 148 – SessionSecurityDiagnosticsDataType Structure

Name

Type

Description

SessionSecurityDiagnosticsDataType

structure

sessionId

NodeId

Server-assigned identifier of the session.

clientUserIdOfSession

String

Name of authenticated user when creating the session.

clientUserIdHistory

String[]

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.

How the name of the authenticated user can be obtained from the system via the information received as part of the session establishment is defined in 6.4.3.

authenticationMechanism

String

Type of authentication currently used by the session. The String shall be one of the lexical names of the UserIdentityTokenType Enum.

encoding

String

Which encoding is used on the wire. The String shall be ‘XML’, ‘JSON’ or ‘UA Binary’.

transportProtocol

String

Which transport protocol is used. The String shall be the scheme from the URL used to establish the session. For example, ‘opc.tcp’, ‘opc.wss’ or ‘https’.

The formal protocol URL scheme strings are defined in OPC 10000-6.

securityMode

MessageSecurityMode

The message security mode used for the session.

securityPolicyUri

String

The name of the security policy used for the session.

clientCertificate

ByteString

The application instance certificate provided by the client in the CreateSession request.

Its representation in the AddressSpace is defined in Table 149.

Table 149 – SessionSecurityDiagnosticsDataType Definition

Attributes

Value

BrowseName

SessionSecurityDiagnosticsDataType

This structure contains diagnostic information about subscriptions. Its elements are defined in Table 150.

Table 150 – ServiceCounterDataType Structure

Name

Type

Description

ServiceCounterDataType

structure

totalCount

UInt32

The number of Service requests that have been received.

errorCount

UInt32

The total number of Service requests that were rejected.

Its representation in the AddressSpace is defined in Table 151.

Table 151 – ServiceCounterDataType Definition

Attributes

Value

BrowseName

ServiceCounterDataType

This structure combines a StatusCode and diagnostic information and can, for example, be used by Methods to return several StatusCodes and the corresponding diagnostic information that are not handled in the Call Service parameters. The elements of this DataType are defined in Table 152. Whether the diagnosticInfo is returned depends on the setting of the Service calls.

Table 152 – StatusResult Structure

Name

Type

Description

StatusResult

structure

statusCode

StatusCode

The StatusCode.

diagnosticInfo

DiagnosticInfo

The diagnostic information for the statusCode.

Its representation in the AddressSpace is defined in Table 153.

Table 153 – StatusResult Definition

Attributes

Value

BrowseName

StatusResult

This structure contains diagnostic information about subscriptions. Its elements are defined in Table 154.

Table 154 – SubscriptionDiagnosticsDataType Structure

Name

Type

Description

SubscriptionDiagnosticsDataType

structure

sessionId

NodeId

Server-assigned identifier of the session the subscription belongs to.

subscriptionId

UInt32

Server-assigned identifier of the subscription.

priority

Byte

The priority the client assigned to the subscription.

publishingInterval

Duration

The publishing interval of the subscription in milliseconds

maxKeepAliveCount

UInt32

The maximum keep-alive count of the subscription.

maxLifetimeCount

UInt32

The maximum lifetime count of the subscription.

maxNotificationsPerPublish

UInt32

The maximum number of notifications per publish response.

publishingEnabled

Boolean

Whether publishing is enabled for the subscription.

modifyCount

UInt32

The number of ModifySubscription requests received for the subscription.

enableCount

UInt32

The number of times the subscription has been enabled.

disableCount

UInt32

The number of times the subscription has been disabled.

republishRequestCount

UInt32

The number of Republish Service requests that have been received and processed for the subscription.

republishMessageRequestCount

UInt32

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.

republishMessageCount

UInt32

The number of messages that have been successfully republished for the subscription.

transferRequestCount

UInt32

The total number of TransferSubscriptions Service requests that have been received for the subscription.

transferredToAltClientCount

UInt32

The number of times the subscription has been transferred to an alternate client.

transferredToSameClientCount

UInt32

The number of times the subscription has been transferred to an alternate session for the same client.

publishRequestCount

UInt32

The number of Publish Service requests that have been received and processed for the subscription.

dataChangeNotificationsCount

UInt32

The number of data change Notifications sent by the subscription.

eventNotificationsCount

UInt32

The number of Event Notifications sent by the subscription.

notificationsCount

UInt32

The total number of Notifications sent by the subscription.

latePublishRequestCount

UInt32

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

The number of times the subscription has entered the KEEPALIVE State.

currentLifetimeCount

UInt32

The current lifetime count of the subscription.

unacknowledgedMessageCount

UInt32

The number of unacknowledged messages saved in the republish queue.

discardedMessageCount

UInt32

The number of messages that were discarded before they were acknowledged.

monitoredItemCount

UInt32

The total number of monitored items of the subscription, including the disabled monitored items.

disabledMonitoredItemCount

UInt32

The number of disabled monitored items of the subscription.

monitoringQueueOverflowCount

UInt32

The number of times a monitored item dropped notifications because of a queue overflow.

nextSequenceNumber

UInt32

Sequence number for the next notification message.

eventQueueOverFlowCount

UInt32

The number of times a monitored item in the subscription has generated an Event of type EventQueueOverflowEventType.

Its representation in the AddressSpace is defined in Table 155.

Table 155 – SubscriptionDiagnosticsDataType Definition

Attributes

Value

BrowseName

SubscriptionDiagnosticsDataType

This structure contains elements that describe changes of the model. Its composition is defined in Table 156.

Table 156 – ModelChangeStructureDataType Structure

Name

Type

Description

ModelChangeStructureDataType

structure

affected

NodeId

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.

affectedType

NodeId

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

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 changes.

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 changes.

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 (see OPC 10000-3 for details).

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.

Its representation in the AddressSpace is defined in Table 157.

Table 157 – ModelChangeStructureDataType Definition

Attributes

Value

BrowseName

ModelChangeStructureDataType

This structure contains elements that describe a change of the model. Its composition is defined in Table 158.

Table 158 – SemanticChangeStructureDataType Structure

Name

Type

Description

SemanticChangeStructureDataType

structure

affected

NodeId

NodeId of the Node that owns the Property that has changed.

affectedType

NodeId

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.

Its representation in the AddressSpace is defined in Table 159.

Table 159 – SemanticChangeStructureDataType Definition

Attributes

Value

BrowseName

SemanticChangeStructureDataType

This simple DataType is a subtype of UInt64 and represents a bit mask up to 32 bits where individual bits can be written without modifying the other bits.

The first 32 bits (least significant bits) of the BitFieldMaskDataType represent the bit mask and the second 32 bits represent the validity of the bits in the bit mask. When the Server returns the value to the client, the validity provides information of which bits in the bit mask have a meaning. When the client passes the value to the Server, the validity defines which bits should be written. Only those bits defined in validity are changed in the bit mask, all others stay the same. The BitFieldMaskDataType can be used as DataType in the OptionSetType VariableType

Its representation in the AddressSpace is defined in Table 160.

Table 160 – BitFieldMaskDataType Definition

Attributes

Value

BrowseName

BitFieldMaskDataType

This structure contains information on different network paths for one Server. Its composition is defined in Table 161.

Table 161 – NetworkGroupDataType Structure

Name

Type

Description

NetworkGroupDataType

structure

serverUri

String

URI of the Server represented by the network group.

networkPaths

EndpointUrlListDataType[]

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.

Its representation in the AddressSpace is defined in Table 162.

Table 162 – NetworkGroupDataType Definition

Attributes

Value

BrowseName

NetworkGroupDataType

This structure represents a list of URLs of an Endpoint. Its composition is defined in Table 163.

Table 163 – EndpointUrlListDataType Structure

Name

Type

Description

EndpointUrlListDataType

structure

endpointUrlList

String[]

List of URLs of an Endpoint.

Its representation in the AddressSpace is defined in Table 164.

Table 164 – EndpointUrlListDataType Definition

Attributes

Value

BrowseName

EndpointUrlListDataType

This DataType is used to provide a key value pair. The KeyValuePair is formally defined in Table 165.

Table 165 – KeyValuePair Structure

Name

Type

Description

KeyValuePair

structure

key

QualifiedName

The key of the value.

value

BaseDataType

The value associated with the key.

This structure describes an Endpoint. The EndpointType is formally defined in Table 166.

Table 166 – EndpointType Structure

Name

Type

Description

EndpointType

structure

endpointUrl

String

The URL for the Endpoint.

securityMode

MessageSecurityMode

The type of message security.

The type MessageSecurityMode type is defined in OPC 10000-4.

securityPolicyUri

String

The URI of the SecurityPolicy.

transportProfileUri

String

The URI of the Transport Profile.