ABB工业机器人自动控制.ppt_第1页
ABB工业机器人自动控制.ppt_第2页
ABB工业机器人自动控制.ppt_第3页
ABB工业机器人自动控制.ppt_第4页
ABB工业机器人自动控制.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

第5章ABB工业机器人自动控制,主要内容,直线运动控制,程序数据建立,RAPID程序创建,圆弧运动控制,1,2,3,4,通信接口的建立与连接,5,【学习目标】1.知识目标熟悉了解程序数据的类型和分类。掌握基本RAPID程序指令、程序编写、调试、自动运行功能。了解ABB机器人I/O通信的种类。2.技能目标能够熟练进行程序数据建立、三个关键程序数据的设定。能够建立任务模块、例行程序,实现指令控制机器人运动。掌握ABB标准I/O板的配置,Profibus适配器与PLC进行通信的配置方法。3.情感目标认真细心,规范操作。勤恳学习,合作互助。,任务1程序数据建立,【任务描述】了解程序数据的类型和分类、学会建立程序数据的操作步骤、重点掌握三个关键程序数据tooldata、wobjdata、loaddata的设定。【知识准备】一、初识程序数据程序数据是在程序模块或系统模块中设定的值和定义的一些环境数据。用户创建的程序数据可以供给同一个模块或其他模块中的指令进行引用。二、程序数据的类型与分类1.程序数据的类型分类本部分给读者介绍程序数据的类型分类和几个典型的存储类型,供读者对程序数据有个基本的认识。ABB机器人的程序数据类型目前有102个之多,在示教器的“程序数据”界面查看。,任务1程序数据建立,【知识准备】二、程序数据的类型与分类2.程序数据的存储类型(1)变量型数据VAR在程序执行的过程中和停止时,变量型数据会保持当前的值。但如果程序指针被移到主程序后,变量型数据数值会丢失。(2)可变量数据PERS在程序执行过程中,无论程序的指针如何变化,可变量数据都会保持最后赋予的值,这可谓可变量数据的一大特点。(3)常量数据CONST常量数据的最大的特点是在定义时已经赋予了固定数值,无法再在程序中进行修改,除非手动修改。三、三个关键的程序数据在进行RAPID程序编程之前,需要构建起必要的ABB工业机器人编程环境,其中有工具数据tooldata、工件坐标wobjdata、负荷数据loaddata这三个必须的程序数据需要在编程前进行定义。,任务1程序数据建立,【知识准备】三、三个关键的程序数据在进行RAPID程序编程之前,需要构建起必要的ABB工业机器人编程环境,其中有工具数据tooldata、工件坐标wobjdata、负荷数据loaddata这三个必须的程序数据需要在编程前进行定义。1.定义工具数据tooldata工具数据tooldata用于描述安装在工业机器人第六轴上的工具的工具坐标系中心(ToolCenterPoint,TCP)、质量、重心等参数数据。一般不同工作环境的机器人需要配置不同的工具,比如弧焊的机器人就使用弧焊枪作为工具,而用于搬运板材的机器人就会使用吸盘式的夹具作为工具,如图5-2所示。,图5-2工具坐标系中心,任务1程序数据建立,【知识准备】三、三个关键的程序数据2.工件坐标wobjdata的设定工件坐标定义了工件相对于大地坐标或其他坐标的位置。机器人可以拥有若干工件坐标系,或者表示不同工件,或者表示同一工件在不同位置的若干副本。对机器人进行编程时就是在工件坐标中创建目标和路径。这带来很多优点:重新定位工作站中的工件时,只需要更改工件坐标的位置,所有路径将即刻随之更新。允许操作以外轴或传送导轨移动的工件,因为整个工件可连同其路径一起移动。,任务1程序数据建立,【知识准备】三、三个关键的程序数据3.有效载荷loaddata的设定对于搬运应用的机器人,如图5-4所示,应该正确设定夹具的质量、重心数据tooldata以及搬运对象的质量和重心数据loaddata。,图5-2搬运机器人,任务1程序数据建立,【实践操作】一、程序数据建立程序数据的建立一般可以分为两种形式:一种是直接在示教器中的程序数据画面中建立;另一种是在建立程序指令时,同时自动生成对应的程序数据。此环节介绍在示教器的程序数据画面中建立bool(布尔数据)类型程序数据的步骤。点击菜单栏“控制器”,点击“示教器”,出现ABB示教器界面,点击ABB菜单图标,如图5-5所示,单击“程序数据”选项,进入选择程序数据类型选择界面,如要创建的程序数据类型不在此页面中,点击左下角“视图”选项,选择全部数据类型,如图5-6所示。,任务1程序数据建立,【实践操作】一、程序数据建立双击“bool”或单击“bool”,再单击“显示数据”之后,进入创建bool程序数据类型界面之后,单击“新建”,进入bool类型数据参数设定界面。根据实际需要,更改名称、范围、存储类型等,如图5-7所示,点击“确定”。所创建的bool类型数据,会列表显示在创建程序界面中,如需对已建立的bool进行删除或更改,单击5-8界面中的“编辑”,进行操作选择。二、工具数据tooldata设定,工件坐标wobjdata的设定具体步骤项目二的任务4已经介绍,在此不再赘述。,任务1程序数据建立,【实践操作】三、有效载荷loaddata的设定新建有效载荷,打开虚拟示教器,设置手动操纵模式,点击ABB菜单,选择“手动操纵”,进入界面,选择“有效载荷”,如图5-9所示,首次建立工具数据,列表中只有默认有效载荷数据load0,点击“新建”,弹出有效载荷数据属性设置窗口如图5-10所示,点击方框中按钮,可更改名称,再根据实际工作需要设定其他属性之后,点击“确定”,有效载荷数据load1添加到列表中。有效载荷设定,选中列表中load1,点击“编辑”,选择“更改值”,如图5-11所示,对有效载荷的数据根据实际的情况进行设定,如图5-12所示,各参数代表的含义请参考表5-3有效载荷参数表。,任务2RAPID程序创建,【任务描述】建立程序模块Moudle1,模块Moudle1下建立例行程序main和Routine1,在main程序下进行运动指令的基本操作练习。【知识储备】一、程序模块与例行程序RAPID程序中包含了一连串控制机器人的指令,执行这些指令可以实现对机器人的控制操作。应用程序是使用称为RAPID编程语言的特定词汇和语法编写而成的。RAPID是一种英文编程语言,所包含的指令可以移动机器人、设置输出、读取输入,还能实现决策、重复其他指令、构造程序、与系统操作员交流等功能。RAPID程序的基本架构如表5-4所示:,表5-4RAPID程序架构,任务2RAPID程序创建,【知识储备】二、RAPID控制指令ABB机器人的RAPID编程提供了丰富的指令来完成各种简单与复杂的应用。项目四任务2中详细介绍了运动控制指令,相关内容请参照学习,此处不再赘述,接下来介绍其他一些程序指令。1.常用I/O控制指令Set:将数字输出信号置为1Reset:将数字输出信号置为0WaitDI:等待一个输入信号状态为设定值,任务2RAPID程序创建,【知识储备】二、RAPID控制指令2.常用逻辑控制指令IF:满足不同条件,执行对应程序WHILE:如果条件满足,则重复执行对应程序FOR:根据指定的次数,重复执行对应程序TEST:根据指定变量的判断结果,执行对应程序3.Offs偏移功能以当前选定的点为基准点,在当前工件坐标系下,按照选定的基点,沿着选定工件坐标系的X、Y、Z轴方向偏移一定的距离。4.运动控制指令RelToolRelTool对工具的位置和姿态进行偏移,也可实现角度偏移。,任务2RAPID程序创建,【知识储备】二、RAPID控制指令5.CRobT功能其功能是读取当前工业机器人目标位置点的信息。6.CJontT功能其功能是读取当前机器人各关节轴旋转角度。7.写屏指令其功能是在屏幕上显示需要显示的内容。,任务2RAPID程序创建,【实践操作】一、建立程序模块和例行程序新建程序模块,打开虚拟示教器,设置手动操纵模式,点击ABB菜单,选择“程序编辑器”,进入界面,如图5-13所示,提示“不存在程序。是否需要新建程序或加载现有程序?”,选择“取消”,进入模块列表界面,单击“文件”,选择“新建模块”,弹出页面后选择“是”,如图5-14所示,单击方框中按钮“ABC”,设置模块名称Module1,选择“确定”,创建新模块,进入模块列表,选中新建的模块Moudel1,然后单击“显示模块”,如图5-15所示,单击“例行程序”,进行例行程序的创建。,图5-4新建程序模块,任务2RAPID程序创建,【实践操作】一、建立程序模块和例行程序新建例行程序,图5-16中,单击“文件”,选择“新建例行程序”。首先建立一个主程序,名称设定为“main”,单击“确定”,如图5-17所示。按照同样的步骤,新建另一个例行程序(如名称Routine1),用于被主程序调用或其他例行程序互相调用。例行程序列表界面,单击“显示例行程序”,在图5-18中,选中需要插入指令的程序位置,单击“添加指令”,切换到指令列表,选择合适的指令,就可以进行编程了。,图5-16新建例行程序,任务2RAPID程序创建,【实践操作】二、添加常量赋值指令在图5-19中,选中“:=”指令,弹出图5-20界面,选择reg1变量,再点击“更改数据类型”,选择“num”,选中“”并蓝色高亮显示,打开“编辑”菜单,选择“仅限选定内容”。通过软键盘输入数字“1”,然后单击“确定”。最后,添加完赋值指令界面如图5-21所示。,图5-19插入程序指令,任务2RAPID程序创建,【实践操作】二、添加常量赋值指令添加数学表达式的赋值指令操作,在指令列表中选择“:=”,选择reg2变量,选中“”,显示为蓝色高亮,选中reg1,单击“+”按钮,选中“”,打开“编辑”菜单,选择“仅限选定内容”,然后在弹出的软键盘画面中输入“1”,单击“确定”,如图5-22所示,再单击“确定”,弹出图5-23提示“是否需要在当前选定的项目之上或之下插入指令?”,选择“下方”,完成如图5-24所示。,图5-22编辑程序指令,任务3直线运动控制,【任务描述】直线运动路径程序:机器人在位置点pHome等待运动指令。一旦外部输入信号di1为1,机器人沿着物体的一条边从p10到p20走一条直线,结束以后回到pHome点。长方形路运动径程序:机器人在位置点pHome等待运动指令。一旦外部输入信号di1为1,机器人在长方形中移动,如图所示。从p10点出发沿着p20、p30、p40的路线,最后回到起点p10,结束以后回到pHome点。【知识储备】一、编制程序的基本流程明确任务需求,确定需要多少个程序模块。根据实现功能,确定各个程序模块中要建立的例行程序,不同的功能放到不同的程序模块中,如夹具打开、夹具关闭这样的功能就可以分别建立成例行程序,方便调用与管理。,任务3直线运动控制,【实践操作】一、直线运动路径程序按照上一小节的内容,建立程序模块和例行程序,本任务建立的程序模块名称为“Module1”,根据功能建立的例行程序分别为“main”(主程序)、“rHome”(机器人回到初始位置等待)、“rInit”(初始化)、“rMoveLine”(直线运动路径)。1.main主程序main主程序中主要进行的是程序执行的主体架构设定,在开始位置调用rInit初始化例行程序。添加“WHILE”指令,并将条件设定为“TRUE”。在循环中设定IF条件语句,满足di1=1时,调用两个例行程序rMoveLine和rHome,在IF下方再添加WaitTime指令,参数是0.5s,main主程序。,任务3直线运动控制,【实践操作】一、直线运动路径程序2.机器人归位等待程序rHome选择合适的动作模式,使用示教器摇杆将机器人运动到指定位置作为机器人的空闲等待点,选中“pHome”目标点后修改位置,将机器人的当前位置数据记录下来。操作步骤如下:示教器ABB菜单“手动操纵”下,选中要使用的工具坐标和工件坐标,如图5-25所示。选择:“rHome”,单击“显示例行程序”,如图5-26所示。选中“”插入指令位置,单击“添加指令”,在指令列表内选择MoveJ,如图5-27所示。,任务3直线运动控制,【实践操作】一、直线运动路径程序2.机器人归位等待程序rHome双击“*”进入指令参数修改界面,通过新建或选择已存在的参数数据,修改为图5-28中给出数据。选择合适的动作模式,使用摇杆手动将机器人运动到合适位置,作为机器人的初始位置点,选中“pHome”,单击“修改位置”,将机器人的当前位置数据记录下来。单击“修改”进行确认,如图5-29所示。,图5-29修改初始位置,任务3直线运动控制,【实践操作】一、直线运动路径程序3.rInit初始化程序在rInit初始化程序中加入需要做初始化的内容,如速度限定、夹具复位等,程序增加两条速度控制的指令(在添加指令列表的Settings类别中)和调用了归位等待的例行程序rHome。单击“例行程序”标签,选择“rInit”例行程序,单击“显示例行程序”,如图5-30所示。选中“”,单击“添加指令”,在指令列表中的Setting类别中添加“ACCSet”和“VelSet”指令,如图5-31所示。调用“rHome”例行程序,选择“ProcCall”,弹出界面图5-32,单击“确定”。,任务3直线运动控制,【实践操作】一、直线运动路径程序4.直线运动路径程序rMoveLine选择合适的动作模式,使用示教器摇杆将机器人运动p10点并修改位置记录下来,用同样的方法运动到p20点并记录下来。击例行程序标签,选择“rMoveLine”例行程序,单击“显示例行程序”,如图5-33所示。选中“”,单击“添加指令”,选择“MoveJ”指令,将参数设定为图5-34中所示。选中“p10”点,选择合适的动作模式,使用摇杆手动将机器人运动到合适位置,作为机器人的p10点,单击“修改位置”,记录p10点位置。单击“添加指令”,选择“MoveL”指令,将参数设定为图5-35中所示。选中“p20”点,选择合适的动作模式,使用摇杆手动将机器人运动到合适位置,作为机器人的p20点,单击“修改位置”,记录p20点位置。,任务3直线运动控制,【实践操作】二、运行调试程序在完成例行程序编写以后,需要对例行程序进行调试,调试的目的主要有以下两个:检查程序的位置点是否正确,程序语句是否有语法错误。检查程序的逻辑控制是否有不完善的地方。1.对rHome程序调试打开“调试”菜单,选择“PP移至例行程序”,如图5-38所示。PP是程序指针的简称,在示教器程序界面中显示为小箭头。程序指针永远指向将要执行的指令。所以图中指令将会是被执行的指令。选中“rHome”例行程序,然后单击“确定”,如图5-39所示。按下示教器使能键Enable,进入“电动机开启”状态。按下“单步向前”按健,并小心观察机器人的移动,按键符号和名称如图5-40所示。,任务3直线运动控制,【实践操作】二、运行调试程序对rHome程序调试在指令左侧出现一个小机器人图案,说明机器人已到达pHome这个等待位置,如图5-41所示。2.对rMoveLine程序调试打开“调试”菜单,选择“PP移至例行程序”,选择“rMoveLine”例行程序,然后单击“确定”。选择“单步向前”按键进行单步调试,观看运动指令的位置是否合适。机器人TCP点从p10到p20进行线性运动,如图5-42所示。注意:在同一个例行程序中,可以选中要调试的指令后,使用“PP移至光标”,可以将程序指针移至想要执行的指令,进行执行,方便程序的调试。如要将PP移至其他例行程序,可使用“PP移至例行程序”功能。,任务3直线运动控制,【实践操作】二、运行调试程序3.对main程序调试打开“调试”菜单,单击“PP移至Main”,PP自动指向主程序的第一句指令,如图5-43所示。按下使能键Enable,进入“电动机开启”状态。按下“程序启动”按键,并小心观察机器人的移动。RAPID程序在手动状态下,完成了程序调试运动与逻辑控制确认正确之后,就可以将机器人系统投入自动运行状态了。4.RAPID自动运行操作将示教器界面的状态钥匙左旋至左侧的自动状态,如图5-44所示。单击“确定”,确认切换状态。,任务3直线运动控制,【实践操作】二、运行调试程序4.RAPID自动运行操作单击“调试”,单击“PP移至Main”,将PP移动到主程序的第一句指令,弹出图5-45,单击“是”。单击“快捷菜单”按钮。单击“速度”按钮,设定程序中机器人运动的速度,如图5-46所示。开启电动机,按下“程序启动按钮”,观察到程序在自动运行。,图5-46设置机器人运动速度,任务3直线运动控制,【实践操作】三、长方形运动路径程序长方形运动路径程序与直线运动路径程序实施过程类似,任务实施起来并不困难。本任务建立的程序模块名称为“Module2”,根据功能建立的例行程序分别为“main”(主程序)、“rHome”(机器人回到初始位置等待)、“rInit”(初始化)、“rMoveRectangle”(长方形运动路径)。1.main主程序main主程序中完成调用初始化程序、原点等待程序、长方形路径程序。2.机器人归位等待程序rInit选择合适的动作模式,使用示教器摇杆将机器人运动到指定位置作为机器人的空闲等待点,选中“pHome”目标点后修改位置,将机器人的当前位置数据记录下来,操作步骤同项目1。,任务3直线运动控制,【实践操作】三、长方形运动路径程序3.初始化程序rInit。在rInit初始化程序中加入需要做初始化的内容,如速度限定、夹具复位等,程序增加两条速度控制的指令(在添加指令列表的Settings类别中)和调用了归位等待的例行程序rHome,操作步骤同项目1的初始化程序rInit。4.长方形运动路径程序rMoveRectangle选择合适的动作模式,使用示教器摇杆将机器人运动到p10点,并修改位置记录位置数据,同样的方法修改p20点、p30点、p40点位置,并记录下来。,任务4圆弧运动控制,【任务描述】圆弧运动控制:机器人在位置点pHome等待运动指令。一旦外部输入信号di1为1,机器人按照设定的弧线路径运动,从p10点出发经过p20点到p30点结束,最后回到pHome点,如图5-49所示。圆周运动控制:机器人在位置点pHome等待运动指令。一旦外部输入信号di1为1,机器人按照设定的圆周路径运动,从p10点出发经过p20、p3,到p40点结束,再回到p10点完成圆周运动,最后回到pHome点,如图5-50所示。,任务4圆弧运动控制,【实践操作】一、圆弧运动路径程序按照上一个任务的内容,建立程序模块和例行程序,本任务建立的程序模块名称为“Module3”,根据功能建立的例行程序分别为“main”(主程序)、“rHome”(机器人回到初始位置等待)、“rInit”(初始化)、“rMoveCurve”(弧线运动路径)。1.main主程序main主程序中完成调用初始化程序、原点等待程序、弧线运动路径程序。2.机器人归位等待程序rHomerHome程序如下:PROCrHome()MoveJpHome,v200,fine,tool1wobj:=wobj1;ENDPROC,任务4圆弧运动控制,【实践操作】一、圆弧运动路径程序3.初始化程序rInitrInit程序如下:PROCrInit()AccSet100,100;定义机器人的加速度VelSet100,5000;设定最大的速度与倍率rHome;ENDPROC,任务4圆弧运动控制,【实践操作】一、圆弧运动路径程序4.弧线运动路径程序rMoveCurverMoveCurve程序如下:PROCrMoveRoutine()MoveJp10,v300,fine,tool1wobj:=wobj1;MoveCp20,p30,v500,fine,tool1wobj:=wobj1;ENDPROC,任务4圆弧运动控制,【实践操作】二、圆周运动路径程序圆弧运动指令MoveC在做圆弧运动时一般不超过240,所以本任务一个完整的圆通常使用两条圆弧指令来完成。1.main主程序main主程序中完成调用初始化程序、原点等待程序、长方形路径程序main主程序如下:PROCmain()rInit;进入初始化程序进行相关初始化的设置;WHILETRUEDOWHILE的死循环,隔离初始化程序;IFdi1=1THEN判断di1=1,机器人执行对应的路径程序;,任务4圆弧运动控制,【实践操作】二、圆周运动路径程序main主程序rMoveRound;执行圆周路径运动程序;rHome;执行归位程序;ENDIFWaitTime0.5;等待0.5s指令,防止系统CPU过负荷;ENDWHILEENDPROC,任务4圆弧运动控制,【实践操作】二、圆周运动路径程序2.机器人归位等待程序rHomerInit程序如下:PROCrHome()MoveJpHome,v200,fine,tool1wobj:=wobj1;ENDPROC3.初始化程序rInit程序如下:PROCrInit()AccSet100,100;rHome;ENDPROC,任务4圆弧运动控制,【实践操作】二、圆周运动路径程序4.圆周运动路径程序rMoveRound选择合适的动作模式,使用示教器摇杆将机器人运动到p10点,并修改位置记录位置数据,可以采用同样的方法修改p20点、p30点、p40点位置,并记录下来,但此方法容易造成位置不准,圆弧路径误差较大,所以可以采用Offs位移偏移功能设定其他位置点。rMoveRound程序如下:PROCrMoveRectangle()MoveJp10,v200,fine,tool1wobj:=wobj1;MoveCOffs(p10,100,100,0),Offs(p10,200,0,0),v500,fine,tool1wobj:=wobj1;MoveCOffs(p10,100,-100,0),p10,v500,fine,tool1wobj:=wobj1;ENDPROC,任务5通信接口的建立与连接,【任务描述】配置I/O板:以最为常用的ABB标准I/O板DSQC651为模块为例,模块单元为board10,总线连接为DeviceNet1,地址为10,创建数字输入信号DI0、数字输出信号DO0、组输入信号GI0(4位)、组输出信号GO0(4位)和模拟输出信号AO0,实现I/O信号的监控及操作。介绍使用DSQC667模块通过Profibus与PLC进行通信。【知识储备】一、ABB机器人I/O通信的种类ABB机器人提供了丰富的I/O通信接口,如表5-5所示。利用这些接口可以实现机器人与周边设备的通信连接。ABB的标准I/O板提供了几种常用处理信号,I/O信号类型、说明和应用实例如表5-6表述。,任务5通信接口的建立与连接,【知识储备】二、认识ABB标准I/O板DSQC651常用ABB标准I/O板如表5-8所示。ABB标准I/O板DSQC651是最为常用的模块,提供8个数字输入信号、8个数字输出信号和2个模拟输出信号的处理,模块接口说明如图5-53所示,X1、X3、X5、X6端子使用定义和地址分配分别见表5-9、表5-10、表5-111和表5-12。,表5-8常用ABB标准I/O板,任务5通信接口的建立与连接,【实践操作】一、配置I/O板ABB标准I/O板都是下挂在DeviceNet现场总线下的设备,通过X5端口与DeviceNet现场总线进行通信。选择DSQC651板进行通信,参数配置步骤如下:打开示教器,ABB菜单下选择“控制面板”选择“配置”,弹出界面,选择“DeviceNetDevice”,再单击“显示全部”。进行DSQC651模块的设定,如图5-54所示。在弹出界面中,单击“添加”,弹出界面如图5-55所示,点击右上角下拉箭头,选择“DSQC651CombiI/ODevice”,修改Name参数值为“board10”

温馨提示

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

评论

0/150

提交评论