DLT645和modbus rtu无线通信协议介绍对比
超详细!DLT645通信协议介绍
无线通信协议传输简介
目前主要使用的有两个版本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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库