DLT645-2007电表协议解析
645协议数据发送和接收精讲
本文主要讲解645电表协议读取用电量和电压数值,对协议数据结构进行展开讲解
文章目录
- 645协议数据发送和接收精讲
- 前言
- 一、展示数据寄存器地址和电表图片
- 二、获取用电量
- 1.发送咨询电量命令
- 2.接收电表回传的电量数据
- 三、获取A相电压
- 1.发送咨询电压命令
- 2.接收电表回传的电压数据
前言
之前给移动楼宇做了一个645协议的电表数据上传到云服务,对645协议的数据解析研究了几天过程是比较曲折的,为此总结了快速解析协议的方法方便以后的小伙伴迅速完成数据解析
提示:645协议的电表我用的是485模块进行接收发送的
一、展示数据寄存器地址和电表图片
厂家提供的寄存器列表
电表样式
数据结构展示
fefefefe(帧起始符) 68 292507072120(地址域) 68 11(控制码) 04(数据长度) 33333333(寄存器地址) 4e16
二、获取用电量
1.发送咨询电量命令
发送咨询用电量命令:fefefefe 68 292507072120 68 11 04 33333333 4e16
格式讲解
fefefefe 数据头每条数据都要带
68 针起始符
292507072120 表号 解析为 202107072529 从右向左每一个16进制byte拼接在一起,就是电表贴的条码上的数字
68 针起始符
11 控制码 读取的意思
04 读取寄存器的数据长度
33333333 寄存器,解析为要读取00000000号寄存器,从右向左每一个16进制-33(16进制拼接) (33-33)+(33-33)+(33-33)+(33-33)=00000000
4e 校验位和后两位 68+29+25+07+07+21+20+68+11+04+33+33+33+33=24e 取后两位=4e
16 结束符
2.接收电表回传的电量数据
接收到数据fefefefe 68 292507072120 68 91 08 33333333 a94a3633 2e16
格式讲解
fefefefe 数据头每条数据都要带
68 针起始符
292507072120 表号 解析为 202107072529 从右向左每一个16进制byte拼接在一起
68 针起始符
91 控制码 读取的意思
08 返回寄存器加数据的长度为8个byte
33333333 寄存器,解析为要读取00000000号寄存器,从右向左每一个16进制-33(16进制拼接) (33-33)+(33-33)+(33-33)+(33-33)=00000000
a94a3633 返回的数据,代表电量, 从右向左每一个16进制-33(16进制拼接)(33-33)+(36-33)+(4a-33)+(a9-33)=31776*0.01=317.76 kw/h
2e 校验位和后两位,除去数据头对其它数据进行16进制相加68+29+25+07+07+21+20+68+11+04+33+33+33+33+a9+4a+36+33=42e 取后两位=2e
16 结束符
三、获取A相电压
1.发送咨询电压命令
发送咨询用电压命令:fefefefe 68 292507072120 68 11 04 33343435 4e16
格式讲解
fefefefe 数据头每条数据都要带
68 针起始符
292507072120 表号 解析为 202107072529 从右向左每一个16进制byte拼接在一起
68 针起始符
11 控制码 读取的意思
04 读取寄存器的数据长度
33343435 寄存器,解析为要读取02010100号寄存器,从右向左每一个16进制-33(16进制拼接) (35-33)+(34-33)+(34-33)+(33-33)=02010100
4e 校验位和后两位 68+29+25+07+07+21+20+68+11+04+33+34+34+35=252 取后两位=52
16 结束符
2.接收电表回传的电压数据
接收到数据fefefefe 68 292507072120 68 91 06 33343435 8a56 2e16
格式讲解
fefefefe 数据头每条数据都要带
68 针起始符
292507072120 表号 解析为 202107072529 从右向左每一个16进制byte拼接在一起
68 针起始符
91 控制码 读取的意思
06 返回寄存器加数据的长度为6个byte
33343435 寄存器,解析为要读取02010100号寄存器,从右向左每一个16进制-33(16进制拼接) (34-33)+(33-33)+(33-33)+(33-33)=02010100
8a56 返回的数据,代表电量, 从右向左每一个16进制-33(16进制拼接)(56-33)+(8a-33) =2357*0.1=235.7V
2e 校验位和后两位,除去数据头对其它数据进行16进制相加68+29+25+07+07+21+20+68+91+06+33+34+34+35+8a+56 取后两位=2e
16 结束符
DLT645-2007电表协议解析相关推荐
- RS485电表无线集中采集器电表数据解析MQTT协议json格式
无线电表集中器抄表器通过RS485接口采集SPM32电表,MQTT协议上报数据,软件协议解析json格式如下 {"Ic": 47.354,"Ib": 0,&qu ...
- Pycharm实现645协议解析器(一)
目录 Pycharm实现645协议解析器 645协议帧结构 Pycharm配置基于Qt5的图形开发环境 Pycharm实现645协议解析器 目前智能电网的645通信协议主要两个版本DLT645-97和 ...
- MongoDB数据库协议解析及C/C++代码实现
MongoDB 是由 MongoDB Inc 开发的 NoSQL 数据库,它是无模式的.它是使用 c++ 和 javascript 设计和创建的,允许更高的连接性. MongoDB 是一个 NoSQL ...
- synopsys PCIE IP协议解析
synopsys PCIE IP协议解析 1.Overview Core支持单个Pcie内核的Loopback功能,该功能主要为了做芯片验证,以及在没有远程接收器件的情况下完成自己的回环.同时,Cor ...
- 详解BLE 空中包格式—兼BLE Link layer协议解析
BLE有几种空中包格式?常见的PDU命令有哪些?PDU和MTU的区别是什么?DLE又是什么?BLE怎么实现重传的?BLE ACK机制原理是什么?希望这篇文章能帮你回答以上问题. 虽然BLE空中包(pa ...
- wireshark协议解析器 源码分析 封装调用
源码分析 Wireshark启动时,所有解析器进行初始化和注册.要注册的信息包括协议名称.各个字段的信息.过滤用的关键字.要关联的下层协议与端口(handoff)等.在解析过程,每个解析器负责解析自己 ...
- wireshark协议解析器原理与插件编写
工作原理 每个解析器解码自己的协议部分, 然后把封装协议的解码传递给后续协议. 因此它可能总是从一个Frame解析器开始, Frame解析器解析捕获文件自己的数据包细节(如:时间戳), 将数据交给一个 ...
- SGS 0.9.7 协议解析
SGS as客户端发送数据规则: sgs 是0.9.7版 协议规则: 包头3个字节: 包大小(2个字节),命令(1个字节) 数据包 注意:包大小=命令+ 数据包 的大小 登陆命令: 命令是: ...
- 简易HTTP协议解析
首先介绍一些必要的知识点. TCP协议为操作系统底层协议,能够保证应用层获取到完整的.顺序一直的包序列.但TCP不提供具体的分包,需要上层协议自己解决.TCP发送给上层协议的数据是一个没有意义的字符串 ...
最新文章
- redis 在 php 中的应用(事务 [ Transaction ] 篇)
- 修改js文件需要重启服务器,关于Node.js中频繁修改代码重启服务器的问题
- UIWebView实现离线浏览
- python中的json_简单介绍Python中的JSON使用
- Windows10 安装 Twisted
- 简化Swagger使用的自制Starter:spring-boot-starter-swagger,欢迎使用和吐槽
- SparkStreaming之mapWithState
- mongodb java 执行js脚本_MongoDB编写并执行js脚本
- mexopenCV的配置学习过程
- python库--pandas--Series
- Raki的读paper小记:SimCSE: Simple Contrastive Learning of Sentence Embeddings
- 一些鼠标指针图案大全和美化 20+
- 信息系统项目管理师进度管理论文范例
- 信号与系统实验一 信号在MATLAB中的表示
- cpu vtx测试软件,推荐几个好用的检测电脑CPU是否支持(Virtualization Technology)虚拟化技术的工具-推荐实用小软件
-亦是美网络...
- Java邮箱验证码注册
- “知识地图”助员工岗位成才
- Python-Data-Science-Toolbox-Part-1
- 多张图片合成一张图片
- linux系统软路由软件,Linux中增加软路由的三种方法