现在遇到一个问题,上位机跟下位机的交互中,上位机在发送读命令在之后,经常接不到数据,丢包率达到70%以上。调试很久后状况依旧。因此怀疑下位机本身存在问题,对上位机的命令不能及时相应。
现在有一个测试方案,就是直接将上位机和下位机的COM口相连,让两者进行通信,然后,在中间导出一根连线,接到另外一台机器上,在这台机器上用串口调试助手进行调试,监视这条线路上发送的数据。以此来辨别在上位机发送命令之后,下位机有没有反应。
请问这种方法是否可行?如何连线呢?或者有其他的测试方法?
可以的...
先确定物理上的通信可靠,有无干扰...
然后再看看是不是机器协议处理的问题,有可能是延时,任务响应不及时被协议丢弃...
可以,直接连接就可以.RX和TX直接连接,只要距离短就可以
监视PC要用两个接收COM口吧,否则用示波器就可以了.
如果你的响应时间不严格可以用PC转发,并记录数据.
最好的方法我认为是直接在上下位机上写几个针对性的测试程序.这肯定也是最终的解决方法.
这个方法不好!遇到类似问题首先要怀疑自己,不要怀疑硬件。
你先确保发送一个数据没有问题,然后试试降低发送周期。有可能是发送周期过小。