A机器人RAPID程序指令与功能简述
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)
在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)
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.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程序指令与功能
":=" - 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程序指令说明
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 。
RAPID程序指令与功能
對輸入/輸出信號的值進行設定
IO模塊的控制
通信功能
TPErase TPWrite ErrWrite TPReadFK TPReadNum TPSHow Open Write Close WriteBin WriteAnyBin writeStrBin Rewind ClearIOBuff ReadAnyBin ReadNum ReadStr ReadBin ReadStrBin
Instructions
AccSet - Reduces the acceleration
ActUnit - Activates a mechanical unit
Add - Adds a numeric value Usage
AliasIO - Define I/O signal with alias name
CallByVar - Call a procedure by a variable
CancelLoad - Cancel loading of a module
CirPathMode - Tool reorientation during circle path
Clear - Clears the value
中斷設定
中的控制
系統相關的指令
ClkReset ClkStart ClkStop 時間控制 ClkRead CDate CTime GetTime
數學運算
簡單運算 Clear Add Incr Decr Abs Round Trunc Sqrt Exp Pow ACos 算術功能
算術功能
ASin ATan ATan2 Cos Sin Tan EulerZYX OrientZXY
RAPID程序指令與功能
RAPID程序中的运动指令
2、目标点调整
• 目标点的调整方法有很多种,单一使用一种调整方法难以 将目标点一次调整到位,尤其是对工具姿态要求较高的工 艺需求场合中,通常是运用多种方法进行多次调整。建议 在调整过程中先对单一目标点进行调整,反复尝试调整完 成后,其它目标点某些属性可以参考调整好的第一个目标 点进行对准。
距离p40点还有50mm的时候开始转弯,使用的工具数据是 • tool1,工件数据是wobj1。 • 2) 语句 MoveL p50,v100,fine,tool1\wobj:=wobj1;的意义为: • 机器人的TCP从点p40向点p50 以线性运动方式前进,速度为100mm/s,转弯数据是 • fine,机器人在p50点稍作停顿,使用的工具数据是tool1,工件数据是wobj1。 • 3) 语句 MoveJ p60,v300,fine,tool1\wobj:=wobj1;的意义为: • 机器人的TCP从点p50向点p60 以关节运动方式前进,速度为300mm/s,转弯数据是fine,机器人在
5、其它常用指令
• (1)例行程序调用指令 ProcCall ,用于在指定位置调用例行程序。 • 返回例行程序指令 RETURN,当执行此指令时,马上结束本例行程序的执行
,返回程序指针到调用此例行程序的位置。 • (2)时间等待指令 WaitTime ,用于程序在等待一个指定的时间以后,再继
续向下执行。
须使用fБайду номын сангаасne才可以准确地输出I/O信号状态的变化。 • 数字输入信号判断指令WaitDI,用于判断数字输入信号的值是否与目标一致。 • 数字输出信号判断指令WaitDO,用于判断数字输出信号的值是否与目标一致。 • 信号判断指令WaitUntil,可用于布尔量、数字量和I/O信号值的判断,如果条件到达指令中的设定值,程
RAPID程序构成及常用的编程指令
线性运动指令的基本格式如下:
MoveL p20,v100,fine,tool1\WObj:=wobj1;
含义为:工业机器人TCP从当前位置 P10处以速度100mm/s直线运动至P20处, 使用的是工具坐标数据为tool1,工件坐 标数据为wobj1,到达P20时速度减为零。
运动指令--MoveL
1.RAPID程序构成
通常一个RAPID应用程序包含一个任务, 每个任务包含一个RAPID“程序”和 “程序系统”,并实现一种特定的功 能(如搬运或焊接等)。
RAPID应用程序是由程序模块与系统模 块组成。
程序模块是由编程人员根据作业要求编制的,通常含有登陆程序,即 含主程序的模块主模块和其他被调用的子程序。在所有模块中,有且 只有一个主程序。
2.常用编程指令
机器人运动轨迹是指机器人为完成某一作业任务,TCP所掠过的路径。 运动指令是实现机器人运动形式的指令,主要有关节运动指令(MoveJ)、 线性运动指令(MoveL)、圆弧运动指令(MoveC)和绝对位置运动指令 (MoveAbsJ)。
Hale Waihona Puke 运动指令--Movej运动指令--Movej
RAPID子程序又可分为普通程序(PROC)、功能程序(FUNC)和中断 程序(TRAP)。 主程序及大部分用户子程序均为普通程序。它可以可以被调用,但无 法返回结果。功能程序带返回值,常常用于运算、比较等。中断程序 是用来处理异常情况的特殊程序。
系统模块是由机器人生产厂家编制的,用户无须修改。ABB机器人自带 两个系统模块,user模块和BASE模块。
关节运动指令用于对路径精度要 求不高的情况下,将工具中心点(TCP) 从一个位置移动到另一个位置,两个 位置之间的路径不一定是直线,关节 运动示意如图所示:
RAPID程序常用特殊指令及功能
例,在执行Routine1程序过 程中,当判断条件di=1时,
ENDIF ENDPROC
程序指针会跳转到带跳转标
PROC Routine2() MoveJ p10, v1000, z50, tool0;
ENDPROC
签rHome的位置,开始执行 Routine2的程序。
ENDMODULE
TEST-CASE分支循环指令
实例
MODULE Module1 PROC Routine1()-------例行程序文件名称 TEST number CASE 1:-------------变量值为1时 !chengxu <SMT> CASE 2: -------------变量值为2时 !chengxu <SMT> CASE 3: -------------变量值为3时 !chengxu <SMT> DEFAULT: -------------除变量值为1,2,3的情况 !chengxu <SMT> ENDTEST ENDPROC
例1:AccSet 50,100; 加速度限制到正常值的50%。
例2:AccSet 100,50; 加速度斜线限制到正常值的50%。
总结
通过学习,了解RAPID程序常用特殊指令及功能。
ENDMODULE
GOTO指令
GOTO指令用于跳转到例行程序内标签的位置,配合Label指令(跳转标签)使用。
实例
MODULE Module1
PRrOHComRoeu: t-i-n-e--1-(-)------跳转标签Label的如位置所示GOTO指令的使EN
运动设定指令-VelSet、AccSet
1.速度设定指令VelSet
RAPID程序指令与功能
RAPID程序指令与功能RAPID是ABB机器人控制器的编程语言之一,它用于编写ABB机器人的控制程序。
RAPID程序指令是一组用于控制机器人运动、执行逻辑判断、与外部设备通信等功能的指令集合。
以下是RAPID程序指令的一些常见功能:1.运动指令:RAPID中的运动指令可以控制机器人的运动,例如直线运动、圆弧运动和旋转运动等。
运动指令可以设置运动的目标位置、速度和加速度等参数,使机器人能够准确地执行所需的运动任务。
2.逻辑控制指令:RAPID中包含了一系列的逻辑控制指令,用于实现条件判断、循环控制等逻辑控制功能。
例如,IF-THEN-ELSE语句可以根据条件的成立与否执行不同的操作;FOR和WHILE循环可以重复执行一系列指令。
3.数学计算指令:RAPID提供了一些数学计算指令,用于进行数值计算和数据处理。
例如,可以使用加法、减法、乘法和除法等基本运算指令;还可以进行三角函数计算、矩阵计算和向量计算等。
4.数组和结构体指令:RAPID支持数组和结构体数据类型,可以定义和操作数组和结构体变量。
可以使用数组来存储和处理一组相关的数据,例如位置数据数组;结构体可以组织不同类型的数据,使其易于管理和访问。
5.任务和过程指令:RAPID允许将一系列指令封装为任务或过程,以便在程序中多次调用。
任务可以用于定义一组相关的操作,例如机器人的自动操作流程,而过程可以用于将一组指令封装为一个单一的可执行单元。
6.文件操作指令:RAPID提供了一些用于文件操作的指令,包括文件读写、复制、删除和重命名等。
这些指令可以用于与外部设备进行数据交换,例如从文件中读取参数或将结果写入文件。
7. 通信指令:RAPID提供了一些用于与外部设备进行通信的指令,可以实现与其他设备或系统的数据交换。
例如,可以使用TCP/IP通信指令与其他计算机进行通信,或使用Modbus通信指令与PLC进行数据交换。
8.异常处理指令:RAPID提供了一些异常处理指令,用于处理运行时出现的异常情况。
工业机器人现场编程:RAPID语言及其数据、指令、函数
负载数据 数值数据 位置数据(只有X,Y和Z) 机器人轴角度数据 机器人与外轴的速度数据 字符串 工具数据 工件数据
常用数据类型
RAPID指令和函数
RAPID指令 RAPID函数
本质都是一段 RAPID程序 可以控制机器人的运动
例如:MoveabsJ、MoveJ和 MoveL,逻辑判断指令
休息一下
程序模块
①只有一个主程序mian,并且作为整个RAPID 程序执行的起点,可存在于任意一个程序模块 中
②每一个程序模块一般包含程序数据、程序、 指令、和函数四种对象
系统模块
Procedure类型的程序没有返回值 Funcation类型的程序有特定类型的返回值 Trap类型的程序叫做中断程序
休息一下
学习目标
RAPID程序的架构
RAPID程序的架构
RAPID程序由系统模块与程序模块组成 ,每个模块中可以建立若干程序。
RAPID程序的架构
如图所示,机器人一般都自带USER模块与BASE 模块两个系统模块
机器人会根据应用用途的不同,配备相应 应用的系统模块Fra bibliotek系统模块
建议不要对任何自动生成的系统模块进行修改 。
常量( CONTS)
在程序中是一个静态值,不能赋子新值,想修 改只能通过修改初始值来更改
RAPID数据
程序数据 bool byte clock
jointtarget
loaddaya num pos
robjoint speeddata
string tooldata wobjdata
说明 布尔量 整数数据0~255 计时数据 关节位置数据
学习目标
1.什么是RAPID语言; 2.数据、指令、函数的特点;
A机器人RAPID程序指令与功能简述
A机器人RAPID程序指令与功能简述RAPID程序指令与功能简述程序执行的控制1. 程序的调用指令说明ProcCall 调用例行程序CallByVar 通过带变量的例行程序名称调用例行程序RETURN 返回原例行程序2. 例行程序内的逻辑控制指令说明Compact IF 如果条件满足,就执行下一条指令IF 当满足不同的条件时,执行对应的程序FOR 根据指定的次数,重复执行对应的程序WHILE 如果条件满足,重复执行对应的程序TEST 对一个变量进行判断,从而执行不同的程序GOTO 跳转到例行程序内标签的位置Lable 跳转标签3. 停止程序执行指令说明Stop 停止程序执行EXIT 停止程序执行并禁止在停止处再开始Break 临时停止程序的执行,用于手动调试SystemStopAction 停止程序执行与机器人运动ExitCycle 中止当前程序的运行并将程序指针PP复位到主程序的第一条指令。
如果选择了程序连续运行模式,程序将从主程序的第一句重新执行。
变量指令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 将字节数据转换为字符串运动设定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)。
RAPID程序指令与功能简述程序执行的控制
变量指令
运动设定
运动控制
*:这些功能需要选项“Path recovery”配合。
注:这些功能需要选项“Independent movement”配合。
注:这些功能需要选项“Path offset or RobotWare-Arc sensor”配合。
注:这些功能需要选项“Path recovery”配合。
注:这些功能需要选项“Path recovery”配合。
注:这些功能需要选项“Conveyor tracking”配合。
注:这些功能需要选项“Sensor synchronization”配合。
*:此功能需要选项“Collision detection”配合。
输入/输出信号的处理
通信功能
1. 示教器上人机界面的功能
中断程序
系统相关的指令
数学运算
说明:本文档摘自《工业机器人实操与应用技巧》一书。