RAPID程序基本指令
RAPID程序常用特殊指令及功能

RAPID程序常用特殊指令及功能RAPID(Robot Application Programming Interface Description)是ABB机器人系统中使用的一种编程语言,用于编写机器人的控制程序。
RAPID具有丰富的指令和功能,下面是一些常用的特殊指令及功能的概述。
1.数据类型和变量:RAPID支持多种数据类型,包括整数(int)、浮点数(num)、布尔值(bool)、字符串(string)等。
同时,可以使用变量来存储和处理数据。
在RAPID中可以通过VAR声明变量,并且可以使用LET给变量赋值。
2.运算符:3.条件语句:条件语句允许根据特定的条件来执行不同的操作。
RAPID中的条件语句包括IF语句和CASE语句。
IF语句用于判断一些条件是否成立,并根据条件的结果执行相应的代码块。
CASE语句用于对变量的多个可能值进行判断,并根据值的不同执行相应的代码块。
4.循环:循环语句允许重复执行相同的代码块。
RAPID中的循环语句包括FOR语句和WHILE语句。
FOR语句用于指定一个变量的初始值、终止条件和变化规律,并在每次循环中对变量进行更新。
WHILE语句用于在满足特定条件的情况下循环执行代码块。
5. 过程(Procedure)和模块(Module):过程是RAPID程序的基本执行单元,它是一段有序的代码块,可以通过PROC指令定义和调用。
模块是由一个或多个过程组成的代码块,它可以通过MODULE指令定义,并可以在其他程序中进行调用。
6.信号和事件处理:7.运动指令:RAPID提供了一系列用于控制机器人运动的指令,包括MOVJ、MOVL、MOVES等。
MOVJ指令用于指定关节坐标系下的直线或圆弧运动。
MOVL指令用于指定工具坐标系下的直线或圆弧运动。
MOVES指令用于指定机器人末端执行器坐标系下的直线或圆弧运动。
8.用户定义的功能模块:9.异常处理:RAPID提供了一些异常处理的指令,如TRY、CATCH和FINALLY。
ABB机器人RAPID常用指令详解-中文(4)

ABB机器人RAPID常用指令详解-中文(4)在RAPID 程序中,静态的WorldZone 不能被解除并再次激活,或者进行擦除。
在RAPID 程序中,临时的WorldZone 可以被解除(WZDisable),再次激活(WZEnable)或者擦除(WZFree)。
语法:WZDOSet[[‘\’Temp] | [‘\’Stat]’,’][WorldZone’:=’][‘\’Inside] | [‘\’Before] ‘,’[Shape’:=’]’,’[Signal’:=’]’,’[SetV alue’:=’]’;’相关信息: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 的标识符。
程序执行:临时WorldZone 被再次激活。
注意,当创建WorldZone 的时候,它是自动激活的。
RAPID程序及基本指令

程序模块1
程序模块2
程序模块3
程序模块4
程序数据
主程序main
例行程序
中断程序
功能
程序数据
例行程序
中断程序
功能
…
…
…
…
程序数据
例行程序
中断程序
功能
RAPID程序的架构说明:
1)RAPID程序是由程序模块与系统模块组成。一般地,只通过新建程序模块来构建机器人的程序,而系统模块多用于系统方面的控制。
具
工业机器人视频教程工业机器人仿真软件
复
习
提
问
转数计数器更新的步骤?
新知识考查点
RAPID程序及基本指令
布置作业
任务书
课后回忆
备注
教员
教研室
主任批阅
二级
ห้องสมุดไป่ตู้院长
复习提问:
转数计数器更新的步骤?
项目名称:RAPID程序及基本指令
课题引入:通过观看机器人运动路径,提出工业机器人编程采用的语言,提出常见的指令。
2)可以根据不同的用途创建多个程序模块,如专门用于主控制的程序模块,用于位置计算的程序模块,用于存放数据的程序模块,这样便于归类管理不同用途的例行程序与数据。
3)每一个程序模块包含了程序数据、例行程序、中断程序和功能四种对象,但不一定在一个模块中都有这四种对象,程序模块之间的数据、例行程序、中断程序和功能是可以互相调用的,在RAPID程序中,只有一个主程序main,并且存在于任意一个程序模块中,并且是作为整个RAPID程序执行的起点。
第三、四步:任务设计与实施(多媒体辅助法,讨论法)
(1)RAPID程序建立步骤如下:
第1步:单击“程序编辑器”,建立RAPID程序
ABB机器人RAPID程序基础

19/53
二 常用程序数据与存储类型
2.1 程序数据 程序数据是在程序模块或系统模块中设定的值和定义的一些环境数据。创建的
程序数据由同一个模块或其他模块中的指令进行引用。下图方框内是一条常用的机 器人关节运动指令(MoveJ),调用了四个程序数据。
13/53
一 RAPID语言的程序组成及分类
1.4 程序编辑的基本流程
• 确定所需要的程序模块的个数,创建程序模块 一
• 确定每个模块中所需要的例行程序的个数,创
二
建例行程序
• 根据任务要求,在例行程序中编写程序 三
14/53
一 RAPID语言的程序组成及分类
1.5 手动执行例行程序
第一步
选择目标例行程序,点击“显示例行程序”。
20/53
二 常用程序数据与存储类型
程序数据
p10 v1000
z50 tool0
表3.1 程序数据说明
数据类型
robtarget speeddata zonedata tooldata
说明
机器人运动目标位置数据 机器人运动速度数据 机器人运动转弯数据 机器人工具数据TCP
21/53
二 常用程序数据与存储类型
一 RAPID语言的程序组成及分类
1.2.3 加载程序模块 单击“文件”,选择“加载模块”。 弹出的对话框,点击“是”。 找到目标模块,点击“确定”。 这样程序模块就成功导入了。
5/53
一 RAPID语言的程序组成及分类
1.2.4 程序模块更改声明 选择目标模块,单击“文件”,选择“更改声明”。
15/53
一 RAPID语言的程序组成及分类
ABB机器人标准指令详解

ABB机器人标准指令详解一、 RAPID程序控制指令1、1程序开始/结束控制指令1) PROGRAM START/END1、指令格式: PROGRAM <程序名> <属性> ;2、描述:此指令标识一个机器人程序的开始或结束。
在这里,<程序名>是你给程序取的名字,<属性>是可选的,表示程序的属性(如:INTERLOCK, NO_INTERLOCK, NOPROGRAM等)。
2) JOB START/END1、指令格式: JOB <作业名> <属性> ;2、描述:此指令标识一个作业的开始或结束。
在这里,<作业名>是你给作业取的名字,<属性>是可选的,表示作业的属性(如:INTERLOCK, NO_INTERLOCK, NOPROGRAM等)。
1、2程序转移指令1) GOTO1、指令格式: GOTO <行号>;2、描述:此指令将程序执行转移到指定的行号。
2) GOSUB1、指令格式: GOSUB <行号>;2、描述:此指令将程序执行转移到指定的行号,并在返回时继续执行当前行。
3) RETURN1、指令格式: RETURN;2、描述:此指令将程序执行从 GOSUB转移到父程序,并从 GOTO转移到原程序行。
1、3条件判断指令1) IF/THEN/ELSE/ENDIF;1、指令格式: IF <条件> THEN <表达式> ELSE <表达式> ENDIF;2、描述:如果满足条件<条件>,则执行 THEN后面的表达式;否则执行 ELSE后面的表达式。
2) CASE/ESAC/ENDCASE;1、指令格式: CASE <变量> IN <表达式1> / <表达式2> /... / ENDCASE;2、描述:此指令根据变量<变量>的值选择要执行的表达式。
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到指定的目标点。
RAPID程序指令与功能

變量指令
賦值指令 := WaitTime WaitUntil WaitDI WaitDO comment Load UnLoad Start Load Wait Load CancelLoad CheckProgRef Save EraseModule TryInt OpMode RunMode 變量功能
IndReset - Independent reset
IndRMove - Independent relative position movement
InvertDO - Inverts the value of a digital output signal
IOBusStart - Start of I/O bus
CallByVar - Call a procedure by a variable
CancelLoad - Cancel loading of a module
CirPathMode - Tool reorientation during circle path
Clear - Clears the value
DitherAct - Enables dither for soft servo
DropWObj - Drop work object on conveyor
EOffsOn - Activates an offset for external axes
EOfl axes using known values
ClearIOBuff - Clear input buffer of a serial channel
ClearRawBytes - Clear the contents of rawbytes data
abb机器人-rapid程序指令与功能简述

5.6 RAPID程序指令与功能简述5.6.1 程序执行的控制1. 程序的调用指令说明ProcCall 调用例行程序CallByVar 通过带变量的例行程序名称调用例行程序RETURN 返回原例行程序2. 例行程序内的逻辑控制指令说明Compact IF 如果条件满足,就执行下一条指令IF 当满足不同的条件时,执行对应的程序FOR 根据指定的次数,重复执行对应的程序WHILE 如果条件满足,重复执行对应的程序TEST 对一个变量进行判断,从而执行不同的程序GOTO 跳转到例行程序内标签的位置Lable 跳转标签3. 停止程序执行指令说明Stop 停止程序执行EXIT 停止程序执行并禁止在停止处再开始Break 临时停止程序的执行,用于手动调试SystemStopAction 停止程序执行与机器人运动ExitCycle 中止当前程序的运行并将程序指针PP复位到主程序的第一条指令。
如果选择了程序连续运行模式,程序将从主程序的第一句重新执行。
5.6.2 变量指令1. 赋值指令指令说明:= 对程序数据进行赋值2. 等待指令指令说明WaitTime 等待一个指定的时间,程序再往下执行WaitUntil 等待一个条件满足后,程序继续往下执行WaitDI 等待一个输入信号状态为设定值WaitDO 等待一个输出信号状态为设定值3. 程序注释指令说明Comment 对程序进行注释4. 程序模块加载指令说明Load 从机器人硬盘加载一个程序模块到运行内存UnLoad 从运行内存中卸载一个程序模块Start Load 在程序执行的过程中,加载一个程序模块到运行内存中Wait Load 当Start Load使用后,使用此指令将程序模块连接到任务中使用CancelLoad 取消加载程序模块CheckProgRef 检查程序引用Save 保存程序模块EraseModule 从运行内存删除程序模块5. 变量功能指令说明TryInt 判断数据是否是有效的整数功能说明OpMode 读取当前机器人的操作模式RunMode 读取当前机器人程序的运行模式NonMotionMode 读取程序任务当前是否无运动的执行模式Dim 获取一个数组的维数Present 读取带参数例行程序的可选参数值IsPers 判断一个参数是不是可变量IsVar 判断一个参数是不是变量6. 转换功能指令说明StrToByte 将字符串转换为指定格式的字节数据ByteToStr 将字节数据转换为字符串5.6.3 运动设定1. 速度设定功能说明MaxRobSpeed 获取当前型号机器人可实现的最大TCP速度VelSet 设定最大的速度与倍率SpeedRefresh 更新当前运动的速度倍率AccSet 定义机器人的加速度WorldAccLim 设定大地坐标中工具与载荷的加速度PathAccLim 设定运动路径中TCP的加速度2. 轴配置管理指令说明ConfJ 关节运动的轴配置控制ConfL 线性运动的轴配置控制3. 奇异点的管理指令说明SingArea 设定机器人运动时,在奇异点的插补方式4. 位置偏置功能指令说明PDispOn 激活位置偏置PDispSet 激活指定数值的位置偏置PDispOff 关闭位置偏置EOffsOn 激活外轴偏置EOffsSet 激活指定数值的外轴偏置EOffsOff 关闭外轴位置偏置功能说明DefDFrame 通过三个位置数据计算出位置的偏置DefFrame 通过六个位置数据计算出位置的偏置ORobT 从一个位置数据删除位置偏置DefAccFrame 从原始位置和替换位置定义一个框架5. 软伺服功能指令说明SoftAct 激活一个或多个轴的软伺服功能SoftDeact 关闭软伺服功能6. 机器人参数调整功能指令说明TuneServo 伺服调整TuneReset 伺服调整复位PathResol 几何路径精度调整CirPathMode 在圆弧插补运动时,工具姿态的变换方式7. 空间监控管理指令说明WZBoxDef 定义一个方形的监控空间WZCylDef 定义一个圆柱形的监控空间WZSphDef 定义一个球形的监控空间WZHomeJointDef 定义一个关节轴坐标的监控空间WZLimJointDef 定义一个限定为不可进入的关节轴坐标监控空间WZLimSup 激活一个监控空间并限定为不可进入WZDOSet 激活一个监控空间并与一个输出信号关联WZEnable 激活一个临时的监控空间WZFree 关闭一个临时的监控空间注:这些功能需要选项“World zones”配合。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图3-30 高亮选中<EXP>
图3-31单击“reg1”
图3-32单击“+”
图3-33 显示reg2:=reg1+<EXP>eg2:=reg1+5
图3-36单击“下方”
图3-37 赋值语句完成
(二)RAPID程序基本指令
• 1、RAPID程序中的赋值指令。“:=”,用于对程序数据进行赋值。 赋值可以是一个常量或数学表达式。例如:在程序中给常量赋值: reg1:=3;数学表达式赋值:reg2:=reg1+5;
• 操作方法如图3-21至3-37 所示。
图3-21单击“添加指令”打开指令列表
图3-22单击“:=”,进入赋值界面
图3-23单击“更改数据类型”,选中“num”,单击确定
图3-24选中“reg1”,单击确定
图3-25高亮选中“<EXP>”,单击“编辑”菜单,单击“仅限选定内容”
图3-26用软键盘输入“3”,然后单击“确定”
图3-27单击“确定”
图3-28 在程序中显示“reg1:=3”
图3-29再选择“:=”,选中“reg2”