PLC问答
> 西门子PLC错误码S7-200-042含义
西门子PLC错误码S7-200-042含义
现场西门子PLC出现S7-200-042警报,检查外部接线没发现问题。
4 个回答
S7-200的042按手册查是用户程序里的看门狗超时或者扫描周期溢出,不是I/O故障,所以查外部接线白费劲。我在包装线上碰过一台224XP,带两个EM235模拟量模块,程序里加了一段没写跳转条件的FOR循环,扫描周期直接飙到180ms,跑一会儿就出042。你在线连上PLC看特殊寄存器SMW22的当前扫描周期最大值,再对照程序里有没有死循环、中断里做浮点运算这种事。
补充个方向:如果程序是别人写的,重点查中断程序。S7-200的定时中断里如果调用了时间太长的子程序,主程序扫描会被拖住,累计超时也会触发042。我处理过一台226,中断里做了Modbus轮询,波特率9600挂6个从站,一轮下来70多ms,改成19200加只读必要寄存器才压下去。你用状态表监控SM0.0和SMW22,边跑边看周期曲线最直观。
042这个码别只盯程序,固件版本和存储卡也有关系。早期S7-200 CPU 21x的V1.x固件在某些指令组合下会误报,升级到V2.x以后明显少。另外如果现场用过EEPROM存储卡做程序传输,卡里程序块和RAM区不一致,上电自检也会报异常码。建议先CPU信息里看固件版本,再用Micro/WIN做一次完整编译,看看输出窗口有没有非致命警告被忽略了。
修板子这边说一句,如果确认程序没问题、换同型号CPU跑同样的程序也正常,那多半是CPU板上的看门狗电路或晶振周边老化,224这类老机器用了十几年,电解电容鼓包很常见,表现就是随机报042。这种只能送修做元件级检测,现场别拆,拆了校准就废了。先借一台同型号替换验证,能定位就省事了。