This VariableTypedefines the general characteristics of an AnalogItem. All other AnalogItemTypes derive from it. The AnalogItemTypederives from the DataItemType. It is formally defined in Table 2.

Table 2AnalogItemTypedefinition

Attribute

Value

BrowseName

AnalogItemType

IsAbstract

False

ValueRank

−2 (−2 = ‘Any’)

DataType

Number

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the DataItemTypedefined in 5.3.1i.e the Propertiesof that type are inherited.

HasProperty

Variable

InstrumentRange

Range

PropertyType

Optional

HasProperty

Variable

EURange

Range

PropertyType

Mandatory

HasProperty

Variable

EngineeringUnits

EUInformation

PropertyType

Optional

The following paragraphs describe the Propertiesof this VariableType. If the analog item’s Valuecontains an array, the Propertiesshall 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 Serversto support this Property. Without an InstrumentRangebeing provided, Clientswill commonly assume the full range according to the DataType.

The Range Data Typeis specified in 5.6.2.

EURangedefines 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. Clientsoftware must be prepared to deal with this possibility. Similarly a Clientmay 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 Serversshall be prepared to handle this.

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

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

EngineeringUnits specifies the units for theDataItem’s value (e.g., DEGC, hertz, seconds). The EUInformationtype is specified in 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 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 SemanticsChangedbit shall be set if any of the EURange(could change the behaviour of a Subscriptionif a PercentDeadbandfilter is used) or EngineeringUnits(could create problems if the client uses the value to perform calculations) Propertiesare changed (see section 5.2for additional information).