fanuc 程序重复运行,通俗讲就是程序跑完一遍之后,机床不会停止,又自动从头或者从指定段落再次执行,出现这个现象核心分为两大类,一类是程序本身编写了循环指令属于正常设计,另一类是参数 模式开关 信号触发造成的异常重复,很多操作工分不清是正常循环还是故障,比如 M99 子程序返回,GOTO 跳转,无限循环,还有自动启动信号保持导通,单段循环参数打开,都会造成程序反复跑,这个问题在加工中心数控车床都很常见,排查的时候要优先看程序代码,再检查机床模式和系统参数,最后确认外部 PLC 信号,按顺序排查可以快速定位根源,避免盲目修改参数造成其他报警。
正常程序自带循环的原因
清单
1 M99 子程序结尾指令,M99 的作用就是返回主程序或者跳转到指定段,如果主程序里面用 M98 反复调用子程序,就会持续重复加工,属于正常编程逻辑
2 GOTO 无条件跳转,比如程序末尾写 GOTO N10,执行完就跳回 N10 行号,形成无限循环,是人为编写的跳转
3 WHILE DO 循环语句,fanuc 宏程序 WHILE 循环,条件没有满足的时候会一直重复执行循环体内代码,一旦循环条件永远成立,就会无限重复
4 M30 没有正确编写,正常 M30 是程序结束复位,如果程序末尾漏掉 M30,执行完之后继续往下或者跳转,也会出现重复
异常类重复运行原因
清单
1 循环启动信号一直保持接通,面板循环启动按钮卡死,或者外部 PLC 里面启动信号没有断开,系统收到持续启动信号,程序结束之后自动再次启动,造成重复
2 参数设置错误,部分 fanuc 系统有程序循环相关参数,比如连续循环参数开启,程序完成后自动再启动参数被误打开
2 机床工作模式错误,处在循环模式,部分老款 fanuc 面板有重复循环开关,开关拨到循环位置,程序结束自动重启
3 宏变量条件错误,宏程序里面判断变量一直等于真值,WHILE 条件永远成立,循环无法退出,程序不停重复
4 程序号冲突,调用子程序的时候程序号写错,重复调用同一个子程序,看起来像是主程序在重复运行
排查操作步骤
第一步 打开程序界面,调出当前运行程序,查看程序末尾,确认有没有 M99 GOTO WHILE DO 这些循环跳转代码,确认是不是编程本身设计的重复
第二步 确认程序结尾 M30 是否存在,M30 是标准程序结束指令,正常加工单批次加工完成必须有 M30
第三步 检查面板循环启动按钮,手动按压松开,确认按钮没有粘连卡死,查看 PLC 状态里面循环启动信号状态,看信号是不是常通
第四步 核对相关系统参数,查阅 fanuc 参数手册,确认自动重复循环相关参数有没有被修改成开启状态
第五步 检查宏程序判断条件,核对循环变量有没有自增,如果变量没有累加,条件永远成立,就会一直重复
第六步 确认机床操作模式,确认不是面板循环模式,切换到正常自动模式测试
故障分类对照表
| 类别 | 典型代码或者部位 | 性质 |
|---|---|---|
| 编程循环 | M99 GOTO WHILE DO | 正常设计 |
| 程序结束缺失 | 缺少 M30 | 编程错误 |
| 硬件故障 | 循环启动按钮卡死 | 硬件异常 |
| 参数错误 | 自动循环参数开启 | 参数误改 |
| PLC 信号 | 外部启动信号持续导通 | 电气信号异常 |
解决办法
如果是编程循环,不需要维修,根据加工需求,修改代码,增加退出条件,或者添加 M30 结束程序,如果是按钮粘连,更换或者修复循环启动按钮,如果是参数误改,恢复参数原始数值,如果是宏变量没有自增,补充变量累加语句,让循环条件可以满足退出。
【常见问题】
问题 1 fanuc 程序重复运行是 M99 引起的吗
回答 1 fanuc 程序重复很常见的原因就是 M99,M99 是子程序返回指令,主程序反复 M98 调用子程序,就会出现 fanuc 程序重复运行,这个属于正常编程循环,不是系统故障。
问题 2 fanuc 程序重复运行宏程序 WHILE 为什么停不下来
回答 2 fanuc 程序重复停不下来大多是 WHILE 循环条件一直成立,循环变量没有做累加,条件永远满足,所以 WHILE 内部代码反复执行,造成 fanuc 程序重复,修改变量自增语句就可以退出循环。
问题 3 fanuc 程序重复和 M30 有关系吗
回答 3 fanuc 程序重复和 M30 有关系,如果程序末尾漏掉 M30,程序执行完没有复位结束,就容易继续跳转重复运行,正常完整程序结尾必须添加 M30 来终止 fanuc 程序重复执行。
问题 4 fanuc 程序重复运行是参数问题吗
回答 4 fanuc 程序重复有可能是参数问题,系统里面自动循环相关参数如果被误开启,程序加工完成之后系统会自动再次启动,出现 fanuc 程序重复,需要对照原厂参数核对修正。
【免责申明】
本内容为 fanuc 数控系统故障排查技术分享,仅供学习参考,不同系统版本参数号存在差异,修改参数前务必备份原始参数,机床维修请由持证维修人员操作,避免造成机床碰撞损坏。


