DME3000空调后台通信协议解析.docx
《DME3000空调后台通信协议解析.docx》由会员分享,可在线阅读,更多相关《DME3000空调后台通信协议解析.docx(20页珍藏版)》请在冰豆网上搜索。
DME3000空调后台通信协议解析
DataMate3000监控协议
1.物理接口3
2.通信方式3
3.信息类型及协议的基本格式3
3.1信息类型3
3.2协议的基本格式3
3.3数据格式4
3.3.1基本数据格式4
3.3.2LENGTH数据格式4
3.3.3CHKSUM数据格式4
3.3.4INFO数据格式5
4.编码表5
5.协议内容6
5.1获取模拟量量化后数据(定点数)6
5.2获取开关输入状态6
5.3遥控7
5.4获取系统参数(定点数)7
5.5设定系统参数(定点数)7
5.6获取监测模块时间8
5.7设定监测模块时间8
5.8获取通信协议版本号9
5.9获取设备地址9
5.10获取设备(监测模块)厂家信息9
5.11获取报警状态10
5.12获取报警历史11
DataMate3000监控协议
本协议是《监控行标第三部分:
智能设备通信协议》(电总协议)的简化版本,适用于艾默生网络能源有限公司基站小空调产品DataMate3000系列精密空调的环境监控。
1.物理接口
串行通信口采用RS485。
信息传输方式为异步方式,起始位1位,数据位8位,停止位1位,无校验。
数据传输速率为19200bits。
2.通信方式
在局站内的监控系统为分布式结构。
局站监控单元(SU)与设备监控模块(SM)的通信为主从方式,监控单元为上位机,监控模块为下位机。
SU呼叫SM并下发命令,SM收到命令后返回响应信息。
SU500ms内接收不到SM响应或接收响应信息错误,则认为本次通信过程失败。
3.信息类型及协议的基本格式
3.1信息类型
信息分两种类型:
(1)由SU发出到SM的命令信息(简称命令信息);
(2)由SM返回到SU的响应信息(简称响应信息)。
3.2协议的基本格式
表1协议的基本格式
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
CID1
CID2
LENGTH
INFO
CHKSUM
EOI
基本格式的注解见表2、表3。
注意:
在基本格式中的各项除SOI和EOI是以十六进制解释(SOI=7EH,EOI=0DH),十六进制传输外,其余各项都是以十六进制解释,以ASCII码的方式传输,每个字节用两个ASCII码表示,即高四位用一个ASCII码表示,低四位用一个ASCII码表示。
例:
CID2=4BH,传送时顺序发送34H,42H。
因此,上表以及以下各表中“字节数”是指“解释字节数”,除SOI和EOI外,实际传输字节数应该乘以2。
表2基本格式注解
序号
符号
表示意义
备注
1
SOI
起始位标志(STARTOFINFORMATION)
(7EH)
2
VER
通信协议版本号
(21H)
3
ADR
设备地址描述(1~254,0、255保留)
4
CID1
控制标识码(设备类型描述)
5
CID2
命令信息:
控制标识码(数据或动作类型描述)响应信息:
返回码RTN(返回码见表3)
6
LENGTH
INFO字节长度(包括LENID和LCHKSUM),数据格式见3.3
7
INFO
命令信息:
控制数据信息COMMANDINFO应答信息:
应答数据信息DATAINFO
8
CHKSUM
校验和码,数据格式见3.3
9
EOI
结束码
CR(0DH)
表3返回码RTN
序号
RTN值(HEX)
表示意义
备注
1
00H
正常
2
01H
VER错
3
02H
CHKSUM错
4
03H
LCHKSUM错
5
04H
CID2无效
6
05H
命令格式错
7
06H
无效数据
8
80H~EFH
其他错误
用户自定义
3.3数据格式
3.3.1基本数据格式
在7.2基本格式中的各项除SOI和EOI是以(SOI=7EH,EOI=0DH)十六进制传输外,其余各项都是以ASCII码的方式传输,每个字节用两个ASCII码表示,即高四位一个ASCII码表示,低四位用一个ASCII码表示。
例:
CID2=4BH,传送时顺序发送34H,42H。
3.3.2LENGTH数据格式
LENGTH的数据格式如表4所示。
表4LENGTH数据格式
高字节
低字节
校验码LCHKSUM
长度标示码LENID(表示INFO的传送中ASCII码字节数)
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
LENGTH共2个字节,由LENID和LCHKSUM组成,LENID表示INFO项的ASCII码字节数,当LENID=0时,INFO为空,即无该项。
LENGTH传输中先传高字节,再传低字节,分四个ASCII码传送。
校验码的计算:
D11D10D9D8+D7D6D5D4+D3D2D1D0,求和后模16余数取反加1。
例:
INFO项的ASCII码字节数为18,即LENID=000000010010B。
D11D10D9D8+D7D6D5D4+D3D2D1D0=0000B+0001B+0010B=0011B,模16余数为0011B,0011B取反加1就是1101B,即LCHKSUM为1101B。
可得:
LENGTH为1101000000010010B,即D012H。
3.3.3CHKSUM数据格式
CHKSUM的计算是除SOI、EOI和CHKSUM外,其他字符按ASCII码值累加求和,所得结果模65536余数取反加1。
例:
收到或发送的字符序列是:
“~20014043E00200FD3BCR”(“~”为SOI,“CR”为EOI),则最后五个字符“FD3BCR”中的FD3B是CHKSUM,计算方法是:
‘2’+‘0’+‘0’+…+‘E’+‘0’+‘0’+‘2’+‘0’+‘0’
=32H+30H+30H+…+45H+30H+30H+32H+30H+30H
=02C5H
其中‘1’表示1的ASCII码值,‘E’表示E的ASCII码值。
02C5H模65536余数是02C5H,02C5H取反加1就是FD3BH。
3.3.4INFO数据格式
3.3.4.1整型数(INTEGER,2BYTE)
有符号整型数-32768~+32767
无符号整型数0~+65535
两个字节的整型数据传送顺序为先高字节后低字节。
3.3.4.2无符号字符型(CHAR,1BYTE,0~255)
3.3.4.3日期时间格式
表5日期时间格式
年
(1~9999)
INTEGER
(无符号整型2BYTE,十六进制)
月
(1~12)
CHAR
(字符型1BYTE,十六进制)
日
(1~31)
CHAR
(字符型1BYTE,十六进制)
时
(0~23)
CHAR
(字符型1BYTE,十六进制)
分
(0~59)
CHAR
(字符型1BYTE,十六进制)
秒
(0~59)
CHAR
(字符型1BYTE,十六进制)
4.编码表
CID1、CID2编码分配及分类表见表6和表7。
表6设备类型编码分类表(CID1)
序号
内容
CID1
备注
1
分散空调
60H
表7命令信息编码分类表(CID2)
序号
内容
CID2
备注
1
获取模拟量量化后数据(定点数)
42H
2
获取开关输入状态
43H
3
遥控
45H
4
获取系统参数(定点数)
47H
5
设定系统参数(定点数)
49H
6
获取监测模块时间
4DH
7
设定监测模块时间
4EH
8
获取通信协议版本号
4FH
9
获取设备地址
50H
10
获取设备(监测模块)厂家信息
51H
11
获取报警状态
80H
12
获取报警历史
81H
5.协议内容
5.1获取模拟量量化后数据(定点数)
表8命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
60H
42H
LENGTH
CHKSUM
EOI
注1:
LENID=0
表9响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
60H
RTN
LENGTH
DATAINFO
CHKSUM
EOI
注1:
LENID=12
注2:
DATAINFO由DATAI组成,DATAI见表10。
表10数据类型
序号
遥测内容
数据类型
字节
1
室内温度
无符号整型
2
2
室内湿度
无符号整型
2
3
室外温度
无符号整型
2
注3:
SM将检测到的温湿度数据乘10取整,例:
实际的室内温度为24.0度,则返回的解释字节为01F0H(十进制为240),传送字节为30H,31H,46H,30H。
5.2获取开关输入状态
表11命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
60H
43H
LENGTH
CHKSUM
EOI
注1:
LENID=0
表12响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
60H
RTN
LENGTH
DATAINFO
CHKSUM
EOI
注1:
LENID=4
注2:
DATAINFO由RUNSTATE组成,RUNSTATE为空调运行状态,如表13。
表13空调运行状态
序号
内容
字节
1
空调状态
1
2
0x00
1
空调状态字节含义:
00H:
关机01H:
开机
5.3遥控
表14命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
60H
45H
LENGTH
COMMANDINFO
CHKSUM
EOI
注1:
LENID=2
注2:
COMMANDINFO为1个字节,由COMMANDTYPE组成。
COMMANDTYPE=10H,遥控空调开机;
COMMANDTYPE=1FH,遥控空调关机;
表15响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
60H
RTN
LENGTH
CHKSUM
EOI
注1:
LENID=0
5.4获取系统参数(定点数)
表16命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
60H
47H
LENGTH
CHKSUM
EOI
注1:
LENID=0
表17响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
60H
RTN
LENGTH
DATAINFO
CHKSUM
EOI
注1:
LENID=26
注2:
用户自定义参数数量p为0
注3:
DATAINFO由DATAI组成,为空调参数,见表18。
表18空调参数内容及传送顺序
序号
内容
TYPE
DATAI字节
1
开机温度(保留)
0x80
2
2
关机湿度(保留)
0x81
2
3
温度设定点
0x82
2
4
温度偏差
0x83
2
5
湿度设定点
0x84
2
6
湿度偏差
0x85
2
7
用户自定义参数数量p
1
8
用户自定义字节
p⨯2
注:
SM温湿度设定点、偏差等数据乘10取整,例:
实际的温度设定点为24度,则返回的解释字节为01F0H(十进制为240),传送字节为30H,31H,46H,30H。
5.5设定系统参数(定点数)
表19命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
60H
49H
LENGTH
COMMANDINFO
CHKSUM
EOI
注1:
LENID=6
注2:
COMMANDINFO由COMMANDTYPE和COMMANDDATAI组成,见表18。
表20响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
60H
RTN
LENGTH
CHKSUM
EOI
注1:
LENID=0
5.6获取监测模块时间
表21命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
CID1
4DH
LENGTH
CHKSUM
EOI
注1:
LENID=0
表22响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
CID1
RTN
LENGTH
DATAINFO
CHKSUM
EOI
注1:
LENID=14
注2:
DATAINFO由DATATIME组成,内容如表23。
表23时间内容及传送顺序
序号
名称
范围
字节
1
年
0~9999
2
2
月
1~12
1
3
日
1~31
1
4
时
0~23
1
5
分
0~59
1
6
秒
0~59
1
5.7设定监测模块时间
表24命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
CID1
4EH
LENGTH
COMMANDINFO
CHKSUM
EOI
注1:
LENID=14
注2:
COMMANDINFO由COMMANDTIME组成,内容如表23。
表25响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
CID1
RTN
LENGTH
CHKSUM
EOI
注1:
LENID=0
5.8获取通信协议版本号
表26命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
CID1
4FH
LENGTH
CHKSUM
EOI
注1:
LENID=0
注2:
VER为任意值
表27响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
CID1
RTN
LENGTH
CHKSUM
EOI
注1:
LENID=0
注2:
SM收到该命令后,不判断收到命令的VER,将协议的版本号填入到响应信息中的VER字段。
例:
当版本号为2.1时,则VER为21H;版本号为5.12时,VER为5CH。
本协议的版本号为2.1。
5.9获取设备地址
表28命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
CID1
50H
LENGTH
CHKSUM
EOI
注1:
LENID=0
注2:
VER与ADR可以为任意值,SM收到后不判断VER与ADR,对任意值的VER与ADR都响应。
此命令只能适用于点到点的通信方式。
表29响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
CID1
RTN
LENGTH
CHKSUM
EOI
注1:
LENID=0
注2:
ADR为该SM的地址
5.10获取设备(监测模块)厂家信息
表30命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
CID1
51H
LENGTH
CHKSUM
EOI
注1:
LENID=00H
表31响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
CID1
RTN
LENGTH
DATAINFO
CHKSUM
EOI
注1:
LENID=34
注2:
DATAINFO内容如表33。
表32DATAINFO内容
序号
名称
字节
1
采集器名称
10
2
厂家软件版本
4
3
厂家名称
20
注3:
采集器名称和厂家名称均为ASCII码字符;软件版本为4字节,例如生产厂家版本号为2.11,则解释字节为020BH,发送字节30H,32H,30H,42H。
5.11获取报警状态
表33命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
60H
80H
LENGTH
COMMANDINFO
CHKSUM
EOI
注1:
LENID=2
注2:
COMMANDINFO为1字节,由COMMANDTYPE组成。
COMMANDTYPE=00H上送第一条告警状态;
COMMANDTYPE=01H上送下一条告警状态;
COMMANDTYPE=02H上送上一条告警状态;
COMMANDTYPE=03H上送最后一条告警状态。
表34响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
60H
RTN
LENGTH
DATAINFO
CHKSUM
EOI
注1:
LENID=12
注2:
DATAINFO由WARNSTATE和DATATIME组成;
表35报警内容及传送顺序
序号
内容
字节
1
WARNSTATE
1
2
DATATIME
5
DATATIME为历史告警发生时间,由月(1byte)、日(1byte)、时(1byte)、分(1byte)、秒(1byte)组成。
WARNSTATE为空调告警类型,内容见表36。
表36空调告警类型
序号
内容
1
高压报警
2
低压报警
3
高温报警
4
低温报警
5
高湿报警
6
低湿报警
7
电源故障报警
8
短周期报警
9
用户自定义1报警
10
用户自定义2报警
11
主风机维护报警
12
加湿罐维护报警
13
过滤网维护报警
14
通讯故障报警
15
盘管冻结报警
16
加湿器故障报警
17
传感器板丢失
18
排气温度
19
电源丢失
5.12获取报警历史
表37命令信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
60H
81H
LENGTH
COMMANDINFO
CHKSUM
EOI
注1:
LENID=2
注2:
COMMANDINFO为1字节,由COMMANDTYPE组成。
COMMANDTYPE=00H上送第一条历史告警;
COMMANDTYPE=01H上送下一条历史告警;
COMMANDTYPE=02H上送上一条历史告警;
COMMANDTYPE=03H上送最后一条历史告警。
表38响应信息
序号
1
2
3
4
5
6
7
8
9
字节数
1
1
1
1
1
2
LENID/2
2
1
格式
SOI
VER
ADR
60H
RTN
LENGTH
DATAINFO
CHKSUM
EOI
注1:
LENID=22
注2:
D