三菱FX5U以高性价比和强大的内置以太网功能,在中小型产线中应用广泛。某汽车零部件产线,FX5U需要与MES系统进行长时间、高频次的数据交互。运行三个月后,系统突发通信中断,且重启PLC后恢复,但数小时后故障再现。这种‘软故障’极具迷惑性。
初步排查常见为IP冲突或网线故障,但均被排除。通过Wireshark抓包发现,PLC与上位机之间建立了大量处于TIME_WAIT状态的TCP连接。究其原因,是上位机软件采用短连接方式,每秒多次建立和断开连接。FX5U内置的以太网模块虽然性能强大,但TCP/IP协议栈的资源有限,端口号被快速耗尽,导致新连接无法建立。
解决策略分为三层。第一层,优化上位机程序,将短连接改为长连接,并复用Socket。第二层,在PLC端主动启用Socket的Keep-Alive功能,通过三菱GX Works3中的‘打开设置’配置无通信时的探测包间隔,有效维持链路活性。第三层,若上位机无法改动,则在PLC程序中增加异常断开后的自动重连逻辑,并设置合理的退出延迟,避免端口资源瞬间被占满。
值得注意的是,FX5U的固件版本也影响TCP栈的稳定性。将该PLC固件升级至最新版本后,底层协议栈的资源管理能力得到增强。最终,通过上位机长连接改造与PLC端优化双管齐下,彻底解决了该产线的通信顽疾,保障了MES数据的实时性。