项目中使用S7-1200通过多重网关与PC进行modbus/tcp的通讯。
S7-1200,IP 192.168.1.10,网关:192.168.1.254
PC, IP 172.10.15.10,网关:172.10.15.254
现场问题:通讯建立正常,数据交互偶有延时2s左右的现象。
现场排查:
PC使用工具持续大数据ping,无发现丢包延时大等现象;
在PLC端的接入交换机上镜像端口,监测PLC端口tcp数据包。PLC在通讯时,会时不时发"who has 192.168.1.254, tell 192.168.1.10",如果网关能及时回复其mac地址,则PLC会迅速回应PC的请求(协议标示为modbus/tcp);若网关无回应,则PLC无反馈;若网关回应延迟,PLC会报"previous segment not catched,",但是大约1s之后依然会回应,且数据包正确(协议标示为tcp)。
这个问题现在不知该怎么解决,不知道S7-1200是否有自己的arp缓存,为什么会时不时地丢掉网关的mac地址?
网络知识实在匮乏,请各位帮助分析一下,谢谢!