6.18 ModBus
ModBus can be used to communicate with the unit, it can be read and written.
Because it is needed:
- One ModBus programme or another way to run ModBus (there are many available to download online; see example).
- IP addresses to the unit: found in System info on the unit or on EvoCloud.
- Which register the person you want to read to or write to: can be found in parameter list.
- For writing: Which value to write: found in parameter list.
- For reading: how many records you want to read at a time.
- Modbus via TCP/IP (RJ45), std. port 502.
Parameter list
In the parameter list there is a column “ModBus” which tells you which type of register the parameter belongs to (3 or 4) and whether the parameter is available for ModBus.
- 3 = Input register (Read).
- 4 = Holding register (Read / Write).
For address to register in ModBus, the following applies:
- Register address = Parameter id +1
- (Ex. id 1000 => address 1001).
Example to change the operating mode to Comfort:
- IP address: 192.168.1.54
- Port: 502
- Register address: 1011
- Value: 3
Extraction from the parameter list:
| Id | Text | ModBus | Level | Min | Max | Text values / ModBus | Factory value | Unit |
|---|---|---|---|---|---|---|---|---|
| 1010 | Fashion rules | 4 | 1 | 0=Standby, 1=Stop, 2=Save, 3=Comfort, 4=Forced, 5=Overpressure, 6=Forced Time, 7=External Fire, 8=External Stop, 9=External Save, 10=External Comfort, 11=External Forced, 12=External 1, 13=External 2, 14=Time Off, 15=Time Saving, 16=Time Comfort, 17=Time Forced, 18=Time External 1, 19=Time External 2, 20=Time Saving AirQ, 21=Time Comf. AirQ, 22=Tidur Forc. AirQ | 1=Stop | 0 | ||
| 1100 | Drift mode | 3 | 0 | 0=Standby, 1=Stop, 2=Save, 3=Comfort, 4=Forced, 5=Overpressure, 6=Forced Time, 7=External Fire, 8=External Stop, 9=External Save, 10=External Comfort, 11=External Forced, 12=External 1, 13=External 2, 14=Time Off, 15=Time Saving, 16=Time Comfort, 17=Time Forced, 18=Time External 1, 19=Time External 2, 20=Time Saving AirQ, 21=Time Comf. AirQ, 22=Tidur Forc. AirQ | 1=Stop | 0 |
Values are normally sent as int16.
Some parameters with larger numbers (int32) utilise the next higher parameter id number as high number, marked with “ModBus” in the parameter list.
For example, if you want to read the operating time below, you have to read both parameter 1200 and 1201, as the value spans both.
| Id | Text | ModBus | Level | Min | Max | Text values / ModBus | Factory value | Unit |
|---|---|---|---|---|---|---|---|---|
| 1200 | Operating time Aggregate | 3 | 0 | 0 | 2147483647 | 0 | 0 | h |
| 1201 | (ModBus) | 3 | 0 | 0 | 0 | 0 |
Values with decimal are shown as the value*10 (1 decimal place), marked with “Decimal” in the parameter list (Ex Temperature TL, id 1110 sends value 210 for 21.0°C).
| Id | Text | ModBus | Level | Min | Max | Text values / ModBus | Factory value | Unit |
|---|---|---|---|---|---|---|---|---|
| 1110 | Supply air temperature | 3 | 0 | -50 | 70 | Decimal number | 0 | °C |
The function codes are defined on modbus.org.
EvoControl can use the following function codes:
| Function code | Description of the programme |
|---|---|
| 4 | Read Input Registers |
| 3 | Read Multiple Holding Registers |
| 6 | Write Single Holding Register |
| 16 | Write Multiple Holding Registers |
See parameter list for more.
