Double precision data format (dp), Long integer data format (li), Integer data format (int) – Basler Electric BE1-851 Modbus Protocol User Manual
Page 15: Short integer data format (si)

9289900992 Rev F
BE1-851 Modbus
™ Protocol
1-7
Double Precision Data Format (DP)
The legacy version of BE1-851 Modbus
™ supports the double precision data format, which uses two
consecutive registers to represent a data value. The first register (A) contains the high-order 16 bits of
double precision data, and is the actual data value divided by 10,000.
The second register (B) contains the low-order 16 bits of double precision data, and is the actual data
value plus 10,000. The format is: Double Precision = (A
∗
10,000) + B.
Example: The value 95,800 represented in double precision format is: 95800 = (9
∗ 10,000) + 5,800, or
hexadecimal 000916A8. This number will read from two consecutive holding registers as follows:
Holding Register Value
K (Hi Byte)
hex 00
K (Lo Byte)
hex 09
K+1 (Hi Byte)
hex 16
K+1 (Lo Byte)
hex A8
The same byte alignments are required to write.
Long Integer Data Format (LI)
The Modbus
™ long integer data format uses two consecutive holding registers to represent a 32-bit data
value. The first register contains the low-order 16 bits and the second register contains the high-order 16
bits.
Example: The value 95,800 represented in long integer format is hexadecimal 0x00017638. This number
will read from two consecutive holding registers as follows:
Holding Register Value
K (Hi Byte)
hex 76
K (Lo Byte)
hex 38
K+1 (Hi Byte)
hex 00
K+1 (Lo Byte)
hex 01
The same byte alignments are required to write.
Integer Data Format (INT)
The Modbus
™ integer data format uses a single holding register to represent a 16-bit data value.
Example: The value 4660 represented in integer format is hexadecimal 0x1234. This number will read
from a holding register as follows:
Holding Register Value
K (Hi Byte)
hex 12
K (Lo Byte)
hex 34
The same byte alignments are required to write.
Short Integer Data Format (SI)
The Modbus
™ short integer data format uses a single holding register to represent an 8 bit data value.
The holding register high byte will always be zero.
Example: The value 132 represented in short integer format is hexadecimal 0x84. This number will read
from a holding register as follows:
Holding Register
Value
K (Hi Byte)
hex 00
K (Lo Byte)
hex 84
The same byte alignments are required to write.