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:
- The namespaceUrishall be http://www.opcfoundation.org/UA/units/un/cefact
- The Common Code(represented as an alphanumeric variable length of 3 characters) has been converted into an 32 Bit Integer and is used for the unitId. The following pseudo code specifies the conversion algorithm:
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;}
- The Symbolfield is used for displayName. The localeId field of EUInformation.displayNameshall be an empty string.
- The Namefield is used for description. If the name is copied, then the localeId field of EUInformation.descriptionshall be an empty string. If the name is localized then the localeId field shall specify the correct locale.