该现场使用的是西门子的S7-300的PLC,该项目运行了一年多,一直有问题,但Zui近出现问题比较频繁,现象是每天从CPU第一次上电运行,大概30分钟后,开始出现停机的情况,停机时SF、STOP灯亮。此时只能通过手动复位,CPU才能恢复运行。而之后,该现象将随时出现,并且越来越频繁,甚至有时几乎每个程序周期都会停机,严重影响了用户的生产。
根据故障情况,杨工初步怀疑是现场存在电磁干扰。杨工决定奔赴现场对问题进行定性并决定Zui终处理方案。到现场后,杨工观察PLC运行的情况。杨工发现,现场采用的是西门子S7-314C-2PN/DP的CPU,在运行过程中会出现系统故障,但能够自动消失(图1)。
图1:PLC报系统故障
之后,杨工观察了故障出现的情况,发现该故障的出现是有规律的:当Q5.4动作时,该SF灯会亮,当Q3.4动作时,该SF灯消失。杨工怀疑是程序出现问题。通过读取在线诊断信息,发现CPU报BCD码转换故障(图2)。
图2:CPU在线诊断信息报BCD码转换故障
经过与编程人员的交流,发现是上位机的某时间参数设定超限。该参数设计设定值范围应为0~99,但现场设定为100,程序每次运行至此都会报BCD码转换故障,并导致SF灯亮,而当该部分程序运行结束后,故障就会消失。
将该值改为0~99之间的任意值后,SF灯不再点亮,该系统故障不再出现。这是杨工在现场发现的第一个故障,但这个故障并没有导致现场设备停机。
之后随着杨工继续观察,大概经过了1个小时后,突然出现了一次停机故障。现象就是CPU停机时,SF灯和STOP灯亮,5V灯亮(图3)。
图3:CPU停机