5.3.2 AnalogItem VariableTypes

5.3.2.1 General

The VariableTypes in subclauses 5.3.2.2 to 5.3.2.5 define the characteristics of AnalogItems. The types have identical semantics and Properties but with diverging ModellingRules for individual Properties.

The Properties are only described once - in 5.3.2.2. The descriptions apply to the Properties for the other VariableTypes as well.

5.3.2.2 BaseAnalogType

This VariableType is the base type for analog items. All Properties are optional. Subtypes of this base type will mandate some of the Properties. The BaseAnalogType derives from the DataItemType. It is formally defined in Table 2.

Table 2 – BaseAnalogType definition
Attribute Value
BrowseNameBaseAnalogType
IsAbstractFalse
ValueRank−2 (−2 = ‘Any’)
DataTypeNumber
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the DataItemType defined in 5.3.1; i.e. the Properties of that type are inherited.
HasSubtypeVariableTypeAnalogItemTypeDefined in 5.3.2.3
HasSubtypeVariableTypeAnalogUnitTypeDefined in 5.3.2.4
HasPropertyVariableInstrumentRangeRangePropertyTypeOptional
HasPropertyVariableInstrumentNumberRangeNumberRangePropertyTypeOptional
HasPropertyVariableEURangeRangePropertyTypeOptional
HasPropertyVariableEUNumberRangeNumberRangePropertyTypeOptional
HasPropertyVariableEngineeringUnitsEUInformationPropertyTypeOptional
Conformance Units
Data Access BaseAnalogType

The following paragraphs describe the Properties of this VariableType. If the analog item’s Value contains an array, the Properties shall apply to all elements in the array.

InstrumentRange defines the value range that can be returned by the instrument.

Although defined as optional, it is strongly recommended for Servers to support this Property. Without an InstrumentRange being provided, Clients will commonly assume the full range according to the DataType.

The InstrumentRange Property can also be used to restrict a Built-in DataType such as Byte or Int16) to a smaller range of values.

The Range DataType is specified in 5.6.2.

If the InstrumentNumberRange Property is present, the DataType of the “low” and “high” fields of the NumberRange DataType shall match the DataType of the Variable instance.

If InstrumentNumberRange is provided, also InstrumentRange shall be provided and populated with the equivalent value for legacy reasons.

The NumberRange DataType is specified in 5.6.3.

EURange defines the value range likely to be obtained in normal operation. It is intended for such use as automatically scaling a bar graph display.

Sensor or instrument failure or deactivation can result in a returned item value which is actually outside of this range. Client software shall be prepared to deal with this possibility. Similarly, a Client can attempt to write a value that is outside of this range back to the server. The exact behaviour (accept, reject, clamp, etc.) in this case is Server-dependent. However, in general Servers shall be prepared to handle this.

See also 7.2 for a special monitoring filter (PercentDeadband) which is based on the engineering unit range.

If the EUNumberRange Property is present, the DataType of the “low” and “high” fields of the NumberRange DataType shall match the DataType of the Variable instance.

If EUNumberRange is provided, also EURange shall be provided and populated with the equivalent value for legacy reasons.

EngineeringUnits specifies the units for the DataItem’s value (e.g., DEGC, hertz, seconds). The EUInformation type is specified in 5.6.4. The NonHierarchical References HasQuantity (see 6.5.2) and HasEngineeringUnitDetail (see 6.5.1) can be used to expose further information for the unit.

It is important to note that understanding the units of a measurement value is essential for a uniform system. In an open system in particular where Servers from different cultures can be used, it is essential to know what the units of measurement are. Based on such knowledge, values can be converted if necessary before being used. Therefore, although defined as optional, support of the EngineeringUnits Property is strongly advised.

OPC UA recommends using the mappings defined in this document.

The StatusCode SemanticsChanged bit shall be set if any of the EURange (could change the behaviour of a Subscription if a PercentDeadband filter is used) or EngineeringUnits (could create problems if the Client uses the value to perform calculations) Properties are changed (see clause 5.2 for additional information).

5.3.2.3 AnalogItemType

This VariableType requires the EURange Property. The AnalogItemType derives from the BaseAnalogType. It is formally defined in Table 3.

Table 3 – AnalogItemType definition
Attribute Value
BrowseNameAnalogItemType
IsAbstractFalse
ValueRank−2 (−2 = ‘Any’)
DataTypeNumber
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseAnalogType defined in 5.3.2.2; i.e. the Properties of that type are inherited.
HasSubtypeVariableTypeAnalogUnitRangeTypeDefined in 5.3.2.5
HasSubtypeVariableTypeAnalogNumberItemTypeDefined in 5.3.2.6
HasPropertyVariableEURangeRangePropertyTypeMandatory
Conformance Units
Data Access AnalogItemType
5.3.2.4 AnalogUnitType

This VariableType requires the EngineeringUnits Property. The AnalogUnitType derives from the BaseAnalogType. It is formally defined in Table 4.

Table 4 – AnalogUnitType definition
Attribute Value
BrowseNameAnalogUnitType
IsAbstractFalse
ValueRank−2 (−2 = ‘Any’)
DataTypeNumber
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseAnalogType defined in 5.3.2.2; i.e. the Properties of that type are inherited.
HasPropertyVariableEngineeringUnitsEUInformationPropertyTypeMandatory
Conformance Units
Data Access AnalogUnitType
5.3.2.5 AnalogUnitRangeType

The AnalogUnitRangeType derives from the AnalogItemType and additionally requires the EngineeringUnits Property. It is formally defined in Table 5.

Table 5 – AnalogUnitRangeType definition
Attribute Value
BrowseNameAnalogUnitRangeType
IsAbstractFalse
ValueRank−2 (−2 = ‘Any’)
DataTypeNumber
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the AnalogItemType defined in 5.3.2.3; i.e. the Properties of that type are inherited.
HasSubtypeVariableTypeAnalogNumberUnitRangeTypeDefined in 5.3.2.7
HasPropertyVariableEngineeringUnitsEUInformationPropertyTypeMandatory
Conformance Units
Data Access AnalogUnitRangeType
5.3.2.6 AnalogNumberItemType

This VariableType requires the EUNumberRange Property. The AnalogNumberItemType derives from the AnalogItemType. It is formally defined in Table 6.

Table 6 – AnalogNumberItemType definition
Attribute Value
BrowseNameAnalogNumberItemType
IsAbstractFalse
ValueRank−2 (−2 = ‘Any’)
DataTypeNumber
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the AnalogItemType defined in 5.3.2.3; i.e. the Properties of that type are inherited.
HasPropertyVariableEUNumberRangeNumberRangePropertyTypeMandatory
Conformance Units
Data Access AnalogNumberItemType
5.3.2.7 AnalogNumberUnitRangeType

The AnalogNumberUnitRangeType derives from the AnalogUnitRangeType and additionally requires the EUNumberRange Property. It is formally defined in Table 7.

Table 7 – AnalogNumberUnitRangeType definition
Attribute Value
BrowseNameAnalogNumberUnitRangeType
IsAbstractFalse
ValueRank−2 (−2 = ‘Any’)
DataTypeNumber
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the AnalogUnitRangeType defined in 5.3.2.5; i.e. the Properties of that type are inherited.
HasPropertyVariableEUNumberRangeNumberRangePropertyTypeMandatory
Conformance Units
Data Access AnalogNumberUnitRangeType