我厂使用 S7-1500 作为主站,S7-1200 作为从站,通过 S7 单边通讯实现数据交换。系统运行一段时间后,出现通讯故障,HMI 经常报警通讯中断,影响生产。
故障现象
两条生产线的 HMI 频繁报警通讯故障,通过心跳检测发现,数据超过 10 秒没有被复位,判断通讯中断。
故障排查过程
判断是否为 IP 冲突:
使用 “Ping” 命令对 S7-1500 和 S7-1200 分别进行 IP 测试,长时间测试结果正常,未出现中断。
使用 IP 扫描工具对系统内所有 IP 设备进行扫描,未发现 IP 重复或无法扫描的设备,排除 IP 冲突问题。
检查 S7 通讯程序参数:
检查 S7-1500 中组态链接的伙伴地址、TASP 是否正确。
检查 PUT、GET 触发条件,发送及接收地址,背景 DB 是否重用。
检查 CPU 属性设置中,是否勾选允许来自远程的 PUT、GET。经检查,这些设置均无异常。
监控通讯程序状态:
发现每次通讯故障时,PUT/GET 命令状态同时进入 16#19(已开始通信,作业正在处理),并保持不变,无错误状态,持续 60 多秒后自动复位。
按照西门子热线建议,在程序中增加错误追踪程序,检测错误代码,但未捕获到错误代码。
检查通讯链接资源:
查看 S7-1200 从站的链接状态和数量,发现存在 20 多个链接,通信链接资源全部被占用,而主站 S7-1500 的链接状态正常。
通过断开触摸屏网线,发现问题依然存在,判断不是触摸屏问题,而是 S7-1200 CPU 可能存在问题。
处理措施:
与厂内沟通后,停下生产,对 S7-1200 CPU 进行固件升级。升级后,通讯恢复正常,通讯链接资源数量也恢复到正常状态。
案例总结
此次通讯故障的原因是 S7-1200 CPU 出现问题,导致通讯链接资源被大量占用,从而引起 S7-1500 与 S7-1200 之间的 S7 单边通讯故障。
在故障排查过程中,应逐步排除可能的因素,从网络设置、程序参数到硬件状态等,全面进行检查。同时,合理利用西门子提供的技术支持和工具,如增加错误追踪程序等,有助于更快地定位故障原因。