码垛程序详解,如何编写ABB码垛程序? | abb机器人码垛编程
【码垛程序详解,如何编写ABB码垛程序? | abb机器人码垛编程】lot物联网小编为你整理了的相关内容,希望能为你解答。
在编写码垛程序之前,我们首先要清楚码垛是什么,码垛其实就是机械手的基于一个基准点所做的偏移,中心思想就是满几进1。
我们来解释下,我们首先要定一个基准点,我们的下面所有的点位的偏移都是在基准点X Y Z方向上的偏移。如图所示:以物体1的位置为基准点,当我们在X正方向以40mm的距离的偏移做偏移运动。
如图在X方向我们假设摆放5个物体,我们这一行的空间就用完了,我们就需要在重新开始一行来摆放我们的物体,所以我们就是需要在Y方向进行偏移,偏移35mm的距离,来继续摆放我们的物体。如下图:
假设当我们在Y方向上只能摆放4行物体时,当我们摆满4行物体,最下面一层就已经被我们摆满,这时候我们还要摆放就只能接着向上摆放,也就是往Z方向上偏移了。如下图所示;
当我们明白码垛的含义之后,我们再来看下在ABB机械手中如何编写码垛程序。机器计算的方式和我们运算的刚好相反,机器是先计算层数,再计算行数,最后再计算产品在一列中的位置。如下
PROC pallet1() !码垛计算程序
jishu1 := nproduct; !产品计数
nx := 0; !列数
ny := 0; ! 行数
nz := 0; ! 层数
dx := 0 - kuan; ! X方向偏移距离
dy := chang; ! Y方向偏移距离
dz := 0 - gao; !Z方向偏移距离
WHILE jishu1 > 20 DO !程序会先计算产品有几层,当产品满足一层有20时,会在Z方向 jishu1 := jishu1 - 20; 加1。当产品不满一层时,程序会继续往下运行。
nz := nz 1;
ENDWHILE
WHILE jishu1 > 5 DO !计算产品有几行,一行产品有5个, 当产品满足5时.会在Y方向 jishu1 := jishu1 - 5; 加1.当产品不满1行时,程序会继续往下运行。
ny := ny 1;
ENDWHILE
WHILE jishu1 > 1 DO ! 最后计算产品在一列有几个产品,也就是产品在X方向的位置
jishu1 := jishu1 - 1;
nx := nx 1;
ENDWHILE
X := nx * dx; !X方向偏移的距离
Y := ny * dy; !Y方向偏移的距离
Z := nz * dz; !Z方向偏移的距离
ENDPROC
PROC quliao() ! 放料程序
IF nproduct = 1 THEN
fristpoint;
ENDIF
IF nproduct > 1 THEN
pallet1; !码垛计算程序
SetDO DO11_CONTROL_1, 1;
MoveJ Offs(q10,X,Y,Z 200), v1000, z1, tool0WObj:=wobj_shangxialiao; !抬高点
MoveL Offs(q10,X,Y,Z), v300, fine, tool0WObj:=wobj_shangxialiao; !放料点,偏移点位
WaitTime 1;
MoveL Offs(q10,X,Y,Z 200), v300, fine, tool0WObj:=wobj_shangxialiao; !抬高点
ENDIF
ENDPROC
详细的程序可以私聊我
以上内容为【码垛程序详解,如何编写ABB码垛程序? | abb机器人码垛编程】的相关内容,更多相关内容关注lot物联网。