【工业总线-05】DL/T 645-2007 电力抄表协议深入学习文档

DL/T 645 是我国电力行业多功能电能表通信标准,现行主流为 DL/T 645-2007(替代 1997 版),是智能电表、集中器、采集器之间的核心通信规约,主从式、半双工、基于 RS‑485/232,广泛用于用电信息采集系统。


一、协议基础与版本

1.1 版本演进

  • DL/T 645‑1997:初代标准,基础抄表功能。
  • DL/T 645‑2007:现行有效,增强安全、扩展数据标识、支持事件记录 / 冻结 / 校时,兼容 97 版。

1.2 核心定位与架构

  • 通信模式主从式、半双工(主站发起,从站应答,同一时间仅一方发送)。
  • 物理层:异步串行,11 位帧格式(1 起始位 + 8 数据位 + 1 偶校验 + 1 停止位),先传低位(D0)后传高位(D7)
  • 接口:RS‑485(工业现场主流,多机、抗干扰、百米级)、RS‑232(本地调试)。
  • 适用场景:集中器下行抄表、手持终端现场调试、电表参数配置 / 事件读取。

二、数据帧结构(2007 版,最核心)

2.1 完整帧格式(含前导码)

2.2 各字段详解

(1)前导码(可选)

  • 连续 FEH(≥3 字节),用于唤醒从站、同步接收。

(2)帧起始符:68H(固定)

  • 标识一帧开始,接收方以此判定帧头。

(3)地址域:6 字节(A0~A5)

  • 编码:BCD 码,低字节在前(小端),共 12 位十进制地址。
  • 广播地址:999999999999H(仅广播校时 / 冻结有效,无应答)。
  • 缩位寻址:高位用 AAH 通配,仅匹配低位地址。

(4)帧起始符重复:68H(固定)

  • 与前一 68H 形成帧头边界,防干扰。

(5)控制码 C(1 字节,核心命令)

  • 格式:D7 D6 D5 D4 D3 D2 D1 D0
    • D7:方向位(0 = 主→从,1 = 从→主)
    • D6~D0:命令码(读 / 写 / 校时 / 冻结 / 认证等)
  • 常用控制码(2007 版):
    • 11H:读数据(主→从);91H:读数据应答(从→主)
    • 13H:读通信地址;93H:读地址应答
    • 14H:读事件记录;15H:冻结命令;16H:校时命令
    • 17H:身份认证请求;18H:写参数(需密码)

(6)数据长度 L(1 字节)

  • 数据域 有效字节数(0~255),不含校验 / 结束符。

(7)数据域 DATA(变长,核心业务)

  • 数据变换规则:发送时每字节 + 33H,接收时每字节 - 33H(防与帧符冲突)。
  • 数据标识 DI(4 字节:DI3 DI2 DI1 DI0):唯一标识数据项(小端)。
    • 示例(2007 版常用):
      • 00 01 00 00:当前正向有功总电能(单位:kWh)
      • 02 01 01 00:A 相电压(单位:V)
      • 02 02 01 00:A 相电流(单位:A)
  • 数据格式:一律 BCD 码,小端排列。

(8)校验码 CS(1 字节)

  • 计算范围:68H 开始到数据域结束 的所有字节 累加和,取低 8 位。

(9)结束符:16H(固定)

  • 标识一帧结束。

三、2007 版关键增强(对比 1997)

3.1 安全机制(核心升级)

  • 分级密码:编程密码(写参数)、硬件密码(清零 / 开盖)。
  • 身份认证流程
    1. 主→从:17H(认证请求)
    2. 从→主:返回随机数(挑战码)
    3. 主→从:密码 + 随机数运算(如 DES)生成认证码
    4. 从站验证通过后方可执行写 / 清零等敏感操作

3.2 数据标识扩展

  • 支持电能量、需量、电压 / 电流 / 功率、事件记录、冻结数据、时钟等全量电表数据。

3.3 功能扩展

  • 支持定时冻结、瞬时冻结、日冻结、事件记录(开盖 / 掉电 / 过流)、广播校时

四、通信流程与实例(读正向有功总电能)

4.1 主站发送帧(读数据)

  • 拆解:
    • 前导:FE FE FE
    • 地址:01 02 03 04 05 06(电表地址:654321)
    • 控制码:11H(读数据)
    • 长度:04H(数据域 4 字节)
    • 数据域(+33H 后):33 34 33 33 33 30 → 原始:00 01 00 00(正向有功总)
    • CS:累加校验;结束:16H

4.2 从站应答帧

FE FE 68 01 02 03 04 05 06 68 91 08 33 33 33 33 33 33 33 35 CS 16
  • 拆解:
    • 控制码:91H(读数据应答,D7=1)
    • 长度:08H(8 字节数据)
    • 数据域(-33H 后):00 00 00 00 00 00 00 05 → 表示 0.05 kWh

五、开发与调试要点

5.1 编码规则(必记)

  1. 地址 / 数据:一律 BCD 码、小端(低字节在前)
  2. 数据域:发送 + 33H,接收 - 33H。
  3. 校验:从第一个 68H 到数据域末尾累加和(低 8 位)。

5.2 常见问题排查

  • 无应答:检查地址、波特率(默认 2400)、偶校验、接线
  • 数据错误:核对数据标识、±33H、BCD 解码、小端
  • 写参数失败:未通过身份认证 / 密码错误

5.3 工具推荐

  • 串口调试助手(配置:2400,8,E,1)
  • DL/T 645 专用调试软件(自动组帧 / 解析)
  • 逻辑分析仪(抓包验证帧格式)

六、与 Modbus RTU 对比(易混淆)

表格

特性DL/T 645‑2007Modbus RTU
通信模式主从、半双工主从、半双工
帧头68H + 地址 + 68H从站地址
数据编码BCD、+33H 变换二进制 / BCD
校验单字节累加和CRC16
帧尾16H无固定结束符
行业电力电表专用通用工业

七、学习路径与资料

  1. 官方标准:《DL/T 645‑2007 多功能电能表通信协议》(必看)。
  2. 实战:用串口工具发送帧、解析应答,验证读地址 / 电压 / 电能。
  3. 进阶:实现身份认证、写参数、事件读取、冻结 / 校时
  4. 资料:国网用电
  5. 信息采集系统规范、电表厂商通信手册。

下期预告:【工业总线-06】KNX协议深度解析:从原理到嵌入式项目实战 

原创不易,如果本文对你有帮助,欢迎点赞、收藏、关注三连!有任何问题都可以在评论区留言,我会及时回复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值