ABB机器人的程序编程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

肇庆市技师学院ABB[a]-J-6ABB机器人的程序编程6.1任务目标掌握常用的PAPID程序指令。掌握基本RAPID程序编写、调试、自动运行和保存模块。6.2任务描述建立程序模块test12.24,模块test12.24下建立例行程序main和Routine1,在main程序下进行运动指令的基本操作练习。掌握常用的RAPID指令的使用方法。建立一个可运行的基本RAPID程序,内容包括程序编写、调试、自动运行和保存模块。6.3知识储备6.3.1程序模块与例行程序RAPID程序中包含了一连串控制机器人的指令,执行这些指令可以实现对机器人的控制操作。应用程序是使用称为RAPID编程语言的特定词汇和语法编写而成的。RAPID是一种英文编程语言,所包含的指令可以移动机器人、设置输出、读取输入,还能实现决策、重复其他指令、构造程序、与系统操作员交流等功能。RAPID程序的基本架构如图所示:RAPID程序程序模块1程序模块2程序模块3程序模块4程序数据主程序main例行程序中断程序功能程序数据例行程序中断程序功能…………程序数据例行程序中断程序功能RAPID程序的架构说明:1)RAPID程序是由程序模块与系统模块组成。一般地,只通过新建程序模块来构建机器人的程序,而系统模块多用于系统方面的控制。2)可以根据不同的用途创建多个程序模块,如专门用于主控制的程序模块,用于位置计算的程序模块,用于存放数据的程序模块,这样便于归类管理不同用途的例行程序与数据。3)每一个程序模块包含了程序数据、例行程序、中断程序和功能四种对象,但不一定在一个模块中都肇庆市技师学院有这四种对象,程序模块之间的数据、例行程序、中断程序和功能是可以互相调用的。4)在RAPID程序中,只有一个主程序main,并且存在于任意一个程序模块中,并且是作为整个RAPID程序执行的起点。操作步骤:1.单击“程序编辑器”,查看RAPID程序。2.单击“例行程序”,查看例行程序列表。3.单击“后退”或“模块”标签查看模块列表。4.在“模块”和“例行程序”视图中,可以点击“文件”—“新建”去建立模块或例行程序。6.3.2在示教器上进行指令编程的基本操作ABB机器人的RAPID编程提供了丰富的指令来完成各种简单与复杂的应用。下面就从最常用的指令开始肇庆市技师学院学习RAPID编程,领略RAPID丰富的指令集提供的编程便利性。1.打开ABB菜单,选择“程序编辑器”。2.选中要插入指令的程序位置,高显为蓝色。3.单击“添加指令”,打开指令列表。4.单击此按钮可切换到其他分类的指令列表。6.4任务实施6.4.1基本RAPID指令练习建立程序模块test12.24,模块test12.24下建立例行程序main和Routine1,在main程序下进行运动指令的基本操作练习。1.赋值指令“:=”赋值指令用于对程序数据进行赋值。赋值可以是一个常量或数学表达式。下面的操作步骤以添加一个常量赋值与数学表达式赋值说明此指令的使用:常量赋值:reg1:=5;肇庆市技师学院数学表达式赋值:reg2:=reg1+4;(1)添加常量赋值指令的操作1.在指令列表中选择“:=”。2.单击“更改数据类型…”,选择num数字型数据。3.在列表中找到“num”并选中,然后单击“确定”。肇庆市技师学院4.选中“reg1”。5.选中“EXP”并蓝色高亮显示。6.打开“编辑”菜单,选择“仅限选定内容”。7.通过软键盘输入数字“5”,然后单击“确定”。肇庆市技师学院8.单击“确定”。9.在这里就能看到所增加的指令。(2)添加带数学表达式的赋值指令的操作1.在指令列表中选择“:=”。肇庆市技师学院2.选中“reg2”。3.选中“EXP”,显示为蓝色高亮。4.选中“reg1”。5.单击“+”按钮。肇庆市技师学院6.选中“EXP”,显示为蓝色高亮。7.打开“编辑”菜单,选择“仅限选定内容”,然后在弹出的软键盘画面中输入“4”,单击“确定”。8.确认正确后,单击“确定”。9.单击“下方”,添加指令成功。肇庆市技师学院10.单击“添加指令”,将指令列表收起来*提示:编程画面操作技巧放大/缩小画面。向上/向下翻页。向上/向下移动。2.机器人运动指令机器人在空间中运动主要有关节运动(MoveJ)、线性运动(MoveL)、圆弧运动(MoveC)和绝对位置运动(MoveAbsJ)四种方式。(1)绝对位置运动指令绝对位置运动指令是机器人的运动使用六个轴和外轴的角度值来定义目标位置数据。操作步骤:1.进入“手动操纵”画面,确认已选定工具坐标与工件坐标(*提示:在添加或修改机器人的运动指令之前,一定要确认所使用的工具坐标与工件坐标)。肇庆市技师学院2.选中指令的位置,打开“添加指令”菜单,选择“MoveAbsJ”指令。指令解析:MoveAbsJ*\NoEOffs,v1000,z50,tool1\Wobj:=wobj1;参数含义*目标点位置数据\NoEOffs外轴不带偏移数据v1000运动速度数据1000mm/sz50转弯区数据tool1工具坐标数据wobj1工件坐标数据*提示:MoveAbsJ常用于机器人六个轴回到机械零点(0°)的位置。(2)关节运动指令关节运动指令是对路径精度要求不高的情况下,机器人的工具中心点TCP从一个位置移动到另一个位置,两个位置之间的路径不一定是直线。肇庆市技师学院指令解析:MoveJp10,v1000,z50,tool1\Wobj:=wobj1;参数含义p10目标点位置数据v1000运动速度数据关节运动适合机器人大范围运动时使用,不容易在运动过程中出现关节轴进入机械死点的问题。*注意:目标点位置数据定义机器人TCP点的运动目标,可以在示教器中单击“修改位置”进行修改。运动速度数据定义速度(mm/s)转弯区数据定义转变区的大小mm。工具坐标数据定义当前指令使用的工具工件坐标数据定义当前指令使用的工件坐标(3)线性运动指令线性运动是机器人的TCP从起点到终点之间的路径始终保持为直线。一般如焊接、涂胶等应用对路径要求高的场合使用此指令。(4)圆弧运动指令圆弧路径是在机器人可到达的控件范围内定义三个位置点,第一个点是圆弧的起点,第二个点用于圆肇庆市技师学院弧的曲率,第三个点是圆弧的终点。指令解析:MoveLp10,v1000,fine,tool1\Wobj:=wobj1;MoveCp30,p40,v1000,z1,tool1\Wobj:=wobj1;参数含义p10圆弧的第一个点p30圆弧的第二个点p40圆弧的第三个点fine\z1转弯区数据(5)运动指令的使用示例指令:MoveLp1,v200,z10,tool1\Wobj:=wobj1;MoveLp2,v100,fine,tool1\Wobj:=wobj1;MoveJp3,v500,fine,tool1\Wobj:=wobj1;图示:肇庆市技师学院p310mmp1200mm/s10500m0mp2说明:机器人的TCP从当前位置向p1点以线性运动方式前进,速度是200mm/s,转弯区数据是10mm,距离p1点还有10mm的时候开始转弯,使用的工具数据是tool1,工件坐标数据是wobj1。机器人的TCP从p1向p2点以线性运动方式前进,速度是100mm/s,转弯区数据是fine,机器人在p2点稍作停顿,使用的工具数据是tool1,工件坐标数据是wobj1。机器人的TCP从p2向p3点以关节运动方式前进,速度是500mm/s,转弯区数据是fine,机器人在p3点停止,使用的工具数据是tool1,工件坐标数据是wobj1。提示:*关于速度:速度一般最高为50000mm/s,在手动限速状态下,所有的运动速度被限速在250mm/s*关于转弯区:fine指机器人TCP达到目标点,在目标点速度降为零。机器人动作有所停顿然后再向下运动,如果是一段路径的最后一个点,一定要为fine。转弯区数值越大,机器人的动作路径就越圆滑与流畅。3.I/O控制指令I/O控制指令用于控制I/O信号,以达到与机器人周边设备进行通信的目的。(1)Set数字信号置位指令Set数字信号置位指令用于将数字输出(DigitalOutput)置位为“1”。Setdo1;参数含义do1数字输出信号(2)Reset数字信号复位指令Reset数字信号复位指令用于将数字输出(DigitalOutput)置位为“0”。肇庆市技师学院Resetdo1;*提示:如果在Set、Reset指令前有运动指令MoveJ、MoveL、MoveC、MoveAbsJ的转弯区数据,必须使用fine才可以准确地输出I/O信号状态的变化。(3)WaitDI数字输入信号判断指令WaitDI数字输入信号判断指令用于判断数字输入信号的值是否与目标一致。WaitDIdi1,1;参数含义di1数字输入信号1判断的目标值在例子中,程序执行此指令时,等待di1的值为1。如果di1为1,则程序继续往下执行;如果到达最大等待时间300s(此时间可根据实际进行设定)以后,di1的值还不为1,则机器人报警或进入出错处理程序。(4)WaitDO数字输出信号判断指令WaitDO数字输出信号判断指令用于判断数字输出信号的值是否与目标一致。WaitDOdo1,1;参数以及说明同WaitDi指令。(5)WaitUntil信号判断指令WaitUntil信号判断指令可用于布尔量、数字量和I/O信号值的判断,如果条件到达指令中的设定值,程序继续往下执行,否则就一直等待,除非设定了最大等待时间。WaitUntildi1=1;WaitUntildo1=0;WaitUntilflag=TRUE;WaitUntilnum1=4;参数含义flag1布尔量num1数字量4.条件逻辑判断指令条件逻辑判断指令用于对条件进行判断后,执行相应的操作,是RAPID中重要的组成部分。肇庆市技师学院(1)CompactIF紧凑型条件判断指令CompactIF紧凑型条件判断指令用于当一个条件满足了以后,就执行一句指令。IFflag1=TRUESetdo1;如果flag1的状态为TRUE,则do1被置位为1。(2)IF条件判断指令IF条件判断指令,就是根据不同的条件去执行不同的指令。指令解析:IFnum1=1THENflag:=TRUE;ELSEIFnum1=2THENflag1:=FALSE;ELSESetdo1;ENDIF如果num1为1,则flag1会赋值为TRUE。如果num1为2,则flag1会赋值为FALSE。除了以上两种条件之外,则执行do1置位为1.*条件判定的条件数量可以根据实际情况进行增加与减少。(3)FOR重复执行判断指令FOR重复执行判断指令,是用于一个或多个指令需要重复执行次数的情况FORiFROM1TO10DORoutine1;ENDFOR例行程序Routine1,重复执行10次。(4)WHILE条件判断指令WHILE条件判断指令,用于在给定条件满足的情况下,一直重复执行对应的指令。WHILEnum1num2DOnum1:=num1-1;ENDWHILE肇庆市技师学院当num1num2的条件满足的情况下,就一直执行num1:=num1-1的操作。5.其他的常用指令(1)ProcCall调用例行程序指令通过使用此指令在指定的位置调用例行程序。1.选中“SMT”为要调用的例行程序的位置。2.在添加指令的列表中,选择“ProcCall”指令。3.选中要调用的例行程序Routine1,然后单击“确定”。肇庆市技师学院(2)RETURN返回例行程序指令4.调用例行程序指令执行的结果。RETURN返回例行程序指令,当此指令被执行时,则马上结束本例行程序的执行,返回程序指针到调用此例行程序的位置。当di1=1时,执行RETURN指令,程序指针返回到调用Routine2的位置并继续向下执行Setdo1这个指令。(3)WaitTime时间等待指令WaitTime时间等待指令,用于程序在等待一个指定的时间以后,再继续向下执行WaitTime4;Resetdo1;等待4s以后,程序向

1 / 40
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功