工业机器人码垛调试案例
日期: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从零开始,以保证与数组下标一致就可以了。
以码垛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从零开始,以保证与数组下标一致就可以了。
联系我们
全国服务热线
服务热线 17317116650
公司:赢胜智能科技(上海)有限公司
地址:上海市松江区国家级开发区港业路50号