5 Model ToC Previous Next

5.3 Variable Types ToC Previous Next

5.3.2 AnalogItem VariableTypes ToC Previous Next

5.3.2.1 General ToC

The VariableTypes in this clause 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 the BaseAnalogType clause. The descriptions apply to the Properties for the other VariableTypes as well.

5.3.2.2 BaseAnalogType ToC Model

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 2A.

Table 2 A – BaseAnalogType definition

Attribute Value
BrowseName BaseAnalogType
IsAbstract False
ValueRank −2 (−2 = ‘Any’)
DataType Number

Subtype of the DataItemType defined in 5.3.1 i.e the Properties of that type are inherited.

References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasSubtype VariableType AnalogItemType Defined in 5.3.2.2    
HasSubtype VariableType AnalogUnitType Defined in 5.3.2.3    
HasProperty Variable InstrumentRange Range PropertyType Optional
HasProperty Variable EURange Range PropertyType Optional
HasProperty Variable EngineeringUnits EUInformation PropertyType Optional

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.

Example:		InstrumentRange::= {-9999.9, 9999.9}

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 may also be used to restrict a Built-in DataType such as Byte or Int16) to a smaller range of values.

Examples:
4-Bit UInt:		InstrumentRange::= {0, 15}
6-Bit Int:		InstrumentRange::= {-32, 31}

The Range Data Type is specified in Part 8, clause 5.6.2.

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 must be prepared to deal with this possibility. Similarly a Client may 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.

Example:		EURange::= {-200.0,1400.0}

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

NOTE If EURange is not provided on an instance, the PercentDeadband filter cannot be used for that instance (see Part 8, clause 6.2).

EngineeringUnits specifies the units for the DataItem’s value (e.g., DEGC, hertz, seconds). The EUInformation type is specified in Part 8, clause 5.6.3.

Important note: Understanding the units of a measurement value is essential for a uniform system. In an open system in particular where Servers from different cultures might 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 “Codes for Units of Measurement” (see UN/CEFACT: UNECE Recommendation N° 20). The mapping to the EngineeringUnits Property is specified in Part 8, clause 5.6.3.

Examples for unit mixup: In 1999, the Mars Climate Orbiter crashed into the surface of Mars. The main reason was a discrepancy over the units used. The navigation software expected data in newton second; the company who built the orbiter provided data in pound-force seconds. Another, less expensive, disappointment occurs when people used to British pints order a pint in the USA, only to be served what they consider a short measure.

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 Part 8, clause 5.2 for additional information).

5.3.2.3 AnalogItemType ToC Model

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

Table 2 – AnalogItemType definition

Attribute Value
BrowseName AnalogItemType
IsAbstract False
ValueRank −2 (−2 = ‘Any’)
DataType Number

Subtype of the BaseAnalogType defined in 5.3.2.1 i.e the Properties of that type are inherited.

References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasSubtype VariableType AnalogUnitRangeType Defined in 5.3.2.5    
HasProperty Variable EURange Range PropertyType Mandatory

5.3.2.4 AnalogUnitType ToC Model

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

Table 2 B – AnalogUnitType definition

Attribute Value
BrowseName AnalogUnitType
IsAbstract False
ValueRank −2 (−2 = ‘Any’)
DataType Number

Subtype of the BaseAnalogType defined in 5.3.2.1 i.e the Properties of that type are inherited.

References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasProperty Variable EngineeringUnits EUInformation PropertyType Mandatory

5.3.2.5 AnalogUnitRangeType ToC Model

The AnalogUnitRangeType derives from the AnalogItemType and additionaly requires the EngineeringUnits Property. It is formally defined in Table 2C.

Table 2 C – AnalogUnitRangeType definition

Attribute Value
BrowseName AnalogUnitRangeType
IsAbstract False
ValueRank −2 (−2 = ‘Any’)
DataType Number

Subtype of the AnalogItemType defined in 5.3.2.2 i.e the Properties of that type are inherited.

References NodeClass BrowseName DataType TypeDefinition ModellingRule
HasProperty Variable EngineeringUnits EUInformation PropertyType Mandatory

Previous Next