
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.
Comentários a estes Manuais