升级后程序,就没有严格调试通讯这块,结果一个同事写了一个新的驱动,此时问题就出现了,所有工位都没有问题,只是在底盘工位数据就是接收不到,而且是第一次可以,后面就不可以了。改了N多驱动,用了多个数点,以为是界面和驱动层调用出的问题,结果试了半天也不是。又加上消息输出,判断信息是全发送成功,那就是接收了,开始研究接收。
跟踪调试,折腾了半天,终于发现,由于接收到数据后,数据是正确的,只不过是三条数据作为一次性输出,而我只分析了第一条数据,后面的两条数据没有进行循环去再分析,所以造成了,数据接收到了,却没有正确解析。
找到毛病后,在三条接着发送数据的地方,稍为压了100ms,就没事了。正是自已写的程序有一个低级的Bug日志,造成了如此的问题,真是无语呀。。。。。。
这就是程序代码没有经过严格测试,没有好的逻辑思维造成的。。。要学习,再学习,学习中。。。。