文档库 最新最全的文档下载
当前位置:文档库 › ABB机器人的程序数据

ABB机器人的程序数据

ABB机器人的程序数据
ABB机器人的程序数据

ABB[a]-J-5ABB机器人的程序数据

任务目标

掌握程序数据的建立方法。

掌握三个关键程序数据的设定。

了解机器人工具自动识别功能。

任务描述

以bool为例,建立程序数据,练习建立num、robtarget程序数据。

设定机器人的工具数据tooldata、工件坐标wobjdata、负荷数据loaddata。

使用LoadIdentify工具自动识别安装在六轴法兰盘上的工具(tooldata)和载荷(loaddata)的重量,以及重心。

知识储备

程序数据

程序数据是在程序模块或系统模块中设定的值和定义的一些环境数据。创建的程序数据由同一个模块或其他模块中的指令进行引用。图中是一条常用的机器人关节运动的指令MoveJ,调用了四个程序数据。

程序数据数据类型说明

p10 robtarget 机器人运动目标位置数据

v1000 speeddata 机器人运动速度数据

z50 zonedata 机器人运动转弯数据

tool0 tooldata 机器人工作数据TCP

程序数据的类型与分类

1.程序数据的类型分类

ABB机器人的程序数据共有76个,并且可以根据实际情况进行程序数据的创建,为ABB机器人的程序设计带来了无限可能性。

在示教器的“程序数据”窗口可查看和创建所需要的程序数据。

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:=;名称为gravity的数字数据

CONST string greating:=”Hello”;名称为greating的字符数据

*注意:存储类型为常量的程序数据,不允许在程序中进行赋值的操作。

三种数据的存储类型在编辑界面的显示如下:

3.常用的程序数据

根据不同的数据用途,定义了不同的程序数据,下表是机器人系统中常用的程序数据:

程序数据说明

bool 布尔量

byte 整数数据0~255

clock 计时数据

dionum 数字输入/输出信号

extjoint 外轴位置数据

intnum 中断标志符

jointtarget 关节位置数据

loaddata 负荷数据

mecunit 机械装置数据

num 数值数据

orient 姿态数据

pos 位置数据(只有X、Y和Z)

pose 坐标转换

robjoint 机器人轴角度数据

robtarget 机器人与外轴的位置数据

speeddata 机器人与外轴的速度数据

string 字符串

tooldata 工具数据

trapdata 中断数据

wobjdata 工件数据

zonedata TCP转弯半径数据

*提示:系统中还有针对一些特殊功能的程序数据,在对应的功能说明书中会有相应的详细介绍,请查看随机光盘电子版说明书。也可以根据需要新建程序数据类型。

任务实施

建立程序数据

程序数据的建立一般可以分为两种形式,一种是直接在示教器中的程序数据画面中建立程序数据;另一种是在建立程序指令时,同时自动生成对应的程序数据。

本节将介绍直接在示教器的程序数据画面中建立程序数据的方法。下面以建立布尔数据为例子进行说明,练习时建立num和robtarget程序数据。

ABB菜单中,选择“程序数据”。

选择数据类型“bool”,单击“显示

数据”。

单击“新建…”。

进行名称的设定、单击下拉菜单

选择对应的参数,设定完成后单

击“确定”完成设定。

数据设定参数及说明见表:

设定参数说明

名称设定数据的名称

范围设定数据可使用

的范围

存储类型设定数据的可存

储类型

任务设定数据所在的

任务

模块设定数据所在的

模块

例行程序设定数据所在的

例行程序

维数设定数据的维数

初始值设定数据的初始

在进行正式的编程之前,就需要构建起必要的编程环境,其中有三个必须的程序数据(工具数据tooldata、工件坐标wobjdata、负荷数据loaddata)就需要在编程前进行定义。

1.工具数据tooldata

工具数据tooldata用于描述安装在机器人第六轴上的工具的TCP、质量、重心等参数数据。

一般不同的机器人应用配置不同的工具,比如说弧焊的机器人就使用弧焊枪作为工具,而用于搬运板材的机器人就会使用吸盘式的夹具作为工具。

默认工具(tool0)的工具中心点(Tool Center Point)位于机器人安装法兰盘的中心。图中A点就是原始的TCP点。

TCP的设定原理如下:

首先在机器人工作范围内找一个非常精确的固定点作为参考点。

然后在工具上确定一个参考点(最好是工具的中心点)。

用之前介绍的手动操纵机器人的方法,去移动工具上的参考点,以四种以上不同的机器人姿态尽可能与固定点刚好碰上。为了获得更准确的TCP,在以下例子中使用六点法进行操作,第四点是用工具的参考点垂直于固定点,第五点是工具参考点从固定点向将要设定为TCP的X方向移动,第六点是工具参考点从固定点向将要设定为TCP的Z方向移动。

机器人通过这四个位置点的位置数据计算求得TCP的数据,然后TCP的数据就保存在tooldata这个程序数据中被程序进行调用。

*提示:执行程序时,机器人将TCP移至编程位置。这意味着,如果要更改工具以及工具坐标系,机器人的移动将随之更改,以便新的TCP到达目标。

所有机器人在手腕处都有一个预定义工具坐标系,该坐标系被称为tool0。这样就能将一个或多个新工具坐标系定义为tool0的偏移值。

*注意:TCP取点数量的区别:

4点法,不改变tool0的坐标方向

5点法,改变tool0的Z方向

6点法,改变tool0的X和Z方向(在焊接应用最为常用)。

前三个点的姿态相差尽量大些,这样有利于TCP精度的提高。

操作步骤:

ABB菜单中,选择“手动操纵”。

选择“工具坐标”。

单击“新建”。

对工具数据属性进行设定后,单击“确定”。

选中tool1后,单击“编辑”菜单中的“定义”选项。

选择“TCP和Z,X”,使用6点法设定TCP。

选择合适的手动操纵模式。按下使能键,使用摇杆使工具参考点靠上固定点,作为第一个点。

单击“修改位置”,将点1位置记录下来。

工具参考点变换姿态靠上固定点。

单击“修改位置”,将点2位置记录下来。

工具参考点变换姿态靠上固定点。

单击“修改位置”,将点3位置记录下来。

工具参考点变换姿态靠上固定点。这是第4个点,工具参考点垂直于固定点。

单击“修改位置”,将点4位置记录下来。

工具参考点以点4的姿态从固定点移动到工具TCP的+X方向。

单击“修改位置”,将延伸器点X 位置记录下来。

工具参考点以此姿态从固定点移动到工具TCP的Z方向。

单击“修改位置”,将延伸器点Z 位置记录下来。

单击“确定”完成设定。

对误差进行确认,越小越好,但也要以实际验证效果为准。

选中tool1,然后打开编辑菜单选择“更改值”。

在此页面中,根据实际情况设定工具的质量mass(单位kg)和重心位置数据(此中心是基于tool0的偏移值,单位mm),然后单击“确定”。

*提示:此页显示的内容就是TCP定义时生成的数据。

选中tool1,单击“确定”。

动作模式选定为“重定位”。坐

标系统选定为“工具”。工具坐

标选定为“tool1”。

使用摇杆将工具参考点靠上固

定点,然后在重定位模式下手

动操纵机器人,如果TCP设定

精确的话,可以看到工具参考

点与固定点始终保持接触,而

机器人会根据重定位操作改变

姿态。

图中,搬运薄板的真空吸盘夹具为例,质量是25kg,重心在默认tool0的Z的正方向偏移250mm,TCP点设定在吸盘的接触面上,从默认tool0上的Z方向偏移了300mm。

在示教器上设定如下:

在“手动操纵”界面,选择“工具坐标”。

单击“新建”。

根据需要设定数据的属性,一般不用

修改。

单击“初始值”。

TCP点设定在吸盘的接触面上,从默

认tool0上的Z正方向偏移了300mm,

在此画面中设定对应的数值。

此工具质量是25kg,重心在默认tool0

的Z的正方向偏移250mm,在画面中

设定对应的数值,然后单击“确定”,

设定完成。

2.工件坐标wobjdata

工件坐标对应工件,它定义工件相对于大地坐标(或其他坐标)的位置。机器人可以拥有若干工件坐标系,

或者表示不同工件,或者表示同一工件在不同位置的若干副本。

对机器人进行编程时就是在工件坐标中创建目

标和路径。这带来很多优点:

重新定位工作站中的工件时,只需要更改工件

坐标的位置,所有路径将即刻随之更新。

允许操作以外轴或传送导轨移动的工件,因为

整个工件可连同其路径一起移动。

*提示:A是机器人的大地坐标,为了方便编程,

给第一个工件建立了一个工件坐标B,并在这个

工件坐标B中进行轨迹编程。

如果台子上还有一个一样的工件需要走一样的

轨迹,那只需建立一个工件坐标C,将工件坐标

B中的轨迹复制一份,然后将工件坐标从B更

新为C,则无需对一样的工件进行重复轨迹编程

了。

*提示:如果在工件坐标B中对A对象进行了轨

迹编程,当工件坐标的位置变化成工件坐标D

后,只需在机器人系统重新定义工件坐标D,

则机器人的轨迹就自动更新到C了,不需要再

次轨迹编程了。因A相对于B,C相对于D的关

系是一样,并没有因为整体偏移而发生变化。

*注意:在对象的平面上,只需要定义三个点,

就可以建立一个工件坐标。

X1点确定工件坐标的原点。

X1、X2点确定工件坐标X正方向

Y1确定工件坐标Y正方向。

工件坐标等符合右手定则。

建立工件坐标的操作步骤:

在手动操纵画面中,选择“工件坐标”。

单击“新建”。

对工件坐标数据属性进行设定后,单击“确定”。

打开编辑菜单,选择“定义”。将用户方法设定为“3点”。

手动操纵机器人的工具参考点靠近定义工件坐标的X1点。

单击“修改位置”,将X1点记录下来。

手动操纵机器人的工具参考点靠近定义工件坐标的X2点。

单击“修改位置”,将X2点记录下来。

手动操作机器人的工具参考点靠近定义工件坐标的Y1点。

单击“修改位置”,将Y1点记录下来。

单击“确定”。

对自动生成的工件坐标数据进行确认后,单击“确定”。

选中wobj1后,单击确定。

设定手动操纵画面项目,使用线性动作模式,体验新建立的工件坐标。

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)RAPID 程序是由程序模块与系统模块组成。一般地,只通过新建程序模块来构建机器人的程序,而系统模块多用于系统方面的控制。2)可以根据不同的用途创建多个程序模块,如专门用于主控制的程序模块,用于位置计算的程序模块,用于存放数据的程序模块,这样便于归类管理不同用途的例行程序与数据。 3)每一个程序模块包含了程序数据、例行程序、中断程序和功能四种对象, 但不一定在一个模块中都 有这四种对象,程序模块之间的数据、例行程序、中断程序和功能是可以互相调用的。

4)在RAPID 程序中,只有一个主程序main,并且存在于任意一个程序模块中,并且是作为整个RAPID 程序执行的起点。操作步骤:1. 单击“程序编辑器”,查看 RAPID 程序。文 6.3.2 在示教器上进行指令编程的基本操作 ABB 机器人的RAPID 编程提供了丰富的指令来完成各种简单与复 杂的应用。下面就从最常用的指令开始

ABB机器人SmarTac程序实例.doc

一、SmarTac 程序实例 在实际的应用中,smartac有两种方法对焊缝进行纠偏,第一种是用search1D指令检测单个焊缝的偏移,比如寻找起弧点和收弧点,寻找的方向可以使1维的也可以是2维和3维的。这种方法适用于每一条焊缝的变化都是相对对立的并且焊缝相对于检测方向不能有太大的角度变化,比如开关柜。这种方法是直接找到偏移量然后用P-disp frame(P-DispSet指令)直接在工件坐标系里面偏移相应的坐标值。例如: 找点程序 PDispOff; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1D Cs2401, *, scp2_4_x, v100, tSensor\WObj:=Wobj_StnA\SchSpeed:=3; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1D Cs2401,*,scp2_4_z,v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=Cs2401\SchSpeed:=3; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1DCs2401,*,scp2_4_y,v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=Cs2401\SchSpeed:=3; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1D s2400,*, sp2400_x, v100, tSensor\WObj:=Wobj_StnA\SchSpeed:=3; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1D s2400, *, sp2400_y, v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=s2400\SchSpeed:=3; PDispSet Cs2401 MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; ArcLStart p2401, v1000, seam1,wd01_16\Weave:=Weave1,fine, tWeldGun\Wobj:=Wobj_StnA; PDispoff; PDispSet Cs2400; ArcLEnd p2400, v1000, seam1, wd01_16\Weave:=weave1, fine, tWeldGun\WObj:=Wobj_StnA; PDispOff;

ABB机器人程序实例

MODULE MainModule CONST robtarget pHome:=[[1525.42,272.18,1873.69],[4.42963E-05,0.699969,-0.7141 73,-2.80277E-05],[0,-1,- 1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9 E+09]]; CONST robtarget pPrePickMould:=[[1653.99,272.19,1779.41],[5.83312E-05,0.69997, -0.714172,-3.47922E-05],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9 E+09,9E+09]]; CONST robtarget pPrePickClapboard:=[[2036.17,- 741.24,1235.05],[0.678651,0.73435 ,-0.0119011,0.00467586],[-1,-2,2,0],[9E+09,9E+09,9E+09,9E+09,9 E+09,9E+09]]; CONST robtarget pPickMould:=[[1943.13,173.08,630.89],[4.66987E-05,0.699977,-0.7 14166,-3.24109E-05],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+0 9,9E+09]]; CONST robtarget pPickClapboard:=[[1943.19,173.08,620.72],[1.61422E-05,0.699977, -0.714165,-7.62858E-06],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9 E+09,9E+09]]; robtarget pPrePlace:=[[785.90,- CONST 957.40,1722.38],[0.00231652,0.0492402,-0.99 8779,-0.00310842],[-1,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09, 9E+09]]; CONST robtarget pPrePlace10:=[[-277.40,-

ABB机器人程序实例ROBOT studio 6.01(附带与工业相机网络通讯实例)

ABB机器人(ROBOT studio 6.01)程序实例MODULE MainModule PERS tooldata tGripper:=[TRUE,[[0.533078,1.51617,583.739],[1,0,0,0]],[30,[0,0,50],[1,0,0,0],0,0,0] ]; TASK PERS wobjdata VisionWobj:=[FALSE,TRUE,"",[[0,0,0],[1,0,0,0]],[[-934.534,1807.34,-76.7707],[0.4 00996,0.0128267,-0.0292473,-0.915523]]]; TASK PERS wobjdata WobjCompressor1:=[FALSE,TRUE,"",[[518.656,-1088.9,164.25],[0,0,0,1]],[[686.65 1,296.298,-588.529],[0.917114,1.69419E-06,-7.35001E-05,-0.398626]]]; TASK PERS wobjdata WobjCompressor2:=[FALSE,TRUE,"",[[518.656,-1088.9,164.25],[0,0,0,1]],[[-944.87 1,-657.402,-323.406],[0.918098,-1.98999E-05,-6.49686E-06,0.396353]]]; PERS wobjdata WobjCompressor; VAR robtarget pActualPos; VAR socketdev server_socket; VAR socketdev client_socket; VAR string client_ip; VAR string stReceived; VAR num NumCharacters:=9; VAR bool bOK; PERS num nXOffs; PERS num nYOffs; PERS num nAngleOffs; VAR string XData:=""; VAR string YData:=""; VAR string AngleData:=""; VAR num nPresenceOrAbsence; PERS num nPickH:=-400; PERS num nCountX; PERS num nCountY; PERS num nCountZ; PERS num nCount; VAR num nPlaceNo; PERS bool bSMPreOrAbs; PERS bool bInpos; VAR robtarget PVision; VAR robtarget Vision; VAR robtarget ppPick; VAR robtarget pPick;

ABBaJABB机器人高级编程

ABB[a]-J-8ABB机器人高级编程 8.1任务目标 ?掌握ABB机器人RAPID高级编程方法。 ?掌握常用的RAPID程序指令。 8.2任务实施 8.2.1事件程序EventRoutine Event Routine是使用RAPID指令编写的例行程序去响应系统事件的功能。 比如在系统启动时,检查IO输入信号的状态,就可通过Event Routine来完成。 要注意的是,在Event Routine中不能有移动指令,也不能有太复杂的逻辑判断,防止程序死循环,影响系统的正常运行。 下面我们就以响应系统事件POWER_ON为例子,进行此功能的说明。 任务描述:编写rEvent例行程序,打印“Start OK”字样,如果在开启后屏幕上显示,则说明这个例行程序与POWER_ON系统事件关联。 MultiTasking就是在有一个在前台运行用于控制机器人逻辑运算和运动的RAPID程序的同时,后台还有与前台并行运行的RAPID程序,也就是我们所说的多任务程序了。 *系统需要623-1 MultiTasking选项。 多任务程序最多可以有20个不带机器人运动指令的后台并行的RAPID程序。多任务程序可用于机器人与PC之间不间断的通讯处理,或作为一个简单的PLC进行逻辑运算。后台的多任务程序在系统启动的同时就开始连续的运行,不受机器人控制状态的影响。 多任务程序——任务间数据通讯的方法: ◆任务间是可以通过程序数据进行数据的交换。 ◆在需要数据交换的任务中建立存储类型为可变量而且名字相同的程序数据。 ◆在一个任务中修改了这个数据的数值,在另一个任务中名字相同的数据也会随之更新。

ABB机器人-高级编程

6.8高级编程 6.8.1.映射程序、模块或例行程序 映射 映射可在特定的映射面上创建程序、模块或例行程序的副本。映射功能可以应用于任何程序、模块或例行程序。映射可以通过两种不同的方法完成: ?基础框架坐标系上的默认值。映射过程将在基础框架坐标系的xz平面上进行。特定程序、模块或者例行程序的指令使用过的所有位置和工件框架都将 被映射。定位定向轴x和y将被映射。 ?趋近于一个特定的映射框架。将在一个特定的工件框架的xy平面内进行映射操作,影射框架。映射特定程序、模块和例行程序中的所有位置。如果指令中的工件变元并非映射对话中的特定变元,影射操作中将会使用指令中的工件。也可能会确定定位定向系中那两条轴(x和z或者y和z)将被映射。

6.8.2.修改和调节位置 概述 位置是robtarget或jointtarget数据类型实例。只要您在软键盘上输入偏移值就可以通过HotEdit调节位置。偏移值与位置初始值一起使用。您也可以利程序编辑器或运行时窗口中的修改位置功能进行位置修改,将机器人步进或微调至新位置。位置的修改值将覆盖初始值。 注意 更改预设位置可能会显著改变机器人移动模式。请始终确保任何更改考虑到设备和人员的安全。数组中的位置当位置被列为数组时,根据数组在移动指令中的索引方式,修改或调节的步骤可能稍有不同。 注意:jointtargets只能使用程序编辑器以及运行时窗口中的修改位置方法进行修改,而不能使用HotEdit修改。 附注 您的系统可能在位置修改方式上受限。您可以使用系统参数(主题Controller,类 型ModPos Settings)对距离进行限制,并限制哪些位置可使用UAS修改。 6.8.3.在程序编辑器或运行时窗口 概述

abb机器人程序实例

如对您有帮助,请购买打赏,谢谢您!MODULE MainModule CONST robtarget pHome:=[[1525.42,272.18,1873.69],[4.42963E-05,0.699969,-0.7141 73,-2.80277E-05],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9 E+09]]; CONST robtarget pPrePickMould:=[[1653.99,272.19,1779.41],[5.83312E-05,0.69997, -0.714172,-3.47922E-05],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9 E+09,9E+09]]; CONST robtarget pPrePickClapboard:=[[2036.17,-741.24,1235.05],[0.678651,0.73435 ,-0.0119011,0.00467586],[-1,-2,2,0],[9E+09,9E+09,9E+09,9E+09,9 E+09,9E+09]]; CONST robtarget pPickMould:=[[1943.13,173.08,630.89],[4.66987E-05,0.699977,-0.7 14166,-3.24109E-05],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+0 9,9E+09]]; CONST robtarget pPickClapboard:=[[1943.19,173.08,620.72],[1.61422E-05,0.699977, -0.714165,-7.62858E-06],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9 E+09,9E+09]]; CONST robtarget

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)RAPID程序是由程序模块与系统模块组成。一般地,只通过新建程序模块来构建机器人的程序,而系统模块多用于系统方面的控制。 2)可以根据不同的用途创建多个程序模块,如专门用于主控制的程序模块,用于位置计算的程序模块,用于存放数据的程序模块,这样便于归类管理不同用途的例行程序与数据。 3)每一个程序模块包含了程序数据、例行程序、中断程序和功能四种对象,但不一定在一个模块中都有这四种对象,程序模块之间的数据、例行程序、中断程序和功能是可以互相调用的。 4)在RAPID程序中,只有一个主程序main,并且存在于任意一个程序模块中,并且是作为整个RAPID 程序执行的起点。 操作步骤:

ABB机器人编程技巧

1.ABB机器人Pdisp轨迹偏移使用 1)如果有下图两个产品,已经完成了右边产品轨迹,左边产品估计一样,如何快速生成左边轨迹(左边产品可能有平移和旋转) 2)完成右边轨迹示教Path_30,如上图。起点为Target_20。 3)完成左边起点的示教,为Target_ref_start,如下图。 注:如果左边产品轨迹有旋转,示教的Target_ref_start相对于左边产品的姿态要和Target_20相对于右边产品的姿态一致(此处左边产品旋转了30°,示教的角度z方向也旋转了30°) 4)插入指令如下 MoveJ pHome,v1000,z100,tWeldGun\WObj:=wobj0;//移动到Home位置 Path_30;//运行右边产品轨迹 MoveJpHome,v1000,z100,tWeldGun\WObj:=wobj0;//回到Home MoveJTarget_ref_start,v1000,fine,tWeldGun\WObj:=wobj0;//走到左边产品起点

ConfJ\Off;//因为使用偏移,关闭轴配置监控,否则有可能使用原配置参数导致位置走不到而报 错ConfL\Off;//因为使用偏移,关闭轴配置监控,否则有可能使用原配置参数导致位置走不到而报错PDispOn\Rot,Target_20,tWeldGun;//设定当前位置和Target_20的偏差关系(包括平移和旋转),因为此时机器人停在Target_ref_start起点,即设定左边轨迹和右边轨迹的整体偏移关系。使用\rot表示平移和旋转均计算。如果不使用\rot,则只使用平移,旋转不计算 Path_30;//运行原有轨迹,此时轨迹参考坐标移动关系,机器人实际走左边产品轨迹 PDispOff;//轨迹完成,关闭平移关系 MoveJ pHome,v1000,z100,tWeldGun\WObj:=wobj0; 2.单工位多次预约程序 1)机器人有程序如下。 2) 3)工艺过程如下: 机器人在home等待。有人按过di信号,机器人开始执行。人工可以一次性多次预约,即如果人工一次性按过3次,机器人执行三次 4)我们通过中断来实现。 5)中断的意义为,机器人后台在不断扫描(类似PLC),和机器人前台运动不冲突。后台实时扫描到信号就会去执行设定的中断程序,中断程序里没有运动指令,前台机器人不停,不影响运动 6)新建一个例行程序,取名tr_1,注意:类型选中断(trap)

(完整版)ABB机器人SmarTac程序实例

SmarTac 程序实例在实际的应用中,smartac有两种方法对焊缝 进行纠偏,第一种是用searchlD指令检测单个焊缝的偏移,比如寻找起弧点和收弧点,寻找的方向可以使 1 维的也可以是2维和3维的。这种方法适用于每一条焊缝的变化都是相对对立的并且 焊缝相对于检测方向不能有太大的角度变化,比如开关柜。这种 方法是直 接找到偏移量然后用P-disp frame(P-DispSet指令)直接在工 件坐标系里面偏移相应的坐标值。例如: 找点程序 PDispOff; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1D Cs2401, *, scp2_4_x, v100, tSensor\WObj:=Wobj_StnA\SchSpeed:=3; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1D Cs2401,*,scp2_4_z,v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=Cs2401\SchSpeed:=3; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1DCs2401,*,scp2_4_y,v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=Cs2401\SchSpeed:=3; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1D s2400,*, sp2400_x, v100, tSensor\WObj:=Wobj_StnA\SchSpeed:=3; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1D s2400, *, sp2400_y, v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=s2400\SchSpeed:=3; PDispSet Cs2401 MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; ArcLStart p2401, v1000, seam1,wd01_16\Weave:=Weave1,fine, tWeldGun\Wobj:=Wobj_StnA; PDispoff; PDispSet Cs2400; ArcLEnd p2400, v1000, seam1, wd01_16\Weave:=weave1, fine, tWeldGun\WObj:=Wobj_StnA; PDispOff; 方法2:通过计算工件坐标(oframe)的变化来进行焊缝纠正,原理是当工件坐标系发生变化后,通过寻找在新的工件坐标系中相同坐标点的位置来纠正位置的变化。这个变化指的是焊缝在新坐标系里面的位置和原来的坐标系并没有发生变化而是随着坐标系整体进行了偏移。例如工件整体发生了平移(比如由夹具的定位引起的平移)如果焊缝相对于坐标系的位置发生了变化就不适用了。注:这个程序是通过计算相对坐标系的变化来对焊缝就行纠正的,并不适合所有的焊缝偏移形势。 %%% VERSION:1

ABB机器人程序指令汇总

一指令格式 二指令及其参数 Data := Value AccSet Acc Ramp ActUnit MecUnit Add Name A ddValue Break CallBy Var Name Number Clear Name ClkReset Clock ClkStart Clock ClkStop Clock Close IODevice ! Comment ConfJ [\On] | [\Off] ConfL [\On] | [\Off] CONNECT Interrupt WITH Trap routine

CorrCon Descr CorrDiscon Descr CorrWrite Descr Data CorrClear DeactUnit MecUnit Decr Name EOffsSet EaxOffs ErrWrite [ \W ] Header Reason [ \RL2] [ \RL3] [ \RL4] Exit ExitCycle FOR Loop counter FROM S tart value TO End value [STEP Step value] DO ... ENDFOR GOTO L abel GripLoad Load IDelete Interrupt IF Condition ... IF Condition THEN ... {ELSEIF Condition THEN ...} [ELSE ...] ENDIF Incr Name IndAMove MecUnit Axis [ \ToAbsPos ] | [ \ToAbsNum ] Speed[ \Ramp ]

ABB机器人的程序数据

ABB[a]-J-5ABB机器人的程序数据 5.1任务目标 ?掌握程序数据的建立方法。 ?掌握三个关键程序数据的设定。 ?了解机器人工具自动识别功能。 5.2任务描述 ◆以bool为例,建立程序数据,练习建立num、robtarget程序数据。 ◆设定机器人的工具数据tooldata、工件坐标wobjdata、负荷数据loaddata。 ◆使用LoadIdentify工具自动识别安装在六轴法兰盘上的工具(tooldata)和载荷(loaddata)的重量,以 及重心。 5.3知识储备 5.3.1程序数据 程序数据是在程序模块或系统模块中设定的值和定义的一些环境数据。创建的程序数据由同一个模块或其他模块中的指令进行引用。图中是一条常用的机器人关节运动的指令MoveJ,调用了四个程序数据。 图中所使用的程序数据的说明见表: 程序数据数据类型说明 p10 robtarget 机器人运动目标位置数据 v1000 speeddata 机器人运动速度数据 z50 zonedata 机器人运动转弯数据 tool0 tooldata 机器人工作数据TCP 5.3.2程序数据的类型与分类 1.程序数据的类型分类 ABB机器人的程序数据共有76个,并且可以根据实际情况进行程序数据的创建,为ABB机器人的程序设计带来了无限可能性。 在示教器的“程序数据”窗口可查看和创建所需要的程序数据。

2.程序数据的存储类型 (1)变量VAR 变量型数据在程序执行的过程中和停止时,会保持当前的值。但如果程序指针被移到主程序后,数值会丢失。 举例说明: VAR num length:=0;名称为length的数字数据 VAR string name:=”John”;名称为name的字符数据 VAR bool finish:=FALSE;名称为finish的布尔量数据 在程序编辑窗口中的显示如图: 在机器人执行的RAPID程序中也可以对变量存储类型程序数据进行赋值的操作,如图:

ABB机器人学习_主要看这个讲解

ABB 机器人培训资料 1、安全 自动模式中,任何人不得进入机器人工作区域 长时间待机时,夹具上不宜放置任何工件。 机器人动作中发生紧急情况或工作不正常时,均可使用E-stop键,停止运行(但这将直接使程序终止不可继续) 进行编程、测试及维修等工作时,必须将机器人置于手动模式。 调试机器人过程中,不需要移动机器人时,必须释放使能器。 调试人员进入工作区域时,必须随携带使能器,以防他人操作。 突然停电时,必须立即关闭机器人主电源开头,并取下夹具上的工件。 严禁非授权人员操作机器人。 2、简介 1974 ABB第一台机器人诞生,IRC5为目前最新推出的控制系统。所属机器人大部分用于焊接、喷涂及搬运用。 当前使用的机器人型号为IRB1410,其承重能力为5KG,上臂可承受18KG的附加载荷,这在同类机器人中绝无仅有。最大工作半径1444mm,常用于焊接与范围搬运,具可再扩展一个外部轴的能力。 3、机器人系统简介 机械手为六轴组成的空间六杆开链机构,理论上可达到运动范围内任何一点。每个转轴均带一个齿轮箱,机械手运动精度(综合)达正负0.05mm至正负 0.2mm。六轴均带AC伺服电机驱动,每个电机后均有编码器与刹车。机械手带有串口测量板(SMB),测量板上带有六节可充电的镍铬电池,起到保存数据的作用。机械手带有手动松闸按钮,维修时使用,非正常使用会造成设备或人员被伤害。机械手带有平衡气缸或弹簧。 4、伺服驱动系统

5、IRC5 系统介绍 主电源、计算机供电单元、计算机控制模块(计算机主体)、输入/输出板、Customer connections(用户连接端口)、FlexPendant接口(示教盒接线端)、轴计算机板、驱动单元(机器人本体、外部轴)。

ABB机器人培训内容

一.手动操纵工业机器人 1.单轴运动控制 (1)左手持机器人示教器,右手点击示教器界面左上角的“”来打开ABB 菜单栏;点击“手动操纵”,进入手动操纵界面;如图1-1所示。 图1-1 进入手动操纵界面 (2)点击“动作模式”,进入模式选择界面。选择“轴1-3”,点击“确定”,动作模式设置成了轴1-3,如图1-2所示。 图1-2 模式选择界面 (3)移动示教器上的操纵杆,发现左右摇杆控制1轴运动,前后摇杆控制2轴运动,逆时针或顺时针旋转摇杆控制3轴运动。 (4)点击“动作模式”,进入模式选择界面。选择“轴4-6”,点击“确定”,动作模式设置成了轴4-6,如图1-3所示。 图1-3 “动作模式”的选择 (5)移动示教器上的操纵杆,发现左右摇杆控制4轴运动,前后摇杆控制5轴运动,逆时针或顺时针旋转摇杆控制6轴运动。 【提示】轴切换技巧:示教器上的按键能够完成“轴1-3”和“轴4-6”轴组的切换。 2.线性运动与重定位运动控制 (1)点击“动作模式”,进入模式选择界面。选择“线性”,点击“确定”,动作模式设置成了线性运动,如图1-4所示。 (2)移动示教器上的操纵杆,发现左右摇杆控制机器人TCP点左右运动,前后摇杆控制机器人TCP点前后运动,逆时针或顺时针旋转摇杆控制机器人TCP 点上下运动。 图1-4 线性运动模式操纵界面

(3)点击“动作模式”,进入模式选择界面。选择“重定位”,点击“确定”,动作模式设置成了重定位运动,如图1-5所示。 图1-5 “重定位”动作模式的选择 (4)移动示教器上的操纵杆,发现机器人围绕着TCP运动。 3.工具坐标系建立 工业机器人是通过末端安装不同的工具完成各种作业任务。要想让机器人正常作业,就要让机器人末端工具能够精确地达到某一确定位姿,并能够始终保持这一状态。从机器人运动学角度理解,就是在工具中心点(TCP)固定一个坐标系,控制其相对于基座坐标系或世界坐标系的姿态,此坐标系称为末端执行器坐标系(Tool/Terminal Control Frame,TCF),也就是工具坐标系。默认工具坐标系的原点位于机器人安装法兰的中心,当接装不同的工具(如焊枪)时,工具需获得一个用户定义的工具坐标系,其原点在用户定义的参考点(TCP)上,如图2-1-4所示,这一过程的实现就是工具坐标系的标定。它是机器人控制器所必需具备的一项功能。 a) b) 图1-6 机器人工具坐标系的标定 大多数工业机器人都具备工具坐标系多点标定功能。这类标定包含工具中心点(TCP)位置多点标定和工具坐标系(TCF)姿态多点标定。TCP位置标定是使几个标定点TCP位置重合,从而计算出TCP,即工具坐标系原点相对于末端关节坐标系的位置,如四点法;而TCF姿态标定是使几个标定点之间具有特殊的方位关系,从而计算出工具坐标系相对于末端关节坐标系的姿态,如五点法(在四点法的基础上,除能确定工具坐标系的位置外还能确定工具坐标系的Z轴方向)、六点法(在四点、五点的基础上,能确定工具坐标系的位置和工具坐标系X、Y、Z三轴的姿态)。 为获得准确的TCP,下面分别以四点法和六点法为例进行操作。

ABB机器人~编程基本指令之运动指令

一运动指令MoveJ MoveJ[\Conc,]ToPoint,Speed[\V]│[\T],Zone[\Z][\Inpos], Tool[\WObj]; 1 [\Conc,]:协作运动开关。(switch) 2 ToPoint:目标点,默认为*。(robotarget) 3 Speed:运行速度数据。(speeddata) 4 [\V]:特殊运行速度mm/s。(num) 5 [\T]:运行时间控制s。(num) 6 Zone:运行转角数据。(zonedata) 7 [\Z]:特殊运行转角mm。(num) 8 [\Inpos]:运行停止点数据。(stoppointdata) 9 Tool:工具中心点(TCP)。(tooldata) 10 [\WObj]:工件坐标系。(wobjdata) 11 应用 机器人以最快捷的方式运动至目标点,机器人运动状态不完全可控,但运动路径保持唯一,常用于机器人在空间大范围移动。 12 实例 MoveJ p1,v2000,fine,grip1; MoveJ \Conc,p1,v2000,fine,grip1; MoveJ p1,v2000\V:=2200,z40\Z:=45,grip1; MoveJ p1,v2000,z40,grip1\WObj:=wobjTable; MoveJ p1,v2000,fine\Inpos:=inpos50,grip1;

二运动指令MoveL MoveL[\Conc,]ToPoint,Speed[\V]│[\T],Zone[\Z][\Inpos], Tool[\WObj][\Corr]; 1 [\Conc,]:协作运动开关。(switch) 2 ToPoint:目标点,默认为*。(robotarget) 3 Speed:运行速度数据。(speeddata) 4 [\V]:特殊运行速度mm/s。(num) 5 [\T]:运行时间控制s。(num) 6 Zone:运行转角数据。(zonedata) 7 [\Z]:特殊运行转角mm。(num) 8 [\Inpos]:运行停止点数据。(stoppointdata) 9 Tool:工具中心点(TCP)。(tooldata) 10 [\WObj]:工件坐标系。(wobjdata) 11[\Corr]:修正目标点开关。(switch) 12 应用

相关文档
相关文档 最新文档