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.