ANSI C Based OPC UA Client/Server SDK  1.9.0.430
Variable Types

BaseVariableType

The BaseVariableType is the abstract base type for all other variable types.

However, only the PropertyType and the BaseDataVariableType directly inherit from this type.

There are no references, except for HasSubtype references, specified for this variable type.

BaseDataVariableType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseVariableType  

This VariableType is used as the type definition whenever there is a DataVariable having no more concrete type definition available.

This VariableType is the base VariableType for VariableTypes of DataVariables, and all other VariableTypes of DataVariables shall either directly or indirectly inherit from it. However, it might not be possible for Servers to provide all HasSubtype References from this VariableType to its subtypes, and therefore it is not required to provide this information. The BaseDataVariableType is a subtype of the BaseVariableType.

There are no References except for HasSubtype References specified for this VariableType.

PropertyType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseVariableType  

This VariableType is used as the type definition for all Properties.

Properties are defined by their BrowseName and therefore they do not need a specialised type definition. It is not allowed to subtype this VariableType. The PropertyType is a subtype of the BaseVariableType.

There are no References specified for this VariableType.

DataTypeDescriptionType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  
HasProperty Variable DataTypeVersion String Scalar PropertyType Optional
HasProperty Variable DictionaryFragment ByteString Scalar PropertyType Optional

Used as the type for the DataTypeDescriptions.

There are no References specified for this VariableType. It defines the optional properties DataTypeVersion and DictionaryFragment.

DataTypeVersion indicates whether the type description of the DataType has changed. Changes to the DataTypeVersion may impact the operation of Subscriptions. If the DataTypeVersion changes for a Variable that is being monitored for a Subscription and that uses this DataTypeDescription, then the next data change Notification sent for the Variable will contain a status that indicates the change in the DataTypeDescription.

In some scenarios an OPC UA Server may have resource limitations which make it impractical to expose large DataTypeDictionaries. In these scenarios the Server may be able to provide access to descriptions for individual DataTypes even if the entire dictionary cannot be read. For this reason, this standard defines a Property for the DataTypeDescription called DictionaryFragment. This Property is a ByteString that contains a subset of the DataTypeDictionary which describes the format of the DataType associated with the DataTypeDescription. Thus, the Server splits the large DataTypeDictionary into several small parts and Clients can access without affecting the overall system performance.

Variable DataTypeVersion

DataTypeVersion indicates whether the type description of the DataType has changed.

Variable DictionaryFragment

A ByteString that contains a subset of the DataTypeDictionary which describes the format of the DataType associated with the DataTypeDescription.

DataTypeDictionaryType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  
HasProperty Variable DataTypeVersion String Scalar PropertyType Optional
HasProperty Variable NamespaceUri String Scalar PropertyType Optional

This VariableType is used as the type for the DataTypeDictionaries.

There are no References specified for this VariableType. It defines the optional properties DataTypeVersion and NamespaceUri.

Changes in DataTypeDictionaries may be a result of a change to a type description, but it is more likely that dictionary changes are a result of the addition or deletion of type descriptions. This includes changes made while the Server is offline so that the new version is available when the Server restarts. Clients may subscribe to the DataTypeVersion Property to determine if the DataTypeDictionary has changed since it was last read.

Variable DataTypeVersion

Clients may subscribe to the DataTypeVersion Property to determine if the DataTypeDictionary has changed since it was last read.

Variable NamespaceUri

The URI for the namespace described by the Value Attribute of the DataTypeDictionary.

ServerVendorCapabilityType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  

An abstract type whose subtypes define capabilities of the Server. Vendors may define subtypes of this type.

ServerStatusType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  
HasComponent Variable BuildInfo BuildInfo Scalar BuildInfoType Mandatory
HasComponent Variable CurrentTime UtcTime Scalar BaseDataVariableType Mandatory
HasComponent Variable SecondsTillShutdown UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable ShutdownReason LocalizedText Scalar BaseDataVariableType Mandatory
HasComponent Variable StartTime UtcTime Scalar BaseDataVariableType Mandatory
HasComponent Variable State ServerState Scalar BaseDataVariableType Mandatory

This complex variable type is used for diagnostic information.

Its data variables reflect its data type having the same semantic (see ServerStatusDataType).

ServerDiagnosticsSummaryType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  
HasComponent Variable CumulatedSessionCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable CumulatedSubscriptionCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable CurrentSessionCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable CurrentSubscriptionCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable PublishingIntervalCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable RejectedRequestsCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable RejectedSessionCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable SecurityRejectedRequestsCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable SecurityRejectedSessionCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable ServerViewCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable SessionAbortCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable SessionTimeoutCount UInt32 Scalar BaseDataVariableType Mandatory

This complex variable type is used for diagnostic information.

Its data variables reflect its data type having the same semantic (see ServerDiagnosticsSummaryDataType).

SamplingIntervalDiagnosticsArrayType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  
HasComponent Variable SamplingIntervalDiagnostics SamplingIntervalDiagnosticsDataType Scalar SamplingIntervalDiagnosticsType ExposesItsArray

This complex variable type is used for diagnostic information.

For each entry of the array, instances of this type will provide a variable of the SamplingIntervalDiagnosticsType variable type having the sampling rate as browse name.

SamplingIntervalDiagnosticsType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  
HasComponent Variable DisabledMonitoredItemsSamplingCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable MaxSampledMonitoredItemsCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable SampledMonitoredItemsCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable SamplingInterval Duration Scalar BaseDataVariableType Mandatory

This complex variable type is used for diagnostic information.

Its data variables reflect its data type, having the same semantic defined (see SamplingIntervalDiagnosticsType).

SubscriptionDiagnosticsArrayType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  
HasComponent Variable SubscriptionDiagnostics SubscriptionDiagnosticsDataType Scalar SubscriptionDiagnosticsType ExposesItsArray

This complex variable type is used for diagnostic information.

For each entry of the array, instances of this type will provide a Variable of the SubscriptionDiagnosticsType variable type having the SubscriptionId as browse name.

SubscriptionDiagnosticsType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  
HasComponent Variable CurrentKeepAliveCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable CurrentLifetimeCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable DataChangeNotificationsCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable DisableCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable DisabledMonitoredItemCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable DiscardedMessageCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable EnableCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable EventNotificationsCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable EventQueueOverFlowCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable LatePublishRequestCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable MaxKeepAliveCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable MaxLifetimeCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable MaxNotificationsPerPublish UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable ModifyCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable MonitoredItemCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable MonitoringQueueOverflowCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable NextSequenceNumber UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable NotificationsCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable Priority Byte Scalar BaseDataVariableType Mandatory
HasComponent Variable PublishingEnabled Boolean Scalar BaseDataVariableType Mandatory
HasComponent Variable PublishingInterval Double Scalar BaseDataVariableType Mandatory
HasComponent Variable PublishRequestCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable RepublishMessageCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable RepublishMessageRequestCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable RepublishRequestCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable SessionId NodeId Scalar BaseDataVariableType Mandatory
HasComponent Variable SubscriptionId UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable TransferredToAltClientCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable TransferredToSameClientCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable TransferRequestCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable UnacknowledgedMessageCount UInt32 Scalar BaseDataVariableType Mandatory

This complex variable type is used for diagnostic information. Its data variables reflect its data type, having the same semantic ().

SessionDiagnosticsArrayType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  
HasComponent Variable SessionDiagnostics SessionDiagnosticsDataType Scalar SessionDiagnosticsVariableType ExposesItsArray

This complex variable type is used for diagnostic information.

For each entry of the array instances of this type will provide a variable of the SessionDiagnosticsVariableType variable type, having the SessionDiagnostics as browse name. Those variables will also be referenced by the SessionDiagnostics objects defined by the SessionDiagnosticsObjectType).

SessionDiagnosticsVariableType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  
HasComponent Variable ActualSessionTimeout Duration Scalar BaseDataVariableType Mandatory
HasComponent Variable AddNodesCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable AddReferencesCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable BrowseCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable BrowseNextCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable CallCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable ClientConnectionTime UtcTime Scalar BaseDataVariableType Mandatory
HasComponent Variable ClientDescription ApplicationDescription Scalar BaseDataVariableType Mandatory
HasComponent Variable ClientLastContactTime UtcTime Scalar BaseDataVariableType Mandatory
HasComponent Variable CreateMonitoredItemsCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable CreateSubscriptionCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable CurrentMonitoredItemsCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable CurrentPublishRequestsInQueue UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable CurrentSubscriptionsCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable DeleteMonitoredItemsCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable DeleteNodesCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable DeleteReferencesCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable DeleteSubscriptionsCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable EndpointUrl String Scalar BaseDataVariableType Mandatory
HasComponent Variable HistoryReadCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable HistoryUpdateCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable LocaleIds LocaleId OneDimension BaseDataVariableType Mandatory
HasComponent Variable MaxResponseMessageSize UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable ModifyMonitoredItemsCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable ModifySubscriptionCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable PublishCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable QueryFirstCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable QueryNextCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable ReadCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable RegisterNodesCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable RepublishCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable ServerUri String Scalar BaseDataVariableType Mandatory
HasComponent Variable SessionId NodeId Scalar BaseDataVariableType Mandatory
HasComponent Variable SessionName String Scalar BaseDataVariableType Mandatory
HasComponent Variable SetMonitoringModeCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable SetPublishingModeCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable SetTriggeringCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable TotalRequestCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable TransferSubscriptionsCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable TranslateBrowsePathsToNodeIdsCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable UnauthorizedRequestCount UInt32 Scalar BaseDataVariableType Mandatory
HasComponent Variable UnregisterNodesCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory
HasComponent Variable WriteCount ServiceCounterDataType Scalar BaseDataVariableType Mandatory

This complex variable type is used for diagnostic information.

Its data variables reflect its data type, having the same semantic defined (see SessionDiagnosticsDataType).

SessionSecurityDiagnosticsArrayType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  
HasComponent Variable SessionSecurityDiagnostics SessionSecurityDiagnosticsDataType Scalar SessionSecurityDiagnosticsType ExposesItsArray

This complex variable type is used for diagnostic information.

For each entry of the array instances of this type will provide a variable of the SessionSecurityDiagnosticsType variable type, having the SessionSecurityDiagnostics as browse name. Those variables will also be referenced by the SessionDiagnostics objects defined by the SessionDiagnosticsObjectType. Since this information is security related, it should not be made accessible to all users, but only to authorised users.

SessionSecurityDiagnosticsType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  
HasComponent Variable AuthenticationMechanism String Scalar BaseDataVariableType Mandatory
HasComponent Variable ClientCertificate ByteString Scalar BaseDataVariableType Mandatory
HasComponent Variable ClientUserIdHistory String OneDimension BaseDataVariableType Mandatory
HasComponent Variable ClientUserIdOfSession String Scalar BaseDataVariableType Mandatory
HasComponent Variable Encoding String Scalar BaseDataVariableType Mandatory
HasComponent Variable SecurityMode MessageSecurityMode Scalar BaseDataVariableType Mandatory
HasComponent Variable SecurityPolicyUri String Scalar BaseDataVariableType Mandatory
HasComponent Variable SessionId NodeId Scalar BaseDataVariableType Mandatory
HasComponent Variable TransportProtocol String Scalar BaseDataVariableType Mandatory

This complex variable type is used for diagnostic information.

Its data variables reflect its data type, having the same semantic (see SessionSecurityDiagnosticsDataType). Since this information is security-related, it should not be made accessible to all users, but only to authorised users.

StateVariableType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  
HasProperty Variable EffectiveDisplayName LocalizedText Scalar PropertyType Optional
HasProperty Variable Id BaseDataType Scalar PropertyType Mandatory
HasProperty Variable Name QualifiedName Scalar PropertyType Optional
HasProperty Variable Number UInt32 Scalar PropertyType Optional

The base VariableType for Variables that store the current state of a StateMachine as a human readable name.

Variable Id

A name which uniquely identifies the current state within the StateMachineType.

A subtype may restrict the DataType.

Variable Name

A QualifiedName which uniquely identifies the current state within the StateMachineType.

Variable Number

An integer which uniquely identifies the current state within the StateMachineType.

Variable EffectiveDisplayName

Contains a human readable name for the current state of the state machine after taking the state of any SubStateMachines in account.

There is no rule specified for which state or sub-state should be used. It is up to the Server and will depend on the semantics of the StateMachineType.

FiniteStateVariableType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType StateVariableType  
HasProperty Variable Id NodeId Scalar PropertyType Mandatory

The FiniteStateVariableType is a subtype of StateVariableType and is used to store the current state of a FiniteStateMachine as a human readable name. It inherits the Properties Id, Name, and Number from the StateVariableType.

The optional Name Property is inherited from StateVariableType. Its Value shall be the BrowseName of one of the State objects of the FiniteStateMachineType.

The optional Number Property is inherited from StateVariableType. Its Value shall be the StateNumber for one of the State objects of the FiniteStateMachineType.

Variable Id

The Property Id shall be the NodeId of one of the State objects of the FiniteStateMachineType.

TransitionVariableType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  
HasProperty Variable EffectiveTransitionTime UtcTime Scalar PropertyType Optional
HasProperty Variable Id BaseDataType Scalar PropertyType Mandatory
HasProperty Variable Name QualifiedName Scalar PropertyType Optional
HasProperty Variable Number UInt32 Scalar PropertyType Optional
HasProperty Variable TransitionTime UtcTime Scalar PropertyType Optional

The base VariableType for Variables that store a Transition that occurred within a StateMachine as a human readable name.

The SourceTimestamp for the value specifies when the Transition occurred. This value may also be exposed with the TransitionTime Property.

Variable Id

A name which uniquely identifies a Transition within the StateMachineType.

A subtype may restrict the DataType.

Variable Name

A QualifiedName which uniquely identifies a transition within the StateMachineType.

Variable Number

An integer which uniquely identifies a transition within the StateMachineType.

Variable TransitionTime

Specifies when the transition occurred.

Variable EffectiveTransitionTime

Specifies the time when the current state or one of its substates was entered.

If, for example, a StateA is active and – while active – switches several times between its substates SubA and SubB, then the TransitionTime stays at the point in time where StateA became active whereas the EffectiveTransitionTime changes with each change of a substate.

FiniteTransitionVariableType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType TransitionVariableType  
HasProperty Variable Id NodeId Scalar PropertyType Mandatory

Used to store a Transition that occurred within a FiniteStateMachine as a human readable name

The FiniteTransitionVariableType is a subtype of TransitionVariableType. It inherits the Properties Id, Name, and Number from the StateVariableType.

The optional Name Property is inherited from the TransitionVariableType. Its Value shall be the BrowseName of one of the Transition objects of the FiniteStateMachineType.

The optional Number Property is inherited from the TransitionVariableType. Its Value shall be the TransitionNumber for one of the Transition objects of the FiniteStateMachineType.

Variable Id

The NodeId of one of the Transition objects of the FiniteStateMachineType.

The property Id is inherited from the TransitionVariableType and overridden to reflect the required DataType.

BuildInfoType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  
HasComponent Variable BuildDate UtcTime Scalar BaseDataVariableType Mandatory
HasComponent Variable BuildNumber String Scalar BaseDataVariableType Mandatory
HasComponent Variable ManufacturerName String Scalar BaseDataVariableType Mandatory
HasComponent Variable ProductName String Scalar BaseDataVariableType Mandatory
HasComponent Variable ProductUri String Scalar BaseDataVariableType Mandatory
HasComponent Variable SoftwareVersion String Scalar BaseDataVariableType Mandatory

This complex variable type is used for information about the Server status.

Its data variables reflect its data type having the same semantic (see BuildInfo).

OptionSetType

Reference NodeClass BrowseName DataType ValueRank TypeDefinition ModellingRule
HasSupertype VariableType BaseDataVariableType  
HasProperty Variable BitMask Boolean OneDimension PropertyType Optional
HasProperty Variable OptionSetValues LocalizedText OneDimension PropertyType Mandatory

This VariableType is used to represent a bit mask.

Each array element of the OptionSetValues Property contains either the human-readable representation for the corresponding bit used in the option set or an empty LocalizedText for a bit that has no specific meaning. The order of the bits of the bit mask maps to a position of the array, i.e. the first bit (least significant bit) maps to the first entry in the array, etc.

The DataType of this VariableType shall be capable of representing a bit mask. It shall be either a numeric DataType representing a signed or unsigned integer, or a ByteString. For example, it can be the BitFieldMaskDataType.

Variable BitMask

Provides the bit mask in an array of Booleans.

This allows subscribing to individual entries of the bit mask. The order of the bits of the bit mask points to a position of the array, i.e. the first bit points to the first entry in the array, etc.