超声波热量表MBUS通讯协议
超声波热量表通信协议(白色)
综述
此协议是依照现有的热量表产品功能进行整理的.
传输时波特率为2400bps、偶校验、数据位为8位、停止位为1位。同一帧数据中无特殊说明时为低字节在前,高字节在后。
一、帧格式
68H | T | A0 | A1 | A2 | A3 | A4 | A5 | A6 | C | L | DATA | CS | 16H |
帧前导符:
在发送数据帧前,先发送1-4个0XFE。
帧起始符 68H:
标识一帧信息的开始,其值为68H=01101000B。
仪表类型T
在此协议中全固定为20H,表示热量表(计热量)。
地址域A0---A6
地址域(A0--A6)由7字节BCD码组成。低在前,高在后。
(A0、A1、A2、A3为要读取的热量表的地址。A4,A5,A6默认为全0。)
控制码C
控制码的格式如下所示。
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
D7=0:由主站发出的命令帧
D7=1:由从站发出的应答帧
D6=0:从站正确应答
D6=1:从站对异常信息的应答
D5~D0:
000001:读数据
000100:写数据
000011:读地址(表号)
010101:写地址(表号)
1XXXXX:厂商自定义.
其他: 暂保留未用
数据长度L:
L 为数据域的字节数。L=0 表示无数据域。
数据域DATA:
数据域包括数据标识、序列号和数据等,其结构随控制码的功能而改变。
校验码CS:
从帧起始符开始到校验码之前的所有各字节的模256 的和,即各字节二
进制算术和,不计超过256 的溢出值。
结束符 16H:标识一帧信息的结束,其值为16H=00010110B
二、 协议帧
2.1 读数据
2.1.1 主站请求帧
功能 : 请求读数据
控制码 : C=CTR_0
数据长度 : L=03H
数据标识 : DI0,DI1;
序列号 : SER
帧格式:
68H | T | A0 | … | A6 | CTR_0 | 03H | DI0 | DI1 | SER | CS | 16H |
2.1.2 从站正常应答帧
功能 : 从站正常应答
控制码 : C=CTR_1
数据长度 : L=03H+m(数据长度)
数据标识 : DI0,DI1;
序列号 : SER
帧格式:
68H | T | A0 | … | A5 | CTR_1 | L | DI0 | DI1 | SER | N1 | … | Nm | CS | 16H |
2.1.3 从站异常应答帧
功能 : 从站收到非法的数据请求或无此数据
控制码 : C=CTR_2
数据长度 : L=03H
序列号 : SER
帧格式:
68H | T | A0 | … | A5 | CTR_2 | L | SER | ST0 | ST1 | CS | 16H |
注:序列号SER,状态ST0,ST1见备注1。
2.1.4 主站请求读控制字
功能 | 控制码CTR_0 | 正常应答控制码CTR_1 | 异常应答控制码CTR_2 | 备注 |
读数据 | 01H | 81H | C1H | |
读表号 | 03H | 83H | C3H | 广播命令 |
2.1.5 主站请求读数据标识说明
序号 | 名称 |
数据 标识 DI0,DI1 |
数据长度 | 从站应答报文 | 备注 |
1 | 读计量数据 | 901FH | 2EH | DI0,DI1,SER,结算日热量,当前热量,热功率,流量,累积流量,进水温度,回水温度,累积工作时间,实时时间,状态ST | 可以广播 |
2 | 历史计量数据 | D120H | 08H | DI0,DI1,SER,上1月结算日热量 | 读历史月数据2-18依次为 D121H — D131H。 |
3 | 读结算日 | 8103H | 04H | DI0,DI1,SER,结算日 | |
4 | 读密码版本 | 8106H | 04H | DI0,DI1,SER,密钥版本 | |
5 | 广播读表号 | 810AH | 03H | DI0,DI1,SER | 只能单机操作 |
6 | 读校表数据 | 0032H | 1BH | DI0,DI1,SER,流量,临时累积流量,进水温度,回水温度,热功率,临时累积热量 | 见备注2 |
4.数据表达格式说明
名称 | 数据格式 | 单位代号 | 数据长度 | 备注 |
热功率 | XXXXXX.XX | 有(kW) | 5 | BCD码 |
结算日热量 | XXXXXX.XX | 有(kWh) | 5 | BCD码 |
当前热量 | XXXXXX.XX | 有(kWh) | 5 | BCD码 |
流量 | XXXX.XXXX | 有(m3/h) | 5 | BCD码 |
结算日累积流量 | XXXXXX.XX | 有(m3) | 5 | BCD码 |
当前累积流量 | XXXXXX.XX | 有(m3) | 5 | BCD码 |
累积工作时间 | XXXXXX | 无(h) | 3 | BCD码 |
供水温度 | XXXX.XX | 无(℃) | 3 | BCD码 |
回水温度 | XXXX.XX | 无(℃) | 3 | BCD码 |
实时时间 | YYYYMMDDhhmmss | 无 | 7 | BCD码 |
结算日 | DD | 无 | 1 | BCD码 |
序列号SER | HH | 无 | 1 | HEX |
密钥 | HHHHHHHHHHHHHHHH | 无 | 8 | HEX |
数据标识DI | XXXX | 无 | 2 | HEX |
5.单位代号表
单位 | 代号 | 单位 | 代号 |
kWh | 05H | m3/h | 35H |
kW | 17H | m3 | 2CH |
状态ST0定义表
D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | |
定义 | 电池电压 | |||||||
说明 | 保留 | 保留 |
0:正常 1:欠压 |
保留 | 保留 | 保留 | 保留 | 保留 |
备注1:
SER固定为00。
ST1固定为00。
通信V1.2版
1,读写实时时间的格式改为低在前高在后.写密钥时,也应按低在前高在后下发.
2,组帧时的数据标识,应该为DI0在前,DI1在后.所有命令帧的数据标识部分都应颠倒过来.
3,关于自定义的命令的命令字(188协议的扩展)
3-1,读命令为31H,写命令为34H.
3-2,读写数据命令中,在DI0,DI1,后增加SER.
3-3,数据区的内容均为低在前,高在后.
![]() |
MBUS通讯协议 |