manning
级别: 探索解密
精华主题: 1 篇
发帖数量: 36 个
工控威望: 171 点
下载积分: 888 分
在线时间: 51(小时)
注册时间: 2017-03-10
最后登录: 2024-09-13
查看manning的 主题 / 回贴
楼主  发表于: 2017-08-10 14:49
小弟在做QJ71C24N用422方式和AD-4401A称重仪表走无协议通讯时,遇到一个问题,还请各位大神指教指教小弟
仪表接收的报文格式是@01RW,停止符可选择CR和CR LF这两种,当只用CR作为停止符时是可以通讯上,并读到正确的数据,如图

但是数据会在地址区内循环变化,是因为没有LF这个换行指令,但是停止符选CR LF时就读不到数据。
小弟我反复试了下,个人觉得应该是停止符CR LF不是在同一个地址区内造成无法读取的,如图

如果真如我所猜想的这样,那么问题来了,如图
gadna9
级别: 略有小成
精华主题: 0
发帖数量: 95 个
工控威望: 202 点
下载积分: 823 分
在线时间: 41(小时)
注册时间: 2016-08-02
最后登录: 2019-12-06
查看gadna9的 主题 / 回贴
1楼  发表于: 2017-08-10 19:25
跟这个没有关系,对于仪表而言,它接受到正确命令就有正确反应,跟这些命令放在那个地址区是没有关系。
你可以通过线路追踪功能确认你的命令是否正确
gadna9
级别: 略有小成
精华主题: 0
发帖数量: 95 个
工控威望: 202 点
下载积分: 823 分
在线时间: 41(小时)
注册时间: 2016-08-02
最后登录: 2019-12-06
查看gadna9的 主题 / 回贴
2楼  发表于: 2017-08-11 16:26
引用
引用第3楼manning于2017-08-11 09:16发表的  :
发送CR LF这个停止符时用线路追踪发现最后一位的高字节有个空字符NUL,那现在怎么消除这个空字符。 [attachment=202837]


那是因为你设置发送长度错了导致的。
你现在设置应该是以字为单位,长度为4。
应该改成以字节为单位,长度为7.
楼主留言:
真诚感谢!太感谢您了,是我一直在钻牛角尖,多谢大神!
本帖最近评分记录:
  • 下载积分:+10(ymmfa) 感谢分享!