CPU 指示灯/STOP(停机)诊断

有时会遇到CPU无法启动或突然停机,或者CPU上指示灯SF,BF突然亮。

请按以下步骤确认情况 。

第一步 看CPU的指示灯状态

DC5V灯不亮

请检查供电电源,电源接线及端子是否牢靠;如确认供电及接线无误,可判断CPU硬件故障,此时唯一方法联系设备提供商售后维修。

指示灯全部闪烁

SF常亮,或SF常亮,BF常亮或闪烁。

此时为系统故障或通信故障导致,需查看具体的诊断信息确认停机原因,请参看后续步骤。

第二步 查看诊断缓冲区

CPU停机可简单分为致命错误和非致命错误,无论是什么原因导致,都会在CPU的诊断缓冲区留下痕迹。
因此,需要在线查看CPU的诊断缓冲区,来判断具体的停机情况。

注意:

如图所示,在硬件组态中,点击在线按钮,双击CPU进入CPU模块信息,点击诊断缓冲区查看具体的诊断信息。

也可参看如下视频:PLC SF灯亮时如何查看故障


在诊断缓冲区中,常见的错误类型如下:

存储器管理器导致 STOP

IO管理错误,IO错误

超出周期时间错误

区域长度错误

IO访问错误

通信故障导致停机

通常分为致命错误及非致命错误

1)致命错误指非编程原因导致,CPU必定会停机的故障,通常为较强干扰,硬件故障导致。

存储器管理器导致 STOP

产生可能性:

解决步骤:

1. 将CPU拆至办公室环境测试

2. 更换MMC测试,如oK,则原卡硬件故障

3. 更换CPU测试,如OK,则原CPU硬件故障

IO管理错误,IO错误

由此故障导致的停机较难排查,有的停机故障可能只是偶尔出现或较长时间出现一次,这更增大了排查难度,需要一步一步的排除确认。

产生可能性

解决步骤如下:

1. 重新安装紧固主,从机架模块,检查背板连接器及模块插针是否完好;

2 . 如有360/361,365模块,则先拆除,或替换新模块及连接电缆测试;

3. 检查接地良好;

4. 检查电源侧供电质量,确保供电侧与感性负载供电隔离,如有必要加装隔离变压器;

5. 将CPU主机架模块一个一个的与CPU组态测试

2)非致命错误可以通过加载OB组织块的方式,避免停机。常见的几种可能如下:

超出周期时间错误

即看门狗超时错误。系统默认的扫描周期监视时间为150ms。

当OB1的扫面周期第一次超过此设定时间时,CPU将调用OB80;如未下载OB80,CPU将停机。 当第二次超过此设定时间时,CPU必定停机。

解决步骤:检查程序,确认导致扫描周期过长的原因;(如频繁进入OB35,OB40中断,延长了OB1时间)

如何查看扫描周期时间具体参看:如何避免S7-300/400系统扫描时间过长而导致CPU停机?

如确实程序需要较长的扫描周期时间,如图所示,在硬件组态---CPU属性---周期/时钟存储器中---更改扫描周期监视时间。

此外,如程序中有OB100,尤其其中包含有跳转程序段,则可能由于死循环导致超时,此时在线先删除OB100,确认是否由于OB100导致。

区域长度错误

属于编程错误,下载OB121可避免停机。

产生原因:程序中调用的DB区域的地址,在此DB块中并未建立;或调用的I/Q区域超过CPU的过程映像区。

解决步骤:

如CPU已停机,可点击如图4的按钮“跳转到”,定位到调用的程序段; 同时,根据诊断信息中区域长度错误的详细信息,确定是某一个DB的内部地址,但DB块号无法确定,需要自行查找。

如CPU未停机,“跳转到”按钮是灰色的无法点击。如CPU此时允许停机,则先在线删除OB121,CPU停机后,点击“跳转到”按钮定位到错误程序段。

I/O访问错误

属于编程错误,下载OB122可避免停机。

产生原因:程序中调用了某一P区域地址,在实际中的硬件中并没有分配或找到这个地址。 如图所示,报错的读取I/O访问错误,P区域,字访问,访问地址100;指的是PIW100这个地址在实际的硬件中未找到。

解决方法:

可能性1,错误编程误调用P区域地址。如CPU已停机,可点击"跳转到"按钮,定位到误调用的程序段。
可能性2,某一从站掉站导致无法找到相关硬件模块。此时,下载相应的OB块可先避免停机,排除通信故障后,报错自然消失。



通信故障停机

由于通信故障导致的某一个或多个站点掉站。此类错误均会导致CPU停机。可

以通过下载OB82,OB85,OB86,OB121,OB122来避免故障停机。

具体参看:使用OB8x诊断SIMATIC PLC(PN)