消息调试的一个问题

因为该问题难查,故单独放成一篇

问题:

模拟plc终端catplc与后台cata通信,消息走了n条后就停住了,后台显示发送读待机时间消息后未

收到终端的响应,等待超时后重连;

终端显示收到后台读待机时间消息后,回应了一条应答消息,之后后台就没有新的消息发过来了。

这里出现了一个问题,我们记作问题A,终端到底响应了没有?

遇到这类问题,应该偏向于发送最后一条消息的家伙可信,那么就应该相信终端这个家伙了,因为他最后显示发了一条应答消息。

那么后台最后发了一条消息(读待机时间),是这一条消息出错了吗?有可能,那么就在消息接收处设置断点跟吧,结果确实等不到消息。那么这时该怎么办呢?

其实是上一条消息错了(读终端状态消息),只所以这么说,是因为该消息过后下一条就出错了!

是处理(读终端状态消息)的应答时,出现了异常,该异常又被catch了,所以就显示该消息过了,但是该消息留在队列中并未出队(因为未正常处理完成,后面的出队命令就没有执行),于是引起了超时。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容