总第227期2019年4月 南 方 金 属SOUTHERNMETALS Sum.227April 2019 收稿日期:2018-11-27ꎻ 修订日期:2018-12-21 作者简介:谭 芳(1987-)ꎬ男ꎬ2013年广东工业大学控制科学与工程专业硕士研究生毕业ꎮ 文章编号:1009-9700(2019)02-0043-04ABBIRB120型工业机器人编程及搬运实例谭 芳(广东松山职业技术学院ꎬ广东韶关512126)摘 要:针对ABBIRB120型工业机器人ꎬ介绍了机器人的基本参数、编程指令和编程格式ꎬ并对搬运实例进行了分析ꎬ为工业机器人专业人员学习和应用提供参考ꎮ关键词:ABBIRB120ꎻ工业机器人ꎻ编程ꎻ搬运中图分类号:TP242.3 文献标志码:BProgrammingandHandlingExampleofABBIRB120IndustrialRobotTANFang(GuangdongSongshanPolytechnicCollegeꎬShaoguanꎬGuangdongꎬ512126ꎬP.R.China)Abstract:ThispaperintroducesthebasicparametersꎬprogramminginstructionsandprogrammingformatsoftheABBIRB120industrialrobotsꎬandthehandlingexamplesareanalyzed.Itprovidesreferenceforthestudyandapplicationofin ̄dustrialrobotsprofessionals.Keywords:ABBIRB120ꎻindustrialrobotsꎻprogrammingꎻcarry0 引言随着“工业40”概念在德国的提出ꎬ以“智能工厂、智慧制造”为主导的第四次工业革命已经悄然来临ꎮ工业40是一个高科技战略计划ꎬ制造业的基本模式将由集中式控制向分散式增强型控制转变ꎬ目标是建立一个高度灵活的个性化和数字化产品与服务的生产模式[1]ꎮ“中国版工业40规划”———«中国制造2025»明确了九项战略任务和重点ꎬ涉及十大重点领域ꎮ工业机器人作为自动化技术的集大成者ꎬ是其重要的组成单元ꎮ工业机器人具有高效率、高精度、高可靠性、稳定性的特点ꎮ本文主要对ABBIRB120型工业机器人的基本参数、编程指令及搬运实例进行介绍ꎮ1 ABBIRB120型工业机器人的基本参数 IRB120是ABBRobotics最新一代6轴工业机器人中的一员ꎬ有效载荷达3kgꎬ专为使用基于机器人的柔性自动化的制造行业(例如3C行业)而设计ꎮ该机器人为开放式结构ꎬ特别适合于柔性应用ꎬ并且可以与外部系统进行广泛通信ꎮ机器人规格参数如表1所示ꎬ运动性能及范围如表2所示ꎬ手腕中心点工作范围如图1所示ꎮ表1 规格参数规格参数轴数6防护等级IP30有效载荷3kg安装方式落地式到达最大距离0.58m机器人底座规格180mm×180mm机器人本体重量25kg重复定位精度0.01mm表2 运动性能及范围轴序号动作范围最大速度1轴回转:+165°~-165°250°/s2轴立臂:+110°~-110°250°/s3轴横臂:+70°~-90°250°/s4轴腕:+160°~-160°360°/s5轴腕摆:+120°~-120°360°/s6轴腕传:+400°~-400°420°/s图1 机器人手腕中心点工作范围2 ABBIRB120型工业机器人的编程ABB机器人应用程序是用RAPID编程语言的特定词汇和语法编写而成的ꎮRAPID是一种英文编程语言ꎬ所包含的指令可以移动机器人、设置输出、读取输入ꎬ还能实现决策、重复其它指令、构造程序与系统操作员交流等功能[2]ꎮ2.1 程序基本架构RAPID程序的基本架构如表3所示ꎮRAPID程序的架构说明:RAPID程序由程序模块与系统模块组成ꎻ可以根据不同的用途创建多个程序模块ꎻ每一个程序模块包含了程序数据、例行程序、中断程序和功能四种对象ꎬ但不一定在一个模块中都有这四种对象ꎬ程序模块之间的数据、例行程序、中断程序和功能是可以互相调用的ꎻ在RAPID程序中ꎬ只有一个主程序mainꎬ存在于任意一个程序模块中ꎬ并且是作为整个RAPID程序执行的起点[2]ꎮ表3 RAPID程序的基本架构RAPID程序程序模块1程序模块2程序模块3系统模块程序数据程序数据程序数据主程序main例行程序例行程序例行程序中断程序中断程序中断程序功能功能功能2.2 程序指令ABBIRB120型工业机器人常用的编程指令有:运动指令ꎬ赋值、循环及逻辑判断指令ꎬ程序调用指令和I/O控制指令等ꎮ1)运动指令常用的格式为:动作方式目标位置运动速度转弯区数据工具坐标数据工件坐标数据 动作方式主要有关节运动(MoveJ)、线性运动(MoveL)、圆弧运动(MoveC)和绝对位置运动(MoveAbsJ)四种方式ꎮ目标位置数据:定义机器人TCP的运动目标ꎬ可以在示教器中单击“修改位置”进行修改ꎮ运动速度数据:定义速度(mm/s)ꎮ在手动限速状态下ꎬ所有运动速度被限速在250mm/sꎮ转弯区数据:定义转弯区的大小mmꎬ如果转弯区数据fineꎬ表示机器人TCP达到目标点ꎬ在目标点速度降为零ꎮ工具坐标数据:定义当前指令使用的工具ꎮ工件坐标数据:定义当前指令使用的工件坐标ꎮ2)赋值、循环及逻辑判断指令“:=”赋值指令用于对程序数据进行赋值ꎮ赋值可以是一个常量或数学表达式ꎮ例如ꎬreg1:=1ꎬreg2:=reg1+3ꎮ条件逻辑判断指令用于对条件进行判断后ꎬ执行相应的操作ꎮ主要有CompactIF紧凑型条件判断指令ꎬIF条件判断指令ꎬFOR重复执行判断指令ꎬWHILE条件判断指令ꎮ3)程序调用指令实现主程序调用子程序的功能ꎬ主要是使用例行程序调用指令———ProcCallꎮ通过调用对应的例行程序ꎬ当机器人执行到对应程序时ꎬ就会执行对应例行程序里的程序ꎮ一般在程序中指令比较多的情况ꎬ通过建立对应的例行程序ꎬ再使用ProcCall指令实现调用ꎬ有利于方便管理ꎮ4)I/O控制指令I/O控制指令用于控制I/O信号ꎬ以达到与机器人周边设备进行通信的目的ꎮ置位指令Set用于将数字输出信号置位为“1”ꎮ复位指令Reset用于将数字输出信号置位为“0”ꎮ等待输入指令WaitDI用于判断数字输入信号的值是否与目标一致ꎮ等待输出指令WaitDO用于判断数字输出信号的值是否与目标一致ꎮ时间等待指令WaitTime用于程序在等待一个指定的时间以后ꎬ再继续向下执行ꎮ3 ABBIRB120型工业机器人的搬运实例分析 如图2所示ꎬ机器人从E处搬运物块分别放置44南 方 金 属SOUTHERNMETALS2019年第2期 ABCD位置ꎬ物块是一个长方体(60mm×30mm×30mm)ꎮ在工业机器人基坐标系下进行编程ꎬ坐标系如图2所示ꎮ要从E处搬运4个工件分别放置ABCD处ꎬ需要分别搬运4次ꎮ每一次搬运的步骤为ꎬ机器人移动至安全位置→E位置正上方→下降到E位置→等待1s→气爪夹紧等待1s→直线上升图2 搬运示意到E位置正上方→机器人移动到安全位置→移动至放置位置正上方→直线下降到放置位置→等待1s→气爪松开等待1s→直线上升到放置位置正上方→机器人移动至安全位置ꎮ 程序采用子程序调用的形式ꎬ把以上流程写成子程序ꎬ主程序主要完成各坐标点的指定和子程序的调用ꎬ即调用子程序4次ꎮ各子程序被调用过程中ꎬ每个位置的数据值不同ꎬ故采用两个FOR循环来更新目标位置数据ꎮ根据流程ꎬ设定p100为初始位置ꎬp10为E处位置ꎬp20为A处位置ꎬdo4为气爪夹紧松开输出信号ꎬRoutine1为从E处位置抓取物块的子程序ꎬRoutine2为放置物块的子程序ꎬ这两个子程序均被调用4次ꎮ编程如下: PROCmain() 主程序 MoveAbsJp100\NoEOffsꎬv1000ꎬfineꎬtool0ꎻ 移动至初始位置p100 reg1:=0ꎻ 初始化 reg2:=0ꎻ Resetdo4ꎻ FORA1FROM0TO1DO ABCD四个工件分为两行两列 FORA2FROM0TO1DO reg1:=A1∗80ꎻ X方向间距80mm reg2:=A2∗45ꎻ Y方向间距45mm Routine1ꎻ 调用子程序抓取物块 Routine2ꎻ 调用子程序放置物块 ENDFOR ENDFOR MoveAbsJp100\NoEOffsꎬv1000ꎬfineꎬtool0ꎻ 搬运结束移动至初始位置p100 ENDPROC 主程序结束 PROCRoutine1() 抓取物块子程序定义 MoveJOffs(p10ꎬ0ꎬ0ꎬ100)ꎬv1000ꎬfineꎬtool0ꎻ 移动至E位置上方100mm MoveLOffs(p10ꎬ0ꎬ0ꎬ0)ꎬv1000ꎬfineꎬtool0ꎻ 下降至E位置 WaitTime1ꎻ 等待1s Setdo4ꎻ 抓紧物块 WaitTime1ꎻ 等待1s MoveJOffs(p10ꎬ0ꎬ0ꎬ100)ꎬv1000ꎬfineꎬtool0ꎻ 上升至E位置上方100mm ENDPROC 结束子程序定义 PROCRoutine2() 放置物块子程序定义 MoveJOffs(p20ꎬreg1ꎬreg2ꎬ100)ꎬv1000ꎬfineꎬtool0ꎻ移动至放置位置上方100mm MoveLOffs(p20ꎬreg1ꎬreg2ꎬ0)ꎬv1000ꎬfineꎬtool0ꎻ 下降至放置位置 WaitTime1ꎻ 等待1s54 总第227期 谭 芳:ABBIRB120型工业机器人编程及搬运实例 Resetdo4ꎻ 松开物块 WaitTime1ꎻ 等待1s MoveJOffs(p20ꎬreg1ꎬreg2ꎬ100)ꎬv1000ꎬfineꎬtool0ꎻ上升至放置位置上方100mmENDPROC 结束子程序定义 在主程序main中ꎬ子程序Routine1和Routine2分别被调用了4次ꎮ程序中用了FOR循环语句ꎮ实现了程序的简化和优化ꎬ在产品多件搬运中提高了编程效率和编程质量ꎮ4 结语我国制造业转型升级ꎬ战略新兴产业正处于战略机遇期ꎬ国家高度重视并制定了强国制造发展战略ꎬ发布了中国制造2025计划ꎮ在新时代科技发展的大趋势下ꎬ工业机器人专业人才的需求量在不断上升ꎬ对于工业机器人专业人才的基础技术和技能要求也越来越高ꎮ本文从ABB公司的典型产品入手ꎬ对机器人的基本参数、编程指令进行了介绍ꎬ对搬运实例进行了编程分析ꎬ有助于快速有效提高工业机器人专业人才的学习和生产应用能力ꎮ参考文献[1] 郭军.工业机器人技术应用实训环境建设探究[J].丝路视野ꎬ2016(27):20-23.[2] 魏志丽ꎬ林燕文.工业机器人应用基础———基于ABB机器人[M].北京:北京航空航天大学出版社ꎬ2016.(上接第42页) 不足之处:1)高炉加废