
6 l Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface l Installation manual
The Base PRO controller supports the following functions for
Modbus-RTU communication.
Description
Function code (hex)
Read Coil
0x01
Read Discrete Input
0x02
Read Holding Registers
0x03
Read Input Registers
0x04
Write Single Coil
0x05
Write Single Holding Register
0x06
Write Multiple Coils
0x0F
Write Multiple Holding Registers
0x10
• Discrete Inputs (read only) and Coils (read and write) are function
codes consisting of 1 bit of data. Most often on or off.
• Input Registers (read only) and Holding Registers (read and write)
are function codes consisting of 2 bytes (16 bit) of data. Most
often temperature data or settings.
2.1 Frame format: Read Coil
Request
Slave address
(0x01 – 0xF7)
Function code
(0x01)
Starting register address
(0x0000 – 0xFFFF)
Number of coils to read
(1 – 2000)
CRC
1 byte
1 byte
2 bytes
2 bytes
2 bytes
Response
Slave address
(0x01 – 0xF7)
Function code
(0x01)
Byte count
(N)
Coil status
(n = N, or n=N+1 if the number of coils to
read can be divided by 8 with a reminder
separated from 0)
CRC
1 byte
1 byte
1 byte
n bytes
2 bytes
Response in case of error
Slave address
(0x01 – 0xF7)
Error code
(0x81)
Exception code
(01, 02, 03, 04, or 06)
CRC
1 byte
1 byte
1 byte
2 bytes
Example:
Request example: Read Heating/Cooling and Comfort/ECO states
Slave address
(0x01)
Function code
(0x01)
Starting register
address HI
(0x00)
Starting register
address LO
(0x00)
Number of coils to
read HI
(0x00)
Number of coils to
read LO
(0x02)
CRC
1 byte
1 byte
1 byte
1 byte
1 byte
1 bytes
2 bytes
Response example: Read Heating/Cooling and Comfort/ECO states
Slave address
(0x01)
Function code
(0x01)
Byte count
(0x01)
Coil status
1 to 8 (0x02)
CRC
1 byte
1 byte
1 byte
1 byte
2 bytes
2 Supported Modbus-RTU functions