协 议 简 介
DL/T645-2007是中国电力行业的标准协议,全称为《多功能电能表通信协议》。它规定了电能表与外部设备(如数据采集器、集中器等)之间的通信规则,主要用于电能表的数据读取、参数设置、设备控制等操作。
该协议是电力系统中电能表通信的基础标准之一,广泛应用于智能电网、能源管理等领域。
简单来说, DL/T645-2007协议简单易用,开发门槛低,数据解析无需复杂计算,硬件广泛支持,维护成本低。
相反, DL/T698.45协议采用对象模型,扩展性强,可实现高效通信,不仅能采集数据,还支持远程控制,故障诊断,适用于智能电网等复杂场景。
但698却无法完全替代645,原因是645开发和使用成本更低,对于简单抄表场景,645性价比更高,所以,在短期内,DLT645仍是存量市场的主力协议。
DLT645协议覆盖了电能表的所有功能,包括电能量、事件、冻结、需量、负荷记录、身份认证、写入数据、广播校时等等,功能虽然很多,但是实际项目中经常用到的只有那几个功能,我们不用研究太深入,掌握基础功能满足项目要求就可以了。
DL/T645-2007协议的帧格式
字段 | 代码 | 长度(字节) | 说明 |
起始符 | 68H | 1 | 固定为0x68 |
地址域 | A0A1A2A3A4A5 | 6 | 电能表的地址(唯一标识) |
起始符 | 68H | 1 | 固定为0x68 |
控制码 | C | 1 | 指示操作类型(读、写等) |
数据长度 | L | 1 | 数据域的长度 |
数据域 | DATA | 可变 | 具体的数据内容 |
校验码 | CS | 1 | 从起始符到数据域的累加和校验 |
结束符 | 16H | 1 | 固定为0x16 |
DLT645协议帧格式解读
前导字节:
在 主站 发送帧信息之前, 建议先发送 4 个字节 FEH ,以唤醒接收方。
帧起始符 68H:
标识一帧信息的开始,其值为 68H=01101000B 。
地址域:
地址域由6 个字节构成,每字节 2 位 BCD 码,地址长度可达12 位十进制数。
每块表具有唯一的通信地址,且与物理层信道无关。当使用的地址码长度不足 6 字节时, 高位用 “ 0 ” 补足。
通信地址 999999999999H 为广播地址,只针对特殊命令有效,如广播校时 和 广播冻结等。广播命令不要求从站应答 。
地址域 支持缩位寻址,即从若干低位起,剩余高位补 AAH 作为通配符进行读表操作,从站应答帧的地址域返回实际通信地址。
地址域传输时低字节在前,高字节在后。
控制码 C:
控制码的格式如下所示:
以下为解析示例中会用到的控制码:
▌示例:C=11H,为请求读电能表数据,转换为二进制:00010001,对应到以上格式就是D7为0(主站发出的命令帧),D6为0(从站正确应答),D5为0(无后续数据帧),D4~D0:10001为读数据。
▌示例: C=93H,为从站正常应答帧,转换为二进制:10010011,对应到以上格式就是D7为1(从站发出的应答帧),D6为0(从站正确应答),D5为0(无后续数据帧),D4 ~D0:10011为读通讯地址。
▌ 示例: C=91H,为从站正常应答帧,转换为二进制: 10010001 ,对应到以上格式就是D7为1(从站发出的应答帧),D6为0(从站正确应答),D5为0(无后续数据帧),D4 ~D0:10001为读数据。
▌ 示例: C=13H,为请求读电能表通信地址,仅支持点对点通信。转换为二进制: 00010011 ,对应到以上格式就是D7为0(主站发出的应答帧),D6为0(从站正确应答),D5为0(无后续数据帧),D4 ~D0:10011为读通讯地址。
数据域长度 L:
L为数据域的字节数。读数据时 L ≤ 200 ,写数据时 L ≤ 50 , L =0 表示无数据域。
数据域 DATA:
数据域包括数据标识、密码、操作者代码、数据、帧序号等,其结构随控制码的功能而改变。
传输时发送方按字节进行加 33H 处理,接收方按字节进行减 33H 处理。所有数据项均先传送低位字节,后传送高位字节。数据传输的举例:电能量值为 123456.78kWh ,其传输次序如图:
校验码 CS:
从第一个帧起始符开始到校验码之前的所有各字节的模 256 的和,即各字节二进制算术和,不计超过 256 的溢出值。
结束符 16H:
标识一帧信息的结束,其值为 16H=00010110B。
DLT645获 取 电 表 地 址 示 例
发送查询指令帧:FEFEFE68AAAAAAAAAAAA681300DF16
解析:FEFEFE(前缀唤醒电表)
68(起始符) AAAAAAAAAAAA(电表地址编号通配符)
68(起始符)
13(控制码)
00(数据域长度)
DF(校验码)
16(结束符)
返回帧:FEFE680000000000556893063333333333884516
解析:FEFE(唤醒前缀)
68(起始符) 603000042420(电表通信地址)
68(起始符)
93(控制码)
06(数据域长度) C7333333333388(数据域,减去33后反转数据就是电表通讯地址)
45(校验码)
16(结束符)
DLT645报 文 解 析 示 例
发送查询指令:68000000000055681104333334334516
解析:68(起始符)
000000000055(电表通信地址)
68(起始符)
11(控制码:请求读取电能表数据)
04(数据域长度)
33333433(减33H,然后反转,就是00010000)
45(校验码)
16(结束符)
返回指令:680000000000556891083333343369AA85385B16
解析:68(起始符)
000000000055(电表通信地址)
68(起始符)
91(控制码,没有后续)
08(数据域长度,数据域有8个字节)
3333343369AA8538(减33后反转数据:05527736000100;由于此电能表电能小数位为2位,则实际为:55277.36kWh)
5B(校验码)
16(结束符)
以来示例源自瑞银电子的上位机软件,与电能表通讯进行实例演示,以下截图是上位机软件读取电能表正向有功总能量的实例。
上位机软件上的数据一共四条:
▌第一条发送命令,控制码是C=13H(主站/上位机请求读通讯地址)。是采用AAAAAAAAAAAA缩位寻址,请求电能表的通讯地址。
▌第二条为接收到电能表的数据,控制码是 C=93H(电表返回通讯地址)。返回电能表真实通讯地址:550000000000
▌第三条为上位机发送读取电能表正向有功总电能的命令,控制码是 C=11H(主站/上位机请求读电表数据)。
▌第四条为电能表回传的 电能表正向有功总电能的数据,控制码是 C=91H,(电表返回主站/上位机需要读取的数据)。
徐昌国销售工程师
以上,基本介绍清楚了 DL/T645协议的数据格式,而实际上,就不需要我们像机器那样去解读每条命令/报文,只需了解协议的规则即可!
DJZ1226直流智能电能表通讯协议
当然,作为研发人员,懂这方面是真有必要,以上给出瑞银电子DJZ1226直流智能电能表的通讯协议二维码下载链接(如无法下载,请联系客服),购买过瑞银电子DJZ1225直流电能表的用户,可以结合更加全面的 DL/T645-2007协议,去深入了解。
审核编辑 黄宇