S7-300 PLC的一次系统故障

昨天,接报,某设备发生故障,设备停机,且CPU上亮SF灯,无法复位。电话沟通后得知:

   1、HMI上报不知名故障,可复位,设备再开机正常,与上位机通讯正常。

   2、PLC重新启动后,SF灯不消失。周边模块没有故障,各外部设备通讯正常。

到现场确认为CPU自身报错,CPU型号为314C-2DP。编程器在线,查看CPU的诊断区,CPU连续记录地址访问错误,定位为DB10,地址为154,查看PLC的程序根本就没有DB10。由于具备那个处理该故障的OB块,因此,CPU没有停机,而是报了系统故障,亮了SF灯。

知道原因了,就要查故障源,地址访问有两种可能,一种是显式使用,就是直接用诸如DB10.DBW10这样指令使用。另外一种是间接寻址,这是高级用法,老外经常这么用,这样程序就可以通用了。但是,这种方式使用的地点非常难查找。

尝试用DB10.DBX154.0进行搜索,并选择“重叠区域”:


果真在FC11里找到这个地址,使用了“DB10.DBD154”。在DB1.DBD154里有这个变量的定义,并且与前后逻辑相符,显然是编程人员笔误,多加了个“0”。修正后,更新在线程序,系统故障灯消失。


至于HMI的不知名故障,是因为设备真的出了短时异常,设备停机,但是HMI做得很差,没有进行报警说明而已。只能等下次故障出来,再进行检查了。

2018-3-17

猜你喜欢

转载自blog.csdn.net/chengjl8/article/details/79589047