EUInformationcontains information about the EngineeringUnits.

The intention of the OPC UA standard is not to define a set of units but a way to expose units based on existing systems. Since there is not a single worldwide set of units used in all industries, the EUInformationstructure includes a separate field (the namespaceUri) to identify the system on which the exposed unit is based.

The default OPC UA mapping is based on UN/CEFACT as defined in clause 5.6.3.3, because it can be programmatically interpreted by generic OPC UA Clients. However, the EUInformationstructure has been defined such that other standards bodies can incorporate their engineering unit definitions into OPC UA. If Serversuse such an approach then they shall identify this standards body by using a proper URI in EUInformation.namespaceUri.

The EUInformationelements are defined in Table 19.

Table 19EUInformationDataType structure

Name

Type

Description

EUInformation

structure

namespaceUri

String

Identifies the organization (company, standards organization) that defines the EUInformation.

unitId

Int32

Identifier for programmatic evaluation.

−1 is used if a unitIdis not available.

displayName

LocalizedText

The displayNameof the engineering unit is typically the abbreviation of the engineering unit, for example "h" for hour or "m/s" for meter per second.

description

LocalizedText

Contains the full name of the engineering unit such as "hour" or "meter per second".

Its representation in the AddressSpaceis defined in Table 20.

Table 20EUInformationdefinition

Attribute

Value

BrowseName

EUInformation

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of Structure defined in OPC 10000-5.

Conformance Units

Base Info EUInformation

This clause specifies how to apply the “Codes for Units of Measurement”published by the “United Nations Centre for Trade Facilitation and Electronic Business” (see https://www.unece.org/cefact/codesfortrade/codes_index.html). This recommendation establishes a single list of code elements to represent units of the International System of Units (SI Units) like units of measure for length, mass (weight), volume and other quantities and in addition covers administration, commerce, transport, science, technology, industry etc. It provides a fixed code that can be used for automated evaluation.

Table 21contains a small excerpt of the relevant columns in the UNECE recommendation:

Table 21– Examples from the UNECE Recommendation

Excerpt from Recommendation N°. 20, Annex 1

Common Code

Name

Symbol

C81

radian

rad

C25

milliradian

mrad

MMT

millimetre

mm

HMT

hectometre

hm

KMT

kilometre

km

KMQ

kilogram per cubic metre

kg/m3

FAH

degree Fahrenheit

°F

The mapping of the UNECE common codes to EUInformation.unitId, EUInformation.displayName, and EUInformation.descriptionis available here:

http://www.opcfoundation.org/UA/EngineeringUnits/UNECE/UNECE_to_OPCUA.csv

This mapping has been generated as follows:

Int32 unitId = 0; Int32 c; for (i=0; i<=3;i++) {

c = CommonCode[i]; if (c == 0) break; // end of Common Code unitId = unitId << 8; unitId = unitId | c;}