M-Bus 和 DLT645-2007 通讯协议 - 文章教程

M-Bus 和 DLT645-2007 通讯协议

发布于 2021-01-01 字数 2071 浏览 1835 评论 0

M-Bus(meter-bus) 是一个专用于公共事业仪表的总线结构,《DL/T645-2007多功能电能表通信协议》是发改委发布的一项用于国内电能表数据通信的协议规范,相当于MBus的”汉化版”。

MBus 总线协议帧格式

|–前导字节–|–帧起始符–|–仪表类型–|–从站地址域–|–控制码–|–数据长度–|–数据域–|–纵向校验码–|–帧结束–| 字节格式:8位数据位+1个起始位+1个奇偶校验位+1停止位。传输时,低位在前,高位在后。

前导字节

通信前设备发送一定数目的FEH,本质上是物理层的要求,用于唤醒设备和同步,一般是2~4个FE

帧起始符

表示一帧信息的开始,为68H

仪表类型

指示参与通信的从站是那种类型的计量仪表:

  • 10H~19H: 水表
  • 20H~29H: 热表
  • 30H~39H: 燃气表

地址域

地址域指示与之通信的从站的地址,由7个字节组成A0A1A2A3A4A5A6,每个字节为2为BCD码,其中A5A6为厂商代码,低地址在前高地址在后,AAH为通配地址,当为AAAAAAAAAAAAAA时,代表广播。

控制码

帧信息控制代码,一个字节,字节的低6位代表相应信息的控制码(如000100代表读计量数据),第7位表示从站应答信息(0-正确应答,1-异常信息的应答),第8位表示帧的发送方(0-主站的控制帧,1-从站应答帧)。

数据长度

数据域的数据长度。

数据域

数据,含义根据控制码及上下文确定。发送方进行加33H处理,接收方进行减33H处理。

纵向校验码

从帧起始符开始到校验码之前得所有字节的二进制算术累加和,无进位。

帧结束符

表示一帧信息的结束,为68H

数据传输

  • 所有多字节数据域(地址域、数据域)均先传送地位后高位,例如传输数据0x12345678,先发送数据0x78,依次发送0x560x340x12
  • 通讯为半双工通信,每次通信均为主站请求、从站应答。
  • 字节奇偶校验错误、帧校验错误都代表数据通信异常,丢弃信息帧。
  • 最长响应时间为Tr = 50ms + 30 * Tbyte,其中Tbyte为传输一个字节所需时间。

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

2583 文章
29 评论
84935 人气
更多

推荐作者

Jay

文章 0 评论 0

guowei007

文章 0 评论 0

2668157715

文章 0 评论 0

HY阳

文章 0 评论 0

想挽留

文章 30 评论 3