版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《工业机器人编程与操作》授课教师:xxx编写简单的工业机器人程序项目五项目导读工业机器人编程是工业机器人技术的重要组成部分,它是使工业机器人完成特定任务的动作顺序描述。ABB工业机器人常用的编程语言是RAPID语言。RAPID语言拥有丰富的编程指令,可以实现工业机器人在焊接、搬运、码垛等方面的应用。常用的编程指令有赋值指令、运动控制指令、循环指令等。掌握这些指令的作用及使用方法,对于编写工业机器人程序是十分必要的。本项目将先介绍工业机器人编程的基础知识,然后在此基础上介绍编写简单工业机器人程序的具体步骤。学习目标知识目标技能目标素质目标掌握赋值指令、运动控制指令、流程控制指令、I/O控制指令的作用及使用方法。熟悉运算符和数学指令的作用。熟悉工业机器人编程的一般步骤。培育崇尚技艺、求实创新的职业品质。树立爱岗敬业、忠于职守的事业精神。能够新建例行程序。能够添加简单的程序指令。项目工单——了解工业机器人编程指令一、赋值指令和运动控制指令二、流程控制指令三、I/O控制指令四、运算符和数学指令五、工业机器人编程的一般步骤项目实施目录项目五编写简单的工业机器人程序课堂导入小李来到一个ABB工业机器人作业车间实习,通过查阅操作手册和带班师傅的指导,他很快就能够对工业机器人进行一些简单的手动操作。课堂导入然而,从未进行过编程操作的他,面对示教器中显示的一连串编程指令有些茫然。为了让他掌握基本的编程技能,带班师傅要求他必须熟记常用的编程指令。课堂导入那么,常用的RAPID编程指令有哪些?它们都有什么作用?在进行编程时又该如何添加这些指令呢?项目工单——了解工业机器人编程指令一、思维导图二、小组分工以3~5人为一组,选出组长并进行小组分工,将小组概况及分工填入下表中。班级
组号
指导教师
小组成员姓名学号小组分工组长
组员
三、制订计划根据小组分工,查阅相关资料,了解工业机器人编程常用指令的作用及使用方法,制订工作计划,并将其填入下表中。步骤工作内容负责人
四、成长记录学习本项目后,学生可以通过截图、录视频、保存系统文件的方式记录自己的项目实施成果。在下表中,可以展示自己的项目实施成果,也可以将项目实施过程中遗漏的要点、遇到的问题和解决方法记录下来。(可以将项目实施成果展示在此处;也可以在此处记录项目实施过程中遗漏的要点、遇到的问题和解决方法等)
一、赋值指令和运动控制指令一、赋值指令和运动控制指令(一)赋值指令观看视频,说一说工业机器人赋值指令的基本作用是什么?play一、赋值指令和运动控制指令(一)赋值指令赋值指令用于对程序数据进行赋值,其符号为“:=”。赋值指令适用于全部数据类型,是RAPID语言中使用频率最高的指令之一。赋值指令编程示例如下。reg1:=17;
!将常量17赋给reg1reg2:=reg1+8;
!将表达式reg1+8的值赋给reg2counter:=counter+1;
!counter增加1一、赋值指令和运动控制指令(二)运动控制指令关节运动运动方式线性运动圆弧运动绝对位置运动MoveJ指令实现命令MoveL指令MoveC指令MoveAbsJ指令一、赋值指令和运动控制指令(二)运动控制指令1.MoveJ指令定义:MoveJ指令是在对轨迹精度要求不高的情况下,将工业机器人的TCP快速移动至给定目标点的指令。适用范围:MoveJ指令适用于工业机器人大范围运动的场合,在运动过程中不易出现关节轴进入机械死点的问题。MoveJ指令只关注TCP的起始点和目标点,其运动轨迹不一定是直线,如图所示。一、赋值指令和运动控制指令(二)运动控制指令1.MoveJ指令MoveJ指令的使用格式如下。MoveJToPoint,Speed,Zone,Tool;MoveJ指令各参数含义:①MoveJ为指令代码;②ToPoint为目标点,可存储一个位置数据;③Speed为移动速度数据,单位为mm/s;④Zone为转弯区数据,即转弯半径,单位为mm;⑤Tool为工具坐标数据。MoveJ指令编程示例如下。MoveJp10,vmax,z30,tool2;说明:工业机器人将工具tool2的TCP沿着一个非线性路径移动至目标点p10,其移动速度数据为用户预定义的speeddata型数据vmax,转弯半径为30mm。一、赋值指令和运动控制指令(二)运动控制指令2.MoveL指令MoveL指令让工业机器人TCP沿直线移至目标点,可通过设目标点位置、速度等实现精确控制。线性运动时运动状态可控、轨迹唯一,不过可能出现机械死点。一、赋值指令和运动控制指令(二)运动控制指令2.MoveL指令MoveL指令的使用格式如下。MoveLToPoint,Speed,Zone,Tool;MoveL指令编程示例如下。MoveLp20,v2000,fine,grip3;说明:工业机器人将工具grip3的TCP沿直线移动至目标点p20,移动速度为2
000
mm/s,不使用转弯半径过渡。一、赋值指令和运动控制指令(二)运动控制指令3.MoveC指令MoveC指令使工业机器人TCP沿由起始点、中间点和目标点确定的圆弧移至给定目标点,运动状态可控、轨迹唯一,常用于工作状态下的移动。需注意,单个MoveC指令无法实现圆周运动。一、赋值指令和运动控制指令(二)运动控制指令3.MoveC指令MoveC指令的使用格式如下。MoveCCirPoint,ToPoint,Speed,Zone,Tool;MoveC指令各参数含义:①MoveC为指令代码;②CirPoint为中间点,可存储一个robtarget型数据;③ToPoint为目标点,可存储一个robtarget型数据;④Speed为移动速度数据;⑤Zone为转弯区数据;⑥Tool为工具坐标数据。MoveC指令编程示例如下。MoveCp30,p40,v500,z30,tool2;说明:工业机器人将工具tool2的TCP沿圆弧经中间点p30移动至目标点p40,其移动速度为500mm/s,转弯半径为30mm。一、赋值指令和运动控制指令(二)运动控制指令4.MoveAbsJ指令MoveAbsJ指令可将机械臂和外轴移至指定绝对轴位置,运动时工业机器人单轴运行,无机械死点,但运动状态不可控,常用于使各轴回原点。MoveAbsJ指令的使用格式如下。MoveAbsJToJointPos,Speed,Zone,Tool;MoveAbsJ指令各参数含义:①MoveAbsJ为指令代码;②ToJointPos为绝对轴位置数据;③Speed为移动速度数据;④Zone为转弯区数据;⑤Tool为工具坐标数据。一、赋值指令和运动控制指令(二)运动控制指令4.MoveAbsJ指令MoveAbsJ指令编程示例如下。MoveAbsJp50,v1000,z50,tool2;说明:工业机器人将工具tool2的TCP沿一个非线性路径移动到绝对轴位置p50,其移动速度为1000mm/s,转弯半径为50mm。MoveAbsJ*/NoEOffs,v100,z10,tool1;说明:工业机器人将工具tool1的TCP沿一个非线性路径移动到绝对轴位置“*”(该数据直接存储在指令中),其移动速度为100mm/s,不使用外部偏移(NoEOffs),转弯半径为10mm。一、赋值指令和运动控制指令(二)运动控制指令4.MoveAbsJ指令知识链接绝对轴位置数据“*”由工业机器人本体关节位置和外部轴位置两组数据复合而成。对于有6个关节轴的工业机器人来讲,当其各轴回到机械原点时,本体关节位置数据为“[0,0,0,0,0,0]”,数据内的数字表示绝对角度(关节运动关节轴)或绝对位置(线性运动关节轴)。同样,外部轴位置数据也用绝对角度或绝对位置表示,若不使用外部轴,则位置数据为“[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]”。二、流程控制指令二、流程控制指令定义:流程控制指令用于控制程序的执行流程,使工业机器人能够根据实际情况完成不同的运动,从而实现更复杂、更灵活的生产加工工艺。常用的流程控制指令逻辑判断指令程序跳转指令循环指令终止程序执行指令跳转标签指令二、流程控制指令(一)逻辑判断指令1.CompactIF指令定义:CompactIF指令(“紧凑型”条件判断指令)根据判断结果只能执行一个指令或语句。CompactIF指令的使用格式如下。IF<条件表达式><指令或语句>;CompactIF指令编程示例如下。IFcount>4setdo1;说明:如果count>4,则置位数字输出信号do1。二、流程控制指令(一)逻辑判断指令2.IF指令定义:IF指令(条件判断指令)可以进行多重判断,根据不同的条件判断结果,执行相对应的指令或语句。IF指令的使用格式如下。IF<条件表达式>THEN<指令或语句1>;ELSEIF<条件表达式>THEN<指令或语句2>;ELSE<指令或语句3>;ENDIF二、流程控制指令(一)逻辑判断指令2.IF指令IF指令编程示例如下。IFreg1>0ANDreg1<10THENSetdo1;ELSEIFreg1>=10THENResetdo1;ELSEreg1:=0;ENDIF说明:如果0<reg1<10,则置位数字输出信号do1;如果reg1≥10,则复位数字输出信号do1;如果reg1不满足以上两个条件,则reg1为0。二、流程控制指令(一)逻辑判断指令3.TEST指令定义:TEST指令可以对表达式或数据的多个常量值进行判断,根据不同的常量值执行相对应的指令或语句。TEST指令的使用格式如下。TEST<表达式或数据>CASE<值1>:<指令或语句1>;CASE<值2>:<指令或语句2>;……CASE<值n>:<指令或语句n>;DEFAULT:<指令或语句>;ENDTEST小提示(1)TEST指令可以添加多个判断条件“CASE”,但只能有一个默认设置“DEFAULT”。(2)TEST指令可以对所有数据类型进行判断,但是进行判断的数据必须拥有值。(3)如果选择条件较少,也可用IF指令代替。二、流程控制指令(一)逻辑判断指令3.TEST指令TEST指令编程示例如下。TESTreg1CASE1:MoveLp10,v1000,fine,tool1;CASE2,3:MoveLp20,v1000,fine,tool1;DEFAULT:Stop;ENDTEST说明:对reg1的值进行判断,如果为1,则工业机器人将工具tool1的TCP沿直线移动至目标点p10;如果为2或3,则工业机器人将工具tool1的TCP沿直线移动至目标点p20;如果全不符合,则工业机器人停止运动。二、流程控制指令(二)循环指令1.FOR指令定义:FOR指令是在一个或多个指令或语句需要重复多次时使用的指令。FOR指令的使用格式如下。FOR<循环计数器数据名称>FROM<起始值>TO<结束值>[STEP<步长值>]DO<指令或语句>;ENDFORFOR指令编程示例如下。FORpFROM4TO12STEP2DOroutine1;ENDFOR说明:例行程序routine1重复5次,因为步长值为2,所以p的值依次为4、6、8、10、12。二、流程控制指令(二)循环指令1.FOR指令小提示(1)循环计数器数据名称不需要提前定义,其为num型数据。(2)FORM、TO和STEP的值均为num型数据。(3)如果循环计数器数据的值在起始值和结束值的范围之外,则指针跳出FOR循环,程序紧接ENDFOR继续往下执行。二、流程控制指令(二)循环指令2.WHILE指令定义:WHILE指令同样用于创建一个循环,该循环会一直执行循环内的语句,直到给定的条件表达式的值为FALSE。WHILE指令的使用格式如下。WHILE<条件表达式>DO<指令或语句>;ENDWHILEWHILE指令编程示例如下。WHILEreg1<8DOreg1:=reg1+1;ENDWHILE说明:只要reg1<8的条件成立,循环内的语句(令reg1增加1)便一直执行;否则,便跳出WHILE循环。二、流程控制指令(三)跳转标签指令观看视频,说一说跳转标签指令与普通循环指令(如FOR/WHILE)有何区别?。play二、流程控制指令(三)跳转标签指令程序运行时,若要在同一程序内将执行跳转至另一线程,可通过由GOTO指令和LABEL指令构成的跳转标签指令实现。LABEL指令用于指定唯一的线程(标签)名称。跳转标签指令编程示例如下。MoveLp10,v1000,fine,tool1;Resetdo1;WaitTime0.5;GOTOPick; !跳转至线程Pick……Pick: !线程Pick的标签说明:当工业机器人将工具tool1的TCP沿直线移动至目标点p10后,复位数字输出信号do1,并且等待0.5s,然后程序执行跳转到名称为Pick的线程。二、流程控制指令(四)程序跳转指令指令作用ProcCall调用(跳转至)其他无返回值程序CallByVar调用具有特定名称的无返回值程序RETURN返回原程序二、流程控制指令(四)程序跳转指令(1)ProcCall指令用于将程序执行跳转至另一个无返回值程序。当无返回值程序被充分执行后,程序将继续执行过程调用后的指令。ProcCall指令编程示例如下。errormessage;Setdo1;……PROCerrormessage()TPWrite"ERROR"; !在示教器上显示输入的文本ENDPROC说明:调用无返回值程序errormessage,当该无返回值程序就绪时,程序执行过程调用之后的指令,即置位数字输出信号do1。二、流程控制指令(四)程序跳转指令(2)CallByVar指令可用于调用具有特定名称的无返回值程序,不能用来调用LOCAL(本地)程序。CallByVar指令编程示例如下。reg1:=2;CallByVar"proc",reg1;说明:调用无返回值程序proc2。二、流程控制指令(四)程序跳转指令(3)RETURN指令用于当此指令被执行时,马上结束本例行程序,使程序指针返回调用指令位置的下一行。RETURN指令编程示例如下。PROCmain()reg1:=1;routine1;reg1:=8;ENDPROC
PROCroutine1()reg1:=reg1+1;RETURN;reg1:=4;ENDPROC说明:当程序指针执行到RETURN指令时,会立即返回“reg1:=8;”并继续执行;RETURN指令后的“reg1:=4;”则被跳过不执行。二、流程控制指令(五)终止程序执行指令指令作用Stop停止程序执行EXIT不允许程序重启,终止程序执行Break为排除故障,临时终止程序执行SystemStopAction终止程序执行和机械臂移动Stop指令编程示例如下。TPWrite"Thelinetothehostcomputerisbroken";Stop;Stop指令的使用较为频繁。说明:在示教器上显示完输入的文本之后,停止程序执行。三、I/O控制指令三、I/O控制指令定义:I/O控制指令用于控制I/O信号,以实现工业机器人与外围设备进行通信的目的。常用的I/O控制指令Set指令Reset指令WaitTime指令WaitDI、WaitDO指令WaitUntil指令三、I/O控制指令(一)Set指令定义:Set指令(数字信号置位指令)用于将数字输出信号的值设置为1,从而使对应的执行器开始工作。编程示例如下。Setdo1;说明:将数字输出信号do1的值设置为1。三、I/O控制指令(二)Reset指令定义:Reset指令(数字信号复位指令)用于将数字输出信号的值设置为0。编程示例如下。Resetdo1;说明:将数字输出信号do1的值设置为0。三、I/O控制指令(三)WaitDI、WaitDO指令定义:WaitDI、WaitDO指令用于等待,直至出现已设置数字输入或输出信号的值,可以设定最长等待时间。编程示例如下。WaitDIdi1,1说明:等待数字输入信号di1的值为1,当di1为1时,程序继续执行;否则,继续等待,直至超出最长等待时间。三、I/O控制指令(四)WaitTime指令定义:WaitTime指令用于等待给定的时间,也可用于等待机械臂和外轴静止。编程示例如下。WaitTime0.5说明:程序执行等待0.5s。WaitTime\InPos,0;说明:程序执行进入等待,直至机械臂和外轴已静止。“\InPos”为可选变量。三、I/O控制指令(五)WaitUntil指令定义:WaitUntil指令用于所有信号类型和变量状态的等待,直至满足逻辑条件,该指令可以添加多个条件,也可以设定最长等待时间。编程示例如下。WaitUntildi1=1;说明:等待数字输入信号di1的值为1;否则,继续等待,直到超出最大等待时间。四、运算符和数学指令四、运算符和数学指令(一)运算符算术运算符执行基本的数学运算关系运算符条件判断逻辑运算符逻辑运算字符串运算符操作和连接字符串四、运算符和数学指令(一)运算符1.算术运算符运算符操作表达式运算结果+加法num+numdnum+numnumdnum矢量加法pos+pospos保留符号+num+dnum+posnumdnumpos串连接string+stringstring-减法num-numdnum-dnumnumdnum矢量减法pos-pospos保留符号-num-dnum-posnumdnumpos四、运算符和数学指令(一)运算符1.算术运算符运算符操作表达式运算结果*乘法num*numdnum*dnumnumdnum矢量数乘num*pospos*numpos矢积pos*pospos旋转连接orient*orientorient/除法num/numdnum/dnumnumdnumDIV整数除法numDIVnumdnumDIVdnumnumdnumMOD整数模运算
(取余数)numMODnumdnumMODdnumnumdnum四、运算符和数学指令(一)运算符2.关系运算符和逻辑运算符运算符操作表达式运算结果关系运算符<
小于num<numdnum<dnumbool<=小于等于num<=numdnum<=dnumbool=等于任意类型=任意类型bool>
大于num>numdnum>dnumbool>=大于等于num>=numdnum>=dnumbool<>
不等于任意类型<>任意类型bool四、运算符和数学指令(一)运算符2.关系运算符和逻辑运算符运算符操作表达式运算结果逻辑运算符AND与boolANDboolboolXOR异或boolXORboolboolOR或boolORboolboolNOT非NOTboolbool四、运算符和数学指令(一)运算符2.关系运算符和逻辑运算符指令中不同运算符:优先级不同:先算优先级高的,再算优先级低的;优先级相同:则从左到右逐个计算。优先级运算符高*/DIVMOD+-<><><=>==AND低XORORNOT四、运算符和数学指令(一)运算符3.字符串运算符字符串运算符“+”可将两个字符串连接成一个字符串。编程示例如下。"IN"+"PUT" !得到结果为"INPUT"四、运算符和数学指令(二)数学指令定义:数学指令用于计算和修改数据数值。指令作用Clear清除指令,用于清除对象,即将数据对象设置为0Add增加数值指令,用于将数据对象增加一个数值(该数值可以为负值)Incr自加1指令,用于将数据对象增加1Decr自减1指令,用于从数据对象减去1常用的数学指令四、运算符和数学指令(二)数学指令以Add指令为例,其编程示例如下。Addreg1,3;说明:将reg1增加3。Addreg1,-reg2;说明:从reg1减去reg2。知识链接函数相当于编程软件固有的功能程序,可通过函数命令直接调用。算术函数可用于复杂的算术运算,常用的算术函数如下表所示。函数作用Abs计算绝对值Round按四舍五入计算数值Trunc取到数值的指定项即终止运算四、运算符和数学指令(二)数学指令函数作用Sqrt计算平方根Exp以“e”作为底数,计算指数值Pow以任意值作为底数,计算指数值Max返回两个值中的较大值Min返回两个值中的较小值ACos计算反余弦值ASin计算反正弦值四、运算符和数学指令(二)数学指令函数作用ATan计算
区间内的反正切值ATan2计算
区间内的反正切值Cos计算余弦值Sin计算正弦值Tan计算正切值EulerZYX基于方位计算欧拉角OrientZYX基于欧拉角计算方位五、工业机器人编程的一般步骤五、工业机器人编程的一般步骤任务分析与需求确定机器人和语言选择工业机器人路径规划确定任务目标和需求编写与调试程序选择合适的机器人和编程语言现场测试与优化规划机器人从起点到终点的路径完成任务并记录编写和调试机器人控制程序在实际环境中测试和优化程序完成任务并记录重要参数(1)(2)(3)(4)(5)(6)五、工业机器人编程的一般步骤砥节砺行用坚持和汗水书写智能制造新篇章郑林松,某电器公司钣金喷涂分厂保全班班长。工作期间,他勤勉努力、积极创新,取得了多项创新成果。郑林松毕业于河北工业职业技术学院电气自动化专业。2014年,他进入公司从事设备保全工作。虽然专业对口,但书本上的理论知识和生产实践还是有差距的,如何把理论与实践结合起来,郑林松“一点就透”。……详见教材。项目实施编写工业机器人程序下面将通过新建例行程序和添加简单的程序指令两方面,简单介绍工业机器人RAPID程序的编写方法。编写工业机器人程序一、新建例行程序具体操作步骤步骤1
使用RobotStudio软件打开工作站打包文件“NO5.rspag”,然后打开虚拟示教器,选择手动模式。单击虚拟示教器左上角的“主菜单”按钮,选择“手动操纵”选项,进入手动操纵的参数设定界面。步骤2
选择“工具坐标”选项,进入工具选择界面,选择“tool1”选项,单击“确定”按钮,确保所选择的工具为工业机器人末端执行器上的工具。步骤3
返回手动操纵的参数设定界面后,选择“工件坐标”选项,进入工件选择界面,选择“wobj1”选项,单击“确定”按钮。一、新建例行程序具体操作步骤步骤4
单击“主菜单”按钮,选择“程序编辑器”选项,进入主程序编辑界面,单击“例行程序”按钮,如图所示。一、新建例行程序具体操作步骤步骤5
在例行程序选择界面中,单击“文件”按钮,选择“新建例行程序”选项,如图所示。一、新建例行程序具体操作步骤步骤6
在“例行程序声明”界面中,保持参数为默认,如左图所示。单击“确
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自身免疫性脑炎临床诊疗实践共识(2026版)
- 广西壮族自治区玉林市一级建造师考试(机电工程管理与实务)题库含答案(2025年)
- 2025年延边吉林职业技能竞赛(无人机装调检修工)自测试题及答案
- 一级建造师考试(通信与广电工程管理与实务)真题及答案(陕西)
- FXR-agonist-15-生命科学试剂-MCE
- 2026oracle数据库基础面试题及答案
- 2026linux面试题及答案大全
- 2026java美团面试题目及答案
- 2026年济南综合保税区招聘城管协管人员易考易错模拟试题(共500题)试卷后附参考答案
- 2026年河南许昌市12345政务服务热线平台招聘10人易考易错模拟试题(共500题)试卷后附参考答案
- 马工程《艺术学概论》课件-第九章课件电子教案
- 2026上半年生态环境部卫星环境应用中心招聘15人笔试备考题库及答案解析
- 2025年建筑资料员招聘笔试试题及答案
- 2026年新入团考试知识大全(必考知识点+完整题库+标准答案)
- 2026杭州市萧山区招录高学历事业人员50人笔试参考题库及答案解析
- 2026年东莞市卫生健康系统事业单位人员招聘考试备考试题及答案详解
- 2026广东深圳市国资委面向市内选调公务员5人笔试备考试题及答案解析
- 做账实操-砼业混凝土行业账务处理分录案例
- 桥梁事故应急池施工方案
- 2026春统编版(新教材)小学道德与法治一年下册《学先锋 做先锋》教学课件
- AQ3026-2026《化工企业设备检修作业安全规范》标准解读课件
评论
0/150
提交评论