Appendix A. Modbus
Reference
A.1 Function Codes
Table 51 Supported Function Codes
Function Code (Decimal) Function Code (Hexadecimal) Name
03 03
hex
Read Holding Registers
16 10
hex
Write Multiple Registers
43/14 2B
hex
/ 0E
hex
Read Device Identification
A.2 Modbus Registers
Registers are numbered in decimal, starting from one. Register addresses in
actual Modbus messages (Modbus Protocol Data Unit (PDU) are in hexadecimal and start
from zero. Subtract 1 from the register number presented in this manual to get the
address used in the Modbus message. For example, the register number 769 (Modbus
address) corresponds to address 0300
hex
in the Modbus message.
CAUTION!
Accessing unavailable (temporarily missing) measurement data does not generate an
exception. “Unavailable” value (a quiet NaN for
floating point data or 0000
hex
for integer
data) is returned instead. An exception is generated only for any access outside the
applicable register ranges.
A.2.1
Measurement Data
Table 52 Modbus Measurement Data Registers (Read-Only)
Register
Number
(Decimal)
Address
(Hexadecimal)
Register Description Data Format Unit
1 0000
hex
Measured CO
2
value 32-bit float ppm
3 0002
hex
Compensation T 32-bit float °C
5 0004
hex
Measured T 32-bit float °C
257 0100
hex
Measured CO
2
value 16-bit signed integer ppm (up to 32 000
ppm)
Appendix A – Modbus Reference
113