发布于 2019-07-11 11:00:01
8楼
UDP通信不像TCP协议那样有完整的处理逻辑,所以你的程序里面必须有处理逻辑。
如果你的设备不是一对一通信,为了保证数据正确性,需要加入通信握手、通信数据校验、通信数据结构处理、服务器繁忙等待等等一大堆的问题,否则就像你看到的那样,通信完全没法保障。
当然,当你只用电脑跟PLC测试时是一对一,是不会发现上面的问题的。所以,为了数据安全保障,建议还是走TCP吧,起码底层都不要你考虑。
至于网络抓包?这个就别考虑了,又不是PLC跟电脑通信是抓不到包的。你只能用电脑模拟服务器或者客户端代替PLC,然后接收真实PLC发过来的数据判断通信响应时间。如果响应时间不是4秒那么问题就在断开的PLC上;如果响应时间超过4秒那么问题就在在线的PLC上。