abb机器人码垛编程指令【详解】
机器人码垛应用非常常见,那我们先来认识认识码垛是什么吧?
码垛机是将已装入容器的纸箱,按一定排列码放在托盘、栈板(木质、塑胶)上,进行自动堆码,可堆码多层。

在一些的工程师中,拿到了码垛项目时,匆忙下手编程与调试,到头来自己忙的不可开交,而且效率还不高,那针对码垛这类的项目或者案例我们有没有什么方法能使我们高效编程呢?答案是有的!(以ABB机器人举例介绍)
首先,我们来分析一下,我们码垛产品的时候是有行有列的(或者说横向纵向),那么这时候我们就可以联想到数组也刚好有这一特性。由此,我们可以利用数组对机器人进行编程!要想编好程序,我们应该先理解数组了。
所谓数组,是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。
举例:
int a[10]; 说明整型数组a,有10个元素。若要表示第10个元素,则使用a[9]。第一个则是a[0]。
float b[10],c[20]; 说明实型数组b,有10个元素,实型数组c,有20个元素。
char ch[20]; 说明字符数组ch,有20个元素。
在ABB机器人中,数组分为一维数组、二维数组、三维数组,那它们的区别在哪里呢?我们编程需要用到几维数组呢?那我们来看看例子:
一维数组:
当数组中每个元素都只带有一个下标时,称这样的数组为一维数组。

注意:ABB机器人中第一个元素为:num1{1},而非num1{0},所以num1中有三个元素,第一个元素值为5,而非第0个元素值为5。
二维数组:

理解完了数组之后,我们来看一下,具体编程案例吧!如图中,有4个点需要计算,以第1点位基准。(每个方块的长宽都是200mm*200mm)

数组建立:

接下来我们来看一下在示教器里怎么编辑吧!(新建一个数组 reg6{4,3}),建立好了数组之后编程就按上述方式即可!
1.新建一个4行3列的数组,名称为reg6。

2.把计算出来的偏移值填进去。{1,1}代表第一个产品X轴偏移值,{1,2}代表第一个产品Y轴偏移值,{1,1}代表第一个产品z轴偏移值。


如果是两层的码垛(8个产品),则只需要建立reg6{8,3}数组,XY值不变,只是Z轴位置改变了。最后我们看到的程序就是这样的:
CASE 1:
pick := Offs(p10,reg6{1,1},reg6{1,2},reg6{1,3});
CASE 2:
pick := Offs(p10,reg6{2,1},reg6{2,2},reg6{2,3});
CASE 3:
pick := Offs(p10,reg6{3,1},reg6{3,2},reg6{3,3});
CASE 4:
pick := Offs(p10,reg6{4,1},reg6{4,2},reg6{4,3});
CASE 5:
pick := Offs(p10,reg6{5,1},reg6{5,2},reg6{5,3});
CASE 6:
pick := Offs(p10,reg6{6,1},reg6{6,2},reg6{6,3});
CASE 7:
pick := Offs(p10,reg6{7,1},reg6{7,2},reg6{7,3});
CASE 8:
pick := Offs(p10,reg6{8,1},reg6{8,2},reg6{8,3});
扩展资料:
工业机器人的码垛编程:
1)什么是码垛?
有规律的移动机器人进行抓取及放置。
2)如何简便码垛程序
设置好工件坐标系,工具,对第一个码垛放置点进行示教,xyz方向的间距和个数可设。
3)如何创建码垛编程
用示教器编写程序,程序如下:
1:J PR[1] 100% FINE ;移动至待命位置 P1
2:LBL[1] ;标签 1
3:J PR[2] 100% FINE ;移动至待命位置 P2
4:WAIT RI[12]=ON ;等待抓料位有料
5:L PR[3] 100mm/sec FINE ;移动至抓料位 P3
6:WAIT 1.00(sec) ;等待 1S
7:RO[11]=ON ;抓手闭合阀 ON
8:WAIT RI[11]=ON ;等待抓手闭合开关 ON
9:RO[11]=OFF ;抓手闭合阀 OFF
10:PALLETIZING-B_1
11:J PAL_1[A_1] 80% FINE ;移动至趋近点
12:L PAL_1[BTM] 100mm/sec FINE ;移动至堆叠点
13:RO[10]=ON ;抓手张开阀 ON
14:WAIT RI[10]=ON ;等待抓手张开开关 ON
15:RO[10]=OFF ;抓手张开阀 OFF
16:L PAL_1[R_1] 100mm/sec FINE ;移动至回退点
17:PALLETIZING-END_1
18:JUMP LBL[1] ;跳转至标签 1
4) 注意事项
(1) 要提高码垛的动作精度,需要正确进行 TCP 的设定。
(2) 码垛寄存器,应避免同时使用相同编号的其他码垛。
(3) 码垛功能,在三个指令也即码垛指令、码垛动作指令、码垛结束指令 存在于一个程序而发挥作用。即使只将一个指令复制到子程序中进行示教,该功能也不会正常工作,应注意。(4) 码垛编号,在示教完码垛的数据后,随同码垛指令、码垛动作指令、 码垛结束指令一起被自动写入。不需要在意是否在别的程序中重复使 用着码垛编号(每个程序都具有该码垛编号的数据)。
(5) 在码垛动作指令中,不可在动作类型中设定“C”(圆弧运动)
