Appendix D. Modbus Protocol
The Serinus supports a limited Modbus implementation.
The only function codes supported are 3 (Read holding register) and 16 (Write multiple registers).
Read Holding Register
You must specify a slave address for Serial requests (but not for TCP requests). This value is the
Serinus’ multi-drop ID.
Read requests specify which Advanced Protocol IEEE value they want to read as the starting
reference. Refer to the appendix on the Advanced Protocol to see what values are available and what
index to specify for them.
The Modbus index is calculated from the Advanced Protocol index via the following formula:
Modbus index =Advanced Protocol parameter list # x 2 + 256
You may read from 2 to 124 registers. Note that you must read an even number of registers, because
the return data is always 4 bytes (a float).
The Serinus expects 8 data bits, 1 stop bit, and no parity. The baud rate is specified by the Serial
Communications menu.
The value will be returned as a big-endian 32-bit IEEE floating point value.
Write Multiple Registers
You must specify a slave address for serial requests (but not for TCP requests). This value is the
Serinus’ multi-drop ID.
The start reference is the same as for reading.
Only 2 registers may be written at a time; that is, a single IEEE value. Currently the only supported
value is 85, to put the instrument into span (3), zero (2), cycle (1), or measure (0) mode.