『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 4695|回复: 15

[技术探讨] 已解决 求助,485电表,通信协议由dlt645切换未modbus的方法

[复制链接]

3

主题

76

帖子

1093

积分

金牌会员

Rank: 6Rank: 6

积分
1093
金钱
1017
HASS币
0
发表于 2021-10-17 12:37:04 | 显示全部楼层 |阅读模式
本帖最后由 sss190 于 2022-4-12 09:14 编辑

求助
我买了一个正泰的ddsu666带485通信的电表,默认协议是dl/t645协议,说明书说可以切换未modbus协议,但到底用什么工具来切换语焉不详。我也是一头雾水。后来弄了一个国网的 DL/T645-2007通信协议的软件,数据倒是可以读出来,但到底要写那个项目把协议由DL/T645切换成modbus就完全摸不着头脑了。
请群友指导


通过按键即可切换,具体方法商家有视频教程。
回复

使用道具 举报

23

主题

660

帖子

3108

积分

论坛元老

Rank: 8Rank: 8

积分
3108
金钱
2448
HASS币
10
发表于 2021-10-17 23:35:23 | 显示全部楼层
同问,我也有一个645的,网上看采集器都好贵。。。
回复

使用道具 举报

0

主题

95

帖子

1727

积分

金牌会员

Rank: 6Rank: 6

积分
1727
金钱
1632
HASS币
0
发表于 2021-10-18 08:27:56 来自手机 | 显示全部楼层
同问,后面就不知道怎么搞了!
回复

使用道具 举报

0

主题

48

帖子

2027

积分

金牌会员

Rank: 6Rank: 6

积分
2027
金钱
1979
HASS币
0
发表于 2021-10-18 11:49:39 | 显示全部楼层
一般,这个协议转换的控制字都是存在某个寄存器里的,你找下这个电度表的说明书,一般可以在液晶上直接设置或者通过软件/协议发送指令修改这个控制字。另外既然你已经用T645协议读到了数据,可以自己编程把报文数据转成十进制数字再上传HA
回复

使用道具 举报

12

主题

108

帖子

2897

积分

论坛技术达人

积分
2897
金钱
2769
HASS币
118
发表于 2021-10-18 12:53:49 | 显示全部楼层
本帖最后由 liwei19920307 于 2021-10-18 12:56 编辑

说明书里有,但未测试,淘宝买个485转TTL模块(自流控的,推荐个包邮的https://detail.tmall.com/item.htm?id=624598493585)和USB-TTL工具(485转TTL模块配合ESP模块就可以做透传模块了,USB-TTL可以刷机或调试用)
注意:通讯地址可能需要转成16进制
2.png
3.png
回复

使用道具 举报

3

主题

76

帖子

1093

积分

金牌会员

Rank: 6Rank: 6

积分
1093
金钱
1017
HASS币
0
 楼主| 发表于 2021-10-18 22:07:11 | 显示全部楼层
liwei19920307 发表于 2021-10-18 12:53
说明书里有,但未测试,淘宝买个485转TTL模块(自流控的,推荐个包邮的https://detail.tmall.com/item.htm?i ...

感谢回复。
485转TTL的模块有了。usb-ttl也有了。我摸索了几天,也摸索了一些东西出来。
说明书里那个切换通讯协议的数据帧是电表序列号倒过来写的。
比如序列号是210812062410,那个数据帧里的通讯地址就是10 24 06 12 08 21。
我现在遇到的问题是那个校验码不知道怎么计算。
虽然知道了大概的方法,就是将FE FE FE FE 后所有数字求和取后两位,但是我计算出来的发送给电表始终没有结果。
回复

使用道具 举报

3

主题

76

帖子

1093

积分

金牌会员

Rank: 6Rank: 6

积分
1093
金钱
1017
HASS币
0
 楼主| 发表于 2021-10-18 22:24:42 | 显示全部楼层
SATAN007 发表于 2021-10-18 11:49
一般,这个协议转换的控制字都是存在某个寄存器里的,你找下这个电度表的说明书,一般可以在液晶上直接设置 ...

不是搞这行的,感觉这个难度有点大,也想过这个问题,但如何实现一头雾水。
回复

使用道具 举报

0

主题

48

帖子

2027

积分

金牌会员

Rank: 6Rank: 6

积分
2027
金钱
1979
HASS币
0
发表于 2021-10-19 08:14:27 | 显示全部楼层
sss190 发表于 2021-10-18 22:07
感谢回复。
485转TTL的模块有了。usb-ttl也有了。我摸索了几天,也摸索了一些东西出来。
说明书里那个切 ...

最后的校验码有专门的计算软件,一般都是CRC校验码,可以搜软件生成。另外建议把说明书发上来,可以查找有用信息。
回复

使用道具 举报

3

主题

76

帖子

1093

积分

金牌会员

Rank: 6Rank: 6

积分
1093
金钱
1017
HASS币
0
 楼主| 发表于 2021-10-19 23:16:31 | 显示全部楼层
SATAN007 发表于 2021-10-19 08:14
最后的校验码有专门的计算软件,一般都是CRC校验码,可以搜软件生成。另外建议把说明书发上来,可以查找 ...

说明书有个pdf。这是第七页有关修改协议的说明。
仪表设置为 DL/T 645-2007 传输模式时,符合 DL/T 645-2007 通讯协议规约,抄读数据时注意:电能数据支持有功电能总;变量数据支持电压、电流、瞬时有功功率、瞬时无功功率、功率因数;支持通讯地址设置,详细请查阅 DL/T 645-2007 协议。DL/T 645-2007 协议切换到 ModBus-RTU 通讯协议的数据帧如下:FE FE FE FE 68 xx xx xx xx xx xx 68 14 0E 33 33 35 3D 35 33 33 33 33 33 33 33 3333 CS 16注意:xx xx xx xx xx xx 为表通讯地址;CS 为校验码. 仪表默认出厂参数:波特率 2400bps(DDSU666-E/D/F 波特率为 9600bps),偶校验。1 停止位,协议 DL/T645-2007,表号为标签表号,共 12 位(十进制)。可特殊定制 ModBus_RTU 协议,无校验位,2 个停止位,表号为标签表号后 2 位(十进制),波特率为 9600bps。仪表设置为 ModBus-RTU 传输模式时,ModBus-RTU 通讯协议在一根通讯线上采用主从应答方式的通讯连接方式。首先,主计算机的信号寻址到一台唯一地址的终端设备(从机),然后,终端设备发出的应答信号以相反的方向传输给主机,即半双工的工作模式。该协议只允许在主机(PC,PLC 等)和终端设备之间通讯,而不允许独立的终端设备之间的数据交换,这样各终端设备不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号

DDSU666.pdf

848.79 KB, 下载次数: 49

说明书

回复

使用道具 举报

0

主题

48

帖子

2027

积分

金牌会员

Rank: 6Rank: 6

积分
2027
金钱
1979
HASS币
0
发表于 2021-10-20 09:45:22 | 显示全部楼层
本帖最后由 SATAN007 于 2021-10-20 10:24 编辑
sss190 发表于 2021-10-19 23:16
说明书有个pdf。这是第七页有关修改协议的说明。
仪表设置为 DL/T 645-2007 传输模式时,符合 DL/T 645-2 ...

1.CS校验码计算是第一个帧起始符“68”到CS之前的各字节相加的后2位(16进制计算)。
2.地址要确认,高低位顺序,10进制还是16进制。如不确定可通过AA AA AA AA AA AA广播获取。
3.波特率、奇偶检验和停止位等也要确认。
之前你已经通过软件能正常读取数据,上面的地址等参数应该能获取了;具体规约信息可见一下连接:https://www.doc88.com/p-394989950685.html
网上找了个可以计算校验码的软件,你可以试试

串口软件含校验码计算

串口软件含校验码计算
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-24 20:29 , Processed in 0.072254 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表