ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:1.18MB ,
资源ID:3635165      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3635165.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ABB激光切割工业机器人的离线编程与仿真文档格式.docx)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

ABB激光切割工业机器人的离线编程与仿真文档格式.docx

1、2. IRB 120 机器人的载荷6第四章 机器人的程序81. 程序的编写与注解82. 程序修改16第五章 示教目标点与仿真171. 三个目标点的示教172. 机器人仿真19第六章Robotstudio 共享打包与解包201. 工作站共享功能202. 工作站打包20结论23参考文献24致 谢25第一章 绪论1. 设计背景科技的进步与革新推动着生产力的不断发展,促使生产关系产生变革。自工业革命以来, 人力劳动已经逐渐被机械所取代,而这种变革为人类社会创造出巨大的财富,极大地推动了人类社会的进步。如今,机电体化、机械智能化等技术应运而生。多功能机器人实训台,包括 ABBIRB120 型机器人,三菱

2、 FX3U-48MR 型PLC,模式选择控制面板模块,送料模块,模拟压铸模块,输送带模块,物料检测模块,搬运、码垛模块和几何轨迹模块等。同时,现代生产的高效率、柔性化需求也促使了工业机器人离线编程软件产品的产生。机器人离线编程系统,是利用计算机图形学技术,建立起机器人及其工作环境的模型,利用机器人语言及相关算法,通过对图形的控制和操作在离线的情况下进行轨迹规划。离线编程技术具有传统的在线示教技术无法比拟的优势,比如:可减少停机时间、可提前验证作业程序,进行复杂的轨迹规划等。2. 工业机器人发展现状工业机器人的出现将人类从繁重、 单一的劳动中解放出来, 它还能够从事一些不适合人类甚至超越人类能力

3、的劳动, 如在强辐射、强污染的环境下作业。 工业机器人技术已经广泛地进入人们的生产和生活领域。机器人自 20 世纪60 年代初问世以来,已取得了实质性的进步和成果。在机械制造领域,工业机器人在经历了从诞生、成长、成熟期后,己成为不可缺少的核心自动化装备,目前世界上约有近百万向工业机器人正在各种生产现场工作。在非制造领域,上至2太空舱、宇宙飞船、月球探险,下至极限环境作业、医疗手术、日常生活服务, 机器人技术的应用己拓展到什会经济发展的诸多领域。机器人技术作为当今科学技术发展的前沿学科,已成为未来社会生产和生活中不可缺少的一门核心技术。可以预见,我们已经进入一个崭新的机器人技术时代。第二章Rob

4、otstudio 机器人1. 机器人的选用根据要设计的程序,选用 IRB 120 工业机器人,IRB 120 是 ABB 新型第四代机器人家族的最新成员,也是迄今为止 ABB 制造的最小机器人。IRB 120 具有敏捷、紧凑、轻量的特点,控制精度与路径精度俱优,是物料搬运与装配应用的理 想选择。 它的特点是:(1)紧凑轻量,作为 ABB 目前最小的机器人,IRB 120 在紧凑空间内凝聚了 ABB 产品系列的全部功能与技术。其重量减至仅 25kg,结构设计紧凑,几乎可安装在任何地方,比如工作站内部,机械设备上方,或生产线上其他机器人的近旁。(2)IRB 120 广泛适用于电子、食品饮料、机械、

5、太阳能、制药、医疗、研究等领域,进一步增强了 ABB 新型第四代机器人家族的实力。采用白色涂层的洁净室 ISO5 级机型适用于高标准洁净生产环境,开辟了全新应用领域。这款 6 轴机器人最高荷重 3kg(手腕(五轴)垂直向下时为 4kg),工作范围达 580mm,能通过柔性(非刚性)自动化解决方案执行一系列作业。IRB 120 是实现高成本效益生产的完美之选,在有限的生产空间其优势尤为明显。( 3) IRB 120 仅重 25kg,出色的便携性与集成性,使其成为同类产品中的佼佼者。该机器人的安装角度不受任何限制。机身表面光洁,便于清洗;空气管线与用户信号线缆从底脚至手腕全部嵌入机身内部,易于机器

6、人集成。( 4)除水平工作范围达 580mm 以外,IRB 120 还具有一流的工作行程,底座下方拾取距离为 112mm。IRB 120 采用对称结构,第 2 轴无外凸,回转半径极小,可靠近其他设备安装, 纤细的手腕进一步增强了手臂的可达性。(5)IRB 120 配备轻型铝合金马达, 结构轻巧、功率强劲,可实现机器人高加速运行,在任何应用中都能确保优异的精准度与敏捷性。(6)ABB 新推出的这款紧凑型控制器高度浓缩了 IRC5 的顶尖功能,将以往大型设备“专享”的精度与运动控制引入了更广阔的应用空间。除节省空间之外,新型控制器还通过设置单相电源输入、外置式信号接头(全部信号)及内置式可扩展 1

7、6 路 I/O 系统,简化了调试步骤。离线编程软件 RobotStudio 可用于生产工作站模拟,为机器人设定最佳位置;还可执行离线编程,避免发生代价高昂的生产中断或延误。(7)紧凑化、轻量化的IRB 120 机器人与 IRC5 紧4凑型控制器这两种新产品的完美结合,显著缩小了占地面积,最适合空间紧张的 应用场合,如下图 2-1。图 2-1 IRB120 机器人2. IRB 120 机器人的载荷如图 2-2 所示为 IRB 120 的载荷关系图。 其中,Z 为安装工具的重心沿 Z 轴到第六轴法兰盘中心的距离,L 为安装工具的重心到Z 轴的距离。为保证机械臂在带载后仍可以保证运动的稳定性和准确性

8、, 随着载荷的增大,要求载荷心必须更接近第六轴法兰盘的中心。 此外,IRB 120 载荷的最大限定为 3kg。图 2-2 机器人载荷关系25第三章 程序数据创建与I/O 信号配置1. 工具数据创建在虚拟示教器中,根据以下参数设定工具数据 tGripper,示例如下表 3.1 所示参数名称参数数值robholdTRUEtframe.trans.x0tframe.trans.x115tload.mass1tload.cog.x0tload.cog.y0tload.cog.z100表 3.1 工具数据tGripper 参数图 3-1 工具数据tGripper 示意图在本工作站中,坐标系均采用用户三点

9、法创建。在虚拟示教器中,根据下面图 3-2 和 3-3 所示位置设定工件坐标图 3-2 WobjCNV图 3-3WobjBuffer第四章 机器人的程序1. 程序的编写与注解以下是实现机器人逻辑和动作控制的 RAPID 程序: 数据定义:MODULE MainMoudle CONST robtarget pPick: =394.997607159,132.703199388,12.734872184,0.005862588,-0.0030 0065,0.999966662,0.004827206,0,0,0,0,9E9,9E9,9E9,9E9,9E9,9E9; CONSTrobtarget p

10、Home:=-548.424175962,-238.61219249,801.420966892,-0.000000012,-0.707106781,0.707106781,-0.000000012,0,0,0,0,9E9,9E9,9E9,9E9,9E9,9 E9;CONSTrobtarget pPlaceBase:=100.088594059,77.835146221,158.046135973,0.00000004,-0.000623424,0.999999806,-0.000000001,-1,0,-1,0,9E9,9E9,9E9,9E9,9E9,9E9;!需要示教的目标点数据,抓取点

11、pPick,HOME 点 pHome 、放置基准点pPlaceBase PERSrobtargetpPlace;放置目标点,类型为PERS,在程序中被赋予不同的数值,用以实现多点位放置CONSTjointtargetjposHome:=0,0,0,0,0,0,9E9,9E9,9E9,9E9,9E9,9E9;关节目标点数据,各关节轴度数为 0,即机器人回到各关节轴机械刻度零位 CONSTspeeddatavLoadMax:=3000,300,5000,1000;CONSTspeeddatavLoadMin:=500,200,5000,1000; CONSTspeeddatavEmptyMax:=

12、5000,500,5000,1000; CONSTspeeddatavEmptyMin:=1000,200,5000,1000;速度数据,根据实际需求定义多种速度数据,以便于控制机器人各动作的速度PERS num nCount:=1;数字型变量 nCount,此数据用于太阳能薄板计数,根据此数据的数值赋予放置目标点 pPlace 不同的位置数据,以实现多点位放置PERS num nXoffset:=145; PERS num nYoffset:=148;数字型变量,用做放置位置偏移数值,即太阳能薄板摆放位置之间在X、Y方向的单个间隔距离VAR bool bPickOK:=False;布尔量,当

13、拾取动作完成后将其置为 True,放置完成后将其置为 False, 以作逻辑控制之用TASKPERStooldata tGripper:=TRUE,0,0,115,1,0,0,0,1,0,0,100,0,1,0,0,0,0,0;定义工具坐标系数据 tGripper TASKPERSwobjdata WobjBuffer:=FALSE,TRUE,-350.365,-355.079,418.761,0.707547,0,0,0.706666,0,0,0,1,0,0,0;定义暂存盒工件坐标系 WobjBuffer TASKPERSwobjdata WobjCNV:,-726.207,-645.04,

14、600.015,0.709205,-0.0075588,0.000732113,0.704961,0,0,0,1,0,0,0;定义输送带工件坐标系 WobjCNV TASK PERS loaddata LoadFull:=0.5,0,0,3,1,0,0,0,0,0,0;定义有效载荷数据LoadFull 主程序运行程序PROC Main() rInitialize;调用初始化程序WHILE TRUE DO 利用 WHILE 循环将初始化程序隔开rPickPanel;调用拾取程序rPlaceInBuffer; 调用放置程序Waittime 0.3;循环等待时间,防止不满足机器人动作情况下程序扫描过

15、快,造成 CPU 过负荷ENDWHILE ENDPROC PROC rInitialize() 初始化程序rCheckHomePos;机器人位置初始化,调用检测是否在 Home 位置点程序,检测当前机器人位置是否在 HOME 点,若在 HOME 点的话则继续执行之后的初始化相关指令;若不在HOME 点,则先返回至 HOME 点nCount:计数初始化,将用于太阳能薄板的计数数值设置为 1,即从放置的第一个位置开始摆放reset do32_VacuumOpen; 信号初始化,复位真空信号,关闭真空bPickOK: 布尔量初始化,将拾取布尔量置为 False ENDPROC PROC rPickP

16、anel() 拾取太阳能薄板程序IF bPickOK=False THEN 当拾取布尔量 bPickOK 为 False 时,则执行 IF 条件下的拾取动作指令,否则执行 ELSE 中出错处理的指令,因 为当机器人去拾取太阳能薄板时,需保证其真空夹具上面没有太阳能薄板MoveJ offs(pPick,0,0,100),vEmptyMax,z20,tGripperWObj:=WobjCNV; 利用 MoveJ 指令移至拾取位置 pPick 点正上方Z 轴正方向 100mm 处WaitDI di01_PanelInPickPos,1;等待产品到位信号 di01_PanelInPickPos 变为

17、1,即太阳能薄板已到位MoveL pPick,vEmptyMin,fine,tGripperWObj:=WobjCNV;产品到位后,利用 MoveL 移至拾取位置 pPick 点Set do32_VacuumOpen;将真空信号置为 1,控制真空吸盘产生真空,将太阳能薄板拾起WaitDI di02_VacuumOK,1; !等待真空反馈信号为 1,即真空夹具产生的真空度达到需求后才认为已将产品完全拾起。若真空夹具上面没有真空反馈信号,则可以使用固定等待时间,如 Waittime 0.3 =TRUE;真空建立后,将拾取的布尔量置为 TRUE,表示机器人夹具上面已拾取一个产品,以便在放置程序中判断

18、夹具的当前状态GripLoad LoadFull;加载载荷数据 LoadFull MoveL offs(pPick,0,0,100),vLoadMin,z10,tGripperWObj:=WobjCN V;利用 MoveL 移至拾取位置 pPick 点正上方 100mm 处ELSE TPERASE;TPWRITE Cycle Restart ErrorCycle cant start with SolarPanel on Gripper TPWRITE Please check the Gripper and then press the start buttonstop;如果在拾取开始之前拾

19、取布尔量已经为 TRUE,则表示夹具上面已有产品, 此种情况下机器人不能再去拾取另一个产品。此时通过写屏指令描述当前错误状态,并提示操作员检查当前夹具状态,排除错误状态后 再开始下一个循环。同时利用 Stop 指令,停止程序运行ENDIF ENDPROC PROC rPlaceInBuffer()!放置程序IF bPickOK=TRUE THEN rCalculatePos;调用计算放置位置程序。此程序中会通过判断当前计数 nCount 的值,从而对放置点 pPlace 赋予不同的放置MoveJ offs(pPlace,0,0,100),vLoadMax,z50,tGripperWObj:=W

20、objBuffe r;利用 MoveJ 移至放置位置 pPlace 点正上方 100mm 处MoveL offs(pPlace,0,0,0),vLoadMin,fine,tGripperWObj:=WobjBu ffer;利用 MoveL 移至放置位置 pPlace 处Reset do32_VacuumOpen;复位真空信号,控制真空夹具关闭真空,将产品放下WaitTime 0.3;等待 0.3s,以防止刚放置的产品被剩余的真空带起WaitDI di02_VacuumOK,0;GripLoad load0;加载载荷数据 load0 bPickOK:=FALSE;此时真空夹具已将产品放下,需要将

21、拾取布尔量置为 FALSE,以便在下一个循环的拾取程序中判断夹具的当前状态MoveL offs(pPlace,0,0,100),vEmptyMin,z10,tGripperWObj:利用 MoveL 移至放置位 pPlace 点正上方 100mm 处=nCount+1;产品计数 nCount 加 1,通过累积 nCount 的数值,在计算放置位置的程序 rCalculatePos 中赋予放置点 pPlace 不同的位置数据IF nCount4 THEN !判断计数 nCount 是否大于 4,此处演示的状况是放置 4 个产品,即表示已满载,需要更换暂存盒以及其他的 复位操作, 如计数 nCou

22、nt、满载信号等计数复位,将 nCount 赋值为 1 MoveJ pHome,v100,fine,tGripper;机器人移至 Home 点,此处可根据实际情况来设置机器人的动作,例如若是多工位放置,那么机器人可继续 去其他的放置工位进行产品的放置任务PROC rCalculatePos() 计算位置子程序,检测当前计数 nCount 的数值,以 pPlaceBase 为基准点, 利用 Offs 指令在坐标系 WobjBuffer 中沿着X、Y、Z 方向偏移相应的数值TEST nCount CASE 1:pPlace:=offs(pPlaceBase,0,0,0);若 nCount 为 1,

23、pPlaceBase 点就是第一个放置位置,所以X、Y、Z 偏移值均为 0,也可以直接写成:=pPlaceBase; CASE2:=offs(pPlaceBase,nXoffset,0,0); 若 nCount 为 2,位置 2 相对于放置基准点 pPlaceBase 点在X 正方向偏移了一个产品间隔CASE 3:=offs(pPlaceBase,0,nYoffset,0); 若 nCount 为 3,位置 3 相对于放置基准点 pPlaceBase 点在Y 正方向偏移了一个产品间隔CASE 4:=offs(pPlaceBase,nXoffset,nXoffset,0); 若 nCount 为

24、 4,位置 4 相对于放置基准点 pPlaceBase 点在 X、Y 正方向各偏移了一个产品间隔DEFAULT:The CountNumber is error,please check it! STOP; 若 nCount 数值不为 Case 中所列的数值,则视为计数出错,写屏提示错误信息,并利用 Stop 指令停止程序循环 ENDTEST ENDPROC PROC rCheckHomePos() !检测是否在 Home 点程序 VAR robtarget pActualPos; !定义目标点数据 IFNOT CurrentPos(pHome,tGripper) THEN!调用功能程序pActualpos:=CRobT(Tool:=tGripperWObj:=wobj0); 利 用CrobT 功能读取机器人目标位置并赋值给目标点数据pActualpos.trans.z:=pHome.trans.z;!赋值MoveL pActualpos,v100,z10,tGripper;移动赋值点MoveL pHome,v100,fine,tGripper;!移至 pHome 点FUNC bool CurrentPos(robtarget ComparePos,INOUT tooldata TCP

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2