1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ABB,工业机器人编程,第九章 ABB机器人码垛应用案例,工作站描述,码垛是物流自动化技术领域的一门新兴技术,码垛要求将袋装、箱体等对象按照一定模式和次序码放在托盘上,以实现物料的搬运、存储、装卸、运输等物流活动。,本项目工作站机器人采用ABB
2、 IRB460工业机器人,控制柜采用ABB IRC5控制柜,工业机器人对传输带输送来的物体进行码垛操作。,第九章 ABB机器人码垛应用案例,工作站描述,码垛机器人工作站由IRB460机器人、吸盘工具、传输带、控制柜、码垛托盘组成。机器人末端法兰装有吸盘工具。,第九章 ABB机器人码垛应用案例,工作站描述,码垛机器人工作站的工作过程:传输带将物体运输到传输带的末端,安装在传输带末端的传感器检测物体是否到位,物体到位后将信号传递给机器人,机器人末端吸盘工具吸取物体,然后机器人将物体送到码垛托盘,,码垛物体尺寸为600mmx400mmx200mm,,按照下图所示的码垛方式进行码垛。,第九章 ABB机
3、器人码垛应用案例,9.1,通讯板卡配置,1,在此工作站中配置一个DSQC652通信板卡(数字量16进16出),总线地址为10。单机“控制器”中的“示教器”下的“虚拟示教器”。,第九章 ABB机器人码垛应用案例,9.1,通讯板卡配置,2 将示教器运行模式切换至“手动”模式,。,点,1,点,2,点,3,点,4,第九章 ABB机器人码垛应用案例,9.1,通讯板卡配置,3 打开示教器菜单栏中的“控制面板”,。,第九章 ABB机器人码垛应用案例,9.1,通讯板卡配置,4 单击“控制面板”下的“配置”,。,第九章 ABB机器人码垛应用案例,9.1,通讯板卡配置,5 双击“DeviceNet Device”
4、配置通讯板卡,第九章 ABB机器人码垛应用案例,9.1,通讯板卡配置,6 单击“添加”,第九章 ABB机器人码垛应用案例,9.1,通讯板卡配置,7 将“使用来自模板的值”更改为“DSQC 652 24 VDC I/O Device”,第九章 ABB机器人码垛应用案例,9.1,通讯板卡配置,8 将通讯板卡名称改为“BOARD10”,第九章 ABB机器人码垛应用案例,9.1,通讯板卡配置,9 将通讯板卡地址“Address”改为“10”,第九章 ABB机器人码垛应用案例,9.1,通讯板卡配置,10 单击“确定”,第九章 ABB机器人码垛应用案例,9.1,通讯板卡配置,11 提示重启时点击“否”,,
5、暂不重启示教器,待创建完信号后再重启,第九章 ABB机器人码垛应用案例,9.1,通讯板卡配置,12 点击“后退”,第九章 ABB机器人码垛应用案例,9.2 IO,信号配置,1 在此工作站共设置了2个数字量输出输入信号,在示教器依次单击“菜单”-“控制面板”-“配置”,然后双击“Signal”,进入IO信号配置,第九章 ABB机器人码垛应用案例,9.2 IO,信号配置,2 点击“添加”,第九章 ABB机器人码垛应用案例,9.2 IO,信号配置,3 添加数字量输入信号diBoxInPos,表示物品到位传感器,第九章 ABB机器人码垛应用案例,9.2 IO,信号配置,4 添加数字量输出信号doGri
6、pper,表示机器人末端执行器吸盘动作信号,第九章 ABB机器人码垛应用案例,9.3,工具坐标系设置,在此工作站中,工具部件为吸盘工具,需要创建一个tGripper的工具坐标系。工具坐标系沿着默认坐标系tool0的Z轴正方向偏移160mm,工具本身负载1Kg,其他值保持默认,第九章 ABB机器人码垛应用案例,9.3,工具坐标系设置,第九章 ABB机器人码垛应用案例,9.3,工具坐标系设置,第九章 ABB机器人码垛应用案例,9.3,工具坐标系设置,第九章 ABB机器人码垛应用案例,9.3,工具坐标系设置,第九章 ABB机器人码垛应用案例,9.3,工具坐标系设置,第九章 ABB机器人码垛应用案例,
7、9.4,工件坐标系设置,在本工作站中,工件坐标系采用系统默认的初始工件坐标系(此工作站的Wobj0与机器人基座标系重合)。,9.5,有效载荷设置,在本工作站中,载荷数据采用系统默认的初始载荷数据load0。,第九章 ABB机器人码垛应用案例,9.6,创建标志,1)托盘满标志bPalletFull,(1)在“程序数据”窗口中视图下拉菜单中选择“全部数据类型”,然后找到并选中bool数据类型,第九章 ABB机器人码垛应用案例,9.6,创建标志,(2)单击“bool”后然后单击“创建”出现如图3-25所示的“数据声明”窗口。在“数据声明”窗口将名称改为bPalletFull,并单击“确定”。,第九章
8、 ABB机器人码垛应用案例,9.6,创建标志,(,3,)将其初始值赋为False,第九章 ABB机器人码垛应用案例,9.6,创建标志,2)创建工件计数数据nCount,(1)nCount为num类型的数据,在数据类型窗口中选择num类型数据并单击,出现创建num类型数据窗口,将其名称修改为nCount,第九章 ABB机器人码垛应用案例,9.6,创建标志,(,2,)将其初值赋为1。,第九章 ABB机器人码垛应用案例,9.7,目标点示教,此工作站中的关键目标点主要有:工作原点(pHome)、传送带抓取工件位置(pPick)、放置基准点(pPlaceBase)。,下面以创建pHome目标点为例,在数
9、据窗口中选择robtarget类型数据并单击,出现创建robtarget类型数据窗口,将其名称修改为pHome,存储类型为可变量。,第九章 ABB机器人码垛应用案例,9.7,目标点示教,3个目标点数据创建完成,第九章 ABB机器人码垛应用案例,9.7,目标点示教,下面对各个目标点进行示教,示教时选择工具坐标tGripper,工件坐标系默认为Wobj0。,1)pPick示教,在布局窗口,将物品移动到传送带末端,通过移动机器人,使工具位置如下图所示,选中“编辑”菜单,单击“修改位置”,这样pPick目标点示教完成。,第九章 ABB机器人码垛应用案例,9.7,目标点示教,2)pHome示教,在pPi
10、ck目标点基础上,通过移动机器人的Z方向,使工具位置如下图所示,同样的方法对pHome目标点进行示教。,第九章 ABB机器人码垛应用案例,9.7,目标点示教,3)pPlaceBase示教,机器人要完成如图3-32所示的第一层和第二层码垛方式,需要对码垛工件位置进行示教。如果把所有的放置位置全部示教会比较麻烦,导致示教过程较长,从下图可以看出每个工件长宽高一样,只需建立一个放置基准点pPlaceBase,其余位置可用指令Reltool进行偏移放置。,第九章 ABB机器人码垛应用案例,9.7,目标点示教,通过移动机器人,使工具位置如下图所示,利用上述方法对pPlaceBase目标点进行示教。,第九
11、章 ABB机器人码垛应用案例,9.7,目标点示教,完成pPlaceBase示教后,根据码垛类型和工件的尺寸完成其余目标点的设置。,第一层共有5个位置,分别为RelTool(pPlaceBase,0,0,0Rz:=0)、RelTool(pPlaceBase,-600,0,0Rz:=0)、RelTool(pPlaceBase,100,-500,0Rz:=90)、RelTool(pPlaceBase,-300,-500,0Rz:=90)、RelTool(pPlaceBase,-700,-500,0Rz:=90)。,第二层共有5个位置,分别为RelTool(pPlaceBase,100,-100,-2
12、50Rz:=90)、RelTool(pPlaceBase,-300,-100,-250Rz:=90)、RelTool(pPlaceBase,-700,-100,-250Rz:=90)、RelTool(pPlaceBase,0,-600,-250Rz:=0)、RelTool(pPlaceBase,-600,-600,-250Rz:=0)。,第九章 ABB机器人码垛应用案例,9.7,目标点示教,4)创建pPlace位置,创建一个robtarget类型的可变量pPlace,该变量的作用是将用pPlaceBase所表示的工件位置赋值给pPlace,机器人按照pPlace的位置放置工件,第九章 ABB机
13、器人码垛应用案例,9.8,创建例行程序,MainModule程序模块已经建立,可在示教器的程序编辑器中查看,第九章 ABB机器人码垛应用案例,9.8,创建例行程序,新建例行程序Main、rInitAll、rModify、rPick、rPlace、rPlaceRD、rPosition,第九章 ABB机器人码垛应用案例,9.9,程序解析,PROC Main(),/,主程序,rInitAll;,/,调用初始化程序,用于复位机器人位置、信号、数据等,WHILE TRUE DO,/,进入死循环,IF bPalletFull=FALSE THEN,/,判断是否已码垛完成,rPick;,/,调用抓取子程序,
14、rPlace;,/,调用放置子程序,ELSE,WaitTime 0.3;,/,码垛完成,机器人等待,0.3,秒,ENDIF,ENDWHILE,ENDPROC,第九章 ABB机器人码垛应用案例,9.9,程序解析,PROC rInitAll(),/,初始化程序,pActualPos:=CRobT(tool:=tGripper);,/,实时读取机器人位置,pActualPos.trans.z:=pHome.trans.z;,/,将机器人Z方向位置保持在原点,PHome,的Z方向位置,MoveL pActualPos,v500,fine,tGripperWObj:=wobj0;,/,将机器人移动到pA
15、ctualPos位置,MoveJ pHome,v500,fine,tGripperWObj:=wobj0;,/,将机器人移动到原点,PHome,位置,bPalletFull:=FALSE;,/,复位托盘满信号,nCount:=1;,/,将工件计数赋为初始值1,Reset doGripper;,/,复位吸盘信号,ENDPROC,第九章 ABB机器人码垛应用案例,9.9,程序解析,PROC rPick(),/,抓取程序,MoveJ Offs(pPick,0,0,300),v2000,z50,tGripperWObj:=wobj0;,/,将机器人移动到抓取位置的上方300mm处,WaitDI diB
16、oxInPos,1;,/,等待物品到位信号,MoveL pPick,v500,fine,tGripperWObj:=wobj0;,/,将机器人移动到抓取位置,Set doGripper;,/,机器人移动到抓取位置后使吸盘吸取物品,MoveL Offs(pPick,0,0,300),v500,z50,tGripperWObj:=wobj0;,/,将机器人移动到抓取位置上300mm处,ENDPROC,第九章 ABB机器人码垛应用案例,9.9,程序解析,PROC rPlace(),/,放置程序,rPosition;,/,调用放置位置计算程序,MoveJ Offs(pPlace,0,0,300),v2
17、000,z50,tGripperWObj:=wobj0;,/,将机器人移动到放置工件位置的上方300mm处,MoveL pPlace,v500,fine,tGripperWObj:=wobj0;,/,将机器人移动到放置位置,Reset doGripper;,/,复位吸盘动作信号,MoveL Offs(pPlace,0,0,300),v500,z50,tGripperWObj:=wobj0;,/,将机器人移动到放置工件位置的上方300mm处,rPlaceRD;,/,调用放置次数判断程序,ENDPROC,第九章 ABB机器人码垛应用案例,9.9,程序解析,PROC rPlaceRD(),/,放置次
18、数计算程序,Incr nCount;,/,放置次数自加,1,IF nCount=11 THEN,nCount:=1;,/,放置次数大于等于11时,将计数nCount赋值为1,复位托盘满信号,并将机器人移动到工作原点,bPalletFull:=TRUE;,MoveJ pHome,v1000,fine,tGripperWObj:=wobj0;,ENDIF,ENDPROC,第九章 ABB机器人码垛应用案例,9.9,程序解析,PROC rPosition(),/,放置位置计算程序,TEST nCount,/,根据nCount数值,计算放置位置数据,CASE 1:,/,第一个放置位置,pPlace:=R
19、elTool(pPlaceBase,0,0,0Rz:=0);,CASE 2:,/,第二个放置位置,pPlace:=RelTool(pPlaceBase,-600,0,0Rz:=0);,CASE 3:,/,第三个放置位置,pPlace:=RelTool(pPlaceBase,100,-500,0Rz:=90);,CASE 4:,/,第四个放置位置,pPlace:=RelTool(pPlaceBase,-300,-500,0Rz:=90);,第九章 ABB机器人码垛应用案例,9.9,程序解析,CASE 5:,/,第五个放置位置,pPlace:=RelTool(pPlaceBase,-700,-50
20、0,0Rz:=90);,CASE 6:,/,第六个放置位置,pPlace:=RelTool(pPlaceBase,100,-100,-250Rz:=90);,CASE 7:,/,第七个放置位置,pPlace:=RelTool(pPlaceBase,-300,-100,-250Rz:=90);,CASE 8:,/,第八个放置位置,pPlace:=RelTool(pPlaceBase,-700,-100,-250Rz:=90);,CASE 9:,/,第九个放置位置,pPlace:=RelTool(pPlaceBase,0,-600,-250Rz:=0);,第九章 ABB机器人码垛应用案例,9.9,
21、程序解析,CASE 10:,/,第十个放置位置,pPlace:=RelTool(pPlaceBase,-600,-600,-250Rz:=0);,DEFAULT:,Stop;,/,当放置次数大于等于,11,时,停止机器人运动,ENDTEST,ENDPROC,第九章 ABB机器人码垛应用案例,9.9,程序解析,PROC rModify(),/,目标点示教程序,不在主程序内使用,MoveL pHome,v1000,fine,tGripperWObj:=wobj0;,/,机器人原点位置示教,MoveL pPick,v1000,fine,tGripperWObj:=wobj0;,/,机器人抓取位置示教,MoveL pPlaceBase,v1000,fine,tGripperWObj:=wobj0;,/,机器人放置基准点位置示教,ENDPROC,
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100