5.1任务目标
➢ 掌握程序数据的建立方法。 ➢ 掌握三个关键程序数据的设定。 ➢ 熟悉机器人工具自动识别功能。 5.2任务描述
以bool为例,建立程序数据,练习建立num、robtarget程序数据。 设定机器人的工具数据tooldata、工件坐标wobjdata、负荷数据loaddata。
使用LoadIdentify工具自动识别安装在六轴法兰盘上的工具(tooldata)与载荷(loaddata)的重量,与
重心。 5.3知识储备 5.3.1程序数据
程序数据是在程序模块或者系统模块中设定的值与定义的一些环境数据。创建的程序数据由同一个模块或者其他模块中的指令进行引用。图中是一条常用的机器人关节运动的指令MoveJ,调用了四个程序数据。
图中所使用的程序数据的说明见表:
程序数据 p10 v1000 z50 tool0 5.3.2程序数据的类型与分类 1.程序数据的类型分类
ABB机器人的程序数据共有76个,同时能够根据实际情况进行程序数据的创建,为ABB机器人的程序设计带来了无限可能性。
在示教器的“程序数据”窗口可查看与创建所需要的程序数据。
数据类型 robtarget speeddata zonedata tooldata 说明 机器人运动目标位置数据 机器人运动速度数据 机器人运动转弯数据 机器人工作数据TCP
2.程序数据的存储类型 (1)变量VAR
变量型数据在程序执行的过程中与停止时,会保持当前的值。但假如程序指针被移到主程序后,数值会丢失。
举例说明:
VAR num length:=0;名称之length的数字数据 VAR string name:=”John”;名称之name的字符数据 VAR bool finish:=FALSE;名称之finish的布尔量数据 在程序编辑窗口中的显示如图:
在机器人执行的RAPID程序中也能够对变量存储类型程序数据进行赋值的操作,如图:
*注意:VAR表示存储类型为变量 num表示程序数据类型
*提示:在定义数据时,能够定义变量数据的初始值。如length的初始值为0,name的初始值为John,finish的初始值为FALSE。
*注意:在程序中执行变量型数据的赋值,在指针复位后将恢复为初始值。 (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的字符数据
*注意:存储类型为常量的程序数据,不同意在程序中进行赋值的操作。 三种数据的存储类型在编辑界面的显示如下:
3.常用的程序数据
根据不一致的数据用途,定义了不一致的程序数据,下表是机器人系统中常用的程序数据:
程序数据 bool byte clock dionum extjoint intnum jointtarget loaddata mecunit num orient pos pose robjoint robtarget speeddata string tooldata trapdata wobjdata zonedata 说明 布尔量 整数数据 0~255 计时数据 数字输入/输出信号 外轴位置数据 中断标志符 关节位置数据 负荷数据 机械装置数据 数值数据 姿态数据 位置数据(只有X、Y与Z) 坐标转换 机器人轴角度数据 机器人与外轴的位置数据 机器人与外轴的速度数据 字符串 工具数据 中断数据 工件数据 TCP转弯半径数据 *提示:系统中还有针对一些特殊功能的程序数据,在对应的功能说明书中会有相应的全面介绍,请查看随机光盘电子版说明书。也能够根据需要新建程序数据类型。 5.4任务实施 5.4.1建立程序数据
程序数据的建立通常能够分为两种形式,一种是直接在示教器中的程序数据画面中建立程序数据;另
一种是在建立程序指令时,同时自动生成对应的程序数据。
本节将介绍直接在示教器的程序数据画面中建立程序数据的方法。下面以建立布尔数据为例子进行说明,练习时建立num与robtarget程序数据。
建立bool数据的操作步骤:
1. ABB菜单中,选择“程序数据”。 2. 选择数据类型“bool”,单击“显示数据”。 3. 单击“新建…”。 4. 进行名称的设定、单击下拉菜单选择对应的参数,设定完成后单击“确定”完成设定。 数据设定参数及说明见表: 设定参数 名称 范围 存储类型 任务 模块 例行程序 维数 初始值 说明 设定数据的名称 设定数据可使用的范围 设定数据的可存储类型 设定数据所在的任务 设定数据所在的模块 设定数据所在的例行程序 设定数据的维数 设定数据的初始值 5.4.2三个关键的程序数据的设定
在进行正式的编程之前,就需要构建起必要的编程环境,其中有三个务必的程序数据(工具数据tooldata、工件坐标wobjdata、负荷数据loaddata)就需要在编程前进行定义。 1.工具数据tooldata
工具数据tooldata用于描述安装在机器人第六轴上的工具的TCP、质量、重心等参数数据。
通常不一致的机器人应用配置不一致的工具,比如说弧焊的机器人就使用弧焊枪作为工具,而用于搬运板材的机器人就会使用吸盘式的夹具作为工具。
默认工具(tool0)的工具中心点(Tool Center Point)位于机器人安装法兰盘的中心。图中A点就是原始的TCP点。
TCP的设定原理如下:
1) 首先在机器人工作范围内找一个非常精确的固定点作为参考点。 2) 然后在工具上确定一个参考点(最好是工具的中心点)。
3) 用之前介绍的手动操纵机器人的方法,去移动工具上的参考点,以四种以上不一致的机器人姿态尽
可能与固定点刚好碰上。为了获得更准确的TCP,在下列例子中使用六点法进行操作,第四点是用工具的参考点垂直于固定点,第五点是工具参考点从固定点向将要设定为TCP的X方向移动,第六点是工具参考点从固定点向将要设定为TCP的Z方向移动。
4) 机器人通过这四个位置点的位置数据计算求得TCP的数据,然后TCP的数据就储存在tooldata这个
程序数据中被程序进行调用。
*提示:执行程序时,机器人将TCP移至编程位置。这意味着,假如要更换工具与工具坐标系,机器人的移动将随之更换,以便新的TCP到达目标。
所有机器人在手腕处都有一个预定义工具坐标系,该坐标系被称之tool0。这样就能将一个或者多个新工具坐标系定义为tool0的偏移值。
*注意:TCP取点数量的区别: 4点法,不改变tool0的坐标方向 5点法,改变tool0的Z方向
6点法,改变tool0的X与Z方向(在焊接应用最为常用)。 前三个点的姿态相差尽量大些,这样有利于TCP精度的提高。 操作步骤:
1. ABB菜单中,选择“手动操纵”。 2. 选择“工具坐标”。 3. 单击“新建”。 4. 对工具数据属性进行设定后,单击“确定”。 5. 选中tool1后,单击“编辑”菜单中的“定义”选项。 6. 选择“TCP与Z,X”,使用6点法设定TCP。 7. 选择合适的手动操纵模式。 8. 按下使能键,使用摇杆使工具参考点靠上固定点,作为第一个点。 9. 单击“修改位置”,将点1位置记录下来。 10. 工具参考点变换姿态靠上固定点。 11. 单击“修改位置”,将点2位置记录下来。 12. 工具参考点变换姿态靠上固定点。 13. 单击“修改位置”,将点3位置记录下来。 14. 工具参考点变换姿态靠上固定点。这是第4个点,工具参考点垂直于固定点。 15. 单击“修改位置”,将点4位置记录下来。 16. 工具参考点以点4的姿态从固定点移动到工具TCP的+X方向。 17. 单击“修改位置”,将延伸器点X位置记录下来。 18. 工具参考点以此姿态从固定点移动到工具TCP的Z方向。 19. 单击“修改位置”,将延伸器点Z位置记录下来。 20. 单击“确定”完成设定。 21. 对误差进行确认,越小越好,但也要以实际验证效果为准。 22. 选中tool1,然后打开编辑菜单选择“更换值”。 23. 在此页面中,根据实际情况设定工具的质量mass(单位kg)与重心位置数据(此中心是基于tool0的偏移值,单位mm),然后单击“确定”。 *提示:此页显示的内容就是TCP定义时生成的数据。 24. 选中tool1,单击“确定”。 25. 动作模式选定为“重定位”。坐标系统选定为“工具”。工具坐标选定为“tool1”。 26. 使用摇杆将工具参考点靠上固定点,然后在重定位模式下手动操纵机器人,假如TCP设定精确的话,能够看到工具参考点与固定点始终保持接触,而机器人会根据重定位操作改变姿态。 假如使用搬运的夹具,通常工具数据的设定方法如下:
图中,搬运薄板的真空吸盘夹具为例,质量是25kg,重心在默认tool0的Z的正方向偏移250mm,TCP点设定在吸盘的接触面上,从默认tool0上的Z方向偏移了300mm。
在示教器上设定如下:
1. 在“手动操纵”界面,选择“工具坐标”。 2. 单击“新建”。 3. 根据需要设定数据的属性,通常不用修改。 4. 单击“初始值”。 5. TCP点设定在吸盘的接触面上,从默认tool0上的Z正方向偏移了300mm,在此画面中设定对应的数值。 6. 此工具质量是25kg,重心在默认tool0的Z的正方向偏移250mm,在画面中设定对应的数值,然后单击“确定”,设定完成。 2.工件坐标wobjdata
工件坐标对应工件,它定义工件相关于大地坐标(或者其他坐标)的位置。机器人能够拥有若干工件坐标系,或者者表示不一致工件,或者者表示同一工件在不一致位置的若干副本。
对机器人进行编程时就是在工件坐标中创建目标与路径。这带来很多优点: 1) 重新定位工作站中的工件时,只需要更换工件坐标的位置,所有路径将即刻随之更新。 2) 同意操作以外轴或者传送导轨移动的工件,由于整个工件可连同其路径一起移动。 *提示:A是机器人的大地坐标,为了方便编程,给第一个工件建立了一个工件坐标B,并在这个工件坐标B中进行轨迹编程。 假如台子上还有一个一样的工件需要走一样的轨迹,那只需建立一个工件坐标C,将工件坐标B中的轨迹复制一份,然后将工件坐标从B更新为C,则无需对一样的工件进行重复轨迹编程了。 *提示:假如在工件坐标B中对A对象进行了轨迹编程,当工件坐标的位置变化成工件坐标D后,只需在机器人系统重新定义工件坐标D,则机器人的轨迹就自动更新到C了,不需要再次轨迹编程了。因A相关于B,C相关于D的关系是一样,并没有由于整体偏移而发生变化。 *注意:在对象的平面上,只需要定义三个点,就能够建立一个工件坐标。 X1点确定工件坐标的原点。 X1、X2点确定工件坐标X正方向 Y1确定工件坐标Y正方向。 工件坐标等符合右手定则。 建立工件坐标的操作步骤:
1. 在手动操纵画面中,选择“工件坐标”。 2. 单击“新建”。 3. 对工件坐标数据属性进行设定后,单击“确定”。 4. 打开编辑菜单,选择“定义”。 5. 将用户方法设定为“3点”。 6. 手动操纵机器人的工具参考点靠近定义工件坐标的X1点。 7. 单击“修改位置”,将X1点记录下来。 8. 手动操纵机器人的工具参考点靠近定义工件坐标的X2点。 9. 单击“修改位置”,将X2点记录下来。 10. 手动操作机器人的工具参考点靠近定义工件坐标的Y1点。 11. 单击“修改位置”,将Y1点记录下来。 12. 单击“确定”。 13. 对自动生成的工件坐标数据进行确认后,单击“确定”。 14. 选中wobj1后,单击确定。 15. 设定手动操纵画面项目,使用线性动作模式,体验新建立的工件坐标。 3.有效载荷loaddata
关于搬运应用的机器人,应该正确设定夹具的质量、重心tooldata与搬运对象的质量与重心数据loaddata。
操作步骤:
1. “手动操纵”界面,选择“有效载荷”。 2. 单击“新建…”。 3. 对有效载荷数据属性进行设定。 4. 单击“初始值”。 5. 对有效载荷的数据根据实际的情况进行设定,各参数代表的含义请参考下面的有效载荷参数表。 6. 单击“确定”。 名称 有效载荷质量 有效载荷重心 力矩轴方向 有载的动量 参数 load.mass 单位 kg load.cog.x load.cog.y load.cog.z load.aom.q1 load.aom.q2 load.aom.q3 load.aom.q4 ix iy iz mm 效荷转惯kg·m2 在RAPID编程中,需要对有效载荷的情况进行实时的调整:
Set do1;夹具夹紧
GripLoad load1;指定当前搬运对象的质量与重心load1 ……
Reset do1;夹具松开
GripLoad load0;将搬运对象清除为load0 5.5知识链接
5.5.1复杂程序数据赋值
在RAPID程序数据中,有一些结构较为复杂的程序数据,如robtarget程序数据,即MoveJ指令中的p10数据:
如上图所示,在光盘的此文档中能够找到RAPID程序中所有程序数据、功能、指令的全面介绍。
文档中此数据是由一串数字构成(包含笛卡尔坐标xyz、q1-4、轴角度等) 以此数据为例,介绍复杂数据的赋值操作。 首先查看此数据的架构:
以修改trans of pos中的x为例。 操作步骤: 1. 首先确定程序数据的类型为可变量 2. 打开程序编辑器进入例行程序 添加赋值指令“p10.trans.x:=400”(马上p10的trans下的x的值更换为400)。 5.5.2工具自动识别程序
介绍工具自动识别(LoadID)功能。
LoadIdentify是ABB机器人开发的用于自动识别安装在六轴法兰盘上的工具(tooldata)与载荷(loaddata)的重量,与重心。(前面介绍到,设置tooldata与loaddata是自己测量工具的重量与重心,然后填写参数进行设置,但是这样会有一定的不准确性)
手持工具的应用中,应使用LoadIdentify识别工具的重量与重心。
手持夹具的应用中,应使用LoadIdentity识别夹具与搬运对象的重量与重心。 操作步骤:
1. 使用手动操纵功能,把机器人回到机械原点位置。 2. 进入“手动操纵”-“工具坐标”画面,选取需要测量的工具数据(假如有载荷选择测量的载荷)。 3. 进入“程序编辑器”画面,单击“调试”-选择“调用例行程序”-选择“LoadIdentity”(此程序为标准程序)-单击“转到”。 4. 按下使能键,点击示教器右下侧的播放键运行程序,在弹出的对话框中点击“OK”。 5. 根据提示选择“Tool”(即选择要测量的是工具还是载荷)。 6. 确认六轴是否在合适位置(不必为机械原点)。 7. 确认工具数据名称。 8. 选择工具重量(选择2,然机器人自己识别重量)。 9. 调整旋转角度(假如工具不能进行90度旋转,要进行设置)。 10. 进行慢速测试。 11. 等待机器人完成测试步骤,观察机器人动作是否有被干涉,一直按住使能键(使能键假如断开,需要重新开始测试过程)。 12. 切换到自动状态,点击播放键,重新进入识别程序画面,点击“MOVE”。 13. 完成后跳到画面,切换为手动,显示测量结果(包含重量、重心、准确度等),确认无误后,点击“Yes”将结果写入工具数据。 14. 点击“取消调用例行程序”回到程序编辑画面。
因篇幅问题不能全部显示,请点此查看更多更全内容