一、协议支持范围
此协议版本为V2.0,支持M系列除湿器、H(V20)系列除湿器、K顶置式除湿器、 E系列等
二、术语和定义
1.1监控模块(SM)
监控模块为从设备,即环境控制器,接收主设备监控单元(SU)的命令,并做出响应。
1.2监控单元(SU)
监控单元为主设备,即上位机监控系统,发送命令给监控模块(SM),并接收响应信息。
三、物理接口
RS485 通讯格式:1 位起始位,8 位数据位,1 位停止位, 无校验;波特率:9600。
通讯频率:≥5 秒;
四、帧类型和帧格式
3.1 帧类型
2 种帧类型:
(1)SU到SM命令帧
(2)SM到SU响应帧
3.2 帧格式
采用Modbus的RTU帧格式
|
域 |
Addr |
FC |
Data |
CRC |
|
字节 |
1 |
1 |
N |
2 |
表3.2.1域说明
|
序号 |
域 |
描述 |
备注 |
|
1 |
Addr |
SM设备地址 |
默认1 |
|
2 |
FC |
功能码 |
|
|
3 |
Data |
数据 |
|
|
4 |
CRC |
CRC校验码 |
表3.2.2 支持的功能码
|
功能码 |
含义 |
对应的寄存器组 |
|
0x01 |
读运行状态 |
读运行状态寄存器1xxxx,每1 位表示一个寄存器状态值。 |
|
0x03 |
读运行参数 |
读运行参数寄存器3xxxx,每一参数占两个字节,高字节在 |
五、详细报文帧格式
4.1:0X1 命令
(a)0x01 命令请求
|
字节 |
含义 |
值 |
备注 |
|
|
0 |
Addr. |
x |
地址 |
|
|
1 |
FC |
1 |
命令字 |
|
|
2 |
sRegHi |
x |
起始寄存器高字节 |
|
|
3 |
sRegLo |
x |
起始寄存器低字节 |
|
|
4 |
nRegHi |
x |
寄存器个数高字节 |
|
|
5 |
nRegLo |
x |
寄存器个数低字 |
|
|
6 |
CRCHi |
x |
CRC校验高字节 |
|
|
7 |
CRCLo |
x |
CRC校验低字节 |
|
(b)0x01 命令响应
|
字节 |
含义 |
值 |
备注 |
|
0 |
Addr. |
x |
通讯地址 |
|
1 |
FC |
1 |
命令字0x1 |
|
2 |
Len |
m |
m=(nReg+7)/8 |
|
3 |
B0 |
x |
|
|
4 |
B1 |
x |
|
|
... |
... |
x |
|
|
m+1 |
Bm-2 |
x |
|
|
m+2 |
Bm-1 |
x |
|
|
m+3 |
CRC Hi |
x |
CRC校验高字节 |
|
m+4 |
CRC Lo |
x |
CRC校验低字节 |
注:
1、每一bit代表一个寄存器的值,0:表示关,1:表示开
2、每个字节从bit0 开始填充,最后一个字节的不足8 位的,则剩余的高位添0
4.2:0x03 命令
(a)0x03 命令请求
|
字节 |
含义 |
值 |
备注 |
|
0 |
Addr. |
x |
地址 |
|
1 |
FC |
3 |
命令字0x3 |
|
2 |
sRegHi |
x |
起始寄存器高字节 |
|
3 |
sRegLo |
x |
起始寄存器低字节 |
|
4 |
nRegHi |
x |
寄存器个数高字节 |
|
5 |
nRegLo |
x |
寄存器个数低字节 |
|
6 |
CRCHi |
x |
CRC校验高字节 |
|
7 |
CRCLo |
x |
CRC校验低字节 |
注: sReg =要读取的寄存器号-30001
(b)0x03 命令响应
|
字节 |
含义 |
值 |
备注 |
|
0 |
Addr. |
x |
通讯地址 |
|
1 |
FC |
3 |
命令字0x3 |
|
2 |
Len |
m |
m=2*nReg |
|
3 |
D0hi |
x |
|
|
4 |
D0Lo |
x |
|
|
... |
... |
x |
|
|
m+1 |
Dm-1Hi |
x |
|
|
m+2 |
Dm-1Lo |
x |
|
|
m+3 |
CRC Hi |
x |
CRC校验高字节 |
|
m+4 |
CRC Lo |
x |
CRC校验低字节 |
4.3:0x05 命令
(a)0x05 命令请求
|
字节 |
含义 |
值 |
备注 |
|
0 |
Addr. |
x |
地址 |
|
1 |
FC |
5 |
命令字0x5 |
|
2 |
sRegHi |
x |
寄存器高字节 |
|
3 |
sRegLo |
x |
寄存器低字节 |
|
4 |
DataHi |
x |
写的值高字节 |
|
5 |
DataLo |
x |
写的值低字节 |
|
6 |
CRCHi |
x |
CRC校验高字节 |
|
7 |
CRCLo |
x |
CRC校验低字节 |
注: 1、sReg =要读取的寄存器号-00001
2、0000:关闭,FF00:开启
(b)0x05 命令响应
|
字节 |
含义 |
值 |
备注 |
|
0 |
Addr. |
x |
通讯地址 |
|
1 |
FC |
5 |
命令字0x5 |
|
2 |
sRegHi |
x |
寄存器高字节 |
|
3 |
sRegLo |
x |
寄存器低字节 |
|
4 |
DataHi |
x |
写的值高字节 |
|
5 |
DataLo |
x |
写的值低字节 |
|
6 |
CRC Hi |
x |
CRC校验高字节 |
|
7 |
CRC Lo |
x |
CRC校验低字节 |
注: 如果写入成功,则数据原样返回,否则应答不成功原因
4.4:0x06 命令
(a)0x06 命令请求
|
字节 |
含义 |
值 |
备注 |
|
0 |
Addr. |
x |
地址 |
|
1 |
FC |
6 |
命令字0x6 |
|
2 |
sRegHi |
x |
寄存器高字节 |
|
3 |
sRegLo |
x |
寄存器低字节 |
|
4 |
DataHi |
x |
写的值高字节 |
|
5 |
DataLo |
x |
写的值低字节 |
|
6 |
CRCHi |
x |
CRC校验高字节 |
|
7 |
CRCLo |
x |
CRC校验低字节 |
注: sReg= 要读取的寄存器号 - 40001
(b)0x06 命令响应
|
字节 |
含义 |
值 |
备注 |
|
0 |
Addr. |
x |
通讯地址 |
|
1 |
FC |
6 |
命令字0x6 |
|
2 |
sRegHi |
x |
寄存器高字节 |
|
3 |
sRegLo |
x |
寄存器低字节 |
|
4 |
DataHi |
x |
写的值高字节 |
|
5 |
DataLo |
x |
写的值低字节 |
|
6 |
CRC Hi |
x |
CRC校验高字节 |
|
7 |
CRC Lo |
x |
CRC校验低字节 |
注: 1、如果写入成功,则数据原样返回,否则应答不成功原因
2、如果写入成功,则值会写入EEPROM,掉电保存
六、异常响应
(a)异常报文格式
|
字节 |
含义 |
值 |
备注 |
|
0 |
Addr. |
x |
|
|
1 |
FC |
FC+0X80 |
|
|
2 |
Exception Code |
x |
例外原因 |
|
3 |
CRCHi |
x |
CRC校验高字节 |
|
4 |
CRCLo |
x |
CRC校验低字节 |
(b)异常代码表(ExecptionCode)
|
Code |
Name |
Description |
|
1 |
ILLEAGE FC |
无效功能码 |
|
2 |
ILLEAGE REG |
无效寄存器 |
|
3 |
ILLEAGE DATA |
无效数据,数据范围超限 |
|
4 |
DEVICEFAILURE |
设备操作数据失败 |
|
5 |
ACKNOWLEDGE |
操作进行中,没有结束 |
|
6 |
DEVICE BUSY |
设备忙,无法操作 |
七、寄存器列表
(a)运行状态寄存器表(0x01 命令读取,0x05 命令控制)
|
寄存器(FC=0x5) |
寄存器(FC=0x1) |
状态名称 |
回读的值bit (FC=0x1) |
控制的值(FC=0x5) |
|
|
10001-10031 |
保留备用 |
- |
- |
||
|
10032 |
雾化模块状态 |
0:正常,1:故障 |
K专用 |
||
|
10033 |
雾化工作状态 |
0:关闭,1:开启 |
K专用 |
||
|
10034 |
故障回路状态
|
0:关闭,1:开启 |
只有带两路输出的才有 |
||
|
10035 |
控湿回路状态 |
0:停止,1:开启 |
|||
|
10036 |
控温回路状 |
0:停止,1:开启 |
|||
|
37 |
10037 |
控温方式 |
0:降温,1:升温 |
0000:降温,FF00:升温 |
|
|
10038 |
|
风机模块回路状态 |
0:正常,1:故障 |
||
|
10039 |
除湿模块回路状态 |
0:正常,1:故障 |
|||
|
10040 |
湿度传感器状态 |
0:正常,1:故障 |
|||
|
10041 |
外部温度传感器状态 |
0:正常,1:故障 |
|||
|
10042 |
内部温度传感器状态 |
0:正常,1:故障 |
|||
|
10043 |
化霜状态 |
0:正常,1:正在化霜 |
|||
|
44 |
10044 |
控湿手动开关 |
0:正常,1:手动 |
FF00:开启,0000:关闭 |
|
|
45 |
10045 |
控温手动开关 |
0:正常,1:手动开 |
FF00:开启,0000:关闭 |
|
|
10046 |
高温告警 |
0:正常,1:告警 |
|||
|
10047 |
露点温度回路工作状态 |
0:关闭,1:开启 |
部分型号支持 |
||
(b)运行参数寄存器表(0x03 命令读取,0x6 修改运行参数)
|
寄存器(FC=0x6) |
寄存器(FC=0x3) |
状态名称 |
单位 |
变比 |
值说明 |
|
30001 |
内部温度值 |
℃ |
/10 |
有符号 |
|
|
30002 |
环境温度值 |
℃ |
/10 |
有符号 |
|
|
30003 |
环境湿度值 |
%RH |
/10 |
|
30004 |
内部温度值2 |
℃ |
/10 |
有符号-K支持 | ||
|
30005 |
露点温度 |
℃ |
/10 |
有符号(部分型号支持) |
||
|
30006 |
备用3 |
|||||
|
30007 |
备用4 |
|||||
|
30008 |
备用5 |
|||||
|
40009 |
30009 |
控温开启值 |
℃ |
/10 |
取值范围:1~85 |
|
|
40010 |
30010 |
控温停止值 |
℃ |
/10 |
取值范围:1~85 |
|
|
40011 |
30011 |
控湿开启值 |
%RH |
/10 |
取值范围:25~98 |
|
|
40012 |
30012 |
控湿停止值 |
%RH |
/10 |
取值范围:25~98 |
|
|
40013 |
30013 |
温度报警上限值 |
℃ |
/10 |
取值范围:60~95 |
|
|
40014 |
30014 |
温度报警下限值 |
℃ |
/10 |
取值范围:1~50 |
|
|
40015 |
30015 |
露点温度启动值 |
℃ |
/10 |
取值范围:1~98(部分型号支持) |
|
|
40016 |
30016 |
露点温度回差值 |
℃ |
/10 |
取值范围:2~25(部分型号支持) |
|
注: 1、控温方式为升温时,温度停止值必须比温度开启值大1℃以上;
2、控温方式为降温时,温度停止值必须比温度开启值小1℃以上;
3、湿度停止值必须在:湿度开启值-3%~湿度开启值-20%之间;
4、控温开启值、控温停止值、控湿开启值、控湿停止值小数位必须为0;
八、测试数据
(a)读运行参数(0x03),地址设置为1 时,查看30001号到30014号寄存器的值
[发送]01 03 0000000EC40E
[接收]01031C009900C200 DD000000000000000000000064009602 EE02 BC02 BC 01907664
解析:
30001内部温度值 0X99==153 变比10,内部温度值=153/10=15.3
30002 环境温度值 0XC2==194 变比10,环境温度值=194/10=19.4
30003 环境湿度值 0XDD==221 变比10,环境湿度值=221/10=22.1
30009 温度开 0X64=100 变比10,温度开启值=100/10=10.0
30010 温度停止值 0X96=150 变比10,温度开启值=150/10=15.0
30011 控湿开启值 0x2ee=750 变比10,湿度开启值=750/10=75.0
30012 湿度停止值 0x2bc=700 变比10,湿度开启值=700/10=70.0
30013 温度报警上限值 0X2bc=850 变比10,温度报警上限值=850/10=85.0
30014 温度报警下限值 0X190=400 变比10,温度报警下限值=400/10=40.0
(b)读运行参数(0x03),获取内部温度、环境温度值和湿度值
[发送]01 03 0000000305CB
[接收]01 03 06 00B900B300E04CC1
解析:
30001内部温度值 0Xb9==185 变比10,内部温度值=153/10=18.5 30002 环境温度值 0Xb3==179 变比10,环境温度值=194/10=17.9 30003 环境湿度值 0Xe0==224 变比10,环境湿度值=224/10=22.4
(c)读运行状态(0x01),读取运行状态寄存器(10001-10046)
[发送]01 01 0000002EBC16
[接收]01 01 06000000001408AE6A 解析:
0X14=0B00010100
B2=1 代表 控湿回路状态(寄存器地址:34),控湿已开启, b4=1 代表 温控方式(寄存
器地址:36),1:升温 0X8=0B00001000
B3=1 代表 控湿手动开关(寄存器地址:43),控湿手动开
(d)写运行状态(0x05),远程恢复(43)控湿回路
[发送]01 05 002B0000BDC2 [接收]01 05 002B0000BDC2
(e)写运行状态(0x05),远程开启(44)控温回路
[发送]01 05 002CFF004DF3 [接收]01 05 002CFF004DF3
(f)写运行参数(0x06),控温开启值(40009)设置为21
[发送]01 06 000800D28855 [接收]01 06 000800D28855
(g)写运行参数(0x06),控温停止值(40010)设置为30
[发送]01 06 0009012C5985 [接收]01 06 0009012C5985