hu33333
学不能停
级别: 探索解密
精华主题: 0
发帖数量: 17 个
工控威望: 106 点
下载积分: 621 分
在线时间: 6(小时)
注册时间: 2016-07-17
最后登录: 2021-07-14
查看hu33333的 主题 / 回贴
楼主  发表于: 2018-11-01 13:36
图片:
通讯协议是RTU485 ,9600 ,无校验,8,1,读取地址的代码01 03 01 84 85 DE,返回码01 03 04 43 29 E6 CA F448,台达plc读出的数据为发送码。不知道该如何解决
附件: RS485通讯问题.rar (9 K) 下载次数:103
网站提示: 请不要用迅雷下载附件,容易出错
zhangqi_1234
级别: 略有小成
精华主题: 0
发帖数量: 336 个
工控威望: 487 点
下载积分: 4001 分
在线时间: 246(小时)
注册时间: 2013-03-22
最后登录: 2024-06-12
查看zhangqi_1234的 主题 / 回贴
1楼  发表于: 2018-11-01 21:42
功能码03H,要求是8个字节,而你的是输出6个字节,其中保持寄存器的起始地址是H0184,读取的寄存器个数是H85DE(这么多个寄存器?你不觉得奇怪吗?),就算个数正确,那么缺少的是CRC校验码!如果你发送的报文真的是这样,居然还能收到返回的报文!返回报文:01 03 04 43 29 E6 CA F448,可以这样解读:站号01,功能码03,读取的保持寄存器数据字节数4个,第1寄存器数据是H4329,第2个是HE6CA,CRC校验码是H48F4。
会这个的人,看到这样的查询报文,居然还能收到这样的应答报文,一定吃惊不小!