DLT645协议介绍

DLT645协议用于电表抄表,采用主-从结构的半双工RS-485通讯。协议帧包括起始符、地址域、控制码、数据域长度、数据域、校验码和结束符。地址域标识电表,控制码如0x11用于读取数据,0x13用于读取通讯地址。数据域长度可变,数据传输时需加0x33。应答帧包含相同的结构,且有前导码FEH。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考

DLT645协议解析(二)---07协议数据帧结构解析 https://www.bilibili.com/read/cv18306889?spm_id_from=333.999.0.0

目前主要使用的有两个版本DLT645-97和DLT645-07,该协议主要用于电表抄表,采用为主-从结构的半双工通讯模式,硬件接口使用RS-485,协议帧报文和使用方法与modbus rtu类似,我们学习时可以将两者进行比较来加强记忆。

帧格式

DLT645协议的数据帧由,起始符、地址域、控制符、数据域长度、数据域、检验码、结束符组成,每个部分都由十六进制码构成。

1.帧起始符 68H

DLT645协议的数据帧每帧的开始都固定为0x68,作为数据的起始符方便接收方做数据解析。

2.地址域 A0~A5

地址域是用来表示电表地址,低位在前,高位在后;在485总线上可能挂着多个645设备,要找到指定的设备,必须要根据设备的地址查找。每台设备出厂会有自己的地址,也可以修改设备的通信地址。如下图

无线数传模块

该设备的地址为00013310。

3.控制码

1个字节,例如读取数据的控制码为0x11(00010001),读取通讯地址的控制码为0x13(00010011)。

4.数据长度L

1个字节,表示数据域的字节数,读取数据时L<= 200;写数据时L <= 50,L=0表示无数据域。

5.数据域

数据域为变长,字节数由数据长度L决定,传输时候。发送方需要加0x33,接收方需要减去0x33。

6. CS校验码

1个字节,采用算术和进行校验。

7.结束符16H

DLT645的指令帧均已0x16作为结束符。

应答帧

无线通信协议传输

在发送帧信息之前,需要根据设备需要先发送前导码,前导码由0-4个FEH组成,所有数据项都是按照低字节在前,高字节在后的方式传输。通讯的时候现有主站发出信息帧,然后从站收到后根据信息做应答。

例如

发送:68 03 20 12 22 20 65 68 11 04 33 33 33 33 8D 16

应答:68 03 20 12 22 20 65 68 91 08 33 33 33 33 33 33 33 33 DD 16

发送:FE FE FE FE 68 18 20 12 22 20 65 68 11 04 33 32 34 35 A4 16

应答:FE FE FE FE 68 18 20 12 22 20 65 68 91 0A 33 32 34 35 33 33 33 33 C7 56 13 16

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值