PLC问答 > 通用PLC报错STACK是什么原因?

通用PLC报错STACK是什么原因?

通用 提问者: 自动化老王 2026-07-17 23:09 117 浏览
设备突然停机面板显示STACK,请问什么原因?
4 个回答
PLC维修张 · 2026-07-20 11:33
STACK报错一般是程序堆栈溢出,多数是子程序嵌套太深或者中断里又调子程序导致的。我上个月修过一台三菱FX3U,也是面板跳STACK,查下来是中断程序里套了个CALL指令,运行到第3层就崩。你先确认一下最近有没有改过程序,特别是加了中断或者循环调用。
技术顾问马 · 2026-07-23 20:16
这款报错要分品牌看,西门子S7-200 SMART报STACK多半是调用层级超了,手册规定子程序嵌套最多8层,实际超过5层就容易出问题。你打开程序交叉引用,看一下调用树有没有死循环,或者有没有哪个子程序被反复调用没返回。先清空程序只跑主程序看还报不报,能定位到具体块。
机电工程师黄 · 2026-07-25 05:22
别光盯程序,我碰到过一次是扩展模块背板总线接触不良,扫描周期突然拉长导致堆栈异常,面板就跳STACK。把扩展模块逐个拔掉试,拔到哪个不报了就是那个模块或背板的问题。另外量一下24V电源纹波,纹波大了CPU复位也会误报。
工控小李 · 2026-07-26 03:18
补充个偏门的,电池电压低到临界值的时候程序区数据异常,也会出STACK。你把CPU停掉读一下错误缓冲区,一般有具体的块号和指令地址,比猜快多了。

我来回答

上传中...
系统将自动为您分配一个称号