DLT645-2007电能表通讯协议+DDSY5188电能表之间通讯简介

DLT645-2007电能表通讯协议+DDSY5188电能表之间通讯简介

DLT645-2007通讯协议:

1.发送的帧格式:

DLT645-2007电能表通讯协议+DDSY5188电能表之间通讯简介

1.1 帧起始符   

         0x68H     这个不多说,记住就好;

 

1.2 地址域A0-A5 

        地址域由 6 个字节构成,每字节 2 位 BCD 码,地址长度可达12位十进制数。每块表具有唯一的通信地址,且与物理层信道无关。当使用的地址码长度不足 6 字节时,高位用“0”补足。通信地址9H为广播地址,只针对特殊命令有效,如广播校时和广播冻结等。广播命令不要求从站应答。地址域支持缩位寻址,即从若干低位起,剩余高位补AAH作为通配符进行读表操作,从站应答帧的地址域返回实际通信地址。地址域传输时低字节在前,高字节在后

(注:一般的为了更加方便查看地址,可以采用将电表上的No编号当作地址,即我的NO为0,所以这里填写的地址域写 20 01 12 12 15 20)

DLT645-2007电能表通讯协议+DDSY5188电能表之间通讯简介

DLT645-2007电能表通讯协议+DDSY5188电能表之间通讯简介

DLT645-2007电能表通讯协议+DDSY5188电能表之间通讯简介

(上面具体内容协议上都有,就直接截图了,这里重点是需要将数据域的内容进行处理,发送方各加33H,接收方要减33H处理

 

2. 应用层

2.1 读数据

下面举个读数据的例子,具体协议的内容如下:

DLT645-2007电能表通讯协议+DDSY5188电能表之间通讯简介

 

DLT645-2007电能表通讯协议+DDSY5188电能表之间通讯简介

3. DDSY5188电能表之间通讯

下面发送我测试的数据

DLT645-2007电能表通讯协议+DDSY5188电能表之间通讯简介

(下面是我的发送指令,上面是电表的回复指令)

上图可知,68是固定码,地址码就是为0(注意大小端和BCD码的含义),接下来的68也是固定码,控制命令11,即读数据,长度为04命令为33 33 33 33,这个值要减去33H,即00 00 00 00,这个数据值,就是查电表总有功电量值2b是cs校验码,16为固定码;

返回的数据前面的FE忽略即可,其他部分数据与发送的一样,重点看:91是应答命令(对应控制命令11,正确返回会加上0x80)08为长度,33 33 33 33 为命令返回值,49 35 33 33为 16 02 00 00(因为这里是数据域,需要每个字节需要减0x33,且数值为BCD码),这个值为2.16kwh,电表显示的就是这个值;所以符合协议;

有读者不太了解这个2.16如何而来,下面再举个例子,应该就能理解了:

按照电表协议,第一个字节代表小数位,这个又是BCD码,就是说减了33之后,如果是11 22 33 44,那就是.11kwh(直接读,不要进行16进制转换,即(44 33 22).11 kwh)

也就是说上面的2.16,其实就是 00 00 02.16kwh

其他的例子就不举例了,希望都有所收获;

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/116507.html

(0)
上一篇 2024年 6月 20日
下一篇 2024年 6月 20日

相关推荐

关注微信