Typically, the components of a complex VariableType are fixed and can be extended by subtyping. However, because each Variable of a VariableType can be extended with additional components this standard allows the extension of the standard VariableTypes defined in this document with additional components. This allows the expression of additional information in the type definition that would be contained in each Variable anyway. However, it is not allowed to restrict the components of the standard VariableTypes defined in this International Standard. An example of extending VariableTypes would be putting the standard Property NodeVersion, defined in OPC 10000-3, into the BaseDataVariableType, stating that each DataVariable of the Server will provide a NodeVersion.

The BaseVariableType is the abstract base type for all other VariableTypes. However, only the PropertyType and the BaseDataVariableType directly inherit from this type.

There are no References specified for this VariableType. It is formally defined in Table 68.

Table 68 – BaseVariableType definition

Attribute

Value

BrowseName

BaseVariableType

IsAbstract

True

ValueRank

−2 (−2 = Any)

DataType

BaseDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Conformance Units

Base Info Base Types

The PropertyType is a subtype of the BaseVariableType. It 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.

There are no References specified for this VariableType. It is formally defined in Table 69.

Table 69 – PropertyType definition

Attribute

Value

BrowseName

PropertyType

IsAbstract

False

ValueRank

−2 (−2 = Any)

DataType

BaseDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseVariableType defined in 7.2.

Conformance Units

Base Info Base Types

The BaseDataVariableType is a subtype of the BaseVariableType. It 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.

There are no References specified for this VariableType. It is formally defined in Table 70.

Table 70 – BaseDataVariableType definition

Attribute

Value

BrowseName

BaseDataVariableType

IsAbstract

False

ValueRank

−2 (−2 = Any)

DataType

BaseDataType

References

NodeClass

BrowseName

Comment

Subtype of the BaseVariableType defined in 7.2.

Conformance Units

Base Info Base Types

This VariableType is an abstract type whose subtypes define capabilities of the Server. Vendors may define subtypes of this type. This VariableType is formally defined in Table 71.

Table 71 – ServerVendorCapabilityType definition

Attribute

Value

BrowseName

ServerVendorCapabilityType

IsAbstract

True

ValueRank

−1 (−1 = Scalar)

DataType

BaseDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

Conformance Units

Base Info ServerType

This complex VariableType is used for information about the Server status. Its DataVariables reflect its DataType having the same semantic defined in 12.10. The VariableType is formally defined in Table 72.

Table 72 – ServerStatusType definition

Attribute

Value

BrowseName

ServerStatusType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

ServerStatusDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

StartTime

UtcTime

BaseDataVariableType

Mandatory

HasComponent

Variable

CurrentTime

UtcTime

BaseDataVariableType

Mandatory

HasComponent

Variable

State

ServerState

BaseDataVariableType

Mandatory

HasComponent

Variable

BuildInfo

BuildInfo

BuildInfoType

Mandatory

HasComponent

Variable

SecondsTillShutdown

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

ShutdownReason

LocalizedText

BaseDataVariableType

Mandatory

NOTE Containing Objects and Variables of these Objects and Variables are defined by their BrowseName defined in the corresponding TypeDefinitionNode. The NodeId is defined by the composed symbolic name described in 4.1.

Conformance Units

Base Info ServerType

This complex VariableType is used for information about the Server status. Its DataVariables reflect its DataType having the same semantic defined in 12.3.15.1. The VariableType is formally defined in Table 73.

Table 73 – BuildInfoType definition

Attribute

Value

BrowseName

BuildInfoType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

BuildInfo

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

ProductUri

String

BaseDataVariableType

Mandatory

HasComponent

Variable

ManufacturerName

String

BaseDataVariableType

Mandatory

HasComponent

Variable

ProductName

String

BaseDataVariableType

Mandatory

HasComponent

Variable

SoftwareVersion

String

BaseDataVariableType

Mandatory

HasComponent

Variable

BuildNumber

String

BaseDataVariableType

Mandatory

HasComponent

Variable

BuildDate

UtcTime

BaseDataVariableType

Mandatory

Conformance Units

Base Info ServerType

This complex VariableType is used for diagnostic information. Its DataVariables reflect its DataType having the same semantic defined in 12.9. The VariableType is formally defined in Table 74.

Table 74 – ServerDiagnosticsSummaryType definition

Attribute

Value

BrowseName

ServerDiagnosticsSummaryType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

ServerDiagnosticsSummaryDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

ServerViewCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

CurrentSessionCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

CumulatedSessionCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

SecurityRejectedSessionCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

RejectedSessionCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

SessionTimeoutCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

SessionAbortCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

PublishingIntervalCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

CurrentSubscriptionCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

CumulatedSubscriptionCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

SecurityRejectedRequestsCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

RejectedRequestsCount

UInt32

BaseDataVariableType

Mandatory

Conformance Units

Base Info ServerType

This complex VariableType is used for diagnostic information. For each entry of the array, instances of this type will provide a Variable of the SamplingIntervalDiagnosticsType VariableType having the sampling rate as BrowseName. The VariableType is formally defined in Table 75.

Table 75 – SamplingIntervalDiagnosticsArrayType definition

Attribute

Value

BrowseName

SamplingIntervalDiagnosticsArrayType

IsAbstract

False

ValueRank

1 (1 = OneDimension)

ArrayDimensions

{0} (0 = UnknownSize)

DataType

SamplingIntervalDiagnosticsDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

SamplingIntervalDiagnostics

SamplingIntervalDiagnosticsDataType

SamplingIntervalDiagnosticsType

ExposesItsArray

Conformance Units

Base Info ServerType

This complex VariableType is used for diagnostic information. Its DataVariables reflect its DataType, having the same semantic defined in 12.8. The VariableType is formally defined in Table 76.

Table 76 – SamplingIntervalDiagnosticsType definition

Attribute

Value

BrowseName

SamplingIntervalDiagnosticsType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

SamplingIntervalDiagnosticsDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

SamplingInterval

Duration

BaseDataVariableType

Mandatory

HasComponent

Variable

SampledMonitoredItemsCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

MaxSampledMonitoredItemsCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

DisabledMonitoredItemsSamplingCount

UInt32

BaseDataVariableType

Mandatory

Conformance Units

Base Info ServerType

This complex VariableType is used for diagnostic information. For each entry of the array, instances of this type will provide a Variable of the SubscriptionDiagnosticsType VariableType having the SubscriptionId as BrowseName. The VariableType is formally defined in Table 77.

Table 77 – SubscriptionDiagnosticsArrayType definition

Attribute

Value

BrowseName

SubscriptionDiagnosticsArrayType

IsAbstract

False

ValueRank

1 (1 = OneDimension)

ArrayDimensions

{0} (0 = UnknownSize)

DataType

SubscriptionDiagnosticsDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

SubscriptionDiagnostics

SubscriptionDiagnosticsDataType SubscriptionDiagnosticsType

ExposesItsArray

Conformance Units

Base Info ServerType

This complex VariableType is used for diagnostic information. Its DataVariables reflect its DataType, having the same semantic defined in 12.15. The VariableType is formally defined in Table 78.

Table 78 – SubscriptionDiagnosticsType definition

Attribute

Value

BrowseName

SubscriptionDiagnosticsType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

SubscriptionDiagnosticsDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

SessionId

NodeId

BaseDataVariableType

Mandatory

HasComponent

Variable

SubscriptionId

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

Priority

Byte

BaseDataVariableType

Mandatory

HasComponent

Variable

PublishingInterval

Duration

BaseDataVariableType

Mandatory

HasComponent

Variable

MaxKeepAliveCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

MaxLifetimeCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

MaxNotificationsPerPublish

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

PublishingEnabled

Boolean

BaseDataVariableType

Mandatory

HasComponent

Variable

ModifyCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

EnableCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

DisableCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

RepublishRequestCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

RepublishMessageRequestCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

RepublishMessageCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

TransferRequestCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

TransferredToAltClientCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

TransferredToSameClientCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

PublishRequestCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

DataChangeNotificationsCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

EventNotificationsCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

NotificationsCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

LatePublishRequestCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

CurrentKeepAliveCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

CurrentLifetimeCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

UnacknowledgedMessageCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

DiscardedMessageCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

MonitoredItemCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

DisabledMonitoredItemCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

MonitoringQueueOverflowCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

NextSequenceNumber

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

EventQueueOverflowCount

UInt32

BaseDataVariableType

Mandatory

Conformance Units

Base Info ServerType

This complex VariableType is used for diagnostic information. For each entry of the array instances of this type will provide a Variable of the SessionDiagnosticsVariableType VariableType, having the SessionDiagnostics as BrowseName. Those Variables will also be referenced by the SessionDiagnostics Objects defined by their type in 6.3.5. The VariableType is formally defined in Table 79.

Table 79 – SessionDiagnosticsArrayType definition

Attribute

Value

BrowseName

SessionDiagnosticsArrayType

IsAbstract

False

ValueRank

1 (1 = OneDimension)

ArrayDimensions

{0} (0 = UnknownSize)

DataType

SessionDiagnosticsDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

SessionDiagnostics

SessionDiagnosticsDataType

SessionDiagnosticsVariableType

ExposesItsArray

Conformance Units

Base Info ServerType

This complex VariableType is used for diagnostic information. Its DataVariables reflect its DataType, having the same semantic defined in 12.11. The VariableType is formally defined in Table 80.

Table 80 – SessionDiagnosticsVariableType definition

Attribute

Value

BrowseName

SessionDiagnosticsVariableType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

SessionDiagnosticsDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

SessionId

NodeId

BaseDataVariableType

Mandatory

HasComponent

Variable

SessionName

String

BaseDataVariableType

Mandatory

HasComponent

Variable

ClientDescription

ApplicationDescription

BaseDataVariableType

Mandatory

HasComponent

Variable

ServerUri

String

BaseDataVariableType

Mandatory

HasComponent

Variable

EndpointUrl

String

BaseDataVariableType

Mandatory

HasComponent

Variable

LocaleIds

LocaleId[]

BaseDataVariableType

Mandatory

HasComponent

Variable

MaxResponseMessageSize

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

ActualSessionTimeout

Duration

BaseDataVariableType

Mandatory

HasComponent

Variable

ClientConnectionTime

UtcTime

BaseDataVariableType

Mandatory

HasComponent

Variable

ClientLastContactTime

UtcTime

BaseDataVariableType

Mandatory

HasComponent

Variable

CurrentSubscriptionsCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

CurrentMonitoredItemsCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

CurrentPublishRequestsInQueue

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

TotalRequestCount

ServiceCounterDataType BaseDataVariableType

Mandatory

HasComponent

Variable

UnauthorizedRequestCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

ReadCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

HistoryReadCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

WriteCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

HistoryUpdateCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

CallCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

CreateMonitoredItemsCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

ModifyMonitoredItemsCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

SetMonitoringModeCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

SetTriggeringCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

DeleteMonitoredItemsCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

CreateSubscriptionCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

ModifySubscriptionCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

SetPublishingModeCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

PublishCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

RepublishCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

TransferSubscriptionsCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

DeleteSubscriptionsCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

AddNodesCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

AddReferencesCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

DeleteNodesCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

DeleteReferencesCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

BrowseCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

BrowseNextCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

TranslateBrowsePathsToNodeIdsCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

QueryFirstCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

QueryNextCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

RegisterNodesCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

UnregisterNodesCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

Conformance Units

Base Info ServerType

This complex VariableType is used for diagnostic information. For each entry of the array instances of this type will provide a Variable of the SessionSecurityDiagnosticsType VariableType, having the SessionSecurityDiagnostics as BrowseName. Those Variables will also be referenced by the SessionDiagnostics Objects defined by their type in 6.3.5. The VariableType is formally defined in Table 81. Since this information is security related, it should not be made accessible to all users, but only to authorised users.

Table 81 – SessionSecurityDiagnosticsArrayType definition

Attribute

Value

BrowseName

SessionSecurityDiagnosticsArrayType

IsAbstract

False

ValueRank

1 (1 = OneDimension)

ArrayDimensions

{0} (0 = UnknownSize)

DataType

SessionSecurityDiagnosticsDataType

References

NodeClass

Browse

Name

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

SessionSecurityDiagnostics

SessionSecurityDiagnosticsDataType

SessionSecurityDiagnosticsType

ExposesItsArray

Conformance Units

Base Info ServerType

This complex VariableType is used for diagnostic information. Its DataVariables reflect its DataType, having the same semantic defined in 12.12. The VariableType is formally defined in Table 82. Since this information is security-related, it shall be restricted to authorized users, such as users who have the SecurityAdmin role, defined in OPC 10000-18.

Table 82 – SessionSecurityDiagnosticsType definition

Attribute

Value

BrowseName

SessionSecurityDiagnosticsType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

SessionSecurityDiagnosticsDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4

HasComponent

Variable

SessionId

NodeId

BaseDataVariableType

Mandatory

HasComponent

Variable

ClientUserIdOfSession

String

BaseDataVariableType

Mandatory

HasComponent

Variable

ClientUserIdHistory

String[]

BaseDataVariableType

Mandatory

HasComponent

Variable

AuthenticationMechanism

String

BaseDataVariableType

Mandatory

HasComponent

Variable

Encoding

String

BaseDataVariableType

Mandatory

HasComponent

Variable

TransportProtocol

String

BaseDataVariableType

Mandatory

HasComponent

Variable

SecurityMode

MessageSecurityMode

BaseDataVariableType

Mandatory

HasComponent

Variable

SecurityPolicyUri

String

BaseDataVariableType

Mandatory

HasComponent

Variable

ClientCertificate

ByteString

BaseDataVariableType

Mandatory

Conformance Units

Base Info ServerType

The OptionSetType 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.

In addition to this VariableType, the DataType OptionSet can alternatively be used to represent a bit mask. As a guideline the DataType would be used when the bit mask is fixed and applies to several Variables. The VariableType would be used when the bit mask is specific for only that Variable.

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.

The optional BitMask Property 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. The VariableType is formally defined in Table 83.

Table 83 – OptionSetType definition

Attribute

Value

BrowseName

OptionSetType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

BaseDataType

References

NodeClass

Browse

Name

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4

HasProperty

Variable

OptionSetValues

LocalizedText[]

PropertyType

Mandatory

HasProperty

Variable

BitMask

Boolean[]

PropertyType

Optional

Conformance Units

Base Info OptionSet

The SelectionListType VariableType is used for a Variable where the possible values are provided by a set of values.

The Selections Property contains an array of values which represent valid values for this VariableType’s value.

The DataType of the Selections Property array shall be of the same DataType as this VariableType. When the SelectionListType is subtyped, the DataType of the Selections Property array of the subtype shall be the same DataType as the subtype.When the SelectionListType is instantiated, the DataType of the Selections Property array of the instance shall be the same as the DataType of the instance.

Each array element of the optional SelectionDescriptions Property contains a human-readable representation of the corresponding value in the Selections Property and shall be of the same array size as the Selections Property.

The value of this VariableType may be restricted to only the values defined in the Selections Property by setting the optional RestrictToList Property to a value of True. If the RestrictToList Property is not present or has a value of False then the value is not restricted to the set defined by the Selections Property.

The VariableType is formally defined in Table 84.

Table 84 – SelectionListType definition

Attribute

Value

BrowseName

SelectionListType

IsAbstract

False

ValueRank

-1 (-1 – Scalar)

DataType

BaseDataType

References

NodeClass

Browse

Name

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4

HasProperty

Variable

Selections

BaseDataType[]

PropertyType

Mandatory

HasProperty

Variable

SelectionDescriptions

LocalizedText[]

PropertyType

Optional

HasProperty

Variable

RestrictToList

Boolean

PropertyType

Optional

Conformance Units

Base Info Selection List

The AudioVariableType VariableType defines a Multipurpose Internet Mail Extensions (MIME) media type of the AudibleSound Property. MIME types are defined by other standards such as IETF RFC 2045, IETF RFC 2046 and IETF RFC 2047. The AudioVariableType references the Content-Type that is defined as part of the MIME type and commonly used as a reference to a specific MIME. The top-level media type is used to declare the general type of data, while the subtype specifies a specific format for that type of data. Thus, a media type of "audio /xyz" is a sufficient description for a user agent to determine the data is an audio file, even if the user agent has no knowledge of the specific audio format "xyz".

The VariableType is formally defined in Table 85.

Table 85 – AudioVariableType definition

Attribute

Value

BrowseName

AudioVariableType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

AudioDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4

HasProperty

Variable

ListId

String

PropertyType

Optional

HasProperty

Variable

AgencyId

String

PropertyType

Optional

HasProperty

Variable

VersionId

String

PropertyType

Optional

Conformance Units

Base Info Audio Type

This complex VariableType is used for information which needs to be provided as a fraction number. It reflects the semantic of its DataType, defined in 12.22 and is formally defined in Table 86.

Table 86 – RationalNumberType Definition

Attribute

Value

BrowseName

RationalNumberType

IsAbstract

False

ValueRank

Scalar

DataType

RationalNumber

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the BaseDataVariableType defined in 7.4

HasComponent

Variable

Numerator

Int32

BaseDataVariableType

Mandatory

HasComponent

Variable

Denominator

UInt32

BaseDataVariableType

Mandatory

Conformance Units

Base Info Rational Number

Numerator and Denominator reflect the DataType RationalNumber.

This abstract VariableType is used as base to define multi-dimensional vectors. Subtypes need to define the concrete number of dimensions. It reflects the semantic of its DataType, defined in 12.23. Subtypes shall expose the structure of their structured DataTypes as Variables. Additionally, it can define a unit for each dimension of the vector (Property VectorUnit). The VariableType is formally defined in Table 87.

Table 87 – VectorType Definition

Attribute

Value

BrowseName

VectorType

IsAbstract

True

ValueRank

Scalar

DataType

Vector

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the BaseDataVariableType defined in 7.4

HasProperty

Variable

VectorUnit

EUInformation

PropertyType

Optional

Conformance Units

Base Info Spatial Data

VectorUnit defines the unit of each dimension of the vector. The DataType EUInformation is defined in OPC 10000-8. Note that the Property EngineeringUnits is intentionally not used, as it would have to define the engineering unit of the full vector, not its individual dimensions.

This complex VariableType is used to represent a vector in 3D space. It reflects the semantic of its DataType, defined in 12.24. The VariableType is formally defined in Table 88.

Table 88 – 3DVectorType Definition

Attribute

Value

BrowseName

3DVectorType

IsAbstract

False

ValueRank

Scalar

DataType

3DVector

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the VectorType defined in 7.21

HasComponent

Variable

X

Double

BaseDataVariableType

Mandatory

HasComponent

Variable

Y

Double

BaseDataVariableType

Mandatory

HasComponent

Variable

Z

Double

BaseDataVariableType

Mandatory

Conformance Units

Base Info Spatial Data

X, Y and Z reflect the DataType 3DVector.

This abstract VariableType is used as base to define multi-dimensional coordinates. Subtypes need to define the concrete number of dimensions. It reflects the semantic of its DataType, defined in 12.25. Subtypes shall expose the structure of their structured DataTypes as Variables. Additionally, it can define a unit for the coordinates (Property LengthUnit). The VariableType is formally defined in Table 89.

Table 89 – CartesianCoordinatesType Definition

Attribute

Value

BrowseName

CartesianCoordinatesType

IsAbstract

True

ValueRank

Scalar

DataType

CartesianCoordinates

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the BaseDataVariableType defined in 7.4

HasProperty

Variable

LengthUnit

EUInformation

PropertyType

Optional

Conformance Units

Base Info Spatial Data

LengthUnit defines the unit of each dimension of the cartesian coordinates. The DataType EUInformation is defined in OPC 10000-8. Note that the Property EngineeringUnits is intentionally not used, as it would have to define the engineering unit of the full cartesian coordinates, not its individual dimensions.

This complex VariableType is used for information about positions in 3D space. It reflects the semantic of its DataType, defined in 12.26. The VariableType is formally defined in Table 90.

Table 90 – 3DCartesianCoordinatesType Definition

Attribute

Value

BrowseName

3DCartesianCoordinatesType

IsAbstract

False

ValueRank

Scalar

DataType

3DCartesianCoordinates

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the CartesianCoordinatesType defined in 7.23

HasComponent

Variable

X

Double

BaseDataVariableType

Mandatory

HasComponent

Variable

Y

Double

BaseDataVariableType

Mandatory

HasComponent

Variable

Z

Double

BaseDataVariableType

Mandatory

Conformance Units

Base Info Spatial Data

X, Y and Z reflect the DataType CartesianCoordinates.

This abstract VariableType is used as base to define multi-dimensional orientations. Subtypes need to define the concrete number of dimensions. It reflects the semantic of its DataType, defined in 12.27. Subtypes shall expose the structure of their structured DataTypes as Variables. Additionally, it can define a unit for the orientation angles (Property AngleUnit). The VariableType is formally defined in Table 91.

Table 91 – OrientationType Definition

Attribute

Value

BrowseName

OrientationType

IsAbstract

True

ValueRank

Scalar

DataType

Orientation

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the BaseDataVariableType defined in 7.4.

HasProperty

Variable

AngleUnit

EUInformation

PropertyType

Optional

Conformance Units

Base Info Spatial Data

AngleUnit defines the unit of each dimension of the orientation. The DataType EUInformation is defined in OPC 10000-8. Note that the Property EngineeringUnits is intentionally not used, as it would have to define the engineering unit of the full cartesian coordinates, not its individual dimensions

This complex VariableType was incorrectly defined. It will be deprecated in the future and therefore should not be used. The OrientationType, defined in 7.25, is intended to be subtyped to create Types which represent any multi-dimensional orientations including 3D spaces.

The VariableType is formally defined in Table 92.

Table 92 – 3DOrientationType Definition

Attribute

Value

BrowseName

3DOrientationType

IsAbstract

False

ValueRank

Scalar

DataType

3DOrientation

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the OrientationType defined in 7.25.

HasComponent

Variable

A

Double

BaseDataVariableType

Mandatory

HasComponent

Variable

B

Double

BaseDataVariableType

Mandatory

HasComponent

Variable

C

Double

BaseDataVariableType

Mandatory

Conformance Units

Base Info Spatial Data

A, B and C reflect the DataType 3DOrientation.

This abstract VariableType is used for information about multi-dimensional frames. It reflects the semantic of its DataType, defined in 12.29. Additionally, it provides information about the dynamic behaviour of the frame. The VariableType is formally defined in Table 93.

Table 93 – FrameType Definition

Attribute

Value

BrowseName

FrameType

IsAbstract

True

ValueRank

Scalar

DataType

Frame

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

CartesianCoordinates

CartesianCoordinates

CartesianCoordinatesType

Mandatory

HasComponent

Variable

Orientation

Orientation

OrientationType

Mandatory

HasProperty

Variable

Constant

Boolean

PropertyType

Optional

HasComponent

Variable

BaseFrame

NodeId

BaseDataVariableType

Optional

HasProperty

Variable

FixedBase

Boolean

PropertyType

Optional

Conformance Units

Base Info Spatial Data

CartesianCoordinates and Orientation reflect the DataType Frame. Note that the abstract DataType Frame does not define the fields itself, but subtypes shall create those fields.

Constant is True when the Value of the frame never changes. If the Value may change it is False.

BaseFrame is the NodeId of the frame’s base frame.

FixedBase is True when this frame is always based on the same base frame, i.e. BaseFrame never changes.

This complex VariableType is used for information about frames in 3D space. It reflects the semantic of its DataType, defined in 12.30. It refines the DataTypes and VariableTypes of the CartesianCoordinates and Orientation to the corresponding 3D types. The VariableType is formally defined in Table 94.

Table 94 – 3DFrameType Definition

Attribute

Value

BrowseName

3DFrameType

IsAbstract

False

ValueRank

Scalar

DataType

3DFrame

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the FrameType defined in 7.27.

HasComponent

Variable

CartesianCoordinates

3DCartesianCoordinates

3DCartesianCoordinatesType

Mandatory

HasComponent

Variable

Orientation

3DOrientation

3DOrientationType

Mandatory

Conformance Units

Base Info Spatial Data

This complex VariableType is used to represent a Variable which contains one or more fields where each field is composed of one or more bits.

Subtypes of this VariableType shall have a DataType of UInteger or one of its subtypes. Its ValueRank shall be either Scalar (-1) or a single dimensional Array (1).

Each bit field defined by the BitFieldDefinitions shall also be exposed as a child DataVariable. The BrowseName of the DataVariable shall be the same as the BitFieldDefinition name field and the NamespaceIndex of the BrowseName shall be the same as the BitFieldDefinition name field’s NamespaceIndex.

Optional bit fields may be defined by using the Optional Modeling Rule for the child DataVariable which represents the bit field. An application accessing a BitFieldType with an optional bit field should determine the presence of the optional bit field by checking the instance of that BitFieldType for the presence of the child DataVariable which represents the optional field.

The VariableType is defined in Table 95.

Table 95 – BitFieldType definition

Attribute

Value

BrowseName

BitFieldType

IsAbstract

True

ValueRank

ScalarOrOneDimension

DataType

UInteger

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the BaseDataVariableType defined in 7.4.

HasProperty

Variable

BitFieldsDefinitions

BitFieldDefinition[]

PropertyType

Mandatory

HasComponent

Variable

<FieldName>

BaseDataType

BaseVariableType

MandatoryPlaceholder

HasComponent

Variable

<OptionalFieldName>

BaseDataType

BaseVariableType

OptionalPlaceholder

Conformance Units