A机器人RAPID程序指令与功能简述

RAPID程序指令与功能简述程序执行的控制
变量指令
运动设定
运动控制
*:这些功能需要选项“Path recovery”配合。

注:这些功能需要选项“Independent movement”配合。

注:这些功能需要选项“Path offset or RobotWare-Arc sensor”配合。

注:这些功能需要选项“Path recovery”配合。

注:这些功能需要选项“Path recovery”配合。

注:这些功能需要选项“Conveyor tracking”配合。

注:这些功能需要选项“Sensor synchronization”配合。

*:此功能需要选项“Collision detection”配合。

输入/输出信号的处理
通信功能
1. 示教器上人机界面的功能
中断程序
系统相关的指令
数学运算
说明:本文档摘自《工业机器人实操与应用技巧》一书。

合集下载

ABB机器人RAPID常用指令详解-中文(3)

ABB机器人RAPID常用指令详解-中文(3)

ABB机器⼈RAPID常⽤指令详解-中⽂(3)Grip3的TCP沿直线运动到停⽌点p5。

当停⽌点fine的50%的位置条件和50%的速度条件满⾜的时候,机器⼈认为它到达了⽬标点。

它等条件满⾜最多等两秒,参看stoppointdata数据类型的预定义数据inpos50。

例3 MoveL \Conc, *, v2000, z40, grip3;Grip3的TCP直线运动到存储在指令中的位置。

当机器⼈移动的时候,后续的逻辑指令开始执⾏。

例4 MoveL start, v2000, z40, grip3 \WObj:=fixture;Grip3的TCP直线运动到位置start,位置在fixture的对象坐标系统中指定。

语法:MoveL _[ ’\’ Conc ’,’ ]_[ ToPoint ’:=’ ] < robtarget类型的表达式(IN) > ’,’[ ’\’ ID ’:=’ < identno类型的表达式(IN) >]’,’_[ Speed ’:=’ ] < speeddata类型的表达式(IN) >_[ ’\’ V ’:=’ < num类型的表达式(IN) > ] _| [ ’\’ T ’:=’ < num类型的表达式(IN) > ] ’,’_[Zone ’:=’ ] < zonedata类型的表达式(IN) >_[ ’\’ Z ’:=’ < num类型的表达式(IN) > ]_[ ’\’ Inpos ’:=’ < stoppointdata类型的表达式(IN) > ] ‘,’_[ Tool ’:=’ ] < tooldata类型的恒量(PERS) > _[ ’\’ WObj ’:=’ < wobjdata 类型的恒量(PERS)> ] _[ ’\’ Corr ]’;’相关信息:1.97.MoveLDO-直线移动机器⼈并且在转⾓处设置数字输出⽤途:MoveLDO(直线运动数字输出)⽤来直线移动TCP到指定的⽬标点。

ABB 机器人 RAPID 常用指令详解-中文(4)

ABB 机器人 RAPID 常用指令详解-中文(4)

在RAPID 程序中,静态的WorldZone 不能被解除并再次激活,或者进行擦除。

在RAPID 程序中,临时的WorldZone 可以被解除(WZDisable),再次激活(WZEnable)或者擦除(WZFree)。

语法:WZDOSet[[‘\’Temp] | [‘\’Stat]’,’][WorldZone’:=’]<wztemporary 类型的变量或者恒量(INOUT)>[‘\’Inside] | [‘\’Before] ‘,’[Shape’:=’]<shapedata 类型的变量(V AR)>’,’[Signal’:=’]<signaldo 类型的变量(V AR)>’,’[SetV alue’:=’]<dionum 类型的表达式(IN)>’;’相关信息:1.231.WZEnable—激活临时WorldZone 监视用途:WZEnable(WorldZone 使能)用来重新激活对临时WorldZone 的监视,该WorldZone 之前定义用来停止运动或者设定输出。

基本范例:该指令的基本范例说明如下:例1 V AR wztemporary wzone;…PROC …WZLimSup \Temp, wzone, volume;MoveL p_pick, v500, z40, tool1;WZDisable wzone;MoveL p_place, v200, z30, tool1;WZEnable wzone;MoveL p_home, v200, z30, tool1;ENDPROC当往p_pick 移动的时候,检测到机器人TCP 的位置,这样它就不能进入特定的空间wzone。

当进入p_place 的时候没有进行这个监视,但是在移动到p_home 的时候重新激活。

项目:WZEnable WorldZoneWorldZone:数据类型:wztemporarywztemporary 类型的变量或者恒量,包含要激活的WorldZone 的标识符。

ABB 机器人 RAPID 常用指令详解-中文(3)

ABB 机器人 RAPID 常用指令详解-中文(3)

Grip3的TCP沿直线运动到停止点p5。

当停止点fine的50%的位置条件和50%的速度条件满足的时候,机器人认为它到达了目标点。

它等条件满足最多等两秒,参看stoppointdata数据类型的预定义数据inpos50。

例3 MoveL \Conc, *, v2000, z40, grip3;Grip3的TCP直线运动到存储在指令中的位置。

当机器人移动的时候,后续的逻辑指令开始执行。

例4 MoveL start, v2000, z40, grip3 \WObj:=fixture;Grip3的TCP直线运动到位置start,位置在fixture的对象坐标系统中指定。

语法:MoveL _[ ’\’ Conc ’,’ ]_[ ToPoint ’:=’ ] < robtarget类型的表达式(IN) > ’,’[ ’\’ ID ’:=’ < identno类型的表达式(IN) >]’,’_[ Speed ’:=’ ] < speeddata类型的表达式(IN) >_[ ’\’ V ’:=’ < num类型的表达式(IN) > ] _| [ ’\’ T ’:=’ < num类型的表达式(IN) > ] ’,’_[Zone ’:=’ ] < zonedata类型的表达式(IN) >_[ ’\’ Z ’:=’ < num类型的表达式(IN) > ]_[ ’\’ Inpos ’:=’ < stoppointdata类型的表达式(IN) > ] ‘,’_[ Tool ’:=’ ] < tooldata类型的恒量(PERS) > _[ ’\’ WObj ’:=’ < wobjdata 类型的恒量(PERS)> ] _[ ’\’ Corr ]’;’相关信息:1.97.MoveLDO-直线移动机器人并且在转角处设置数字输出用途:MoveLDO(直线运动数字输出)用来直线移动TCP到指定的目标点。

ABB 机器人 RAPID 常用指令详解-中文(1)

ABB 机器人 RAPID 常用指令详解-中文(1)

ABB 机器人RAPID 常用指令详解-中文1.88.MoveAbsJ—把机器人移动到绝对轴位置用途:MoveAbsJ(绝对关节移动)用来把机器人或者外部轴移动到一个绝对位置,该位置在轴定位中定义。

使用实例:终点是一个单一点对于IR6400C 中的不明确的位置,例如携带超过机器人范围的工具运动。

MoveAbsJ 指令中机器人的最终位置,既不受工具或者工作对象的影响,也不受激活程序更换的影响。

但是机器人要用到这些数据来计算负载、TCP 速度和转角点。

相同的工具可以被用在相邻的运动指令中。

机器人和外部轴沿着一个非直线的路径移动到目标位置。

所有轴在同一时间运动到目标位置。

该指令只能被用在主任务T_ROB1 中,或者在多运动系统中的运动任务中。

基本范例:该指令的基本范例说明如下。

也可参看第207 页更多范例。

例1 MoveAbsJ p50, v1000, z50, tool2;机器人将携带工具tool2 沿着一个非线性路径到绝对轴位置p50,以速度数据v1000 和zone 数据z50。

例2 MoveAbsJ *, v1000\T:=5, fine, grip3;机器人将携带工具grip3 沿着一个非线性路径到一个停止点,该停止点在指令中作为一个绝对轴位置存储(用*标示)。

整个运动需要5 秒钟。

项目:MoveAbsJ [\Conc] ToJointPos [\ID] [\NoEOffs] Speed [\V] | [\T] Zone [\Z] [\Inpos] Tool [\Wobj][\Conc]:并发事件数据类型:switch当机器人正在移动的时候执行的后续指令。

该项目通常不使用,但是当和外部设备通讯、不需要同步的时候可以用来缩短循环周期。

当使用项目\Conc 的时候,连续运动指令的数量限制为5。

在包含StorePath-RestoPath 的程序段中不允许包含项目\Conc 的运动指令。

如果该项目忽略并且ToJointPos 不是一个停止点,在机器人到达程序zone 之前一段时间后续指令就开始执行了。

RAPID程序指令与功能

RAPID程序指令与功能

":=" - Assigns a value
BitClear - Clear a specified bit in a byte or dnum data
BitSe or dnum data
BookErrNo - Book a RAPID system error number
變量指令
賦值指令 := WaitTime WaitUntil WaitDI WaitDO comment Load UnLoad Start Load Wait Load CancelLoad CheckProgRef Save EraseModule TryInt OpMode RunMode 變量功能
GetDataVal - Get the value of a data object
GetSysData - Get system data
GetTrapData - Get interrupt data for current TRAP
GOTO - Goes to a new instruction
ClearIOBuff - Clear input buffer of a serial channel
ClearRawBytes - Clear the contents of rawbytes data
ClkReset - Resets a clock used for timing
ClkStart - Starts a clock used for timing
CorrDiscon - Disconnects from a correction generator
CorrWrite - Writes to a correction generator

常用RAPID程序指令说明

常用RAPID程序指令说明

5.3 常用RAPID程序指令说明ABB机器人的RAPID编程提供了丰富的指令来完成各种简单与复杂的应用。

接着下来,我们就从最常用的指令开始学习RAPID编程,领略RAPID丰富的指令集为我们提供的编程便利性。

下面我们先来看看在示教器进行指令编辑的基本操作:打开ABB菜单,选择“程序编辑器”。

选中要插入指令的程序位置,高显为蓝色。

点击“添加指令”打开指令列表。

点击此按钮可切换到其它分类的指令列表。

5.3.1 赋值指令“:= ”赋值指令是用于对程序数据进行赋值,赋值可以是一个常量或数学表达式。

我们就以添加一个常量赋值与数学表达式赋值进行说明此指令的使用:常量赋值:reg1 := 5;数学表达式赋值:reg2 := reg1+4;在指令列表中选择“:=”点击“更改数据类型….”,选择num数字型数据。

在列表中找到“num”并选中,然后点击“确定”。

选中“reg1”。

选中“<EXP>”并蓝色高亮显示。

打开“编辑”菜单,选择“仅限选定内容”。

通过软键盘输入数字“5”,然后点击“确定”。

点击“确定”。

在这里就能看到所增加的指令。

下面我们来看看添加带数学表达式的赋值指令的操作:在指令列表中选择“:=”。

选中“reg2”。

选中“<EXP>”,显示为蓝色高亮。

选中“reg1”。

点击“+”选中“<EXP>”,显示为蓝色高亮。

打开“编辑”菜单,选择“仅限选定内容”。

通过软键盘输入数字“4”,然后点击“确定”。

点击“确定”。

点击“下方”。

添加指令成功。

点击“添加指令”将指令列表收起来。

编程画面操作技巧放大/缩小画面向上/向下翻页向上/向下移动5.3.2 机器人运动指令机器人在空间中进行运动主要是四种方式,关节运动(MOVEJ),线性运动(MOVEL),圆弧运动(MOVEC)和绝对位置运动(MOVEABSJ)。

下面我们就来看看如何使用与设定这些运动指令。

➢绝对位置运动指令选择“手动操纵”。

ABB 机器人 RAPID 常用指令详解-中文(1)

ABB 机器人RAPID 常用指令详解-中文1.88.MoveAbsJ—把机器人移动到绝对轴位置用途:MoveAbsJ(绝对关节移动)用来把机器人或者外部轴移动到一个绝对位置,该位置在轴定位中定义。

使用实例:终点是一个单一点对于IR6400C 中的不明确的位置,例如携带超过机器人范围的工具运动。

MoveAbsJ 指令中机器人的最终位置,既不受工具或者工作对象的影响,也不受激活程序更换的影响。

但是机器人要用到这些数据来计算负载、TCP 速度和转角点。

相同的工具可以被用在相邻的运动指令中。

机器人和外部轴沿着一个非直线的路径移动到目标位置。

所有轴在同一时间运动到目标位置。

该指令只能被用在主任务T_ROB1 中,或者在多运动系统中的运动任务中。

基本范例:该指令的基本范例说明如下。

也可参看第207 页更多范例。

例1 MoveAbsJ p50, v1000, z50, tool2;机器人将携带工具tool2 沿着一个非线性路径到绝对轴位置p50,以速度数据v1000 和zone 数据z50。

例2 MoveAbsJ *, v1000\T:=5, fine, grip3;机器人将携带工具grip3 沿着一个非线性路径到一个停止点,该停止点在指令中作为一个绝对轴位置存储(用*标示)。

整个运动需要5 秒钟。

项目:MoveAbsJ [\Conc] ToJointPos [\ID] [\NoEOffs] Speed [\V] | [\T] Zone [\Z] [\Inpos] Tool [\Wobj][\Conc]:并发事件数据类型:switch当机器人正在移动的时候执行的后续指令。

该项目通常不使用,但是当和外部设备通讯、不需要同步的时候可以用来缩短循环周期。

当使用项目\Conc 的时候,连续运动指令的数量限制为5。

在包含StorePath-RestoPath 的程序段中不允许包含项目\Conc 的运动指令。

如果该项目忽略并且ToJointPos 不是一个停止点,在机器人到达程序zone 之前一段时间后续指令就开始执行了。

ABB 机器人 RAPID 常用指令详解-中文(1)

ABB 机器人RAPID 常用指令详解-中文1.88.MoveAbsJ—把机器人移动到绝对轴位置用途:MoveAbsJ(绝对关节移动)用来把机器人或者外部轴移动到一个绝对位置,该位置在轴定位中定义。

使用实例:终点是一个单一点对于IR6400C 中的不明确的位置,例如携带超过机器人范围的工具运动。

MoveAbsJ 指令中机器人的最终位置,既不受工具或者工作对象的影响,也不受激活程序更换的影响。

但是机器人要用到这些数据来计算负载、TCP 速度和转角点。

相同的工具可以被用在相邻的运动指令中。

机器人和外部轴沿着一个非直线的路径移动到目标位置。

所有轴在同一时间运动到目标位置。

该指令只能被用在主任务T_ROB1 中,或者在多运动系统中的运动任务中。

基本范例:该指令的基本范例说明如下。

也可参看第207 页更多范例。

例1 MoveAbsJ p50, v1000, z50, tool2;机器人将携带工具tool2 沿着一个非线性路径到绝对轴位置p50,以速度数据v1000 和zone 数据z50。

例2 MoveAbsJ *, v1000\T:=5, fine, grip3;机器人将携带工具grip3 沿着一个非线性路径到一个停止点,该停止点在指令中作为一个绝对轴位置存储(用*标示)。

整个运动需要5 秒钟。

项目:MoveAbsJ [\Conc] ToJointPos [\ID] [\NoEOffs] Speed [\V] | [\T] Zone [\Z] [\Inpos] Tool [\Wobj][\Conc]:并发事件数据类型:switch当机器人正在移动的时候执行的后续指令。

该项目通常不使用,但是当和外部设备通讯、不需要同步的时候可以用来缩短循环周期。

当使用项目\Conc 的时候,连续运动指令的数量限制为5。

在包含StorePath-RestoPath 的程序段中不允许包含项目\Conc 的运动指令。

如果该项目忽略并且ToJointPos 不是一个停止点,在机器人到达程序zone 之前一段时间后续指令就开始执行了。

ABB 机器人 RAPID 常用指令详解-中文(2)

1.92.MoveExtJ-移动一个或者多个没有TCP 的机械单元用途:MoveExtJ(移动外部关节)只用来移动线性或者旋转外部轴。

该外部轴可以属于一个或者多个没有TCP 的外部单元。

该指令只能用来:和定义为运动任务的实际程序任务一起使用,并且如果任务控制一个或者多个没有TCP 的机械单元。

基本范例:该指令的基本范例说明如下:也参看第225 页的更多范例。

例1 MoveExtJ jpos10, vrot10, z50;移动旋转外部轴到关节位置jpos10,速度10°/秒,zone 数据z50。

例2 MoveExtJ \Conc, jpos20, vrot10 \T:=5, fine \InPos:=inpos20;5 秒钟把外部轴移动到关节位置jpos20。

程序立即向前执行,但是外部轴停止在位置jpos20,直到inpos20 的收敛性标准满足。

项目:MoveExtJ [\Conc] To JointPos [\ID] Speed [\T] Zone [\Inpos][ \Conc]:并发事件数据类型:switch 当外部轴运动的同时,后续的指令开始执行。

该项目通常不使用,但是当使用飞点(flyby points)时,可以用来避免由CPU 过载引起的不想要的停止。

当使用高速度并且编程点相距较近时这是很有用的。

例如,当不要求与外部设备通讯和外部设备和机器人通讯同步的时候,这个项目也很有用。

使用项目\Conc 的时候,连续的运动指令的数量限制为5 个。

在包括StorePath—RestorePath 的程序段中不允许使用带有\Conc 项目的运动指令。

如果不使用该项目,并且ToPoint 不是停止点,在机器人到达程序zone 之前一段时间后续指令就开始执行了。

在多运动系统中的坐标同步运动中不能使用该项目。

ToJointPos:到达关节位置数据类型:jointtarget外部轴的绝对目标轴位置。

RAPID程序构成及常用的编程指令


THANK YOU
运动指令--MoveC
运动指令--MoveC
圆弧运动指令(MoveC)用于将机器人 的TCP沿圆弧形式运动至给定目标点,圆弧 路径由起始点、中间点和目标点来确定。圆 弧运动可理解为机器人在可到达的空间范围 内定义3个位置点,第1个位置点代表圆弧的 起点,第2个位置点代表圆弧的曲率,第3个 位置点代表圆弧的终点。注意:不可能通过 一个圆弧运动指令来完成一个圆周运动。
运动指令--MoveAbsj
运动指令--MoveAbsj
参数
*
\NoEOffs V500
定义 目标点位置数据 外轴不带偏移数据 运动速度数据,500mm/s
Z50
转弯区数据,转弯区的数值越大,机器人的动作越圆滑与流畅。
Tool1
工具坐标数据
Wobj1
工件坐标数据
绝对位置运动指令是机器人的运动使用六个轴和外轴的角度值来定义目标位置数 据;MoveAbsJ常用于机器人六个轴回到机械原点的位置。
PAPID程序构成及常用的编 程指令
输入内容
目录 1 RAPID程序构成
2 常用的编程指令
1.RAPID程序构成
ABB机器人所采用的编程语言为RAPID, 属于动作级编程语言。一个RAPID程序 包含了一连串控制机器人的指令,以 机器人的运动为描述中心,一般一个 指令对应一个动作。 这些指令可以移动机器人、设置输出、 读取输入,还能实现决策、重复其他 指令、构造程序、与系统操作员交流 等。
举例: MoveL p10,v100,fine,tool1\WObj:=wobj1;
MoveC p20,p30,v100,fine,tool1\WObj:=wobj1;
两条指令的含义是:机器人TCP直线运动至p10点,并将其作为圆弧的起点,然后通 过p20这一圆弧上的点,最终运动到圆弧的终点p30 。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档