Data Types and Registers
What you will find in this section:
Data types and registers
The Modbus specifications does not include requirements on how various data types are to be displayed on the respective register.
Data encoding format used by EMpro is little-endian byte swap. The meaning for the arrangement of the transferred bytes (numeration in red) can be seen in the following figure (value to transfer as hexadecimal number).
Example of register allocations for different data types
8-bit integer types:
Example: Value = 1 (0x01)
Register address |
Register contents (hex) |
n |
0x0001 |
16-bit integer types:
Example: Value = 4660 (0x1234)
Register address |
Register contents (hex) |
n |
0x1234 |
32-bit integer types:
Example: Value = 305419896 (0x12345678)
Register address |
Register contents (hex) |
n |
0x5678 |
n +1 |
0x1234 |
32-bit IEE 754 floating point:
Example: Value = 123.456 (0x42F6E979)
Register address |
Register contents (hex) |
n |
0xE979 |
n +1 |
0x42F6 |
ASCII strings:
Example: Value = EEM-MA (0x45, 0x45, 0x4D, 0x2D, 0x4D, 0x41, 0x33, 0x37, 0x30 -> ASCII coded)
Register address |
Register contents (hex) |
n |
0x4545 |
n +1 |
0x2D4D |
n +2 |
0x414D |
n +3 |
0x3733 |
n +4 |
0x0030 |
Related topics