智慧印刷工坊

智慧印刷工坊

码垛程序详解,如何编写ABB码垛程序?

admin 192 30

在编写码垛程序之前,我们首先要清楚码垛是什么,码垛其实就是机械手的基于一个基准点所做的偏移,中心思想就是满几进1。

我们来解释下,我们首先要定一个基准点,我们的下面所有的点位的偏移都是在基准点XYZ方向上的偏移。如图所示:以物体1的位置为基准点,当我们在X正方向以40mm的距离的偏移做偏移运动。


如图在X方向我们假设摆放5个物体,我们这一行的空间就用完了,我们就需要在重新开始一行来摆放我们的物体,所以我们就是需要在Y方向进行偏移,偏移35mm的距离,来继续摆放我们的物体。如下图:


假设当我们在Y方向上只能摆放4行物体时,当我们摆满4行物体,最下面一层就已经被我们摆满,这时候我们还要摆放就只能接着向上摆放,也就是往Z方向上偏移了。如下图所示;


当我们明白码垛的含义之后,我们再来看下在ABB机械手中如何编写码垛程序。机器计算的方式和我们运算的刚好相反,机器是先计算层数,再计算行数,最后再计算产品在一列中的位置。如下

PROCpallet1()!码垛计算程序

jishu1:=nproduct;!产品计数

nx:=0;!列数

ny:=0;!行数

nz:=0;!层数

dx:=0-kuan;!X方向偏移距离

dy:=chang;!Y方向偏移距离

dz:=0-gao;!Z方向偏移距离

WHILEjishu120DO!程序会先计算产品有几层,当产品满足一层有20时,会在Z方向jishu1:=jishu1-20;加1。当产品不满一层时,程序会继续往下运行。

nz:=nz+1;

WHILE

WHILEjishu15DO!计算产品有几行,一行产品有5个,当产品满足5时.会在Y方向jishu1:=jishu1-5;加1.当产品不满1行时,程序会继续往下运行。

ny:=ny+1;

WHILE

WHILEjishu11DO!最后计算产品在一列有几个产品,也就是产品在X方向的位置

jishu1:=jishu1-1;

nx:=nx+1;

WHILE

X:=nx*dx;!X方向偏移的距离

Y:=ny*dy;!Y方向偏移的距离

Z:=nz*dz;!Z方向偏移的距离

PROC

PROCquliao()!放料程序

IFnproduct=1THEN

fristpoint;

IF

IFnproduct1THEN

pallet1;!码垛计算程序

SetDODO11_CONTROL_1,1;

MoveJOffs(q10,X,Y,Z+200),v1000,z1,tool0\WObj:=wobj_shangxialiao;!抬高点

MoveLOffs(q10,X,Y,Z),v300,fine,tool0\WObj:=wobj_shangxialiao;!放料点,偏移点位

WaitTime1;

MoveLOffs(q10,X,Y,Z+200),v300,fine,tool0\WObj:=wobj_shangxialiao;!抬高点

IFPROC


详细的程序可以私聊我