其他分享
首页 > 其他分享> > ABB用数组实现码垛方式

ABB用数组实现码垛方式

作者:互联网

ABB用数组实现码垛方式

 

对于有限数目的码垛,可以采用预生成码垛位置数组的方法

以码垛3*3*3 (行列层)为例

 

PERS ROBOTARGET robPos_Array{27}:=.........         定义一个robotarget类型数组

PERS ROBOTARGET PutBasePos:=......           定义一个robotarget码垛基准位置,通常取最底层第一个位置                 

VAR num dist_x

VAR num dist_y

VAR num dist_z

VAR num i

 

对数组的赋值,可以单独设立例程,也可以写进该模块主程序的初始例程中,方法和效果是一样的。

i:=0;

dist_x:=50;行距

dist_y:=50;列距

dist_z:=50;层高

for z from 0 to 2 do

   for y from 0 to 2 do

       for x from 0 to 2 do

           robPos_Array{i}:=offset(PutBasePos,x*dist_x,y*dist_y,z*dist_z);

           i:=i+1;

       endfor

   endfor

endfor

-----上面是先行后列再垂直方向,预先生成码垛位置数组

 

先列后行只需把  for y...  和  for x... 位置对调一下就可以了,如下:

for z from 0 to 2 do

   for x from 0 to 2 do

       for y from 0 to 2 do

           robPos_Array{i}:=offset(PutBasePos,x*dist_x,y*dist_y,z*dist_z);

           i:=i+1;

       endfor

   endfor

endfor

 

先垂直,然后再行列,如下:

for y from 0 to 2 do

   for x from 0 to 2 do

       for z from 0 to 2 do

           robPos_Array{i}:=offset(PutBasePos,x*dist_x,y*dist_y,z*dist_z);

           i:=i+1

       endfor

   endfor

endfor

 

 

如此类推。

 

正式码垛引用时就非常简洁了

 

MOVEL robPos_Array{nCounts}....

Reset do_release;

 

注意nCounts从零开始,以保证与数组下标一致就可以了。

 想深度合作请扫码关注,赢胜智能再次祝你牛年大吉,生意兴隆!

 

 

标签:do,ABB,dist,数组,endfor,码垛,Array,robPos
来源: https://blog.csdn.net/weixin_42276740/article/details/113902060