机器人技术及应用课件项目6ABB工业机器人.ppt
项目六 ABB 工业机器人,项目六 ABB 工业机器人,知识链接,6.1 工业机器人的手动运行6.2 工业机器人的I/O通信6.3 基本运动指令6.4 程序数据的定义6.5 条件逻辑判断指令,知识链接6.1 工业机器人的手动运行,6.1 工业机器人的手动运行,6.1.1 ABB工业机器人系统组成ABB工业机器人主要是由工业机器人本体、控制柜、连接线缆和示教器组成,示教器通过示教器线缆和机器人控制柜连接,工业机器人本体通过动力线缆与机器人控制柜相连,机器人控制柜通过电源线缆和外部电源连接获取供电。ABB工业机器人示教器的结构如图6-1所示,下面介绍示教器各组成部分的基本功能。,图6-1 示教器的结构,6.1 工业机器人的手动运行 6.1.1 ABB工业机器人,A示教器线缆:与机器人控制柜连接,实现机器人动作控制。B触摸屏:示教器的操作界面显示屏。C紧急停止按钮:此按钮功能与控制柜的紧急停止按钮功能相同。D 手动操纵杆:在机器人手动运行模式下,拨动操纵杆可操纵机器人运动。E 数据备份用USB接口:用于外接U盘等存储设备传输机器人备份数据(在没有连接USB存储设备时,需要盖上USB接口的保护盖,如果接口暴露在灰尘里,机器人可能会发生中断或者是故障)。F使能器按钮:手动示教时需要机器人动作时要一直按住的,有三个档位:不握住,适当力度握住,大力握住。只有在适当力度握住时才会起作用。此时电气柜上的上电指示灯会常亮,否则闪烁。 G 触摸屏用笔:操作触摸屏的工具。H示教器复位按钮:使用此按钮可解决示教器四级或是示教器本身硬件引起的异常情况。提示:触摸屏只可以用触摸笔或指尖进行操作,其它工具(如写字笔的笔尖、螺丝刀的尖部等)都不能操作触摸屏,否则会使触摸屏损坏。,A示教器线缆:与机器人控制柜连接,实现机器人动作控制。,机器人开机后的示教器默认界面如图6-2所示,单击左上角的ABB主菜单按键,示教器界面切换为主菜单操作界面,如图6-3所示。,图6-2 开机后示教器的默认界面,图6-3 主菜单操作界面,机器人开机后的示教器默认界面如图6-2所示,单击左上角的AB,主菜单操作界面包括输入输出、手动操纵、自动生产线窗口、程序编辑器、程序数据、备份和回复等,每一项都对应一定的功能,具体如表6-1所示。,主菜单操作界面包括输入输出、手动操纵、自动生产线窗口、程序编,6.1.2 工业机器人的运行模式工业机器人的运行模式有两种,分别是手动模式和自动模式,部分工业机器人的手动模式还可以分为手动全速模式和手动限速模式。机器人在手动限速模式下的最高运行速度为250mm/s,在手动模式下,即可以单步运行例行程序又可以连续运行例行程序,运行程序时,需要一直按下使能器按钮。在手动运行模式下,可以进行机器人程序的编写、调试,示教点的重新设置等。机器人在示教编程的过程中,只能采用手动模式。在手动模式下,可以有效的控制机器人的运行速度和范围。机器人程序编写完成之后,在手动模式下例行程序调试正确后,方可选择使用自动模式,在生产过程中,大多是采用自动模式。,6.1.2 工业机器人的运行模式,6.1.3 工业机器人的坐标系坐标系是从一个被称为原点的固定点通过轴定义的平面或空间。机器人目标和位置是通过沿坐标系轴的测量来定位。在机器人系统中可使用若干坐标系,每一坐标系都适用于特定类型的控制或编程。机器人系统常用的坐标系有大地坐标系、基坐标系、工具坐标系和工件坐标系,它们均属于笛卡尔坐标系。1.大地坐标系大地坐标系在机器人的固定位置有其相应的零点,是机器人出厂默认的,一般情况下,位于机器人底座上。大地坐标系有助于处理多个机器人或由外轴移动的机器人。,6.1.3 工业机器人的坐标系,2.基坐标系基坐标系一般位于机器人基座,是便于机器人本体从一个位置移动到另一个位置的坐标系(常应用于机器人扩展轴)。在默认情况下,大地坐标系与基坐标系是一致的,如图6-4所示。一般地,当操作人员正向面对机器人并在基坐标系下进行线性运动时,操纵杆向前和向后使机器人沿X轴移动;操纵杆向两侧使机器人沿Y轴移动;旋转操纵杆使机器人沿Z轴移动。,图6-4 基坐标系,2.基坐标系图6-4 基坐标系,3.工具坐标系(Tool Center Point Frame,缩写为TCPF)将机器人第六轴法兰盘上携带工具的参照中心点设为坐标系原点,创建一个坐标系,该参照点称为TCP(Tool Center Point),即工具中心点。TCP与机器人所携带的工具有关,机器人出厂时末端未携带工具,此时机器人默认的TCP为第六轴法兰盘中心点。工具坐标系的方向也与机器人所携带的工具有关,一般定义为坐标系的X轴与工具的工作方向一致。工具数据(tooldata)用于描述安装在机器人第六轴上的工具的TCP、质量、重心等参数数据。一般不同的机器人应用配置不同的工具,在执行机器人程序时,就是机器人将工具的中心点TCP移至编程位置。,3.工具坐标系,图6-5 工具坐标系,为了让机器人以用户所需要的坐标系原点和方向为基准进行运动,用户可以自由定义工具的坐标系。工具坐标系定义即定义工具坐标系的中心TCP及坐标系各轴方向,其设定方法包括N(3-N9)点法、TCP和Z法,TCP和Z,X法。,图6-5 工具坐标系 为了让机器人以用户所需要的坐标,N(3=N=9)点法:机器人工具的TCP通过N种不同的姿态同参考点接触,得出多组解,通过计算得出当前工具TCP与机器人安装法兰中心点(默认TCP)相对位置,其坐标系方向与默认工具坐标系(tool0)一致。TCP和Z法:在N点法基础上,增加Z点与参考点的连线为坐标系Z轴的方向,改变了默认工具坐标系的Z方向。TCP和Z,X法:在N点法基础上,增加X点与参考点的连线为坐标系X轴的方向,Z点与参考占的连线为坐标系Z轴的力问,改变了默认工具坐标系的X和Z方向。其操作步骤如表6-2所示。,N(3=N=9)点法:机器人工具的TCP通过N种不同的姿,表6-2 操作步骤,表6-2 操作步骤,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,如果使用搬运的夹具,一般工具数据的设定方法如下:图6-6中,以搬运薄板的真空吸盘夹具为例,质量是25kg,重心在默认tool0的Z的正方向偏移250mm,TCP点设定在吸盘的接触面上,从默认tool0上的Z方向偏移300mm。,图6-6 真空吸盘工具坐标系,如果使用搬运的夹具,一般工具数据的设定方法如,标定工具坐标系在示教器上的具体步骤如表6-3所示:,标定工具坐标系在示教器上的具体步骤如表6-3所示:,机器人技术及应用课件项目6-ABB工业机器人,4.工件坐标工件坐标系wobjdata对应工件,它定义工件相对于大地坐标(或其他坐标)的位置。对机器人进行编程时就是在工件坐标中创建目标和路径。重新定位工作站中的工件时,只需要更改工件坐标的位置,所有的路径将即刻随之更新。机器人可以拥有若干工件坐标系,或者表示不同工件,或者表示同一工件在不同位置的若干副本,使用工件坐标系的优点如表6-4所示。 表6-4 使用工件坐标系的优点,4.工件坐标,机器人技术及应用课件项目6-ABB工业机器人,建立工件坐标的操作步骤如表6-5所示。表6-5 操作步骤,建立工件坐标的操作步骤如表6-5所示。,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,6.1.4 工业机器人的运动方式 手动操纵机器人运动一共有三种模式:单轴运动、线性运动和重定位运动。工业机器人是由六个伺服电动机分别驱动机器人的六个关节轴,如图6-7所示。,图6-7 IRB120机器人的关节轴,6.1.4 工业机器人的运动方式图6-7 IRB120机,机器人的单轴运动是指每次手动操纵一个关节轴的运动。机器人线性运动是指TCP在空间中沿着坐标轴做线性运动,当需要TCP在直线上移动时,选择线性运动是最为快捷的方式。机器人重定位运动是指TCP点在空间绕着坐标轴旋转的运动,也可以理解为机器人绕着工具TCP点做姿态调整的运动,所以机器人在某一平面上进行机器人的姿态调整时,选择重定位运动是最快捷的。,机器人的单轴运动是指每次手动操纵一个关节轴的运动。,1.单轴运动的手动操纵,1.单轴运动的手动操纵,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,2.线性运动,2.线性运动,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,3.重定位运动,3.重定位运动,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,6.2 工业机器人的I/O通信,6.2.1 ABB机器人I/O通信种类 机器人提供了丰富的I/O通信接口,可以轻松地实现与周边设备进行通信,通讯方式如表6-9所示。,表6-9 通讯方式,注1:一种通信协议;注2:不同厂商推出的现场总线协议。,6.2 工业机器人的I/O通信 6.2.1 ABB机器人,IRC5控制柜接口如图6-8所示:,A:附加轴,电源电缆连接器(不能用于此版本)。B:FlexPendant连接器C:I/O连接器D:安全连接器E:电源电缆连接器F:电源输入连接器G:电源连接器H:DeviceNet连接器I:信号电缆连接器,图6-8 IRC5控制柜接口,IRC5控制柜接口如图6-8所示:A:附加轴,电源电缆连接器,ABB机器人IO通讯接口如图6-9所示:,图6-9 ABB机器人IO通讯接口,ABB机器人IO通讯接口如图6-9所示:图6-9 ABB机,6.2.2 ABB标准I/O板 机器人常用的标准I/O板有DSQC651、DSQC652、DSQC653、DSQC335A、DSQC377A五种,除分配地址不同,其配置方法基本相同,其相关说明如表6-10所示。,6.2.2 ABB标准I/O板,(1)ABB标准I/O板DSQC651 DSQC651板如图6-10所示,模块接口如表6-11所示,该I/O板主要提供8个数字输入信号、8个数字输出信号和2个模拟输出信号的处理。 1)模块接口说明,(1)ABB标准I/O板DSQC651,2)模块接口连接说明DSQC651板各模块端子的定义如表6-12所示。,表6-12 模块端子,2)模块接口连接说明X1端子编号使用定义地址分配X3端子编号,ABB标准I/O板是挂在DeviceNet网络上的,所以要设定模块在网络中的地址。端子X5如图6-11所示。,图6-11 DSQC651 板的跳线,其中,612的跳线用来决定模块的地址,地址可用范围在1063,ABB标准I/O板是挂在DeviceNet网络上的,所以要设,表6-13是各端子的定义。注:BLACK黑色,BLUE蓝色,WHILE白色,RED红色。模拟输出的范围:0+10V。表6-13 模块端子,表6-13是各端子的定义。注:BLACK黑色,BLUE蓝色,,(2)ABB标准I/O板DSQC652DSQC652板如图6-12所示,模块接口主要提供16个数字输入信号和16个数字输出信号的处理。1)模块接口说明其中,各部分表示如下:A:数字输出信号指示灯B:X1、X2数字输出接口C:X5是DeviceNet接口D:模块状态指示灯E:X3、X4数字输入接口F:X3数字输入接口数字输入信号指示灯,图6-12 DSQC652 板,(2)ABB标准I/O板DSQC652图6-12 DSQC6,2)模块接口连接说明DSQC652板各模块接口的定义如表6-14所示:表6-14 模块接口,X5、X3端子同DSQC651板。,2)模块接口连接说明X5、X3端子同DSQC651板。,机器人技术及应用课件项目6-ABB工业机器人,6.2.3 配置工业机器人的标准I/O板 常用的标准I/O板有DSQC651以及DSQC652。其中DSQC651主要提供8个数字输入信号,8个数字输出信号和2个模拟输出信号的处理,包括数字信号输出指示灯、X1数字输出接口、X3数字输入接口、X5的DeviceNet接口、X6模拟输出接口、模块状态指示灯和数字输入信号指示灯。模拟输出的地址为031,数字输出的地址为3239,数字输入的地址为07。 DSQC652主要提供16个数字输入信号,16个数字输出信号的处理。DSQC652板包括数字信号输出指示灯、X1和X2数字输出接口、X3和X4数字输入接口、X5的DeviceNet接口、X6模拟输出接口、模块状态指示灯和数字输入信号指示灯。,6.2.3 配置工业机器人的标准I/O板,6.2.4 I/O信号的定义I/O信号的定义的具体操作步骤如表6-15所示。表6-15 操作步骤,6.2.4 I/O信号的定义,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,(1)定义数字量输入信号数字量输入信号di1的参数表如表6-16所示。表6-16 数字输入信号参数表,(1)定义数字量输入信号参数名称设定值说明Namedi1设定,具体操作步骤如表6-17所示。表6-17 操作步骤,具体操作步骤如表6-17所示。,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,(2)定义数字量输出信号数字量输出信号do1的参数表如表6-18所示。表6-18 数字量输出信号参数表,(2)定义数字量输出信号参数名称设定值说明Namedo1设定,具体操作步骤如表6-19所示。 表6-19 操作步骤,具体操作步骤如表6-19所示。 表6-19 操作步骤,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,(3)定义模拟量输出信号模拟量输出信号AO1的参数表如表6-20所示。表6-20 模拟量输出信号参数表,(3)定义模拟量输出信号参数名称设定值说明NameAo1设定,具体操作步骤如表6-21所示。,具体操作步骤如表6-21所示。,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,6.2.5 常用I/O控制指令I/O控制指令用于控制I/O信号,以达到与机器人周边设备进行通信的目的。(1)Set数字信号置位指令Set数字信号置位指令用于将数字输出(Digital Output)置位为“1”。例如,Set do1指令如表6-22所示。表6-22 信号说明,6.2.5 常用I/O控制指令参数含义do1数字输出信号,(2)Reset数字信号复位指令Reset数字信号复位指令用于将数字输出(Digital Output)置位为“0”。例如,Reset do1。*提示:如果在Set、Reset指令前有运动指令MoveJ、MoveL、MoveC、MoveAbsJ的转弯区数据,必须使用fine才可以准确地输出I/O信号状态的变化。(3)WaitDI数字输入信号判断指令WaitDI数字输入信号判断指令用于判断数字输入信号的值是否与目标一致。例如,WaitDI di1,1指令如表6-23所示。在例子中,程序执行此指令时,等待di1的值为1。如果di1为1,则程序继续往下执行;如果到达最大等待时间300s(此时间可根据实际进行设定)以后,di1的值还不为1,则机器人报警或进入出错处理程序。表6-23 信号说明,(2)Reset数字信号复位指令参数含义di1数字输入信号1,(4)WaitDO数字输出信号判断指令WaitDO数字输出信号判断指令用于判断数字输出信号的值是否与目标一致。例如,WaitDO do1,1,其参数以及说明同WaitDi指令。(5)WaitUntil信号判断指令WaitUntil信号判断指令可用于布尔量、数字量和I/O信号值的判断,其中,flag1表示布尔量,num1表示数字量如果条件到达指令中的设定值,程序继续往下执行,否则就一直等待,除非设定了最大等待时间。WaitUntil di1 = 1;WaitUntil do1 = 0;WaitUntil flag = TRUE;WaitUntil num1 = 4;,(4)WaitDO数字输出信号判断指令,6.3 基本运动指令,6.3.1 绝对位置运动指令MoveAbsJ例如:MoveAbsJ home,v200,z50,tool1wobj:=wobj1;(注意:home为jointtarget数据,以机器人各个关节值来记录机器人位置,常用于机器人到特定的关节角。)表6-24 参数含义,6.3 基本运动指令 6.3.1 绝对位置运动指令Move,6.3.2 关节运动指令MoveJ关节运动指令是对路径精度要求不高的情况下,机器人的工具中心点TCP从一个位置移动到另一个位置,两个位置之间的路径不一定是直线,关节运动的移动轨迹如图6-13所示。,图6-13 关节运动路径,6.3.2 关节运动指令MoveJ图6-13 关节运动路径,指令解析:MoveJ p10, v1000, z50, tool1Wobj:=wobj1;其中,指令中的相关参数及含义如表6-25所示。表6-25 参数含义,关节运动适合机器人大范围运动时使用,不容易在运动过程中出现关节轴进入机械死点的问题。,指令解析:参数含义p10目标点位置数据v1000运动速度数据,6.3.3线性运动指令MoveL线性运动是机器人的TCP从起点到终点之间的路径始终保持为直线,其路径如图6-14所示。一般如焊接、涂胶等应用对路径要求高的场合使用此指令。,图6-14 线性运动路径,6.3.3线性运动指令MoveL图6-14 线性运动路径,6.3.4圆弧运动指令MoveC圆弧路径是在机器人可到达的控件范围内定义三个位置点,第一个点是圆弧的起点,第二个点用于圆弧的曲率,第三个点是圆弧的终点,圆弧运动的运动轨迹如图6-15所示。,图6-15 圆弧运动路径,6.3.4圆弧运动指令MoveC图6-15 圆弧运动路径,指令解析:MoveL p10, v1000, fine, tool1Wobj:=wobj1;MoveC p30, p40, v1000, z1, tool1Wobj:=wobj1;其参数及含义如表6-26所示。表6-26 参数含义,指令解析:MoveL p10, v1000, fine, t,例如,操纵工业机器人,采用工具tool1,工件坐标系为wobj1,绘制如图6-16所示的轨迹,编写程序如下所示。,MoveL P1, v200, z10, tool1Wobj:=wobj1;MoveL P2, v100, fine, tool1Wobj:=wobj1;MoveJ P3, v500, fine, tool1Wobj:=wobj1;,图6-16 运动路径,*关于速度:速度一般最高为50000mm/s,在手动限速状态下,所有的运动速度被限速在250mm/s。*关于转弯区:fine指机器人TCP达到目标点,在目标点速度降为零。机器人动作有所停顿然后再向下运动,如果是一段路径的最后一个点,一定要为fine。转弯区数值越大,机器人的动作路径就越圆滑与流畅。,例如,操纵工业机器人,采用工具tool1,工件坐标系为wob,6.4 程序数据的定义,6.4.1程序数据程序数据是在程序模块或系统模块中设定的值和定义的一些环境数据。创建的程序数据由同一个模块或其他模块中的指令进行引用。图中是一条常用的机器人关节运动的指令MoveJ,调用了四个程序数据。MODULE Module1CONST robtarget p10:=364.35,0.00,594.00,0.5,0,0.866025,0,0,0,0,0,9E+9,9E+9,9E+9,9E+9,9E+9,9E+9; PROC main() !Add your code here MoveJ p10, v1000, z50, tool0; ENDPROCENDMODULE,6.4 程序数据的定义 6.4.1程序数据,以上程序使用的数据的说明见表6-27:表6-27 参数含义,以上程序使用的数据的说明见表6-27:程序数据数据类型说明p,6.4.2程序数据的类型与分类ABB机器人的程序数据共有76个,并且可以根据实际情况进行数据的创建,为ABB机器人的程序设计带来了无限可能性。如图6-17所示,在示教器的“程序数据”窗口可查看和创建所需要的程序数据。,6.4.2程序数据的类型与分类,(1)程序数据的存储类型1)变量VAR变量型数据在程序执行的过程中和停止时,会保持当前的值。但如果程序指针被移到主程序后,数值会丢失。举例说明:VAR num length:=0;名称为length的数字数据。VAR string name:=”John”;名称为name的字符数据。VAR bool finish:=FALSE;名称为finish的布尔量数据。在程序编辑窗口中的显示如下所示:MODULE Module1VAR num length:=0; CONST string name:= John; VAR bool finished:=FALSE;ENDMODULE,(1)程序数据的存储类型,在机器人执行的RAPID程序中,也可以对变量存储类型程序数据进行赋值的操作,如下所示:MODULE Module1VAR num length:=0; CONST string name:= John; VAR bool finished:=FALSE; PROC main() length:=10-1; name:=John; finished:=TRUE; ENDPROCENDMODULE*注意:VAR表示存储类型为变量、num表示程序数据类型*提示:在定义数据时,可以定义变量数据的初始值。如length的初始值为0,name的初始值为John,finish的初始值为 FALSE。*注意:在程序中执行变量型数据的赋值,在指针复位后将恢复为初始值。,在机器人执行的RAPID程序中,也可以对变量存储类型程序数据,2)可变量PERS可变量最大的特点是,无论程序的指针如何,都会保持最后赋予的值。举例说明:PERS num nbr:=1;名称为nbr的数字数据PERS string test:=”Hello”;名称为test的字符数据在机器人执行的RAPID程序中也可以对可变量存储类型程序数据进行赋值的操作。在程序执行以后,赋值的结果会一直保持,直到对其进行重新赋值。*注意:PERS表示存储类型为可变量3)常量CONST常量的特点是在定义时已赋予了数值,并不能在程序中进行修改,除非手动修改。举例说明:CONST num gravity:=9.81;名称为gravity的数字数据CONST string greating:=”Hello”;名称为greating的字符数据*注意:存储类型为常量的程序数据,不允许在程序中进行赋值的操作。,2)可变量PERS,(2)常用的程序数据根据不同的数据用途,定义了不同的程序数据,表6-28是机器人系统中常用的程序数据。表6-28 机器人系统中常用的程序数据,(2)常用的程序数据程序数据说明程序数据说明bool布尔量p,6.4.3 建立程序数据程序数据的建立一般可以分为两种形式,一种是直接在示教器中的程序数据画面中建立程序数据;另一种是在建立程序指令时,同时自动生成对应的程序数据。本节将介绍直接在示教器的程序数据画面中建立程序数据的方法。下面以建立布尔数据为例子进行说明,练习时建立num和robtarget程序数据。建立bool数据的操作步骤如表6-29所示:,6.4.3 建立程序数据,机器人技术及应用课件项目6-ABB工业机器人,机器人技术及应用课件项目6-ABB工业机器人,6.5 条件逻辑判断指令,条件逻辑判断指令常用于对条件进行判断后,执行相应的操作。(1)Compact IF紧凑型条件判断指令用于当一个条件满足了以后,就执行一句指令。例如:IF flag1 = TRUE Set do1;如果flag1的状态为TRUE,则do1被置位为1。(2)IF条件判断指令IF条件判断指令,就是根据不同的条件去执行不同的指令。指令解析:IF num1=1 THEN Flag1:=TRUE;ELSEIF num1=2 THEN flag1:=FALSE;ELSE Set do1;ENDIF如果num1为1,则flag1会赋值为TRUE。如果num1为2,则flag1会赋值为FALSE。除了以上两种条件之外,则执行do1置位为1。,6.5 条件逻辑判断指令条件逻辑判断指令常用于对条件进行判,(3)FOR重复执行判断指令FOR重复执行判断指令,是用于一个或多个指令需要重复执行次数的情况FOR i FROM 1 TO 10 DO Routine1;ENDFOR例行程序Routine1,重复执行10次。(4)WHILE条件判断指令WHILE条件判断指令,用于在给定条件满足的情况下,一直重复执行对应的指令。WHILE num1num2 DO num1:=num1-1;ENDWHILE当num1num2的条件满足的情况下,就一直执行num1:=num1-1的操作。,(3)FOR重复执行判断指令,(5)其他的常用指令1)ProcCall调用例行程序指令通过使用此指令在指定的位置调用例行程序。如表6-30所示。,(5)其他的常用指令,机器人技术及应用课件项目6-ABB工业机器人,2)RETURN返回例行程序指令RETURN返回例行程序指令,当此指令被执行时,则马上结束本例行程序的执行,返回程序指针到调用此例行程序的位置。 PROC Routine1() MoveL p10,v1000,fine,tool1wobj:=wobj1; Routine2; Set do1; ENDPROC PROC Routine2() IF di1=1 THEN RETURN; ELSE STOP; ENDIF ENDPROCENDMODULE当di1=1时,执行RETURN指令,程序指针返回到调用Routine2的位置并继续向下执行Set do1这个指令。,2)RETURN返回例行程序指令,3)WaitTime时间等待指令WaitTime时间等待指令,用于程序在等待一个指定的时间以后,再继续向下执行WaitTime 4;Reset do1;等待4s以后,程序向下执行Reset do1指令。,3)WaitTime时间等待指令,任务实训,任务1 涂胶机器人的轨迹规划与编程任务2 码垛机器人的程序的设计及编程,任务实训任务1 涂胶机器人的轨迹规划与编程,任务6.1 涂胶机器人的轨迹规划与编程,、任务目标1.工件坐标系和工具坐标系的标定。2.完成轨迹的规划。3.能选取合适的指令完成编程并调试运行。,任务6.1 涂胶机器人的轨迹规划与编程、任务目标,任务6.1涂胶机器人的轨迹规划与编程,二、任务准备1.工具ABB机器人的工具配置4个不同的工具,机器人手臂末端安装快换模块,如图6-18所示,可以实现不同工具之间的自动切换,无需人的干涉,本次任务需要的工具为涂胶笔。,图 6-18 快换模块,任务6.1涂胶机器人的轨迹规划与编程二、任务准备图 6-18,2.工具坐标系的标定工具TCP标定主要分以下四步,:(1)首先在机器人工作范围内找一个非常精确的固定点作为参考点;(2)然后在工具上确定一个参考点(最好是工具中心点);(3)用手动操纵机器人的方法,去移动工具上的参考点,以四种以上不同的机器人姿态尽可能与固定点刚好碰上。为了获得更准确的TCP,可以使用六点法进行操作,第四点是用工具的参考点垂直于固定点,第五点是工具参考点从固定点向将要设定为TCP的X方向移动,第六点是工具参考点从固定点向将要设定为TCP的Z方向移动。(4)机器人通过这几个位置点的位置数据计算求得TCP的数据,然后TCP的数据就保存在tooldata这个程序数据中被程序进行调用。,2.工具坐标系的标定,任务6.1涂胶机器人的轨迹规划与编程,三、任务实施 要完成下图所示的涂胶轨迹,要经过5步:1.定义涂胶笔的工具坐标tool1;2.定义工作台的工件坐标系wobj1;3.规划示教点;4.规划工作路径;5.编程调试。 1.定义工具坐标具体过程如表6-2所示。2.定义工作台的工件坐标系具体操作步骤见表6-5所示。,任务6.1涂胶机器人的轨迹规划与编程三、任务实施,3.规划示教点及工作路径机器人的涂胶轨迹如图6-19所示。,图6-19 涂胶轨迹,3.规划示教点及工作路径图6-19 涂胶轨迹,假设完成部分的轨迹,如下图6-20所示:,图6-20 涂胶轨迹及示教点规划,假设完成部分的轨迹,如下图6-20所示:图6-20 涂胶轨迹,在本任务操作中,要实现圆形轨迹和三角型轨迹,需要示教的点数分别有P10、P20、P30、P40、P50、P60、P70共7个,加上HOME原点,合计8个点。编程操作工业机器人先从HOME点去完成圆形涂胶轨迹,然后在完成三角形涂胶轨迹。4.编程调试具体程序如下所示:MoveabsJ HOME,v200,fine,tool1wobj:=wobj1;MoveJ P10,v200,fine,tool1wobj:=wobj1;MoveC P20,P30,v200,fine,tool1wobj:=wobj1;MoveC P40,P10,v200,fine,tool1wobj:=wobj1;MoveabsJ HOME,v200,fine,tool1wobj:=wobj1;MoveJ P70,v200,fine,tool1wobj:=wobj1;MoveL P60,v200,fine,tool1wobj:=wobj1;MoveL P50,v200,fine,tool1wobj:=wobj1;MoveJ P70,v200,fine,tool1wobj:=wobj1;MoveabsJ HOME,v200,fine,tool1wobj:=wobj1;,在本任务操作中,要实现圆形轨迹和三角型轨迹,需要示教的点数分,任务6.2码垛机器人程序设计及编程,、任务目标1. 工件坐标系和工具坐标系的标定;2. 完成轨迹的规划;3. I/0信号的配置方法;4. 能选取合适的指令完成编程并调试运行。,任务6.2码垛机器人程序设计及编程、任务目标,任务6.2码垛机器人程序设计及编程,二、任务准备1.Offs位置偏移函数的调用方法位置偏移函数是指机器人以目标点位置为基准,在其X、Y、Z方向上进行偏移的命令。Offs指令常用于安全点和入刀点的设置,指令图6-21所示,参数及含义如表6-31所示。,图6-21 位置偏移函数,任务6.2码垛机器人程序设计及编程二、任务准备图6-21 位,函数是有返回值的,即调用此函数的结果是得到某一数据类型的值,在使用时不能单独作为一行语句,需要通过赋值或者作为其他函数的变量来调用。在图6-21所示的语句中,Offs函数即是作为moveL指令的变量来调用,在图6-21所示的语句中,Offs函数即是通过赋值进行调用的。表6-31 Offs参数变量的解析,函数是有返回值的,即调用此函数的结果是得到,2.RelTool工具位置及姿态偏移函数的用法RelTool用于将通过有效工具坐标系表达的位移和/或旋转增加至机械臂位置,指令图6-22所示,参数及含义如表6-32所示,其用法上与前文介绍的Offs函数相同。例如:MoveL RelTool(p10,0,0,0Rz:=25),v100,fine,tool1;,图6-22 工具位置及姿态偏移函数,2.RelTool工具位置及姿态偏移函数的用法图6-22 工,表6-32 RelTool参数变量解析,表6-32 RelTool参数变量解析参数定义操作说明P1,任务6.2码垛机器人程序设计及编程,三、任务实施 在本任务中,码垛的过程依次从物料架上吸取物料块,搬运至码垛区的相应位置。物料块(尺寸为2000*1000*50mm)从物料架到码垛区过程中的对应位置。,图6-23 码垛机器人,任务6.2码垛机器人程序设计及编程三、任务实施图6-23 码,以带料码垛为例,如图6-23所示,末端执行器为抓取式,采用示教方式为机器人输入码垛作业程序,物料从传送带位置移动至码垛位置,参考例行程序如图6-24所示。,图 6-24 码垛程序,以带料码垛为例,如图6-23所示,末端执行,【拓展训练】 材料搬运作业做一做材料搬运作业从P1启动,将共建从P10搬运至P12后返回至P1(通过MDI将Z数据输入到P2)。如图6-25所示。,图6-25 材料搬运作业路径,【拓展训练】 材料搬运作业图6-25 材料搬运作业路径,