FANUC LADDER-III 编程必踩的5 个坑|梯形图编译与在线写入故障排查

FANUC LADDER-III 编程必踩的5 个坑|梯形图编译与在线写入故障排查

写了很多年 FANUC LADDER-III,最怕的不是不会写,而是明明逻辑写对了,机床却不动作。或者更糟——编译器直接报错,排查半天发现是某个不起眼的细节。

这篇把现场最常撞的 5 个坑按”症状 → 原因 → 处理”整理出来,每一条都是真正会浪费半天时间的。

坑一:CALL 指令调用了不存在的子程序

症状:编译无报错,但机床一执行到该段就报警,或者程序直接跳过不执行。

原因:CALL 指令的目标子程序名拼写错误,或者子程序名超出了允许长度。FANUC 的子程序名有字符数限制,超出部分会被截断,导致 CALL 找不到目标。

处理:在 LADDER-III 里用”符号表”逐一核对子程序名。不要靠肉眼比对梯形图里的文字——大小写、全半角、前后空格肉眼极难分辨,但软件是按字符严格匹配的。

这个坑在我们团队出现过一次极具迷惑性的情况:子程序名末尾多了一个空格,肉眼完全看不出来,编译器也不报错,但程序就是不执行。养成用符号表核对的习惯,能省掉几小时的无效排查。

坑二:定时器 / 计数器编号重复占用

症状:某个定时器该动作时不动作,或者两个不同位置的定时器”联动”了——改一个另一个也跟着变。

原因:手动分配参数号时,两个定时器用了同一个号码。FANUC 的定时器(TMR)和计数器(CTR)编号空间是独立的,但同一类型内绝对不能重号。

处理:使用软件自带的参数号自动输入功能,而不是手动填号。原理是系统会自动寻找”大于当前已用号码的最小未使用号码”,具体原理可参考另一篇:定时器/计数器参数号自动分配的逻辑。

坑三:在线写入时忘记关掉”运行中禁止写入”

症状:在线编辑时提示无法写入,或者写入中途报警导致 PMC 部分内容丢失。

原因:机床处于运行状态,或 PMC 处于”禁止写入”状态。FANUC 通常会要求把CNC 切换到特定模式(比如 PMC 写入模式)后才允许在线修改。

处理:按顺序确认三件事——① 机床不在运行中(各轴停止);② CNC 已切入允许 PMC 写入的模式;③ 梯形图本身没有处于”在线监控”锁定状态。

坑四:梯形图”看起来对”但逻辑顺序错了

症状:无任何报错,但动作时序不对——比如本该先夹紧再加工,实际却是先加工再夹紧。急停一下就好。

原因:梯形图的执行顺序是自上而下的,线圈的输出会立即生效。同一扫描周期内,如果后级梯级修改了前级用到的状态信号,就会出现”竞态”。

处理:排查时把关键信号的执行顺序画成时序图,标出每个信号在哪一级梯级被写入、哪一级被读取。发现”先读后写”的位置,就是需要调整顺序的地方。

这一条没有软件能帮你查,只能靠人工分析。这也是为什么建议复杂逻辑在修改前先画时序图——改之前理不清顺序,改完更理不清。

坑五:梯形图能编译,但和 NC 程序的动作对不上

症状:PMC 侧信号都正常,但机床实际动作不对——比如M08 开了,主轴不转。

原因:PMC 与 NC 程序之间的信号交换(X / Y 地址)配置不一致。常见情况是 PMC 侧输出的 Y 地址,与 NC 程序里 M 指令对应的地址对不上。

处理:核对两侧的地址映射关系。不要假设它们天然对应——不同机床的厂家对地址的分配习惯不同,图纸和实际配置未必一致。这是现场调试中最耗时的一类问题,因为表面上一切正常。

写在最后

上面5 个坑里,坑一、坑二可以靠软件功能规避,坑三靠流程规范规避,坑四和坑五只能靠人工分析——这也是 PMC 调试真正的门槛所在。

如果你正在系统学习 PMC 梯形图,可以先看子程序复制的6 个限制和参数号自动分配这两篇,把基础操作摸熟,再来啃排查类的内容会顺很多。

欢迎在评论区补充你遇到过的其他坑,我会整理进后续文章。

下载图标
零基础学习发那科梯形图视频教程

常见问题(FAQ)

LADDER-III 梯形图编译通过,但机床不动作,怎么排查?

编译通过只代表语法正确,不代表逻辑正确。按顺序查三处:一是 CALL 指令的目标子程序名是否与实际定义完全一致(含大小写、空格、全半角),建议用符号表核对而非肉眼比对;二是定时器或计数器编号是否重复占用,可用参数号自动输入功能重新分配;三是梯形图执行顺序是否与 NC 程序的动作时序一致,尤其注意先读后写造成的竞态。

在线写入 PMC 梯形图时提示无法写入或中途报警怎么办?

需确认三个条件:一,机床不在运行中(各轴停止);二,CNC 已切入允许 PMC 写入的模式;三,梯形图本身未处于在线监控锁定状态。写入前务必先做一次 PMC 备份——写入过程中若断电或报警,未保存的部分会丢失且不可恢复。

定时器和计数器的编号可以重复使用吗?

同一类型内绝对不能重号。FANUC 的定时器(TMR)与计数器(CTR)编号空间相互独立,但同类型内重复占用会导致两个位置的定时器联动,出现改一个另一个也跟着变的异常。建议使用 LADDER-III 的参数号自动输入功能,由系统自动分配大于当前已用号码的最小未使用号码。

CALL 指令调用子程序时需要手动修改吗?

需要,且这是最容易被忽略的坑。复制子程序后,原程序中调用它的 CALL 指令绝不会自动指向新子程序,仍会调用旧的。所以复制完成后必须手动找到调用处,把 CALL 的目标改成新的子程序名,否则新程序永远不会被执行。

PMC 侧信号都正常,但机床实际动作不对,问题出在哪?

通常是 PMC 与 NC 程序之间的信号交换(X / Y 地址)配置不一致。常见情况是 PMC 侧输出的 Y 地址与 NC 程序里 M 指令对应的地址对不上。不同机床厂家对地址的分配习惯不同,图纸与实际配置未必一致,排查时需逐项核对两侧的地址映射关系,不要假设它们天然对应。

© 版权声明
THE END
喜欢就支持一下吧
点赞9赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容