讨论

发那科机器人示教器编辑程序的时候,循环指令套IF判断老是报错,大佬们遇到过没?

hfg1996
hfg1996
2026/04/20 18:43

现场一台R-30iB Mate Plus,系统是V9.40的,用示教器手动编一个简单的码垛程序,想用FOR循环里套IF/SELECT判断来跳过空托盘位,结果一运行就报MOTN-023或者语法错误,换了几种写法都不行。是不是发那科这玩意对循环嵌套有啥限制?我以前用库卡和ABB好像没这么别扭过,有经验的帮忙说说咋整。

24 3

全部回复 (3)

qq29744
qq29744#1

发那科的TP程序里FOR循环嵌套层数是有上限的,老版本限制3层,V9.40好像是4层还是5层来着,具体记不清了。另外IF/SELECT里如果用了寄存器或者位置寄存器做判断条件,注意一下变量类型匹配,R[i]和PR[i]别混着赋值,它比库卡严谨多了容易报语法错。把你的程序贴出来看看到底卡哪行,光说报错信息不太好判断。

2026/04/20 21:13
abc883521
abc883521#2

直接用LBL+JMP LBL跳着走,别死磕FOR了,我们厂里12台发那科码垛全是这种写法,稳得一批。判断空托盘用DI[ ]通断配合LBL跳转,比你套IF省事还不出错。

2026/04/21 16:15
薄利多销
薄利多销#3

报MOTN-023一般不是语法问题,是运动指令位置数据有问题,循环里调用位置寄存器PR没赋值或者超出组数了吧?

2026/04/26 14:43