工业机器人现场编程(ABB)模块四 RAPID程序的建立课件_第1页
工业机器人现场编程(ABB)模块四 RAPID程序的建立课件_第2页
工业机器人现场编程(ABB)模块四 RAPID程序的建立课件_第3页
工业机器人现场编程(ABB)模块四 RAPID程序的建立课件_第4页
工业机器人现场编程(ABB)模块四 RAPID程序的建立课件_第5页
已阅读5页,还剩159页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

工业机器人现场编程(ABB)目录1ABB工业机器人的基本操作2ABB工业机器人的I/O通信3ABB工业机器人程序数据的建立4RAPID程序的建立5ABB工业机器人的典型应用绪论模块四RAPID程序的建立学习目标

掌握常用的RAPID程序指令了解RAPID程序的基本架构掌握建立RAPID程序的基本流程掌握RAPID程序的特殊指令和常用函数了解中断程序的相关知识01知识目标

能够添加赋值指令和运动指令能够建立程序模块和例行程序能够调试并自动运行程序能够保存程序模块能够添加GOTO指令能够使用FUNCTION函数能够建立中断程序02技能目标

积极践行敬业、友善的社会主义核心价值观培养脚踏实地、求真务实的职业精神树立远大的职业理想,勇担强国建设的使命03素质目标任务一掌握常用的RAPID程序指令项目导航任务二建立RAPID程序任务三掌握RAPID程序的特殊指令和常用函数任务一掌握常用的RAPID程序指令任务引入——基础不牢,地动山摇小李在ABB工业机器人作业车间实习期间,通过认真学习操作手册,以及带班师傅的悉心指导,很快掌握了工业机器人的基本操作技能。然而,当面对示教器上复杂的RAPID程序指令时,缺乏编程经验的他感到无从下手。为此,带班师傅给他制订了系统的学习计划,重点强调必须牢固掌握常用的RAPID程序指令。正如带班师傅所说:“基础不牢,地动山摇”,只有将这些常用的RAPID程序指令烂熟于心,才能在后续的编程应用中得心应手,从而逐步提升专业技能水平。那么,常用的RAPID程序指令有哪些?它们都有什么作用?在进行编程时又该如何添加这些指令呢?RAPID语言具有丰富的程序指令,可以实现ABB工业机器人在焊接、搬运、码垛等方面的应用。赋值指令常用的RAPID程序指令运动指令I/O控制指令程序跳转指令逻辑判断指令一、赋值指令赋值指令用于对程序数据进行赋值,其符号为“:=”,赋值对象可以是常量,也可以是数学表达式。reg1:=17; !将常量17赋给reg1reg2:=reg1+8; !将数学表达式reg1+8的值赋给reg2counter:=counter+1; !counter增加1赋值指令编程示例:二、运动指令关节运动通过MoveJ指令(关节运动指令)实现。线性运动通过MoveL指令(线性运动指令)实现。圆弧运动通过MoveC指令(圆弧运动指令)实现。绝对位置运动通过MoveAbsJ指令(绝对位置运动指令)实现。ABB工业机器人在空间中的运动二、运动指令1.MoveJ指令MoveJ指令是在对轨迹精度要求不高的情况下,将工业机器人的TCP快速移动至给定目标点的指令。MoveJ指令适用于工业机器人大范围运动的场合,运动过程中不易出现关节轴进入机械死点的问题。MoveJ指令只关注TCP的起始点和目标点,其关节运动轨迹不一定是直线。关节运动轨迹示意图MoveJToPoint,Speed,Zone,Tool;MoveJ指令的使用格式:二、运动指令1.MoveJ指令MoveJ指令参数及说明参数说明MoveJ指令代码ToPoint目标点,可存储一个robtarget型数据Speed移动速度数据,单位为mm/sZone转弯半径数据,单位为mmTool工具坐标数据MoveJp1,vmax,z30,tool2;MoveJ指令编程示例:说明:工业机器人将工具tool2的TCP沿着一个非线性路径移动至目标点p1,其移动速度数据为用户预定义的speeddata型数据vmax,转弯半径为30mm。二、运动指令2.MoveL指令功能:将工业机器人的TCP沿直线移动至给定目标点。​控制方式:可通过设置目标点位置、移动速度等实现对工业机器人运动的精确控制。​运动特性:​线性运动过程中,运动状态可控​。运动轨迹具有唯一性​。潜在问题:可能引发关节轴进入机械死点的问题。​线性运动轨迹示意图二、运动指令2.MoveL指令MoveLToPoint,Speed,Zone,Tool;MoveL指令的使用格式:MoveLp10,v1000,fine,grip3;MoveL指令编程示例:说明:工业机器人将工具grip3的TCP沿直线移动至目标点p10,其移动速度为1000mm/s,不使用转弯半径过渡。fine是指当工业机器人的TCP到达目标点时,其在目标点速度降为零。知识角二、运动指令3.MoveC指令MoveC指令用于将工业机器人的TCP沿圆弧移动至给定目标点,圆弧路径由起始点、中间点和目标点来确定。圆弧运动轨迹示意图在圆弧运动过程中,工业机器人的运动状态可控,运动轨迹具有唯一性。MoveC指令适用于工业机器人在工作状态下的移动。使用MoveC指令时应注意,只通过一个MoveC指令是不可能实现一个圆周运动的。二、运动指令3.MoveC指令MoveCCirPoint,ToPoint,Speed,Zone,Tool;MoveC指令的使用格式:

MoveC指令参数及说明参数说明MoveC指令代码CirPoint中间点,可存储一个robtarget型数据ToPoint目标点,可存储一个robtarget型数据Speed移动速度数据,单位为mm/sZone转弯半径数据,单位为mmTool工具坐标数据二、运动指令3.MoveC指令MoveCp30,p40,v500,z30,tool2;MoveC指令编程示例:说明:工业机器人将工具tool2的TCP沿圆弧经中间点p30移动至目标点p40,其移动速度为500mm/s,转弯半径为30mm。MoveLp1,v500,fine,tool1;MoveCp2,p3,v500,z50,tool1;MoveCp4,p1,v500,fine,tool1;说明:工业机器人将工具tool1的TCP先沿直线移动至目标点p1,再沿圆弧经中间点p2移动至目标点p3,最后沿圆弧经中间点p4移动至目标点p1,其各点之间的移动速度均为500mm/s,转弯半径的情况分别为不使用、50mm和不使用。由此表明,至少需要用两个MoveC指令才能使TCP完成一个圆周运动。二、运动指令4.MoveAbsJ指令MoveAbsJ指令用于将机械臂和外轴移动至轴位置中指定的绝对位置(绝对轴位置)。运动时工业机器人会以单轴运行,不存在机械死点,但运动状态完全不可控。MoveAbsJ指令适用于使工业机器人各轴回到机械原点。MoveAbsJToJointPos,Speed,Zone,Tool;MoveAbsJ指令的使用格式:MoveAbsJ指令参数及说明参数说明MoveAbsJ指令代码ToJointPos绝对轴位置数据Speed移动速度数据,单位为mm/sZone转弯半径数据,单位为mmTool工具坐标数据二、运动指令4.MoveAbsJ指令MoveAbsJp50,v1000,z50,tool2;MoveAbsJ指令编程示例:说明:工业机器人将工具tool2的TCP沿一个非线性路径移动至绝对轴位置p50,其移动速度为1000mm/s,转弯半径为50mm。MoveAbsJ*/NoEOffs,v100,z10,tool1;说明:工业机器人将工具tool1的TCP沿一个非线性路径移动至绝对轴位置“*”(该数据直接存储在指令中),其移动速度为100mm/s,不使用外部偏移(NoEOffs),转弯半径为10mm。二、运动指令4.MoveAbsJ指令假设我们要让机器人在一个较大的车间内,从一个工作站快速移动到另一个工作站,不要求移动轨迹是直线,大家觉得应该用哪种运动指令呢?为什么?假设我们要让机器人在一个较大的车间内,从一个工作站快速移动到另一个工作站,不要求移动轨迹是直线,大家觉得应该用哪种运动指令呢?为什么?三、I/O控制指令I/O控制指令用于控制I/O信号,以实现工业机器人与外围设备之间的通信。WaitDI、WaitDO

指令(数字输入信号等待、数字输出信号等待指令)WaitTime

指令(时间等待指令)Reset

指令(数字信号复位指令)Set

指令(数字信号置位指令)WaitUntil指令(条件等待指令)常用的I/O

控制指令三、I/O控制指令Set指令用于将数字输出信号的值设定为1,从而使对应的执行器开始工作。Set指令编程示例:说明:将数字输出信号do1的值设定为1。1.Set指令Setdo1;Reset指令用于将数字输出信号的值设定为0。Reset指令编程示例:说明:将数字输出信号do1的值设定为0。2.Reset指令Resetdo1;三、I/O控制指令WaitDI、WaitDO指令用于等待,直至出现已设定数字输入或输出信号的值,可以设定最长等待时间。WaitDI指令编程示例:说明:等待数字输入信号di1的值为1,当di1的值为1时,程序继续执行;否则,继续等待,直至超出最长等待时间。3.WaitDI、WaitDO指令WaitDIdi1,1;WaitTime指令用于等待给定的时间,也可用于等待机械臂和外轴静止。WaitTime指令编程示例:说明:程序执行等待4s。说明:程序执行进入等待,直至机械臂和外轴静止。“\InPos”为可选变量。4.WaitTime指令WaitTime4;WaitTime\InPos,0;三、I/O控制指令WaitUntil指令用于所有信号类型和变量状态的等待,直至满足逻辑条件,该指令可以添加多个条件,也可以设定最长等待时间。WaitUntil指令编程示例:说明:等待数字输入信号di1的值为1;否则,继续等待,直至超出最长等待时间。5.WaitUntil指令WaitUntildi1=1;三、I/O控制指令在机器人焊接工作中,当机器人完成一个焊点的焊接后,需要等待焊枪冷却,大家想想这时可以用到哪种I/O控制指令?具体该怎么设置呢?分组讨论一下,5分钟后各小组派代表交流。四、逻辑判断指令逻辑判断指令用于对条件进行判断,然后执行相应的操作。它是RAPID程序中的重要组成部分。常用的逻辑判断指令IF

指令(条件判断指令)WHILE

指令(条件判断指令)CompactIF

指令(紧凑型条件判断指令)FOR指令(重复执行判断指令)四、逻辑判断指令CompactIF指令根据条件判断结果只能执行一个指令或语句。CompactIF指令编程示例:说明:如果条件flag1的状态为TRUE,则置位数字输出信号do1。1.CompactIF指令IFflag1=TRUESetdo1;四、逻辑判断指令IF指令可以进行多重判断,根据不同的条件判断结果,执行相对应的指令或语句。IF指令编程示例:说明:如果,则置位数字输出信号do1;如果reg110,则复位数字输出信号do1;如果reg1不满足以上两个条件,则reg1为0。2.IF指令IFreg1>0ANDreg1<10THENSetdo1;ELSEIFreg1>=10THENResetdo1;ELSEreg1:=0;ENDIF四、逻辑判断指令FOR指令用于一个或多个指令(或语句)需要重复执行数次的情况。FOR指令编程示例:说明:例行程序routine1重复执行10次。3.FOR指令FORiFROM1TO10DOroutine1;ENDFOR四、逻辑判断指令WHILE指令用于创建一个循环,该循环会一直执行循环内的语句,直至给定的条件表达式的值为FALSE。WHILE指令编程示例:说明:只要num1>num2的条件成立,循环内的语句(令num1减少1)便一直执行;否则,便跳出WHILE循环。4.WHILE指令WHILEnum1>num2DOnum1:=num1-1;ENDWHILE四、逻辑判断指令如果我们想让机器人重复执行一个搬运动作10次,大家考虑用哪种逻辑判断指令?如果是只要某个条件满足就一直执行该动作,又该用哪种呢?大家积极思考,踊跃回答。五、程序跳转指令程序跳转指令用于改变程序的执行顺序,以实现不同的逻辑控制。常用的程序跳转指令ProcCall指令(调用例行程序指令)1RETURN指令(返回例行程序指令)2五、程序跳转指令ProcCall指令用于将程序执行跳转至另一个无返回值程序。当无返回值程序被充分执行后,程序将继续执行过程调用后的指令。ProcCall指令编程示例:1.ProcCall指令说明:调用无返回值程序errormessage,当该无返回值程序就绪时,程序执行过程调用后的指令,即置位数字输出信号do1。errormessage;Setdo1;……PROCerrormessage()TPWrite"ERROR"; !在示教器上显示输入的文本ENDPROC五、程序跳转指令RETURN指令用于当此指令被执行时,马上结束本例行程序,使程序指针返回调用例行程序位置的下一行。RETURN指令编程示例:2.RETURN指令说明:当程序执行到RETURN指令时,程序指针会立即返回调用routine1位置的下一行“reg1:=8;”;RETURN指令后的“reg1:=4;”则被跳过不执行。PROCmain()reg1:=1;routine1;reg1:=8;ENDPROC

PROCroutine1()reg1:=reg1+1;RETURN;reg1:=4;ENDPROC任务实施

一、添加赋值指令

添加赋值指令的具体步骤在程序编辑界面添加下列赋值指令:reg1:=5;reg2:=reg1+8;任务实施

一、添加赋值指令

(续表)任务实施

一、添加赋值指令

(续表)任务实施

一、添加赋值指令

(续表)任务实施

一、添加赋值指令

(续表)任务实施

一、添加赋值指令

(续表)任务实施

一、添加赋值指令

(续表)任务实施

一、添加赋值指令

(续表)任务实施

一、添加赋值指令

(续表)任务实施

一、添加赋值指令

(续表)任务实施

一、添加赋值指令

(续表)任务实施

一、添加赋值指令

(续表)任务实施

一、添加赋值指令

(续表)任务实施

一、添加赋值指令

(续表)任务实施

一、添加赋值指令

(续表)任务实施

二、添加运动指令在添加工业机器人的运动指令前,必须确认所使用的工具坐标和工件坐标,然后在程序编辑界面中添加下列运动指令:reg1:=5;reg2:=reg1+8;建立逻辑值数据bool的具体步骤任务实施

二、添加运动指令(续表)任务实施

二、添加运动指令(续表)任务实施

二、添加运动指令(续表)任务实施

二、添加运动指令(续表)任务实施

二、添加运动指令(续表)任务实施

二、添加运动指令(续表)任务实施

二、添加运动指令(续表)任务实施

二、添加运动指令(续表)任务实施

二、添加运动指令(续表)任务实施

二、添加运动指令(续表)任务二建立RAPID程序任务引入——循序渐进,求真务实通过系统学习,小李掌握了常用RAPID程序指令的使用方法,但要建立一个可运行的RAPID程序,仅仅掌握程序指令是不够的。一个可运行的RAPID程序不仅要确保语法正确无误,还要确保程序结构的合理性和逻辑的准确性,同时又要满足生产活动的实际需求。这一过程体现了“循序渐进,不断优化,求真务实”的工作方法,我们在各项工作中要坚持贯彻执行。那么,建立RAPID程序的基本流程是什么?具体又该如何建立呢?一、RAPID程序的基本架构ABB工业机器人的RAPID程序一般以任务(Task)的形式执行,而每个任务又由各种模块组成,这些模块主要包含两种类型,即系统模块和程序模块。RAPID程序的基本架构RAPID程序系统模块程序模块程序模块1程序模块2…程序模块n通常由ABB工业

机器人厂家或生产线建立者创建程序数据程序数据…程序数据主程序main

例行程序例行程序…例行程序中断程序中断程序…中断程序功能功能…功能一、RAPID程序的基本架构工业机器人在创建系统之后,一般会自带两个系统模块,即BASE模块和user模块,它们是用来定义系统功能和参数的程序。系统模块会根据工业机器人的型号和应用场景自动配置,该模块一般不需要进行更改。(1)RAPID程序的基本架构说明:根据用途的不同可以创建多个程序模块(如用于主控制的程序模块、用于存储数据的程序模块、用于位置计算的程序模块等),以便对这些程序模块中包含的程序数据和例行程序进行归类管理。(2)一、RAPID程序的基本架构在RAPID程序中,有且仅有一个主程序main,它可存在于任意一个程序模块中,作为整个RAPID程序执行的起点。(3)RAPID程序的基本架构说明:每个程序模块中包含程序数据、例行程序、中断程序和功能

4种对象,但在一个程序模块中不一定都有这4种对象,且这些对象在各程序模块间可以被互相调用。(4)二、建立RAPID程序的基本流程建立程序模块和例行程序调试程序自动运行程序保存程序模块确定需要的程序模块数量,可设置位置计算、存储数据、逻辑控制等不同功能的程序模块,以方便管理。通过调用例行程序、添加指令等完成RAPID程序的初步建立。在各个程序模块中根据具体分配的功能确定需要建立的例行程序,以方便调用和管理。二、建立RAPID程序的基本流程建立程序模块和例行程序调试程序自动运行程序保存程序模块为检查初步建立的RAPID程序的位置点是否正确、逻辑控制是否合理,应对RAPID程序中的主程序和各例行程序进行调试。二、建立RAPID程序的基本流程建立程序模块和例行程序调试程序自动运行程序保存程序模块自动运行RAPID程序前,必须在手动模式下反复确认工业机器人的运动模式是否正确,RAPID程序的逻辑控制是否正确,确认无误后就可以将手动模式改为自动模式,然后检查程序运行结果是否符合设计要求。二、建立RAPID程序的基本流程建立程序模块和例行程序调试程序自动运行程序保存程序模块确认RAPID程序自动运行正常且符合设计要求后,可根据需要将程序模块保存在工业机器人的内部存储器或外部USB存储设备中,以便后期查验和继续使用。二、建立RAPID程序的基本流程一个完整的RAPID程序为什么要有主程序和多个例行程序呢?这样的架构有什么好处?大家分组讨论,从程序管理、执行效率等方面思考。任务实施

工业机器人的

TCP

在点

pHome

等待;空闲时TCP

沿着物体的一条边从点

p10

运动到点

p20;当外部输入信号

di1

1

时TCP回到点pHome。运动结束后建立一个

RAPID

程序,使

ABB

工业机器人满足以上任务要求:任务实施

一、建立程序模块和例行程序根据任务要求,建立一个程序模块Module1即可。此程序模块应包含4个例行程序:主程序main()、返回等待点程序rHome()、初始化程序rInitAll()和运动控制程序rMoveRoutine()。其中,主程序main()通过IF指令设定运行条件,并通过调用其他例行程序实现各种功能。主程序main()的内容任务实施

一、建立程序模块和例行程序主程序main()首先调用初始化程序rInitAll(),执行一次rInitAll()后进入WHILE指令。当满足条件“di1=1”时,将执行运动控制程序rMoveRoutine()和返回等待点程序rHome(),在rMoveRoutine()中添加MoveL指令,使TCP从起始点p10到目标点p20做线性运动;在rHome()中添加运动指令,使TCP返回点pHome。通过WaitTime指令设定等待时间,程序在等待0.3s后自动进入下一次循环。任务实施

一、建立程序模块和例行程序建立程序模块和例行程序的步骤任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

一、建立程序模块和例行程序(续表)任务实施

二、调试程序为检查初步建立的RAPID程序的位置点是否正确、逻辑控制是否合理,应对RAPID程序中的各例行程序进行调试。调试例行程序rHome()的步骤任务实施

二、调试程序(续表)任务实施

二、调试程序(续表)任务实施

二、调试程序调试例行程序rMoveRoutine()的步骤任务实施

二、调试程序(续表)任务实施

二、调试程序调试主程序main()的步骤任务实施

二、调试程序(续表)任务实施

三、自动运行程序自动运行程序的步骤任务实施

三、自动运行程序(续表)任务实施

三、自动运行程序(续表)任务实施

四、保存程序模块保存程序模块的步骤任务实施

四、保存程序模块(续表)任务实施

四、保存程序模块(续表)任务三掌握RAPID程序的特殊指令和常用函数任务引入——爱岗敬业,热情友善在ABB工业机器人的实际应用中,由于作业环境和要求的多样性,任务编程员小李常常需要编写复杂的RAPID程序来满足特殊需求。经验丰富的同事小张发现后,主动向小李分享了RAPID程序中各类高效的特殊指令和常用函数,帮助他简化了编程流程。小张这种爱岗敬业、热情友善的职业精神不仅积极践行了社会主义核心价值观,还为团队共同进步树立了学习榜样。那么RAPID程序都提供了哪些特殊指令和常用函数?它们都有哪些作用?又该如何使用呢?一、RAPID程序的特殊指令在进行RAPID编程时,除常用的RAPID程序指令外,在某些特定情况下还会用到一些特殊指令,如速度控制指令、跳转标签指令、TEST指令(分支循环指令)等。使用这些特殊指令有利于提高编程及程序执行效率。一、RAPID程序的特殊指令本模块任务二中用到的AccSet指令(加速度设定指令)和VelSet指令(速度设定指令)均为速度控制指令。操作员可通过AccSet指令限定ABB工业机器人TCP的加速度,从而使工业机器人运行更加平缓,但会适当延长循环时间。1.速度控制指令AccSet30,100;AccSet100,30;AccSet指令编程示例:说明:前者表示TCP的加速度为系统默认值的30%,加速度的变化率(斜线的斜率)为系统默认值的100%;后者表示TCP的加速度为系统默认值的100%,加速度的变化率为系统默认值的30%。(a)AccSet100,100(系统默认值)(b)AccSet30,100(c)AccSet100,30TCP的加速度变化曲线一、RAPID程序的特殊指令1.速度控制指令VelSet50,300;VelSet指令编程示例:说明:TCP的运行速度为程序设定值的50%,最大运行速度为300mm/s。VelSet指令用于设定TCP运行速度的调节倍率和TCP最大运行速度。一、RAPID程序的特殊指令2.跳转标签指令MoveLp10,v1000,fine,tool1;Resetdo1;WaitTime0.5;GOTOPick; !跳转至线程Pick……Pick: !线程Pick的标签跳转标签指令编程示例:说明:当工业机器人将工具tool1的TCP沿直线移动至目标点p10后,复位数字输出信号do1,并且等待0.5s,然后程序执行跳转到名称为Pick的线程。程序执行跳转到相同程序内的另一线程,可用指令:GOTO指令Label指令用于指定线程(即标签)名称,该线程名称具有唯一性。一、RAPID程序的特殊指令3.TEST指令TESTreg1CASE1:MoveLp10,v1000,fine,tool1;CASE2,3:MoveLp20,v1000,fine,tool1;DEFAULT:Stop;ENDTESTTEST指令编程示例:说明:对reg1的值进行判断,如果为1,则工业机器人将工具tool1的TCP沿直线移动至目标点p10;如果为2或3,则工业机器人将工具tool1的TCP沿直线移动至目标点p20;如果都不符合,则工业机器人停止运动。TEST指令可以对表达式或数据的多个常量值进行判断,程序指针会根据不同的常量值跳转到对应的预定义CASE指令,从而达到执行不同程序的目的。如果未找到预定义CASE指令,程序指针则会跳转到DEFAULT指令(预先已定义)。一、RAPID程序的特殊指令3.TEST指令(1)TEST指令可以添加多个判断条件“CASE”,但只能有一个默认设置“DEFAULT”。(2)TEST指令可以对所有数据类型进行判断,但是进行判断的数据必须拥有值。知识角二、RAPID程序的常用函数RAPID程序中的函数相当于编程软件中固有的功能程序,可通过函数命令直接调用。常用函数Abs函数ErrorHandle函数Offs函数二、RAPID程序的常用函数Abs函数用于计算绝对值。1.Abs函数reg1:=Abs(reg5);例如,赋值指令:说明:Abs函数用于计算reg5的绝对值,然后将计算结果赋给reg1。二、RAPID程序的常用函数Offs函数用于定义目标点在X、Y、Z轴方向上的偏移。2.Offs函数MoveLOffs(p10,10,20,40),v100,z50,tool0;例如,线性运动指令:说明:Offs函数用于以选定的目标点p10为基准,沿着选定工件坐标系的X、Y、Z轴方向分别偏移10mm、20mm、40mm,偏移后的位置作为新目标点位置;工业机器人将工具tool0的TCP沿直线移动至新目标点,移动速度为100mm/s,转弯半径为50mm。二、RAPID程序的常用函数ErrorHandle函数用于工业机器人对一些简单的错误进行自我处理,从而减少人为干预,提高运行的可靠性。3.ErrorHandle函数ErrorHandle函数中的常用指令指令说明

指令说明EXIT当错误无法处理时程序停止运行TRYNEXT执行激活指令的下一条指令RAISE激活ErrorHandle函数RETURN回到之前的子程序RETRY再次执行激活指令ResetRetryCount复位重试次数三、中断程序中断程序的定义中断程序的执行中断程序的恢复在RAPID程序执行过程中,如果发生紧急情况,应使用中断程序中断当前程序的执行,这时程序指针会立即跳转至专门的程序,对紧急情况进行处理。中断程序(TRAP)专门用于处理紧急情况,适用于出错处理、外部信号响应这种实时响应要求较高的场合。处理完成后程序指针返回到原来被中断的地方,继续向下执行程序。三、中断程序中断程序的常用指令指令说明

指令说明CONNECT连接中断符号与中断程序ISignalAI中断模拟输入信号ISignalDI中断数字输入信号ISignalAO中断模拟输出信号ISignalDO中断数字输出信号TriggInt固定位置中断ISignalGI中断一组数字输入信号ITimer定时中断ISignalGO中断一组数字输出信号IError出现错误时下达中断指令并启用中断程序三、中断程序在机器人工作过程中,如果突然发生碰撞,我们希望机器人能立即停止运动并进行相应处理,这时候可以用到什么?具体该怎么实现呢?大家发挥想象,说说自己的想法。任务实施

一、添加GOTO指令根据GOTO指令的作用和添加要求,在下列RAPID程序中添加GOTO指令。PROCmain() Routine1; rHome: Routine2; IFdi1=1THEN GOTOrHome; ENDIFENDPROC其中,例行程序Routine1()为MoveJp10,v300,z50

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论