描述
通讯Protocol
2.1 物理Interface
RS485
2.2 通讯ProtocolType
ModBus-RTU
2.3 通讯参数
- Baud rate:9600
- data bit:8
- stop bit:1
- check digit:无
2.4 支持的function code
0x03、0x06 和 0x10
2.5 Protocol更新time
2021-06-18
2.6 通讯地
- 广播address为 0,仅支持function code 0x06 和 0x10
- 温控器可设定address为 1-247
三、Register Mapping表
| Serial number | register address | 变量名称 | 单位 | 默认值 | byte count | 取值范围描述 | 读写允许 | 掉电是否Save data |
|---|---|---|---|---|---|---|---|---|
| 1 | 0x0000 | switch机 | — | 0x0000 | 2 | 0x0001 开机,0x0000 关机 | R/W | 是 |
| 2 | 0x0001 | 设定temperature | 0.1℃ | 0x0104 | 2 | 0x0104 表示 26.0 度,设定temperature范围: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 | 室内temperature | 0.1℃ | 0x0001 | 2 | 0x0104 表示 26.0 度 | R | 否 |
| 8 | 0x0007 | 阀门状态 | — | 0x0001 | 2 | Close 0x0000,Open 0x0001 | R | 否 |
| 9 | 0x0008 | debug状态 | — | 0x0001 | 2 | debug状态 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 | 当前time-分钟 | — | 0x0001 | 3 | 0~59 | R/W | 否 |
| 29 | 0x001C | 当前time-小时 | — | 0x0001 | 4 | 0~23 | R/W | 否 |
| 30 | 0x001D | 当前time-星期 | — | 0x0001 | 5 | 1~7 | R/W | 否 |
四、异常处理
当出现异常应答时,将Function号的最高位置 1。例如,主机RequestFunction号是 0x03,则从机返回的Function号对应项为 0x83。
ErrorType码:
- 0x01:function code非法(设备不支持receive到的Function号)
- 0x02:data bit置非法(主机指定的data bit置超出了设备的范围)
- 0x03:data值非法(主机send的data值超出了设备对应的data范围)
五、Operation说明
5.1 address设置
设备开机状态下,长按“模式”和“风速”按键,进入address设置模式。通过按“模式”键来Switchaddress位数,按“风速”按键退出设置模式。
5.2 读取data
使用function code 0x03 读取register data。senddata包format如下:
Device address function code starting address高位 starting address低位 data字长高位 data字长低位 CRC码高位 CRC码低位
5.3 写入data
使用function code 0x06 或 0x10 写入register data。senddata包format如下:
function code 0x06:
Device address function code register address高位 register address低位 写入data高位 写入data低位 CRC码高位 CRC码低位
function code 0x10:
Device address function code register address高位 register address低位 data字长高位 data字长低位 databyteLength 写入data高位 写入data低位 CRC码高位 CRC码低位
六、例程
6.1 读取register
senddata包:01 03 00 00 00 01 84 0A
sendParse:
- 01:Device address
- 03:读取function code
- 00 00:register开始address
- 00 01:registerEndaddress
- 84 0A:CRC verification码
返回data包:01 03 02 00 01 79 84
返回Parse:
- 01:Device address
- 03:读取function code
- 02:返回databyte count
- 00 01:switch机状态(0x0001 表示开机)
- 79 84:CRC verification码
6.2 写入register
senddata包:01 06 00 00 00 01 48 0A
sendParse:
- 01:Device address
- 06:写入function code
- 00 00:register address
- 00 01:写入data(0x0001 表示开机)
- 48 0A:CRC verification码
返回data包:01 06 00 00 00 01 48 0A
6.3 设置temperature
senddata包:01 06 00 01 00 DC D9 93
sendParse:
- 01:Device address
- 06:写入function code
- 00 01:register address(设定temperature)
- 00 DC:写入data(0x00DC 表示 22.0 度)
- D9 93:CRC verification码
返回data包:01 06 00 01 00 DC D9 93
6.4 设置模式
senddata包:01 06 00 02 00 01 E9 CA
sendParse:
- 01:Device address
- 06:写入function code
- 00 02:register address(模式)
- 00 01:写入data(0x0001 表示制热)
- E9 CA:CRC verification码
返回data包:01 06 00 02 00 01 E9 CA
6.5 设置风速
senddata包:01 06 00 03 00 01 B8 0A
sendParse:
- 01:Device address
- 06:写入function code
- 00 03:register address(风速)
- 00 01:写入data(0x0001 表示低速)
- B8 0A:CRC verification码
返回data包:01 06 00 03 00 01 B8 0A
6.6 锁定按键
senddata包:01 06 00 04 00 01 09 CB
sendParse:
- 01:Device address
- 06:写入function code
- 00 04:register address(按键锁定)
- 00 01:写入data(0x0001 表示锁定)
- 09 CB:CRC verification码
返回data包:01 06 00 04 00 01 09 CB
6.7 设置风机受控
senddata包:01 06 00 05 00 01 58 0B
sendParse:
- 01:Device address
- 06:写入function code
- 00 05:register address(风机是否受控)
- 00 01:写入data(0x0001 表示受控)
- 58 0B:CRC verification码
返回data包:01 06 00 05 00 01 58 0B
6.8 设置debug模式
senddata包:01 06 0008 0001 C9 C8
sendParse:
- 01:Device address
- 06:写入function code
- 0008:register address(debug状态)
- 0001:写入data(0x0001 表示Opendebug模式)
- C9 C8:CRC verification码
返回data包:01 06 0008 0001 C9 C8
6.9 设置当前time
senddata包:01 10 001B 0003 06 000A 0010 0003 4F 35
sendParse:
- 01:Device address
- 10:写入function code
- 001B:register address(当前time-分钟)
- 0003:data字长(3 个register)
- 06:databyteLength(6 byte)
- 000A:分钟(10)
- 0010:小时(16)
- 0003:星期(3)
- 4F 35:CRC verification码
返回data包:01 10 001B 0003 06 000A 0010 0003 4F 35
七、备注
- 广播address为 0,广播address仅支持function code 0x06 和 0x10,温控器可设定address为 1-247。
- 风机不受控:风机独立运行,当temperature到达时,阀门Close,风机不Close,也就是说只要温控器开机,风机就一定会开,跟temperature无关。
- 风机受控:只有阀门打开,风机才运行开,阀门Close风机必须Close。
- debug模式:LCD 上面永久显示 485 address,方便debug,debugComplete请Close此Function。
- starting address + 查询个数不得大于 33。




