6.2.4 Decimal

This DataType defines a decimal value. The format of this value conforms to the following formula

(-1)sign x coefficient x 10exponent

Table 14 - Decimal Definition
Attribute Value
BrowseNameDecimal
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition
Subtype of the SByte defined in OPC 10000-3

For this release the OPC UA stacks and infrastructure does not support Decimal as a base type, thus this type must be mapped to a ByteString and the ByteString must be passed to the SDK and/or Stack. This DataType has to be handled by the application.

Decimal can be encoded in a number of ways and can be defined to have 32, 64 and 128 varieties. Since the OPC UA stacks do not natively support this encoding only a single Decimal type is being defined. This will allow the stacks in the future to be expanded to support Decimal32, Decimal64 and Decimal128. The encoding of decimal is also defined by more than one group using different encodings. The binary encoding being used for this release (and will always be used for the plain decimal binary string encoding) is a string that is 128 bit and follows the IEC TR 24732 definition for a decimal. It is summarised in the table below.

Table 15 - Decimal Definition
Parameter decimal
k, storage width in bits128
p, precision in digits34
Emax 6144
bias, E – q6176
Encoding parameters
sign bit1
w +5, combination field width in bits17
t, trailing significant field width in bits110
k, storage width in bits128