现有一台工业机器人码垛工作站,需要完成三种颜色工件的码垛功能。使用的硬件包括工业机器人、PLC、智能相机、5*5的码放平台和红黄蓝三色工件。工作站采用智能相机识别工件的颜色,结果发送给PLC。PLC根据颜色信息完成码放位置的算法,发送控制命令和放置坐标给机器人,工业机器人执行码垛的任务。
一、码放坐标分析
按照图中所示的工件码放位置,以P0(X0,Y0)点为基准点,计算P1至P5五个方格中心点相对P0点的坐标值,五个坐标点进行组合就得出25个方格中心点的坐标值。例如:P1点的X1和P4点Y4组合,得出P14点的坐标。
二、创建变量
1、在PLC中创建自定义数据块,添加数组变量P,赋值P1至P5坐标的起始值。这个表格就是查表法中的表,工件码放坐标值都预设在表格里。
2、添加工件高度H,根据红黄蓝三色工件实际高度赋值起始值。
3、根据放置位置,列举出各颜色工件码放的行列号。以行列号组合的数值赋值起始值,个位数表示列,十位数表示行。例如:红色行列号[1]的值是51,表示5行1列,即P51的位置。
4、三种颜色码放完成数量的计数,赋值初始值为1。每码放完成一个工件,对应的计数变量就加1。
三、查表法算法
根据码放完成的数量,计算出工件放置的行列号,进而计算出码放位置P点的坐标,就可以得出工件码放坐标值。
以红色工件码放坐标计算为例,讲解使用查表法计算码放位置的方法:
定义R表示行,L表示列,X和Y表示工件放置坐标,H表示工件放置高度,T表示当前码放位置的层数。
T=完成数量.红色 / 每层工件数量
R=红色行列号[ T ] / 10
L=红色行列号[ T ] MOD 10
H=T * 工件高度
工件码放位置X=P[R].X
工件码放位置Y=P[L].Y
工件码放位置Z=H
注:/ 表示除法取商,MOD表示取余数,* 表示乘法
例如:红色工件码放完成数量等于1,红色工件每层放置2个,工件高度为20,计算得出:
T=1
R=红色行列号[1] / 10,即:R=5
L=红色行列号[1] MOD 10 ,即:L=1
H=1 * 20,即:H=20
工件码放位置X=P[5].X,即:工件码放位置X=234
工件码放位置Y=P[1].Y,即:工件码放位置Y=26
工件码放位置Z=H,即:工件码放位置Z=20
PLC示例程序:
四、数据传输与执行
PLC把计算得出的工件码放位置发送工业机器人,工业机器人以P0为基准点,进行XYZ方向偏移,完成工件码放功能。
定义PutX表示码放坐标X,PutY表示码放坐标Y,PutZ表示码放的高度。
以ABB机器人使用计算出的码放位置为例,说明机器人怎么进行坐标的偏移。
机器人示例程序:
个人觉得查表法相对比较简单,后期进行坐标数值的修改的也比较方便。
领取专属 10元无门槛券
私享最新 技术干货