M-BUS协议解析与应用笔记

需积分: 10 11 下载量 187 浏览量 更新于2024-07-21 1 收藏 1.75MB DOCX 举报
"M-Bus (Meter-Bus) 是一种用于能源和水表等计量设备的数据通信协议,常用于远程读取数据。本资源主要关注M-Bus协议的应用,特别是对于热表软件开发中的解析。内容包括响应帧(RSP_UD)的详细结构,以及与数据链路层和应用层相关的部分。" M-Bus 协议是欧洲广泛使用的智能计量设备通信标准,用于在主站和多个从站之间传输测量数据。协议定义了不同类型的报文,例如响应帧(RSP_UD),用于从从站向主站发送数据。在提供的内容中,展示了一个RSP_UD帧的示例,其由以下几个部分组成: 1. **头标**: `681F1F68` 表示RSP_UD电报的起始标识,长度为`1Fh`(31字节)。 2. **控制字段** (`C-field`): `080272` 其中`08`表示响应类型,`02`是地址,`72H`表示变长数据结构。 3. **识别号** (`Identification number`): `78563412` 设备的唯一标识。 4. **制造商ID** (`Manufacturer ID`): `24400107` 这里表示制造商是PAD(按照EN61107标准),代指水表。 5. **温度和状态信息** (`TC` and `Status`): `55000000` 温度值`55h`(85摄氏度),状态`00h`,签名`0000h`。 6. **数据块** (`Datablocks`): 包含不同测量数据,如瞬时体积、最大流量和瞬时能量等。每个数据块由单元标识、存储编号、费率、数据值等组成。 7. **校验和与停止标志** (`Checksum and stop sign`): `1816` 用于检查数据的完整性和正确性。 在M-Bus的通信过程中,`SND-NKE`和`SND-UD`是两种回应类型,前者表示从站正确接收到了信息,后者则不提供传输数据的确认。此外,`CI`的数值与特定的功能和响应相关,例如厂商表的版本和介质类型。地址254和255有特殊用途,254用于要求所有从站报告它们的地址,而255则不需回应。 固定数据响应(Fixed Data Response, FDR)类型的数据传输则不涉及数据接口标识符(DIF)和变量接口标识符(VIF)。对于地址251、252和253,它们各有特定的含义,如253通常代表应用层的地址而非数据连接层。 M-Bus协议的第五章(Data Link Layer)和第六章(Application Layer)分别描述了数据链路层和应用层的规范,这部分内容可能包括帧的构建、错误处理、网络管理等方面。 在进行热表软件开发时,理解和解析这些M-Bus报文结构至关重要,因为它们决定了如何正确地读取和解释来自计量设备的数据。通过深入理解M-Bus协议,开发者能够构建出高效、可靠的远程数据采集系统。