
一、概述
本说明书详细介绍了风机盘管控制器的通讯协议,包括物理接口、通讯参数、支持的功能码、寄存器映射表以及异常处理机制等内容,旨在为开发人员和维护人员提供完整的协议参考,确保设备间的稳定通信和正确控制。
二、通讯协议
2.1 物理接口
RS485
2.2 通讯协议类型
ModBus-RTU
2.3 通讯参数
- 波特率:9600
- 数据位:8
- 停止位:1
- 校验位:无
2.4 支持的功能码
0x03、0x06 和 0x10
2.5 协议更新时间
2021-06-18
2.6 通讯地址
- 广播地址为 0,仅支持功能码 0x06 和 0x10
- 温控器可设定地址为 1-247
三、寄存器映射表
序号 | 寄存器地址 | 变量名称 | 单位 | 默认值 | 字节数 | 取值范围描述 | 读写允许 | 掉电是否保存数据 |
---|---|---|---|---|---|---|---|---|
1 | 0x0000 | 开关机 | --- | 0x0000 | 2 | 0x0001 开机,0x0000 关机 | R/W | 是 |
2 | 0x0001 | 设定温度 | 0.1℃ | 0x0104 | 2 | 0x0104 表示 26.0 度,设定温度范围:5.0-35.0 | R/W | 是 |
3 | 0x0002 | 模式 | --- | 0x0000 | 2 | 0x0000 制冷,0x0001 制热,0x0002 通风 | R/W | 是 |
4 | 0x0003 | 风速 | --- | 0x0000 | 2 | 自动 0x0000,低速 0x0001,中速 0x0002,高速 0x0003 | R/W | 是 |
5 | 0x0004 | 按键锁定 | --- | 0x0000 | 2 | 不锁定 0x0000,锁定 0x0001 | R/W | 是 |
6 | 0x0005 | 风机是否受控 | --- | 0x0001 | 2 | 风机不受控 0x0000,风机受控 0x0001 | R/W | 是 |
7 | 0x0006 | 室内温度 | 0.1℃ | 0x0001 | 2 | 0x0104 表示 26.0 度 | R | 否 |
8 | 0x0007 | 阀门状态 | --- | 0x0001 | 2 | 关闭 0x0000,开启 0x0001 | R | 否 |
9 | 0x0008 | 调试状态 | --- | 0x0001 | 2 | 调试状态 0x0000,正常状态 0x0001 | R/W | 是 |
10 | 0x0009 | 制冷风机运行高档位小时 | --- | 0x0001 | 2 | 范围 0~65535 | R/W | 是 |
11 | 0x000A | 制冷风机运行高档位分钟 | --- | 0x0001 | 2 | 范围 0~59 | R/W | 是 |
12 | 0x000B | 制冷风机运行高档位秒 | --- | 0x0001 | 2 | 范围 0~59 | R/W | 是 |
13 | 0x000C | 制冷风机运行中档位小时 | --- | 0x0001 | 2 | 同上 | R/W | 是 |
14 | 0x000D | 制冷风机运行中档位分钟 | --- | 0x0001 | 2 | 同上 | R/W | 是 |
15 | 0x000E | 制冷风机运行中档位秒 | --- | 0x0001 | 2 | 同上 | R/W | 是 |
16 | 0x000F | 制冷风机运行低档位小时 | --- | 0x0001 | 2 | 同上 | R/W | 是 |
17 | 0x0010 | 制冷风机运行低档位分钟 | --- | 0x0001 | 2 | 同上 | R/W | 是 |
18 | 0x0011 | 制冷风机运行低档位秒 | --- | 0x0001 | 2 | 同上 | R/W | 是 |
19 | 0x0012 | 制热风机运行高档位小时 | --- | 0x0001 | 2 | 同上 | R/W | 是 |
20 | 0x0013 | 制热风机运行高档位分钟 | --- | 0x0001 | 2 | 同上 | R/W | 是 |
21 | 0x0014 | 制热风机运行高档位秒 | --- | 0x0001 | 2 | 同上 | R/W | 是 |
22 | 0x0015 | 制热风机运行中档位小时 | --- | 0x0001 | 2 | 同上 | R/W | 是 |
23 | 0x0016 | 制热风机运行中档位分钟 | --- | 0x0001 | 2 | 同上 | R/W | 是 |
24 | 0x0017 | 制热风机运行中档位秒 | --- | 0x0001 | 2 | 同上 | R/W | 是 |
25 | 0x0018 | 制热风机运行低档位小时 | --- | 0x0001 | 2 | 同上 | R/W | 是 |
26 | 0x0019 | 制热风机运行低档位分钟 | --- | 0x0001 | 2 | 同上 | R/W | 是 |
27 | 0x001A | 制热风机运行低档位秒 | --- | 0x0001 | 2 | 同上 | R/W | 是 |
28 | 0x001B | 当前时间-分钟 | --- | 0x0001 | 3 | 0~59 | R/W | 否 |
29 | 0x001C | 当前时间-小时 | --- | 0x0001 | 4 | 0~23 | R/W | 否 |
30 | 0x001D | 当前时间-星期 | --- | 0x0001 | 5 | 1~7 | R/W | 否 |
四、异常处理
当出现异常应答时,将功能号的最高位置 1。例如,主机请求功能号是 0x03,则从机返回的功能号对应项为 0x83。
错误类型码:
- 0x01:功能码非法(设备不支持接收到的功能号)
- 0x02:数据位置非法(主机指定的数据位置超出了设备的范围)
- 0x03:数据值非法(主机发送的数据值超出了设备对应的数据范围)
五、操作说明
5.1 地址设置
设备开机状态下,长按“模式”和“风速”按键,进入地址设置模式。通过按“模式”键来切换地址位数,按“风速”按键退出设置模式。
5.2 读取数据
使用功能码 0x03 读取寄存器数据。发送数据包格式如下:
设备地址 功能码 起始地址高位 起始地址低位 数据字长高位 数据字长低位 CRC码高位 CRC码低位
5.3 写入数据
使用功能码 0x06 或 0x10 写入寄存器数据。发送数据包格式如下:
功能码 0x06:
设备地址 功能码 寄存器地址高位 寄存器地址低位 写入数据高位 写入数据低位 CRC码高位 CRC码低位
功能码 0x10:
设备地址 功能码 寄存器地址高位 寄存器地址低位 数据字长高位 数据字长低位 数据字节长度 写入数据高位 写入数据低位 CRC码高位 CRC码低位
六、例程
6.1 读取寄存器
发送数据包:01 03 00 00 00 01 84 0A
发送解析:
- 01:设备地址
- 03:读取功能码
- 00 00:寄存器开始地址
- 00 01:寄存器结束地址
- 84 0A:CRC 校验码
返回数据包:01 03 02 00 01 79 84
返回解析:
- 01:设备地址
- 03:读取功能码
- 02:返回数据字节数
- 00 01:开关机状态(0x0001 表示开机)
- 79 84:CRC 校验码
6.2 写入寄存器
发送数据包:01 06 00 00 00 01 48 0A
发送解析:
- 01:设备地址
- 06:写入功能码
- 00 00:寄存器地址
- 00 01:写入数据(0x0001 表示开机)
- 48 0A:CRC 校验码
返回数据包:01 06 00 00 00 01 48 0A
6.3 设置温度
发送数据包:01 06 00 01 00 DC D9 93
发送解析:
- 01:设备地址
- 06:写入功能码
- 00 01:寄存器地址(设定温度)
- 00 DC:写入数据(0x00DC 表示 22.0 度)
- D9 93:CRC 校验码
返回数据包:01 06 00 01 00 DC D9 93
6.4 设置模式
发送数据包:01 06 00 02 00 01 E9 CA
发送解析:
- 01:设备地址
- 06:写入功能码
- 00 02:寄存器地址(模式)
- 00 01:写入数据(0x0001 表示制热)
- E9 CA:CRC 校验码
返回数据包:01 06 00 02 00 01 E9 CA
6.5 设置风速
发送数据包:01 06 00 03 00 01 B8 0A
发送解析:
- 01:设备地址
- 06:写入功能码
- 00 03:寄存器地址(风速)
- 00 01:写入数据(0x0001 表示低速)
- B8 0A:CRC 校验码
返回数据包:01 06 00 03 00 01 B8 0A
6.6 锁定按键
发送数据包:01 06 00 04 00 01 09 CB
发送解析:
- 01:设备地址
- 06:写入功能码
- 00 04:寄存器地址(按键锁定)
- 00 01:写入数据(0x0001 表示锁定)
- 09 CB:CRC 校验码
返回数据包:01 06 00 04 00 01 09 CB
6.7 设置风机受控
发送数据包:01 06 00 05 00 01 58 0B
发送解析:
- 01:设备地址
- 06:写入功能码
- 00 05:寄存器地址(风机是否受控)
- 00 01:写入数据(0x0001 表示受控)
- 58 0B:CRC 校验码
返回数据包:01 06 00 05 00 01 58 0B
6.8 设置调试模式
发送数据包:01 06 0008 0001 C9 C8
发送解析:
- 01:设备地址
- 06:写入功能码
- 0008:寄存器地址(调试状态)
- 0001:写入数据(0x0001 表示开启调试模式)
- C9 C8:CRC 校验码
返回数据包:01 06 0008 0001 C9 C8
6.9 设置当前时间
发送数据包:01 10 001B 0003 06 000A 0010 0003 4F 35
发送解析:
- 01:设备地址
- 10:写入功能码
- 001B:寄存器地址(当前时间-分钟)
- 0003:数据字长(3 个寄存器)
- 06:数据字节长度(6 字节)
- 000A:分钟(10)
- 0010:小时(16)
- 0003:星期(3)
- 4F 35:CRC 校验码
返回数据包:01 10 001B 0003 06 000A 0010 0003 4F 35
七、备注
- 广播地址为 0,广播地址仅支持功能码 0x06 和 0x10,温控器可设定地址为 1-247。
- 风机不受控:风机独立运行,当温度到达时,阀门关闭,风机不关闭,也就是说只要温控器开机,风机就一定会开,跟温度无关。
- 风机受控:只有阀门打开,风机才运行开,阀门关闭风机必须关闭。
- 调试模式:LCD 上面永久显示 485 地址,方便调试,调试完成请关闭此功能。
- 起始地址 + 查询个数不得大于 33。