紧急求助

ABB机器人RAPID里FOR循环跳不出去,有没有人碰到过

651128
651128
2026/04/06 12:58

最近在调一台IRC5,主程序里写了个FOR i:=1 TO 10 DO,跑的时候i到7就死活不往下走了,监控里看i一直是7。循环里就几句MoveJ和SetDO,没break也没return。有人遇到过这种情况吗?是不是RAPID的FOR不能这样用?

程序结构大概就是外面套一层FOR,里面一个IF判断信号满足就调个子程序,子程序里有个WaitTime 0.5。想问下WaitTime放在FOR循环里会不会把循环卡住?

33 4

全部回复 (4)

看淡
看淡#1

WaitTime本身不会卡FOR,但你这描述有点像死循环套娃了。IRC5里FOR循环执行期间如果触发了一个中断或者调用了子程序在子程序里改了循环计数器相关的变量,行为确实会乱。先把SetDO那段注释掉,单跑MoveJ和IF看看i能不能正常到10。

2026/04/06 17:01
阿鹏
阿鹏#2

i卡在7这种,多半是StopMove或者Stop在那里了。RAPID里ExecuteMode跑正常模式不会这样,但如果是Step模式单步走过FOR里某一句把执行指针卡了,监控看i就冻住了。切回Auto连按两下启动试试。

2026/04/07 07:29
810126
810126#3

说真的FOR i:=1 TO 10这种写法我基本不用,ABB的FOR在循环里不能修改终值这点不如发那科清楚。你那个IF里调子程序,子程序里如果有MoveAbsJ走奇异点也会卡死。把子程序替换成一个空的、只写TPWrite输出i的值,定位就快了。

2026/04/07 07:44
laoqiang
laoqiang#4

中断号多少?开了几个?

2026/04/07 13:04