- 1. 表1 网关通讯参数设置
- 2. 表2 主要应用的功能码
- 3. 表3 状态保存寄存器 地址与空调室内机地址的对应关系
- 4. 表4 控制指令寄存器地址与空调室内机地址的对应关系如下表
- 5. 表5 查询空调状态所用的点位表(对应MODBUSfunction code0x03)
- 6. 表6 查询空调性能信息所用的点位表(对应MODBUSfunction code0x03)
- 7. 表7 控制设定空调所用的点位表(对应MODBUSfunction code0x06)
- 8. 中弘中央空调网关ModbusProtocol¥0.50
表1 网关通讯参数设置
| 项目 | parameter |
| 传输模式 | 半双工 |
| Baud rate | 9600bps |
| 起始位 | 1 位 |
| data bit | 8 位 |
| check digit | even parity(Even) |
| stop bit | 1 位 |
以上通讯规格参数也可以通过网关自带的WEB页面进行变更
表2 主要应用的功能码
| 网关所用功能码 | 作用 |
| 0x03 (读保存寄存器) | 用于读取空调的状态。每次可读操作一个或多个寄存器(寄存器地址必须连续) 。每个寄存器保存一个空调的一个状态参数,根据寄存器读取的数量,可以一次读取一个空调的一个或多个参数(如开关、温度设定等),也可以将若干空调的全部参数一次读出。 |
| 0x06 (write single register) | 用于写设定一个空调的一个参数每次只能写操作一个寄存器, 每写操作一次, 就会对一个空调的一个参数做出设定指令。 |
| 0x10 (write multiple registers) | 用于写设定多个空调的多个参数每次可写操作多个寄存器(寄存器地址必须连续) 。根据写寄存 器的数量, 可以一次写设定一个空调的一个参数或多个参数, 也可以一次写多个空调的多个参数。 |
状态参数,包括:开关状态、温度设定值、模式设定状态、风速设定、房间温度和故障代码、是否为主机。
空调性能参数,包括:空调品牌、模式信息风速信息、设定温度信息、特殊性能信息。
表3 状态保存寄存器 地址与空调室内机地址的对应关系
| 空调室内机地址 | 状态参数保存寄存器地址 |
| 0-0 | 0,1,2,3,4,5 |
| 0- 1 | 6,7,8,9,10,11 |
| 0-2 | 12,13,14,15,16,17 |
| …… | …… |
| 0-31 | 186,187,188,189,190,191 |
| 1-0 | 192,193,194,195,196,197 |
| 1- 1 | 198,199,200,201,202,203 |
| 1-2 | 204, 205, 206, 207, 208, 209 |
| …… | …… |
| 1 31 | 378, 379, 380, 381, 382, 383 |
| …… | …… |
| 空调性能信息 | 8000, 8001, 8002, 8003, 8004 |
室内机状态参数保存寄存器起始地址为4000,每4个连续地址的寄存器保存1个室内机的控制指 令,包括:开关指令、温度设定值指令、模式设定指令、风速设定指令、风向设定指令。
表4 控制指令寄存器地址与空调室内机地址的对应关系如下表

表5 查询空调状态所用的点位表(对应MODBUSfunction code0x03)


当前启停状态: 0x01->开机; 0x00->关机。
当前模式设定: 0x01->制冷; 0x02->除湿; 0x04->送风; 0x08->制热。
当前风向设定: 0x00->摆动; 0x01->左右导风板位置1;… 0x06->左右导风板位置6;
0x10->前后导风板位置1 … 0x60前后导风板位置6;
0x42->前后导风板位置4,左右导风板位置2 。
…
当前风速设定: 0x01->高速; 0x02->中速; 0x04->低速; 0x00->自动。
当前温度设定: 0x1E->30℃; 0x12->18℃; 0x14->20℃; 0x1A->26℃。
(有主从机概念的空调)当前主从机状态: 0x00->从机; 0x01->主机。
当前房间温度: 0x21->33℃; 0x10->16℃。
当前故障代码: 0x00->无故障; 0x01->01 (排水泵故障)
空调性能参数保存寄存器起始地址为8000 ,5个连续地址的寄存器保存当前空调的性能参数,
包括:空调品牌、模式信息风速信息、设定温度信息、特殊性能信息
表6 查询空调性能信息所用的点位表(对应MODBUSfunction code0x03)

空调品牌:
共计占用1个字节,使用hexadecimal数代表品牌
0x01:Hitachi; 0x02:Daikin; 0x03:Toshiba; 0x04:Mitsubishi Heavy Industries;
0x05:Mitsubishi Electric;0x06:Gree; 0x07:Hisense; 0x08:Midea;
0x09:Haier; 0x0A:LG; 0x0B:缺省; 0x0C:缺省;
0x0D:Samsung; 0x0E:AUX; 0x0F:Panasonic; 0x10:York;
0x11:缺省; 0x12:缺省; 0x13:格力四代; 0x14:缺省;
0x15:麦克维尔;0x16:缺省; 0x17:缺省; 0x18:TCL;
0x19:志高; 0x1A:天加; 0x1B:缺省; 0x1C:缺省
0x23:约克水机; 0x24:酷风; 0x25:青岛约克; 0x26:富士通;
0x65:艾默生水机; 0x66:麦克维尔水机; 0x29:缺省
0xFF:模拟器;
支持模式:
占用2个字节(0代表无此功能,1代表支持此功能)
数据例子:
0x00 0x17->支持除湿、送风、制热、制冷四种模式;
支持风速:
占用1个字节(0代表无此功能,1代表支持此功能)
数据例子:
0x27->支持低速、中速、高速、自动风速四种风速;
温度上下限:
共计占用2个字节
数据例子:
0x1E 0x10->支持温度范围16-30摄氏度
特殊性能信息:
占用一个字节(0代表无此功能,1代表支持此功能)
位BIT0,1为有主从机概念,0为无主从机概念;
位BIT1,缺省;
位BIT2,1为有前后风向设置,0为无前后风向设置;
位BIT3,1为有左右风向设置,0为无左右风向设置;
数据例子:
0x05->空调有前后风向设置,有主从机概念;
0x0C->空调有左右风向设置,有前后风向设置。
◆ 03(0x03)function code——查询多个寄存器(用以读取空调状态)
下文中所示例的发送和接收数据,其格式全部为hexadecimal,例如01为0x01,C5为0xC5
集成系统发送: 01 03 00 C0 00 06 C5 F4
集成系统接收: 01 03 0C 00 01 00 19 00 01 00 01 00 1C 00 00 DC DA
集成系统发送码含义:
No.1字节(01)——空调网关设备地址(MODBUS定义为Slave ID),出厂默认为01,如果有
多个空调网关同时连接到一条RS485总线上的话,为了区分彼此,需要对每个空调网关设定地
址(网关地址的设定在其配置的WEB页面上进行即可),如果此RS485总线还有其它设备,那
么其它设备与空调网关的设备地址也不能冲突。
No.2字节(03)——MODBUSfunction code,其意义为读取一系列寄存器的值。
No.3,4字节(00 C0)——从00 C0位置开始读取一系列寄存器的值
No.5,6字节(00 06)——从第3,4字节指定的寄存器开始,共读取00 06个寄存器。
No.7,8字节(C5 F4)——该帧数据的校验字节(Verification method:CRC16)
集成系统接收码含义:
No.1字节(01)——空调网关设备地址(MODBUS定义为Slave ID)
No.2字节(03)——MODBUSfunction code。
No.3字节(0C)——对应于查询指令,空调网关共返回0C(decimal:12)个字节的数据
No.4~15字节——空调网关返回12字节的被读取数据
No.16,17字节(DC DA)——该帧数据的校验字节(Verification method:CRC16)
No.4~15字节数据详解:
查询地址192(十六进制为:00 C0)开始的6个寄存器所存储的数值(查询空调寄存器点位表,
此6个寄存器存储了1-0 室内机的全部状态值
00 01(hexadecimal)————空调正在运行状态
00 19(hexadecimal)————温度设定为25℃(0x19 = 25)
00 01(hexadecimal)————模式被设定为制冷
00 01(hexadecimal)————风速被设定为高速风
00 1C(hexadecimal)————回风温度(当前房间温度)为28℃(0x1C = 28)
00 00(hexadecimal)————空调故障代码为0(没有故障),如果有故障,则为相应故障代码
一次查询更多个寄存器的值:
集成系统发送: 01 03 00 00 00 0C C5 F4 (举例查询2台空调的状态)
集成系统接收: 01 03 18 00 01 00 19 00 01 00 01 00 1C 00 00 00 01 00 19 00 01 00 01 00 1E 00
00 DC DA
表7 控制设定空调所用的点位表(对应MODBUSfunction code0x06)

◆ 06(0x06) function code——操作单个寄存器(用以单独操作控制空调的开关、温度设定等)
集成系统发送:01 06 0F A0 00 01 4B 3C
集成系统接收:01 06 0F A0 00 01 4B 3C
集成系统发送码含义:
No.1字节(01)——空调网关设备地址(MODBUS定义为Slave ID)
No.2字节(06)——MODBUSfunction code,其意义为设定一个寄存器的值。
No.3,4字节(0F A0)——从0F A0 位置开始设定一个寄存器的值。
No.5,6字节(00 01)——将第3,4字节所指定的寄存器写入值00 01
No.7,8字节(4B 3C)——该帧数据的校验字节(Verification method:CRC16)
集成系统接收码含义:
No.1字节(01)——空调网关设备地址(MODBUS定义为Slave ID)
No.2字节(06)——MODBUSfunction code,其意义为设定一个寄存器的值。
No.3,4字节(0F A0)——从0F A0 位置开始设定一个寄存器的值。
No.5,6字节(00 01)——将 No.3,4字节所指定的寄存器写入值 00 01
No.7,8字节(4B 3C)——该帧数据的校验字节(Verification method:CRC16)
举例说明:
———— 发码“01 06 0F A0 00 01 4B 3C”的操作含义:
将地址为4000(0x0F 0xA0)的寄存器写入数值1(对应发送码数据位00 01),查点位表得知,
此寄存器对应 00-00 室内机的 开关控制,写入1表示开机,写入2表示关机。
———— 发码“01 06 0F A1 00 13 9A F1”的操作含义:
将地址为4001(0x0F 0xA1)的寄存器写入数值0x13(对应发送码数据位00 13),查点位表得
知,此寄存器对应 00-00 室内机的 温度控制,写入0x13表示将温度设定为19℃
———— 发码“01 06 0F A2 00 08 2A FA”的操作含义:
将地址为4002(0x0F 0xA2)的寄存器写入数值0x08(对应发送码数据位00 08),查点位表得
知,此寄存器对应 00-00 室内机的 模式控制,写入0x08表示将模式设定为“制热”
———— 发码“01 06 0F A3 00 04 7B 3F”的操作含义:
将地址为4003(0x0F 0xA3)的寄存器写入数值0x04(对应发送码数据位00 08),查点位表得
知,此寄存器对应 00-00 室内机的 风速控制,写入0x04表示将模式设定为“低速”
◆ 16(0x10) function code——操作多个寄存器(用以操作控制空调的开关、温度设定等)
集成系统发送:01 10 0F A0 00 04 08 00 01 00 19 00 08 00 02 2C B5
集成系统接收:01 10 0F A0 00 04 C2 FC
集成系统发送码含义:
No.1字节(01)——空调网关设备地址(MODBUS定义为Slave ID)
No.2字节(10)——MODBUSfunction code,其意义为一次设定多个寄存器的值。
No.3,4字节(0F A0)——从0F A0 位置开始一次设定多个寄存器的值。
No.5,6字节(00 04)——从第3,4字节指定位置开始,一次设定4个寄存器的值。
No.7字节(08)——要设定写入的总字节数为8(
4个寄存器 x 2字节/register)
No.8~15字节 ——要设定的4个寄存器的具体值,No.8,9字节写入第一个寄存器,No.10,
11字节写入the secondregister,No.12,13字节写入The third oneregister,No.14,15字节写入The fourth oneregister
No.16,17字节(2C B5)——该帧数据的校验字节(Verification method:CRC16)
集成系统接收码含义:
No.1字节(01)——空调网关设备地址(MODBUS定义为Slave ID)
No.2字节(10)——MODBUSfunction code,其意义为一次设定多个寄存器的值。
No.3,4字节(0F A0)——从0F A0 位置开始,一次设定多个寄存器的值。
No.5,6字节(00 04)——从第3,4字节指定位置开始,一次设定4个寄存器的值。
No.7,8字节(C2 FC)——该帧数据的校验字节(Verification method:CRC16)
举例说明:
———— 发码“01 10 0F A0 00 04 08 00 01 00 19 00 08 00 02 2C B5”的操作含义:
将地址为4000(0x0F 0xA0)开始的4(0x00 0x04 )个寄存器共8个字节,依次写入数值 00 01
00 19 00 08 00 02
00 01(hexadecimal)————将地址为00-00的空调 Open
00 19(hexadecimal)————将地址为00-00的空调 温度设定为25℃(0x19 = 25)
00 08(hexadecimal)————将地址为00-00的空调 模式设定为制热
00 02(hexadecimal)————将地址为00-00的空调 风速设定为中速风
———— 发码“01 10 0F A1 00 01 02 00 1C xx xx”的操作含义:
将地址为4001(0x0F 0xA1)开始的1(0x00 0x01 )个寄存器共2个字节,in simulation...' : 'start simulation 00 1C
00 1C(hexadecimal)————将地址为00-00的空调 温度设定为28℃(0x1C = 28)
Leave a Reply