讨论

ABB IRB6700做5×10码垛,码放顺序怎么排最省事?

平平淡淡才是真
平平淡淡才是真
2026/05/10 09:43

刚接了个码垛的活,用的ABB IRB6700,5行10列的垛型,箱子尺寸比较规整。我之前没怎么写过这种规律的码垛程序,照着网上的例子套了一下,用FOR循环算行列偏移,但算出来放箱的时候总感觉路径绕得远,空跑多。

想问问各位,这5×10的垛型,行列偏移是按X-Y算好还是直接用数组存点位好?另外抓箱放箱的顺序你们一般怎么排,是逐行从左到右再换行,还是走S型回转?感觉换行那一下特别容易撞箱子。

67 3

全部回复 (3)

胡立新
胡立新#1

直接用二维数组存50个点,最省事。数组里每个元素是x、y、z三个偏移,X是列方向步距(箱子长边),Y是行方向步距(箱子短边),z不变因为是同层码放。码放顺序建议走S型:第一行从左到右放满10个,抬升安全高度,X方向回退到最右,Y走一个步距进入第二行,然后从右往左放。这样换行只走一个步距的Y,比每次都从原点重新定位快得多。

我这边6700配的是1790的抓手,节拍大概11秒一个箱子,主要时间都花在抬升和回退上。数组里建议多加一列虚位,比如定义成[5][11]或者[6][10],留出换行过渡的余量,程序看起来更清楚。

2026/05/11 00:24
qiangz97
qiangz97#2

你那个算法如果是用一个总计数除以10算行、取余算列的话,注意取整和浮点的问题,6700的RAPID里DIV是整除,MOD也是整除,行列算出来可能有1mm的累计误差,跑久了最后那个箱子位置会偏。最好每次换行重新算基准,或者用OFFS指令的相对偏移来做,别一上来就绝对定位到计算后的坐标。

2026/05/13 01:53
slj2000
slj2000#3

码垛程序别光想着点位,IO时序才是坑。你箱子到位信号、抓手夹紧检测、放置完成信号,这三个之间的延时设不对,要么抓空要么放歪。我们现场用的是PLC发握手信号,机器人收到放箱完成后再等200ms才抬升,不然箱子底下气胀轴没完全松开,抬起来会带偏。你程序里这几个WAIT加够了没?

2026/05/13 09:09