Uponor Smatrix Base PRO Controller X-147 User manual

Uponor Smatrix Base PRO Controller X-147
Modbus RTU interface
EN Installation manual
CD0000403

Table of contents
1 Installation............................................................................. 3
1.1 General................................................................................... 3
1.2 Preparation............................................................................. 3
1.3 Connecting the BMS cable..................................................... 5
1.4 Modbus RTU settings............................................................. 5
1.5 Installation example, Beckhoff Modbus RTU.......................... 6
2 Supported Modbus-RTU functions..................................... 7
2.1 Frame format: Read Coil......................................................... 7
2.2 Frame format: Read Discrete Input......................................... 8
2.3 Frame format: Read Holding Registers.................................. 9
2.4 Frame format: Read Input Registers..................................... 10
2.5 Frame format: Write Single Coil............................................ 12
2.6 Frame format: Write Single Holding Register....................... 12
2.7 Frame format: Write Multiple Coils........................................ 14
2.8 Frame format: Write Multiple Holding Registers................... 14
3 Available variables.............................................................. 16
3.1 Temperature conversion....................................................... 16
3.2 Controller limitations............................................................. 16
3.3 Coil data points..................................................................... 17
3.4 Discrete Input data points..................................................... 20
3.5 Input Register data points..................................................... 21
3.6 Holding Register data points................................................. 23
4 Troubleshooting.................................................................. 30
4.1 No communication between controller and BMS.................. 30
4.2 Slow communication, or high latency, between Uponor
system and BMS................................................................... 30
4.3 Wrong parameters changed in Uponor system
compared to BMS settings.................................................... 30
2 | Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual

1 Installation
1.1 General
Note
Basic knowledge and training on BMS and Modbus RTU
is required for installation and setup of Base PRO with
Modbus RTU.
With a Modbus RTU software update, the Base PRO controller can
be connected and integrated to a building management system
(BMS) through a Modbus-RTU connection over RS-485.
The BMS gets access to the following in the Base PRO system.
Read:
• Outdoor temperature
• Room temperature
• Floor temperature
• Humidity level
• Actuator status
• Pump or boiler status
• General purpose input (GPI) status
• Loss of thermostat connection
• Dynamic heat curve offset in integrated heat pump*
Read and write:
• Room setpoint
• Min/max levels for setpoint
• Min/max levels for floor temperature
• Heating/Cooling state
• Heating/Cooling offset
• Comfort/ECO
• Autobalancing on/off
• Cooling not allowed for a room
• Comfort setting
• Integrated heat pump defrost state*
• Relative humidity (RH) control
* Requires Heat Pump Integration via BMS to be activated in U_BMS.txt.
1.2 Preparation
# 1
# 2
# ...
1
SI0000215
X147_XYZ.hex
# 1
# 2
# ...
2
SI0000216
3
SI0000217
10 s
U_BMS.txt
U_BMS.txt
U_BMS.txt
# 1 Slave 1
# 2
# ...
Slave 2
Slave ...
4
SI0000218
Slave 1 Slave 2 Slave ...
5
SI0000219
Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual | 3

Slave 1 Slave 2 Slave ...
BMS
6
SI0000220
Caution!
If an Uponor Smatrix Base PRO Interface I-147 is
connected, it must be unregistered and disconnected.
Caution!
Do not remove the microSD card while the controller is
powered on.
Note
Make sure that the thermostats are registered to
consecutive channels so the BMS can read and write all
channels in an efficient way. That is, addressing multiple
channels in one message.
Note
Make sure the correct slave address is set (between 1
and 247, unique for each controller in the system), and
that the other setting match the Modbus RTU settings in
the BMS.
To connect a BMS to the Uponor Smatrix Base PRO controller some
preparations must be made.
1. Connect and register thermostats, and system devices, to the
controllers.
See Uponor Smatrix Base PRO installation and operation
manual, or quick guide, for information registering devices to the
controller.
2. Update the software of the controllers with the Modbus RTU
compatible software (available on the Uponor website), using the
microSD card.
See separate documentation for information on how to update
the software of a controller.
The Modbus RTU software install is successful when all LEDs
flashes green three times after room controller restart.
3. Press the <, OK, and > buttons simultaneously (for about
10 seconds) until the power LED flashes, and all channel LEDs
turn off. The controller has been reset to factory default.
4. Edit the U_BMS.txt file, on the controller microSD card, to setup
the controller Modbus RTU interface.
Available settings (default in bold):
• BMS Slave address: 1 to 247
• BMS Baud rate: 19200 or 9600
• BMS Parity: even, odd, no (or none)
• Heat pump integration via BMS: off or on
on = enables dynamic heat curve offset in integrated heat
pump, and integrated heat pump defrost state.
• Exclude zone from heat curve offset calculation:
0, or 1 through 12 (0 = no channel)
Select master channels of the zones (lowest numbered
channel in the zone) to exclude.
The zone subchannels follow the state of the master
channel.
Example: 3,5,12 = exludes channels with master channels
3, 5 and 12.
• Bypass zone: 0, or 1 to 12 (0 = no channel, example: 3,12)
Select master channels of the zones (lowest numbered
channel in the zone) to bypass, MAXIMUM 2 channels.
The zone subchannels follow the state of the master
channel.
Example: 4,12 = bypasses zones with master channels 4
and 12.
• Ceiling cooling channel: 0, or 1 to 12 (0 = no channel,
example: 1,4,10)
Select the channels which controls ceiling cooling in the
zones. The zone subchannels will not follow the state of the
master channel.
Example: 1,4,10 = set ceiling cooling to channels 1, 4 and
10.
• BMS Temperature format: c or f
c = Celsius, f = Fahrenheit
Repeat for each Base PRO controller in the system.
5. Connect the controllers to each other using the Base PRO
controller system device bus.
6. Connect the Base PRO system to the BMS.
4 | Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual

1.3 Connecting the BMS cable
The illustration below shows how to connect a BMS to the Modbus
RTU interface on the controller.
X-147
1
SI0000221
X-147
---
+BA A AAA BBBB ++ - -
GND
(+) (-)
2
BMS
SI0000222
X-147
3
SI0000223
Caution!
Depending of EMC conditions in the installation, and/or
distance between the devices, the - connection on the
Base PRO controller might be needed.
To connect a BMS to the controller:
1. Ensure that the power is disconnected from the controller.
2. Connect the BMS cable to the Base PRO controller system
device bus.
Study the wiring diagrams of the controller to locate the
connector position.
3. Connect power to the controller again.
See documentation from BMS supplier for more information about
BMS integration.
1.4 Modbus RTU settings
Configure the Modbus RTU interface in the BMS to match the
controller settings:
• Bitrate: 19200 or 9600 bps
• Data bits: 8
• Stop bits: 1
• Parity bit: even, odd, no (or none)
• Flow control: No
Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual | 5

1.5 Installation example, Beckhoff Modbus RTU
PE PE
– –
+ +
24V 0V
X0 00
BECKHOFF
CX9020
TC
FB1
FB2
HDD
HDD
2
1
PWR
X000 X100 X102
X103
DVI-D
X001
RS232
RS485
X101
X300
I-147
X-147
230 V AC
BMS
T-141
T-143
T-144
T-145
T-146
T-147
T-148
T-149
PRO
PRO
Beckhoff Modbus RTU
X300
A B –
24V 0V
L N
230 V AC
RxD+
RxD-
TxD-
TxD+
SD0000033
Caution!
If an Uponor Smatrix Base PRO Interface I-147 is
connected, it must be unregistered and disconnected.
Caution!
Depending of EMC conditions in the installation, and/or
distance between the devices, the - connection on the
Base PRO controller might be needed.
6 | Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual

2 Supported Modbus-RTU functions
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 byte 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
Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual | 7

2.2 Frame format: Read Discrete Input
Request
Slave address
(0x01 – 0xF7)
Function code
(0x02)
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
(0x02)
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
(0x82)
Exception code
(01, 02, 03, 04, or 06)
CRC
1 byte 1 byte 1 byte 2 bytes
Example:
Request example:Read all discrete inputs
Slave address
(0x01)
Function code
(0x02)
Starting register
address HI
(0x00)
Starting register
address LO
(0x00)
Number of coils to
read HI
(0x00)
Number of coils to
read LO
14 bits (0x0E)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Read all discrete inputs
Slave address
(0x01)
Function code
(0x02)
Byte count
(0x02)
Coil status 1 to 8
(0xAA)
Coil status 9 to 16
(0x0A)
CRC
1 byte 1 byte 2 bytes 1 byte 1 byte 2 bytes
Request example:Read actuator status, channel 12
Slave address
(0x01)
Function code
(0x02)
Starting register
address HI
(0x00)
Starting register
address LO
Register 12 (0x0B)
Number of coils to
read HI
(0x00)
Number of coils to
read LO
1 bit (0x01)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Read actuator status, channel 12
Slave address
(0x01)
Function code
(0x02)
Byte count
(0x01)
Coil status channel 12
ON (0x01)
CRC
1 byte 1 byte 1 byte 1 byte 2 bytes
Request example:Read actuator status, all channels
Slave address
(0x01)
Function code
(0x02)
Starting register
address HI
(0x00)
Starting register
address LO
(0x00)
Number of coils to
read HI
(0x00)
Number of coils to
read LO
12 bits (0x0C)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Read actuator status, all channels
Slave address
(0x01)
Function code
(0x02)
Byte count
(0x02)
Coil status 1 to 8
(0xAA)
Coil status 9 to 12
(0x0A)
CRC
1 byte 1 byte 2 bytes 1 byte 1 byte 2 bytes
8 | Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual

2.3 Frame format: Read Holding Registers
Request
Slave address
(0x01 – 0xF7)
Function code
(0x03)
Starting register address
(0x0000 – 0xFFFF)
Quantity of holding registers to read
(0x0001 – 0x007D)
CRC
1 byte 1 byte 2 bytes 2 bytes 2 bytes
Response
Slave address
(0x01 – 0xF7)
Function code
(0x03)
Byte count
(2*N) N = quantity of registers
Holding register CRC
1 byte 1 byte 1 byte 2*N bytes 2 bytes
Response in case of error
Slave address
(0x01 – 0xF7)
Error code
(0x83)
Exception code
(01, 02, 03, 04, or 06)
CRC
1 byte 1 byte 1 byte 2 bytes
Example:
Request example:Read setpoints (21.0 ˚C / 69.8 ˚F = value 689, 0x02BA),12 channels
Slave address
(0x01)
Function code
(0x03)
Starting register
address HI
(0x00)
Starting register
address LO
Start at 1 (0x00)
Quantity of holding
registers to read HI
(0x00)
Quantity of holding
registers to read LO
12 channels (0x0C)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Read setpoints (21.0 ˚C / 69.8 ˚F = value 689, 0x02BA),12 channels
Slave address
(0x01)
Function code
(0x03)
Byte count
(0x18)
Holding
register HI
(channel 1)
(0x02)
Holding
register LO
(channel 1)
(0xBA)
... Holding
register HI
(channel 12)
(0x02)
Holding
register LO
(channel 12)
(0xBA)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte ... 1 byte 1 byte 2 bytes
Request example:Read setpoint (21.0 ˚C / 69.8 ˚F = value 689, 0x02BA), channel 10
Slave address
(0x01)
Function code
(0x03)
Starting register
address HI
(0x00)
Starting register
address LO
Start at 10 (0x09)
Quantity of holding
registers to read HI
(0x00)
Quantity of holding
registers to read LO
1 channel (0x01)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Read setpoint (21.0 ˚C / 69.8 ˚F = value 689, 0x02BA), channel 10
Slave address
(0x01)
Function code
(0x03)
Byte count
(0x02)
Holding register HI
(0x02)
Holding register LO
(0xBA)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Request example:Read comfort setting, channel 12
Slave address
(0x01)
Function code
(0x03)
Starting register
address HI
(0x00)
Starting register
address LO
Start at 72 (0x47)
Quantity of holding
registers to read HI
(0x00)
Quantity of holding
registers to read LO
1 channel (0x01)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Read comfort setting, channel 12
Slave address
(0x01)
Function code
(0x03)
Byte count
(0x02)
Holding register HI
(0x02)
Holding register LO
(0xBA)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual | 9

Request example:Read heating/cooling offset temperature
Slave address
(0x01)
Function code
(0x03)
Starting register
address HI
(0x00)
Starting register
address LO
Start at 73 (0x48)
Quantity of holding
registers to read HI
(0x00)
Quantity of holding
registers to read LO
(0x01)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Read heating/cooling offset temperature
Slave address
(0x01)
Function code
(0x03)
Byte count
(0x02)
Holding register HI
(0x02)
Holding register LO
2 °C (0x24)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
2.4 Frame format: Read Input Registers
Request
Slave address
(0x01 – 0xF7)
Function code
(0x04)
Starting register address
(0x0000 – 0xFFFF)
Quantity of holding registers to read
(0x0001 – 0x007D)
CRC
1 byte 1 byte 2 bytes 2 bytes 2 bytes
Response
Slave address
(0x01 – 0xF7)
Function code
(0x04)
Byte count
(2*N) N = quantity of registers
Input register CRC
1 byte 1 byte 1 byte 2*N bytes 2 bytes
Response in case of error
Slave address
(0x01 – 0xF7)
Error code
(0x84)
Exception code
(01, 02, 03, 04, or 06)
CRC
1 byte 1 byte 1 byte 2 bytes
Example:
Request example:Read room temperature data (21.0 ˚C / 69.8 ˚F = value 689, 0x02BA) for all zones
Slave address
(0x01)
Function code
(0x04)
Starting register
address HI
(0x00)
Starting register
address LO
Start at 2 (0x01)
Quantity of input
registers to read HI
(0x00)
Quantity of input
registers to read LO
12 channels (0x0C)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Read room temperature data (21.0 ˚C / 69.8 ˚F = value 689, 0x02BA) for all zones
Slave address
(0x01)
Function code
(0x04)
Byte count
(0x18)
Input register
HI (channel 1)
(0x02)
Input register
LO (channel 1)
(0xBA)
... Input register
HI (channel
12)
(0x02)
Input register
LO (channel
12)
(0xBA)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte ... 1 byte 1 byte 2 bytes
10 | Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual

Request example:Read floor temperature data (21.0 ˚C / 69.8 ˚F = value 689, 0x02BA) for all zones
Slave address
(0x01)
Function code
(0x04)
Starting register
address HI
(0x00)
Starting register
address LO
Start at 26 (0x19)
Quantity of input
registers to read HI
(0x00)
Quantity of input
registers to read LO
12 channels (0x0C)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Read floor temperature data (21.0 ˚C / 69.8 ˚F = value 689, 0x02BA) for all zones
Slave address
(0x01)
Function code
(0x04)
Byte count
(0x18)
Input register
HI (channel 1)
(0x02)
Input register
LO (channel 1)
(0xBA)
... Input register
HI (channel
12)
(0x02)
Input register
LO (channel
12)
(0xBA)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte ... 1 byte 1 byte 2 bytes
Request example:Read humidity value (85% RH) for channel 12
Slave address
(0x01)
Function code
(0x04)
Starting register
address HI
(0x00)
Starting register
address LO
Start at 25 (0x18)
Quantity of input
registers to read HI
(0x00)
Quantity of input
registers to read LO
1 channel (0x01)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Read humidity value (85% RH) for channel 12
Slave address
(0x01)
Function code
(0x04)
Byte count
(0x02)
Input register HI
(0x00)
Input register LO
(0x55)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Request example:Read thermostat loss alarm
Slave address
(0x01)
Function code
(0x04)
Starting register
address HI
(0x00)
Starting register
address LO
Start at 38 (0x25)
Quantity of input
registers to read HI
(0x00)
Quantity of input
registers to read LO
(0x01)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Read thermostat loss alarm
Slave address
(0x01)
Function code
(0x04)
Byte count
(0x02)
Input register HI
(0x08)
Input register LO
(0x01)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Request example:Offset heat pump heat curve with -10 degrees
Slave address
(0x01)
Function code
(0x04)
Starting register
address HI
(0x00)
Starting register
address LO
Start at 39 (0x26)
Quantity of input
registers to read HI
(0x00)
Quantity of input
registers to read LO
(0x01)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Offset heat pump heat curve with -10 degrees
Slave address
(0x01)
Function code
(0x04)
Byte count
(0x02)
Input register HI
(0x00)
Input register LO
(0xF6)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual | 11

2.5 Frame format: Write Single Coil
Request
Slave address
(0x01 – 0xF7)
Function code
(0x05)
Starting register address
(0x0000 – 0xFFFF)
Output value to write
(0xFF00 = 1, 0x0000 = 0)
CRC
1 byte 1 byte 2 bytes 2 bytes 2 bytes
Response
Slave address
(0x01 – 0xF7)
Function code
(0x05)
Output address to write
(0x0000 – 0xFFFF)
Output value written
(0xFF00 = 1, 0x0000 = 0)
CRC
1 byte 1 byte 2 bytes 2 bytes 2 bytes
Response in case of error
Slave address
(0x01 – 0xF7)
Error code
(0x85)
Exception code
(01, 02, 03, 04, or 06)
CRC
1 byte 1 byte 1 byte 2 bytes
Example:
Request example:Change state from ECO to Comfort
Slave address
(0x01)
Function code
(0x05)
Starting register
address HI
(0x00)
Starting register
address LO
Register 2 (0x01)
Output value to write
HI
(0x00)
Output value to write
LO
(0x00)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Change state from ECO to Comfort
Slave address
(0x01)
Function code
(0x05)
Output address to
write HI
(0x00)
Output address to
write LO
Register 2 (0x01)
Output value written
HI
(0x00)
Output value written
LO
(0x00)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
2.6 Frame format: Write Single Holding Register
Request
Slave address
(0x01 – 0xF7)
Function code
(0x06)
Starting register address
(0x0000 – 0xFFFF)
Register value
(0x0000 – 0xFFFF)
CRC
1 byte 1 byte 2 bytes 2 bytes 2 bytes
Response
Slave address
(0x01 – 0xF7)
Function code
(0x06)
Output address to write
(0x0000 – 0xFFFF)
Output value written
(0x0000 – 0xFFFF)
CRC
1 byte 1 byte 2 bytes 2 bytes 2 bytes
Response in case of error
Slave address
(0x01 – 0xF7)
Error code
(0x86)
Exception code
(01, 02, 03, 04, or 06)
CRC
1 byte 1 byte 1 byte 2 bytes
12 | Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual

Examples:
Request example:Write 23 ˚C (73.4 ˚F = value 734, 0x02DE) setpoint, channel 5
Slave address
(0x01)
Function code
(0x06)
Starting register
address HI
(0x00)
Starting register
address LO
Start at 5 (0x04)
Register value HI
(0x02)
Register value LO
(0xDE)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Write 23 ˚C (73.4 ˚F = value 734, 0x02DE) setpoint, channel 5
Slave address
(0x01)
Function code
(0x06)
Output address to
write HI
(0x00)
Output address to
write LO
Start at 5 (0x04)
Output value written
HI
(0x02)
Output value written
LO
(0xDE)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Request example:Write 25 ˚C (77.0 ˚F = value 770, 0x0302) maximum floor temperature limit, channel 12
Slave address
(0x01)
Function code
(0x06)
Starting register
address HI
(0x00)
Starting register
address LO
Start at 59 (0x3A)
Register value HI
(0x03)
Register value LO
(0x02)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Write 25 ˚C (77.0 ˚F = value 770, 0x0302) maximum floor temperature limit, channel 12
Slave address
(0x01)
Function code
(0x06)
Output address to
write HI
(0x00)
Output address to
write LO
Start at 59 (0x3A)
Output value written
HI
(0x03)
Output value written
LO
(0x02)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Request example:Write 12 % comfort setting, channel 12
Slave address
(0x01)
Function code
(0x06)
Starting register
address HI
(0x00)
Starting register
address LO
Start at 72 (0x47)
Register value HI
(0x00)
Register value LO
(0x0C)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Write 12 % comfort setting, channel 12
Slave address
(0x01)
Function code
(0x06)
Output address to
write HI
(0x00)
Output address to
write LO
Start at 72 (0x47)
Output value written
HI
(0x00)
Output value written
LO
(0x0C)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Request example:Write 5 ˚C (41.0 ˚F = value 410, 0x005A) heating/cooling offset temperature
Slave address
(0x01)
Function code
(0x06)
Starting register
address HI
(0x00)
Starting register
address LO
Start at 73 (0x48)
Register value HI
(0x00)
Register value LO
(0x5A)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Write 5 ˚C (41.0 ˚F = value 410, 0x005A) heating/cooling offset temperature
Slave address
(0x01)
Function code
(0x06)
Output address to
write HI
(0x00)
Output address to
write LO
Start at 73 (0x48)
Output value written
HI
(0x00)
Output value written
LO
(0x5A)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual | 13

2.7 Frame format: Write Multiple Coils
Request
Slave address
(0x01 – 0xF7)
Function code
(0x0F)
Starting register
address
(0x0000 – 0xFFFF)
Quantity of outputs
(0x0001 – 0x07B0)
Byte count
(N)
Output value to write CRC
1 byte 1 byte 2 bytes 2 bytes 1 byte n bytes 2 bytes
Response
Slave address
(0x01 – 0xF7)
Function code
(0x0F)
Starting register address
(0x0000 – 0xFFFF)
Quantity of outputs
(0x0001 – 0x07B0)
CRC
1 byte 1 byte 2 bytes 2 bytes 2 bytes
Response in case of error
Slave address
(0x01 – 0xF7)
Error code
(0x8F)
Exception code
(01, 02, 03, 04, or 06)
CRC
1 byte 1 byte 1 byte 2 bytes
Example:
Request example:Changes states to Cooling and ECO
Slave address
(0x01)
Function code
(0x0F)
Starting
register
address HI
(0x00)
Starting
register
address LO
(0x00)
Quantity of
outputs HI
(0x00)
Quantity of
outputs LO
(0x02)
Byte count
(0x01)
Output value
to write
(0x03)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 1 byte ? byte 2 bytes
Response example:Changes states to Cooling and ECO
Slave address
(0x01)
Function code
(0x0F)
Starting register
address HI
(0x00)
Starting register
address LO
(0x00)
Quantity of outputs
HI
(0x00)
Quantity of outputs
LO
(0x02)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
2.8 Frame format: Write Multiple Holding Registers
Request
Slave address
(0x01 – 0xF7)
Function code
(0x10)
Starting register
address
(0x0000 – 0xFFFF)
Quantity of registers
(0x0000 – 0x007B)
Byte count
(2*N) N = quantity of
registers
Register value CRC
1 byte 1 byte 2 bytes 2 bytes 1 byte 2*N bytes 2 bytes
Response
Slave address
(0x01 – 0xF7)
Function code
(0x10)
Starting register address
(0x0000 – 0xFFFF)
Quantity of registers written
(0x0000 – 0x007B)
CRC
1 byte 1 byte 2 bytes 2 bytes 2 bytes
Response in case of error
Slave address
(0x01 – 0xF7)
Error code
(0x90)
Exception code
(01, 02, 03, 04, or 06)
CRC
1 byte 1 byte 1 byte 2 bytes
14 | Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual

Example:
Request example:Write 23 ˚C (73.4 ˚F = value 734, 0x02DE) maximum setpoint limit and 18 ˚C (64.4 ˚F = value 644, 0x0284) minimum setpoint
limit, channel 5
Slave
address
(0x01)
Function
code
(0x10)
Starting
register
address
HI
(0x00)
Starting
register
address
LO
Start at 21
(0x14)
Quantity
of
registers
HI
(0x00)
Quantity
of
registers
LO
(0x02)
Byte count
(0x04)
Register
21 value
HI
(0x02)
Register
21 value
LO
(0xDE)
Register
22 value
HI
(0x02)
Register
22 value
LO
(0x84)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Response example:Write 23 ˚C (73.4 ˚F = value 734, 0x02DE) maximum setpoint limit and 18 ˚C (64.4 ˚F = value 644, 0x0284) minimum
setpoint limit, channel 5
Slave address
(0x01)
Function code
(0x10)
Starting register
address HI
(0x00)
Starting register
address LO
(0x00)
Quantity of outputs
HI
(0x00)
Quantity of outputs
LO
(0x02)
CRC
1 byte 1 byte 1 byte 1 byte 1 byte 1 byte 2 bytes
Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual | 15

3 Available variables
These variables are available when communicating with the Base
PRO controller (with the Modbus RTU compatible software installed).
3.1 Temperature conversion
Note
If no data value is availabe the celcius value is set to
1802.6.
The Uponor Smatrix Base PRO controller uses Fahrenheit (default)
to read and calculate temperatures. The temperature format can be
changed in the U_BMS.txt file.
To convert the data value into celcius, use the following mathematical
formula.
Celcius = ((data value – 320)/1.8)/10
Temperature (absolute value)
Celsius (˚C) Fahrenheit (˚F) Data value Hex value
-40.0 -40.0 -400 0xFE70
-30.0 -22.0 -220 0xFF24
-20.0 -4.0 -40 0xFFD8
-17.8 0.0 0 0x0
-10.0 14.0 140 0x8C
-5.0 23.0 230 0xE6
0.0 32.0 320 0x140
1.0 33.8 338 0x152
5.0 41.0 410 0x19A
10.0 50.0 500 0x1F4
15.0 59.0 590 0x24E
18.0 64.4 644 0x284
20.0 68.0 680 0x2A8
21.0 69.8 698 0x2BA
25.0 77.0 770 0x302
30.0 86.0 860 0x35C
35.0 95.0 950 0x3B6
40.0 104.0 1040 0x410
Temperature (relative value)
Celsius (˚C) Data value Hex value
0.1 2 0x02
1.0 18 0x13
4.0 72 0x48
5.0 90 0x5A
Humidity (absolute value)
Relative humidity (%) Hex value
0 0x0000
5 0x0005
10 0x000A
15 0x000F
20 0x0014
25 0x0019
30 0x001E
35 0x0023
40 0x0028
45 0x002D
50 0x0032
55 0x0037
60 0x003C
65 0x0041
70 0x0046
75 0x004B
80 0x0050
85 0x0055
90 0x005A
95 0x005F
100 0x0064
3.2 Controller limitations
Cooling state
An ordinary Base PRO system (with touch screen, not connected to a
BMS) uses an offset temperature to adjust the setpoints when
switching between heating and cooling. This setting is only available
via the touch screen interface (I-167), which is not installed when
connected to a BMS.
When connected to a BMS, and the heating/cooling state is set to
cooling, the cooling offset is set to 0 ˚C (0 °F), leaving the zone
setpoints to be changed by the BMS.
ECO state
If the Base PRO system is set to ECO state the controller applies an
ECO setback value of 4 ˚C (4 °F) to the setpoints (which is shown in
the thermostats).
When the BMS reads the setpoint, when in ECO state, it will recieve
the actual setpoint (without the ECO setback value applied).
Example
Setpoint written/read from BMS 21 ˚C (69.8 °F)
Comfort/ECO state 1 (ECO)
Setpoint shown in thermostat 17 ˚C (62.6 °F)
16 | Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual

Zones
The Base PRO controller can control a maximum of 6 actuator
channels, 12 if a slave module is installed. These channels are then
divided into zones which are linked to a thermostat.
A zone can consist of 1 to 12 channels, and not all channels must be
connected to an actuator and linked to a thermostat.
When writing to a channel, address the lowest channel number
(master channel) in the zone (if more chan one channel in the zone)
in order to change the value/state for the whole zone.
Comfort setting
The Base PRO can set a basic level of comfort for a zone when there
is no demand for heating. The value set is the percentage of time the
actuators are opened.
It will shorten the heat up time for the room, which is useful in rooms
where other heating sources, e.g. a fireplace, is present.
When the BMS reads the comfort setting it will recieve the actual
percentage.
Max/min limitations
If the BMS writes a setpoint to a zone, the Base PRO controller
applies maximum and minimum limitations before checking if there is
a demand for heating or cooling. The limited setpoint is also shown
on the thermostat.
The maximum and minumlimitations are also affected whether the
controller is set to Comfort or ECO state.
When the BMS reads the setpoint it will recieve the actual setpoint
(without limitation applied).
Example
Setpoint written/read from BMS 28 ˚C (82.4 °F)
Room setpoint max temperature 25 ˚C (77 °F)
Room setpoint min temperature 15 ˚C (59 °F)
Setpoint in room thermostat 25 ˚C (77 °F)
Comfort/ECO state 0 (Comfort)
Room temperature 20 ˚C (68 °F)
Heating demand YES
Dynamic heat curve offset in integrated heat
pump
Caution!
The heat pump must be connected to the BMS.
Do not use the heat pump integration connectors on the
Base PRO controller.
Note
This function requires Heat pump integration via BMS
set to on on the microSD card to be activated.
The Base PRO system can dynamically adjust the heat curve offset
in a BMS integrated heat pump. The BMS reads the value from the
controller and sends it to the heat pump.
The heat curve can be offset between -10 ˚C and +10 ˚C (-10 ˚F and
+10 ˚F).
When the BMS reads the heat curve offset from the controller it will
recieve a absolute degree value to offset the heat curve in the heat
pump.
3.3 Coil data points
Note
1 = 0xFF00
0 = 0x0000
These datapoints can be both read or written, and contains the status
of different controller settings (binary, on/off).
Display name Register
address
(decimal)
Physical
address
(decimal)
Function
code (Hex)
Type Analogue/
Binary
Coding
Heating/Cooling state 00001 00000 0x01 Read Binary Unsigned.
1 = Cooling, 0 = Heating (default)
0x05 Write
0x0F Write
multiple
Comfort/ECO state 00002 00001 0x01 Read Binary Unsigned.
1 = Cooling, 0 = Heating (default)
0x05 Write
0x0F Write
multiple
Auto balancing on/off 00003 00002 0x01 Read Binary Unsigned.
1 = ON (default), 0 = Off
0x05 Write
0x0F Write
multiple
Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual | 17

Display name Register
address
(decimal)
Physical
address
(decimal)
Function
code (Hex)
Type Analogue/
Binary
Coding
Cooling not allowed,
channel 1
00004 00003 0x01 Read Binary Unsigned.
0 = Cooling not allowed
1 = Cooling allowed (default)
0x05 Write
0x0F Write
multiple
Cooling not allowed,
channel 2
00005 00004 0x01 Read Binary Unsigned.
0 = Cooling not allowed
1 = Cooling allowed (default)
0x05 Write
0x0F Write
multiple
Cooling not allowed,
channel 3
00006 00005 0x01 Read Binary Unsigned.
0 = Cooling not allowed
1 = Cooling allowed (default)
0x05 Write
0x0F Write
multiple
Cooling not allowed,
channel 4
00007 00006 0x01 Read Binary Unsigned.
0 = Cooling not allowed
1 = Cooling allowed (default)
0x05 Write
0x0F Write
multiple
Cooling not allowed,
channel 5
00008 00007 0x01 Read Binary Unsigned.
0 = Cooling not allowed
1 = Cooling allowed (default)
0x05 Write
0x0F Write
multiple
Cooling not allowed,
channel 6
00009 00008 0x01 Read Binary Unsigned.
0 = Cooling not allowed
1 = Cooling allowed (default)
0x05 Write
0x0F Write
multiple
Cooling not allowed,
channel 7
00010 00009 0x01 Read Binary Unsigned.
0 = Cooling not allowed
1 = Cooling allowed (default)
0x05 Write
0x0F Write
multiple
Cooling not allowed,
channel 8
00011 00010 0x01 Read Binary Unsigned.
0 = Cooling not allowed
1 = Cooling allowed (default)
0x05 Write
0x0F Write
multiple
Cooling not allowed,
channel 9
00012 00011 0x01 Read Binary Unsigned.
0 = Cooling not allowed
1 = Cooling allowed (default)
0x05 Write
0x0F Write
multiple
Cooling not allowed,
channel 10
00013 00012 0x01 Read Binary Unsigned.
0 = Cooling not allowed
1 = Cooling allowed (default)
0x05 Write
0x0F Write
multiple
Cooling not allowed,
channel 11
00014 00013 0x01 Read Binary Unsigned.
0 = Cooling not allowed
1 = Cooling allowed (default)
0x05 Write
0x0F Write
multiple
Cooling not allowed,
channel 12
00015 00014 0x01 Read Binary Unsigned.
0 = Cooling not allowed
1 = Cooling allowed (default)
0x05 Write
0x0F Write
multiple
Integrated heat pump
defrost state*
00016 00015 0x01 Read Binary Unsigned.
0 = Heat pump defrost off/stopped
(default)
1 = Heat pump defrost started
0x05 Write
0x0F Write
multiple
Relative humitidy (RH)
control
00017 00016 0x01 Read Binary Unsigned.
0 = System RH control disabled (default)
1 = System RH control enabled
0x05 Write
0x0F Write
multiple
Relative humitidy (RH)
control, channel 1
00018 00017 0x01 Read Binary Unsigned.
0 = RH control disabled (default)
1 = RH control enabled
0x05 Write
0x0F Write
multiple
18 | Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual

Display name Register
address
(decimal)
Physical
address
(decimal)
Function
code (Hex)
Type Analogue/
Binary
Coding
Relative humitidy (RH)
control, channel 2
00019 00018 0x01 Read Binary Unsigned.
0 = RH control disabled (default)
1 = RH control enabled
0x05 Write
0x0F Write
multiple
Relative humitidy (RH)
control, channel 3
00020 00019 0x01 Read Binary Unsigned.
0 = RH control disabled (default)
1 = RH control enabled
0x05 Write
0x0F Write
multiple
Relative humitidy (RH)
control, channel 4
00021 00020 0x01 Read Binary Unsigned.
0 = RH control disabled (default)
1 = RH control enabled
0x05 Write
0x0F Write
multiple
Relative humitidy (RH)
control, channel 5
00022 00021 0x01 Read Binary Unsigned.
0 = RH control disabled (default)
1 = RH control enabled
0x05 Write
0x0F Write
multiple
Relative humitidy (RH)
control, channel 6
00023 00022 0x01 Read Binary Unsigned.
0 = RH control disabled (default)
1 = RH control enabled
0x05 Write
0x0F Write
multiple
Relative humitidy (RH)
control, channel 7
00024 00023 0x01 Read Binary Unsigned.
0 = RH control disabled (default)
1 = RH control enabled
0x05 Write
0x0F Write
multiple
Relative humitidy (RH)
control, channel 8
00025 00024 0x01 Read Binary Unsigned.
0 = RH control disabled (default)
1 = RH control enabled
0x05 Write
0x0F Write
multiple
Relative humitidy (RH)
control, channel 9
00026 00025 0x01 Read Binary Unsigned.
0 = RH control disabled (default)
1 = RH control enabled
0x05 Write
0x0F Write
multiple
Relative humitidy (RH)
control, channel 10
00027 00026 0x01 Read Binary Unsigned.
0 = RH control disabled (default)
1 = RH control enabled
0x05 Write
0x0F Write
multiple
Relative humitidy (RH)
control, channel 11
00028 00027 0x01 Read Binary Unsigned.
0 = RH control disabled (default)
1 = RH control enabled
0x05 Write
0x0F Write
multiple
Relative humitidy (RH)
control, channel 12
00029 00028 0x01 Read Binary Unsigned.
0 = RH control disabled (default)
1 = RH control enabled
0x05 Write
0x0F Write
multiple
Room setpoint override,
cannel 1
00030 00029 0x01 Read Binary Unsigned.
0 = Setpoint override disabled (default)
1 = Setpoint override enabled
0x05 Write
0x0F Write
multiple
Room setpoint override,
cannel 2
00031 00030 0x01 Read Binary Unsigned.
0 = Setpoint override disabled (default)
1 = Setpoint override enabled
0x05 Write
0x0F Write
multiple
Room setpoint override,
cannel 3
00032 00031 0x01 Read Binary Unsigned.
0 = Setpoint override disabled (default)
1 = Setpoint override enabled
0x05 Write
0x0F Write
multiple
Room setpoint override,
cannel 4
00033 00032 0x01 Read Binary Unsigned.
0 = Setpoint override disabled (default)
1 = Setpoint override enabled
0x05 Write
0x0F Write
multiple
Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual | 19

Display name Register
address
(decimal)
Physical
address
(decimal)
Function
code (Hex)
Type Analogue/
Binary
Coding
Room setpoint override,
cannel 5
00034 00033 0x01 Read Binary Unsigned.
0 = Setpoint override disabled (default)
1 = Setpoint override enabled
0x05 Write
0x0F Write
multiple
Room setpoint override,
cannel 6
00035 00034 0x01 Read Binary Unsigned.
0 = Setpoint override disabled (default)
1 = Setpoint override enabled
0x05 Write
0x0F Write
multiple
Room setpoint override,
cannel 7
00036 00035 0x01 Read Binary Unsigned.
0 = Setpoint override disabled (default)
1 = Setpoint override enabled
0x05 Write
0x0F Write
multiple
Room setpoint override,
cannel 8
00037 00036 0x01 Read Binary Unsigned.
0 = Setpoint override disabled (default)
1 = Setpoint override enabled
0x05 Write
0x0F Write
multiple
Room setpoint override,
cannel 9
00038 00037 0x01 Read Binary Unsigned.
0 = Setpoint override disabled (default)
1 = Setpoint override enabled
0x05 Write
0x0F Write
multiple
Room setpoint override,
cannel 10
00039 00038 0x01 Read Binary Unsigned.
0 = Setpoint override disabled (default)
1 = Setpoint override enabled
0x05 Write
0x0F Write
multiple
Room setpoint override,
cannel 11
00040 00039 0x01 Read Binary Unsigned.
0 = Setpoint override disabled (default)
1 = Setpoint override enabled
0x05 Write
0x0F Write
multiple
Room setpoint override,
cannel 12
00041 00040 0x01 Read Binary Unsigned.
0 = Setpoint override disabled (default)
1 = Setpoint override enabled
0x05 Write
0x0F Write
multiple
* Requires Heat Pump Integration via BMS to be activated in U_BMS.txt. It
takes about 2 minutes for the actuators in the Base PRO system to be fully
opened.
3.4 Discrete Input data points
These datapoints are read only and show the actuator, pump/boiler,
and GPI status on the controller (binary, on/off).
Display name Register
address
(decimal)
Physical
address
(decimal)
Function
code (Hex)
Type Analogue/
Binary
Coding
Actuator status/channel 1
(bit 0)
10001 10000 0x02 Read Binary Unsigned.1 = ON, 0 = Off.
Actuator status/channel 2
(bit 1)
10002 10001 0x02 Read Binary Unsigned.1 = ON, 0 = Off.
Actuator status/channel 3
(bit 2)
10003 10002 0x02 Read Binary Unsigned.1 = ON, 0 = Off.
Actuator status/channel 4
(bit 3)
10004 10003 0x02 Read Binary Unsigned.1 = ON, 0 = Off.
Actuator status/channel 5
(bit 4)
10005 10004 0x02 Read Binary Unsigned.1 = ON, 0 = Off.
Actuator status/channel 6
(bit 5)
10006 10005 0x02 Read Binary Unsigned.1 = ON, 0 = Off.
Actuator status/channel 7
(bit 6)
10007 10006 0x02 Read Binary Unsigned.1 = ON, 0 = Off.
Actuator status/channel 8
(bit 7)
10008 10007 0x02 Read Binary Unsigned.1 = ON, 0 = Off.
Actuator status/channel 9
(bit 8)
10009 10008 0x02 Read Binary Unsigned.1 = ON, 0 = Off.
20 | Uponor Smatrix Base PRO Controller X-147 Modbus RTU interface | Installation manual
Table of contents
Other Uponor Controllers manuals

Uponor
Uponor Smatrix Base PRO X-147 User manual

Uponor
Uponor Smatrix Move PRO User manual

Uponor
Uponor Smatrix Base PRO X-148 User manual

Uponor
Uponor C-23 User manual

Uponor
Uponor X-60 User manual

Uponor
Uponor Smatrix Wave PLUS User manual

Uponor
Uponor X-80 User manual

Uponor
Uponor SETPOINT 511S User manual

Uponor
Uponor Smatrix Base Pro User manual

Uponor
Uponor Smatrix Base PULSE User manual