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 结束符
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
