Supported Modbus features
Your meter supports specific Modbus data classes, data formats, function codes, and commands.
Modbus data classes
| Class | Description |
|---|---|
| Coils | Digital bits that can be read and written to |
| Input status | Digital bits that can be read |
| Input registers | 16-bit integers that can be read |
| Holding registers | 16-bit integers that can be read and written to |
Modbus data formats
| Format | Type | # of Modbus registers used |
|---|---|---|
| Unsigned 16-bit | Integer | 1 |
| Signed 16-bit | Integer | 1 |
| Unsigned 32-bit | Integer | 2 |
| Signed 32-bit | Integer | 2 |
| Unsigned 32B-M10K | Integer | 2 |
| Signed 32B-M10K | Integer | 2 |
| IEEE float1 | Floating point | 2 |
| Packed Boolean for inputs | Integer | 1 |
| Packed Boolean for coils | Integer | 1 |
| Unsigned 16-bit read/write | Integer | 1 |
| Signed 64 bit | Integer | 4 |
1 A device acting as a Modbus client supports two versions of IEEE float with different word orders: high/low = Big Endian, low/high = Little Endian.
16-bit data (one word) is transmitted with most-significant byte first and least-significant byte second.
32-bit data (two words) is transmitted with the most-significant word first and the least-significant word second.
Modbus function codes
| Function | Description | Client / Server |
|---|---|---|
| 1 | Read coil status | Client and server |
| 2 | Read input status | Client and server |
| 3 | Read holding registers | Client and server |
| 4 | Read input registers | Client |
| 5 | Write to a coil | Client |
| 6 | Write to a holding register | Client and server |
| 15 | Write to multiple coils | Client |
| 16 | Write to multiple holding registers | Client and server |
| 17 | Report slave ID (serial only) | Client and server |
| 43 (sub code 14) | Read device identification | Client and server |
| 100 | Read scattered holding registers | Client and server |
Modbus commands
A Modbus client command to unit ID 0 is broadcast (sent to) all Modbus server devices. The only supported broadcast command is preset multiple registers.
For serial Modbus networks with only one server device, the client can send commands using the single connection, one-to-one address of unit ID 248, regardless of the server device’s actual unit ID.