DL/T645-2007通信协议指令学习记录

DL/T645-2007通信协议指令学习记录

  • DL/T645协议版本
  • DL/T645通信链路
  • DL/T645-2007数据格式
    • 地址域
    • 控制码C
    • 数据长度L
    • 数据域 DATA
    • 校验码 CS
    • 数据标识
    • 后记

DL/T645协议版本

DL/T645协议目前存在DL/T645-1997、DL/T645-2007两个版本。

  1. DL/T645-1997是1997年版本,DL/T645-2007是2007年的修正版本;
  2. 目前电表根据型号不同可能支持其中一个版本,开发时需要注意;
  3. 篇幅有限只做DL/T645-2007学习记录。

DL/T645通信链路

DL/T645协议设计初时采用RS-485 标准串行电气接口,为主-从结构的半双工通信方式。所以设计了起始符、结束符、效验码等标记保证数据准确性,当然也可以通过TCP方式通信。

DL/T645-2007数据格式

每条数据由:帧起始符、从站地址域、控制码、数据域长度、数据域、帧信息纵向校验码及帧结束符7个域组成。每部分由若干字节组成。
DL/T645-2007通信协议指令学习记录_第1张图片
一般在起始符前面会有0~4个FE不等,程序主站发送指令时,直接发送4个FE即可,但是从站回复不一定带几个FE或不带FE。

地址域

地址域由6个字节组成,地址域传输时低字节在前,高字节在后。设备地址是100210003518,在指令中是18 35 00 10 02 10。
如:68 18 35 00 10 02 10 68 11 04 33 34 34 35 24 16

控制码C

这部分类似于Modbus的功能码,但是比功能码更加复杂,所携带的信息更多,程序根据这个控制码C判断后续的操作。
DL/T645-2007通信协议指令学习记录_第2张图片
以读取A相电压为例
主站请求:68 18 35 00 10 02 10 68 11 04 33 34 34 35 24 16
从站回复:68 18 35 00 10 02 10 68 91 06 33 34 34 35 7C 55 77 16
请求控制码是11,转为二进制是:0001 0001。
根据控制码定义可以得出含义是:传送方向:0主站发出、功能码:10001读数据。
回复控制码是91,转为二进制是:1001 0001。
根据控制码定义可以得出含义是:传送方向:1从站发出、功能码:10001读数据。

数据长度L

请求数据04,表示包含4个字节的数据。响应06同理。

数据域 DATA

数据域包括数据标识、密码、操作者代码、数据、帧序号等,其结构随控制码的功能而改变。
数据域传输时低字节在前,高字节在后
传输时发送方按字节进行加33H处理,接收方按字节进行减33H处理
以读取A相电压为例
主站请求:68 18 35 00 10 02 10 68 11 04 33 34 34 35 24 16
从站回复:68 18 35 00 10 02 10 68 91 06 33 34 34 35 7C 55 77 16
请求数据域是33 34 34 35为加33H的结果,转为原始数据为02 01 01 00。
响应数据域是33 34 34 35 7C 55,转为原始数据为22 49 02 01 01 00,所以A相电压数值为224.9。(电压数据格式是XXX.X)
DL/T645-2007通信协议指令学习记录_第3张图片

校验码 CS

从第一个帧起始符开始到校验码之前的所有各字节的模 256 的和,即各字节二进制算术和,不计超过 256 的溢出值。

数据标识

数据标识编码用四个字节区分不同数据项,四字节分别用DI3、DI2、DI1和DI0代表,每字节采用十六进制编码。数据类型分为七类:电能量、最大需量及发生时间、变量、事件记录、参变量、冻结量、负荷记录。
单个数据项可以用对应数据项的标识码唯一地标识。
如单独读取A相电压的数据标识为:02 01 01 00、B相为:02 01 02 00、C相为:02 01 03 00。
主站请求:68 18 35 00 10 02 10 68 11 04 33 34 34 35 24 16
数据标识DI2 、DI1 、DI0中任意一字节取值为FFH时(其中DI3不存在FFH的情况),代表该字节定义的所有数据项与其它三字节组成的数据块。
当请求访问由若干数据项组成的数据集合时,可使用数据块标识码。
如同时读取三相电压的数据标识为:02 01 FF 00。
主站请求:68 18 35 00 10 02 10 68 11 04 33 32 34 35 22 16

后记

本文只是记录本人学习过程中的理解,可能有部分内容有纰漏,望各位不吝赐教。
下篇DL/T645-2007通信协议应用层学习记录

你可能感兴趣的:(DLT/645,网络,网络协议)