三菱FX5U系列PLC在产线自动化中广泛作为从站与SCADA或上位机通信。当遭遇周期性通信中断时,工程师常陷入反复更换以太网模块或修改IP地址的误区。本文通过一个锂电池涂布机现场案例,演示基于GX Works3的链路层与协议层联合调试方法。
现场现象:上位机通过Socket通信读取FX5U的D寄存器,运行约2小时后出现持续3-5秒的“Socket send timeout”错误,随后自动恢复。使用GX Works3的“以太网诊断”工具,首先进行“PING测试”和“连接状态”检查。结果显示链路层正常,但“TCP重传计数”从初始的0逐步增长至100+。检查FX5U的以太网配置,发现“保持活动”间隔设置为默认的7200秒,而上位机侧的Keep-Alive间隔仅为300秒。这种不匹配导致上位机在等待FX5U的Keep-Alive响应时,误判链路断开并释放端口;当FX5U最终发送Keep-Alive时,连接已不存在,引发通信中断。
解决方法:在FX5U的“以太网配置”页面,将“保持活动”间隔修改为300秒,与上位机保持一致。同时,检查“通信协议”页面中的“重试次数”上限,将其从默认的3次提升至5次,以应对瞬时网络波动。调整后,观察12小时,TCP重传计数归零,通信未再中断。
此外,还需注意:当使用MC协议传输时,应确保“监视定时器”设定值大于上位机循环扫描周期的两倍,防止因CPU扫描周期波动而触发超时。对于大数据量传输,建议启用“FIFO发送缓冲”,避免缓存溢出。
此案例说明,FX5U通信故障不应仅聚焦于硬件接口,协议层参数(如Keep-Alive、重试次数)的微调往往能根治隐性问题。推荐在项目调试阶段,定期抓取GX Works3的“通信日志”进行对比分析。