工业机器人码垛调试

工业机器人码垛调试

主页 > 应用案例 > 工业机器人码垛调试 >

工业机器人码垛调试案例

日期:2021-03-17

对于有限数目的码垛,可以采用预生成码垛位置数组的方法
以码垛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从零开始,以保证与数组下标一致就可以了。