7 Standard VariableTypes
7.1 General
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.
7.2 BaseVariableType
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 72.
| Attribute | Value | |||||
| BrowseName | BaseVariableType | |||||
| IsAbstract | True | |||||
| ValueRank | −2 (−2 = Any) | |||||
| DataType | BaseDataType | |||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule | |
|---|---|---|---|---|---|---|
| Conformance Units | ||||||
| Base Info Base Types | ||||||
7.3 PropertyType
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 73.
| 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 |
7.4 BaseDataVariableType
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 74.
| 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 |
7.5 ServerVendorCapabilityType
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 75.
| 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 |
7.6 ServerStatusType
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 76.
| Attribute | Value | |||||
| BrowseName | ServerStatusType | |||||
| IsAbstract | False | |||||
| ValueRank | −1 (−1 = Scalar) | |||||
| DataType | ServerStatusDataType | |||||
| References | NodeClass | BrowseName | DataType | TypeDefinition |
Modelling
Rule | |
|---|---|---|---|---|---|---|
| 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 |
7.7 BuildInfoType
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 77.
| 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 |
7.8 ServerDiagnosticsSummaryType
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 78.
| Attribute | Value | |||||
| BrowseName | ServerDiagnosticsSummaryType | |||||
| IsAbstract | False | |||||
| ValueRank | −1 (−1 = Scalar) | |||||
| DataType | ServerDiagnosticsSummaryDataType | |||||
| References | NodeClass | BrowseName | DataType | TypeDefinition |
Modelling
Rule | |
|---|---|---|---|---|---|---|
| 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 |
7.9 SamplingIntervalDiagnosticsArrayType
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 79.
| Attribute | Value | |||
| BrowseName | SamplingIntervalDiagnosticsArrayType | |||
| IsAbstract | False | |||
| ValueRank | 1 (1 = OneDimension) | |||
| ArrayDimensions | {0} (0 = UnknownSize) | |||
| DataType | SamplingIntervalDiagnosticsDataType | |||
| References | NodeClass | BrowseName | DataType TypeDefinition |
Modelling
Rule |
|---|---|---|---|---|
| Subtype of the BaseDataVariableType defined in 7.4. | ||||
| HasComponent | Variable | SamplingIntervalDiagnostics | SamplingIntervalDiagnosticsDataType SamplingIntervalDiagnosticsType | ExposesItsArray |
| Conformance Units | ||||
|---|---|---|---|---|
| Base Info ServerType |
7.10 SamplingIntervalDiagnosticsType
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 80.
| Attribute | Value | |||||
| BrowseName | SamplingIntervalDiagnosticsType | |||||
| IsAbstract | False | |||||
| ValueRank | −1 (−1 = Scalar) | |||||
| DataType | SamplingIntervalDiagnosticsDataType | |||||
| References |
Node
Class | BrowseName |
Data
Type | TypeDefinition |
Modelling
Rule | |
|---|---|---|---|---|---|---|
| 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 |
7.11 SubscriptionDiagnosticsArrayType
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 81.
| 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 |
7.12 SubscriptionDiagnosticsType
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 82.
| Attribute | Value | |||||
| BrowseName | SubscriptionDiagnosticsType | |||||
| IsAbstract | False | |||||
| ValueRank | −1 (−1 = Scalar) | |||||
| DataType | SubscriptionDiagnosticsDataType | |||||
| References |
Node
Class | BrowseName | DataType | TypeDefinition |
Modelling
Rule | |
|---|---|---|---|---|---|---|
| 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 |
7.13 SessionDiagnosticsArrayType
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 83.
| 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 |
7.14 SessionDiagnosticsVariableType
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 84.
| Attribute | Value | ||||
| BrowseName | SessionDiagnosticsVariableType | ||||
| IsAbstract | False | ||||
| ValueRank | −1 (−1 = Scalar) | ||||
| DataType | SessionDiagnosticsDataType | ||||
| References |
Node
Class | BrowseName | DataType TypeDefinition |
Modelling
Rule | |
|---|---|---|---|---|---|
| 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 |
7.15 SessionSecurityDiagnosticsArrayType
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 85. Since this information is security related, it should not be made accessible to all users, but only to authorised users.
| Attribute | Value | ||||
| BrowseName | SessionSecurityDiagnosticsArrayType | ||||
| IsAbstract | False | ||||
| ValueRank | 1 (1 = OneDimension) | ||||
| ArrayDimensions | {0} (0 = UnknownSize) | ||||
| DataType | SessionSecurityDiagnosticsDataType | ||||
| References |
Node
Class | Browse Name | DataType TypeDefinition |
Modelling
Rule | |
|---|---|---|---|---|---|
| Subtype of the BaseDataVariableType defined in 7.4. | |||||
| HasComponent | Variable | SessionSecurityDiagnostics | SessionSecurityDiagnosticsDataType SessionSecurityDiagnosticsType | ExposesItsArray | |
| Conformance Units | |||||
|---|---|---|---|---|---|
| Base Info ServerType |
7.16 SessionSecurityDiagnosticsType
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 86. 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.
| Attribute | Value | |||
| BrowseName | SessionSecurityDiagnosticsType | |||
| IsAbstract | False | |||
| ValueRank | −1 (−1 = Scalar) | |||
| DataType | SessionSecurityDiagnosticsDataType | |||
| References |
Node
Class | BrowseName | DataType TypeDefinition |
Modelling
Rule |
|---|---|---|---|---|
| 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 |
7.17 OptionSetType
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 87.
| Attribute | Value | ||||
| BrowseName | OptionSetType | ||||
| IsAbstract | False | ||||
| ValueRank | −1 (−1 = Scalar) | ||||
| DataType | BaseDataType | ||||
| References | NodeClass | Browse Name | DataType TypeDefinition |
Modelling
Rule | |
|---|---|---|---|---|---|
| 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 |
7.18 SelectionListType
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 Selections Property may be dynamic, including changes in the length of the array. The Selections Property may also be empty indicating there are currently no valid values which can be written to the Variable. Clients should either subscribe to the Selections Property or read it just before use.
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 88.
| Attribute | Value | ||||
| BrowseName | SelectionListType | ||||
| IsAbstract | False | ||||
| ValueRank | -1 (-1 – Scalar) | ||||
| DataType | BaseDataType | ||||
| References | NodeClass | Browse Name | DataType TypeDefinition |
Modelling
Rule | |
|---|---|---|---|---|---|
| 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 |
7.19 AudioVariableType
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 89.
| Attribute | Value | |||||
| BrowseName | AudioVariableType | |||||
| IsAbstract | False | |||||
| ValueRank | −1 (−1 = Scalar) | |||||
| DataType | AudioDataType | |||||
| References | NodeClass | BrowseName | DataType | TypeDefinition |
Modelling
Rule | |
|---|---|---|---|---|---|---|
| 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 |
7.20 RationalNumberType
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 90.
| 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.
7.21 VectorType
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 91.
| 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.
7.22 3DVectorType
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 92.
| 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.
7.23 CartesianCoordinatesType
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 93.
| 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.
7.24 3DCartesianCoordinatesType
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 94.
| 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.
7.25 OrientationType
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 95.
| 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
7.26 3DOrientationType
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 96.
| 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.
7.27 FrameType
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 97.
| 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.
7.28 3DFrameType
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 98.
| 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 |
7.29 BitFieldType
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 99.
| 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 | ||||||
|---|---|---|---|---|---|---|