待解决

ABB机器人程序跳回主程序用啥指令啊

651128
651128
2026/05/12 07:03

手上有个搬运项目,主程序跑完一段要跳回去重新判条件再走,用ABB的IRB1200,程序里现在写了一堆IF判断套着,逻辑太乱了。想直接做个返回主程序顶部的指令,类似FANUC那种GOTO的感觉,ABB里到底用啥?RTN试了下好像不是回主程序头的,是退到上一级。有人用过没说说。

16 4

全部回复 (4)

平平淡淡才是真
平平淡淡才是真#1

用ProcCall调用主程序就行,或者直接用GOTO配合标签。在主程序开头打个标号比如MAIN_START,下面逻辑跑完用GOTO MAIN_START就跳回去了。注意GOTO只能在同一个程序内跳,跨程序不行,要跨程序就用ProcCall把主程序当子程序调。有些老工程师习惯用RETURN,但那个是退出当前程序回调用点,不是你要的效果。判断条件直接放在跳转前面就行,逻辑能清爽不少。

2026/05/12 07:37
龙哥
龙哥#2

ProcCall是正解,但有个坑提醒一下,调用完记得用RETURN或者让它自己跑完,不然容易出现程序嵌套太深报栈溢出。我之前一个项目就是这么写的,后来改成GOTO在同一个程序里跳反而更稳。

2026/05/18 13:51
1160892635
1160892635#3

你这逻辑写得太啰嗦了吧,IF套IF的能跑才怪。直接用WHILE或者TEST,条件不满足就退出循环,比来回跳转清楚多了。返回指令本身不是重点,结构先捋顺。

2026/05/24 14:41
小鹏
小鹏#4

你IRB1200走的啥通信,是跟PLC交互还是单机跑?要是跟PLC联的话,判断条件放PLC里,机器人只管执行,程序能短一大截。

2026/06/06 17:18