待解决

abb机器人conc并行指令卡顿,有没有人遇到过?

lin_zhiqiang
lin_zhiqiang
2026/03/14 16:15

项目里用了两台ABB IRB1200做搬运,主从之间靠conc指令同步,主站发完信号从站立刻动作,理论节拍1.2秒能稳。但现场跑起来发现从站动作有时候要慢200ms左右,监控发现conc信号来回有抖动,用示波器看IO响应是正常的,怀疑是conc指令本身在某个扫描周期被hold住了。

机器人是IRC5 Compact,RobotWare 6.08,conc指令是标准的TriggSpeed/TriggL配合,没用复杂逻辑。试过把conc前面的move指令加速度降一档,抖动小一点但还是偶尔出现。系统里同时还跑了一路socket通信跟上位机交换数据,每50ms一次,不知道是不是这个把RAPID的扫描周期给拖了。

有没有兄弟碰到过类似情况?conc指令的执行优先级在RobotWare里到底是怎么算的,跟后台通信任务会不会抢资源?

103 4

全部回复 (4)

laojie
laojie#1

conc这东西在IRC5上的执行机制我专门测过,它本身就是跟主任务异步跑的,主任务把信号置位之后,conc的监测任务要等下一个系统扫描周期才能捕获,这个周期默认是20ms左右。如果你在主任务里还塞了socket收发,每包数据超过1KB的时候,RAPID任务调度会被拖到30-40ms,conc抖动到200ms一点都不奇怪。

我之前做的方案是把socket通信挪到独立的background task,用BACKGROUND指令声明,主任务只保留move和conc,实测节拍从1.2s压到0.95s,conc抖动控制在5ms以内。你那个6.08版本对多任务的支持还可以,不用升版本。另一个思路是把conc的监测改用Interrupt方式,精度能再高一点,但代码改动大。

2026/03/15 02:26
日进斗金
日进斗金#2

你conc前面是move指令的话,注意一下那个move是用什么zone结束的,zone太大机器人还没到位信号就发出去了,从站提前响应当然会卡。改成fine试试看,节拍能差出100多ms。

2026/03/15 06:20
9999
9999#3

6.08这个版本bug不少,socket那块我记得官方有补丁包,搜一下RW6.08.0134,针对的就是后台通信卡主任务的问题。另外确认一下你conc里那个判断条件,是不是用了复杂的IF嵌套,CPU负载一高就容易漏帧。

2026/03/18 03:56
顺顺利利
顺顺利利#4

从站是啥型号?IRB1200从站这边如果同时还带个传送带跟踪,conc的同步精度会更差,你确定不是从站自己慢的?

2026/03/30 07:22