ABB RAPID语言参考手册(中文)
- 格式:pdf
- 大小:3.33 MB
- 文档页数:79
技术参考手册RAPID语言概览Trace back information: Workspace R15-2 version a20 Checked in 2015-10-22 Skribenta version 4.6.176技术参考手册RAPID语言概览RobotWare 6.02文档编号: 3HAC050947-010修订: B © 版权所有 2004-2015 ABB。
保留所有权利。
本手册中包含的信息如有变更,恕不另行通知,且不应视为 ABB 的承诺。
ABB 对本手册中可能出现的错误概不负责。
除本手册中有明确陈述之外,本手册中的任何内容不应解释为 ABB 对个人损失、财产损坏或具体适用性等做出的任何担保或保证。
ABB 对因使用本手册及其中所述产品而引起的意外或间接伤害概不负责。
未经 ABB 的书面许可,不得再生或复制本手册和其中的任何部件。
可从 ABB 处获取此手册的额外复印件。
本出版物的原始语言为英语。
所有其他语言版本均翻译自英语版本。
© 版权所有 2004-2015 ABB。
保留所有权利。
ABB ABRobotics ProductsSe-721 68 Västerås瑞典目表目表手册概述 ............................................................................................................................................. 如何查阅本手册 .................................................................................................................................. 7 91 基本RAPID编程111.1 程序结构 ..........................................................................................................1.1.1 简介 ......................................................................................................1.1.2 基本元素 ................................................................................................1.1.3 模块 ......................................................................................................1.1.4 系统模块User ..........................................................................................1.1.5 程序 ......................................................................................................1.2 程序数据 ..........................................................................................................1.2.1 数据类型 ................................................................................................1.2.2 数据声明 ................................................................................................ 1.3 表达式 .............................................................................................................1.3.1 表达式类型 .............................................................................................1.3.2 运用表达式中的数据 .................................................................................1.3.3 运用表达式中的聚合体 ..............................................................................1.3.4 运用表达式中的函数调用 ...........................................................................1.3.5 运算符之间的优先级 .................................................................................1.3.6 语法 ......................................................................................................1.4 指令: .............................................................................................................1.5 控制程序流程 ....................................................................................................1.6 各种指令 ..........................................................................................................1.7 运动设置 ..........................................................................................................1.8 运动 ................................................................................................................1.9 输入输出信号 ....................................................................................................1.10 通信 ................................................................................................................1.11 中断 ................................................................................................................1.12 错误恢复 ..........................................................................................................1.13 UNDO .............................................................................................................1.14 系统&时间 ........................................................................................................1.15 数学 ................................................................................................................1.16 外部计算机通信 ................................................................................................. 1.17 文件操作函数 ....................................................................................................1.18 RAPID配套指令 ................................................................................................. 1.19 校准&服务 ........................................................................................................1.20 字符串函数 .......................................................................................................1.21 多任务 .............................................................................................................1.22 步退执行 .......................................................................................................... 11 11 13 172021 27 27 29 34 3437383940414344 46 48 52 59 62 66 70 7376778081828586 88 932 运动编程和I/O编程972.1 坐标系 .............................................................................................................2.1.1 机械臂的工具中心接触点(TCP) ................................................................2.1.2 用于确定工具中心接触点(TCP)位置的坐标系 (97)97982.1.3 用于定义工具方向的坐标系 (105)2.2 程序执行期间定位 (108)2.2.1 简介 (108)2.2.2 工具位置和姿态的插补 (109)2.2.3 拐角路径插补 (112)2.2.4 独立轴 (117)2.2.5 软伺服 (119)2.2.6 停止和重启 (120)2.3 与逻辑指令同步 (121)2.4 机械臂配置 (125)2.5 机械臂运动模型 (129)2.6 运动监控/碰撞检测 (134)技术参考手册 - RAPID语言概览3HAC050947-010 修订: B5© 版权所有 2004-2015 ABB。
RAPID参考手册指令1.指令1.1.AccSet—降低加速度用途:当处理较大负载时使用AccSet指令。
它允许减慢加速度和减速度,使机器人有一个更平滑的运动。
该指令只能在主任务T_ROB1中使用,或者如果处于多运动系统,在Motion任务中。
基本范例:AccSet的基本范例说明如下。
例1AccSet 50,100;加速度备限制到正常值的50%。
例2AccSet 100,50;加速度斜线限制到正常值的50%。
项目:AccSet Acc RampAcc:数据类型:num(数值)加速度和减速度作为正常值的百分比。
100%对应最大加速度。
最大值:100%。
输入值<20%则给出最大加速度的20%。
Ramp数据类型:num(数值)加速度和减速度的增加作为正常值的百分比的比例(如图)。
通过减小这个数值可以限制震动。
100%对应最大比例。
最大值:100%,输入值<10%则给出最大比例的10%。
下图说明减小加速度可以平滑运动。
加速度加速度加速度时间时间时间AccSet 100,100 正常加速度AccSet 30,100 AccSet 100,30程序执行:该加速度值应用到机器人和外部轴,直到一个新的AccSet指令执行。
缺省值(100%)在以下情况是自动设置:z冷启动z加载了新的程序z从头开始执行程序时语法:“:=”]<数值表达式(IN)>“,”[Ramp “:=”]<数值表达式(IN)>“;”AccSet [AccSet相关信息:有关信息参看在世界坐标系统中控制加速度第590页WorldAccLim--在世界坐标系统中控制加速度沿着路径降低TCP加速度第265页PathAccLim—沿路径降低TCP加速度定位指令 RAPID参考手册-RAPID概述,RAPID摘要部分-运动1.2.ActUnit—激活一个机械单元用途:ActUnit用来激活一个机械单元。
例如当使用普通驱动单元的时候,它可以用来决定哪一个单元被激活。
ABB机器人RAPID编程指令指令中文翻译版ABB机器人RAPID编程指令中文翻译版1.ABB机器人RAPID简介ABB机器人是由瑞士瑞典跨国集团ABB公司开发的,用于工业自动化领域的机器人语言。
RAPID是Robot Average Programming Interface 的缩写,是一种用于ABB机器人编程和控制的语言。
它具有模块化、易于学习、易于阅读等特点,并且广泛应用于ABB机器人的编程中。
2.ABB机器人RAPID编程指令中文翻译版2.1指令格式ABB机器人RAPID编程指令通常由指令名称、指令参数和指令功能组成。
指令名称通常是一个单词或短语,用于描述指令的功能。
指令参数用于指定指令执行时所需的特定信息,而指令功能则描述了该指令在机器人程序中的作用。
2.2常用指令及功能以下是ABB机器人RAPID编程中一些常用指令的中文翻译及其功能:1、MOVEJ:关节运动指令,用于控制机器人在关节空间内移动到指定位置。
2、MOVEL:线性运动指令,用于控制机器人在笛卡尔空间内沿直线移动到指定位置。
3、MOVEL:带偏移线性运动指令,用于控制机器人在笛卡尔空间内沿直线偏移移动到指定位置。
4、OFFSETL:带偏移线性运动指令,用于控制机器人在笛卡尔空间内沿直线偏移移动到指定位置。
5、JUMP:跳跃指令,用于控制程序跳转到指定的标签位置。
*LBL:标签指令,用于标记程序中的特定位置,以便在其他指令中跳转。
6、SET:设置指令,用于将变量设置为指定值。
7、OUT:输出指令,用于将指定变量的值输出到I/O端口。
8、IN:输入指令,用于读取I/O端口的值到指定变量。
9、IF:条件判断指令,用于根据条件执行不同的操作。
10、WHILE:循环控制指令,用于在满足条件时重复执行一段程序。
11、FOR:循环控制指令,用于按照指定次数重复执行一段程序。
12、TRAP:异常处理指令,用于捕获和处理程序中的异常情况。
13、RETURN:返回指令,用于从当前位置返回到程序调用处。
在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 的标识符。
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.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參考手冊指令張建輝韓鵬1.指令1.1.AccSet—降低加速度用途:當處理較大負載時使用AccSet指令。
它允許減慢加速度和減速度,使機器人有一個更平滑的運動。
該指令只能在主任務T_ROB1中使用,或者如果處於多運動系統,在Motion任務中。
基本範例:AccSet的基本範例說明如下。
例1AccSet 50,100;加速度備限制到正常值的50%。
例2AccSet 100,50;加速度斜線限制到正常值的50%。
項目:AccSet Acc RampAcc:資料類型:num(數值)加速度和減速度作為正常值的百分比。
100%對應最大加速度。
最大值:100%。
輸入值<20%則給出最大加速度的20%。
Ramp資料類型:num(數值)加速度和減速度的增加作為正常值的百分比的比例(如圖)。
通過減小這個數值可以限制震動。
100%對應最大比例。
最大值:100%,輸入值<10%則給出最大比例的10%。
下圖說明減小加速度可以平滑運動。
加速度加速度加速度時間時間時間AccSet 100,100 正常加速度AccSet 30,100 AccSet 100,30程式執行:該加速度值應用到機器人和外部軸,直到一個新的AccSet指令執行。
缺省值(100%)在以下情況是自動設置:●冷開機●載入了新的程式●從頭開始執行程式時語法:AccSet [AccSet ‚:=‛]<數值運算式(IN)>‚,‛[Ramp ‚:=‛]<數值運算式(IN)>‚;‛相關資訊:1.2.ActUnit—啟動一個機械單元用途:ActUnit用來啟動一個機械單元。
例如當使用普通驅動單元的時候,它可以用來決定哪一個單元被啟動。
該指令只能在主任務T_ROB1中使用,或者如果處於多運動系統,在Motion任務中。
基本範例:ActUnit的基本範例說明如下:例1 ActUnit orbit_a;orbit_a機械單元的啟動。
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机器人常用指令详解-中文ABB机器人RAPID常用指令详解-中文1.88.MoveAbsJ—把机器人移动到绝对轴位置用途:MoveAbsJ(绝对关节移动)用来把机器人或者外部轴移动到一个绝对位置,该位置在轴定位中定义。
使用实例:l 终点是一个单一点l 对于IR6400C中的不明确的位置,例如携带超过机器人范围的工具运动。
MoveAbsJ指令中机器人的最终位置,既不受工具或者工作对象的影响,也不受激活程序更换的影响。
但是机器人要用到这些数据来计算负载、TCP速度和转角点。
相同的工具可以被用在相邻的运动指令中。
机器人和外部轴沿着一个非直线的路径移动到目标位置。
所有轴在同一时间运动到目标位置。
该指令只能被用在主任务T_ROB1中,或者在多运动系统中的运动任务中。
基本范例:例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之前一段时间后续指令就开始执by 张建辉,韩鹏排版行了。
技术参考手册RAPID语言概览Trace back information: Workspace R15-2 version a20 Checked in 2015-10-22 Skribenta version 4.6.176技术参考手册RAPID语言概览RobotWare 6.02文档编号: 3HAC050947-010修订: B ©版权所有 2004-2015 ABB。
保留所有权利。
本手册中包含的信息如有变更,恕不另行通知,且不应视为 ABB 的承诺。
ABB 对本手册中可能出现的错误概不负责。
除本手册中有明确陈述之外,本手册中的任何内容不应解释为 ABB 对个人损失、财产损坏或具体适用性等做出的任何担保或保证。
ABB 对因使用本手册及其中所述产品而引起的意外或间接伤害概不负责。
未经 ABB 的书面许可,不得再生或复制本手册和其中的任何部件。
可从 ABB 处获取此手册的额外复印件。
本出版物的原始语言为英语。
所有其他语言版本均翻译自英语版本。
©版权所有 2004-2015 ABB。
保留所有权利。
ABB ABRobotics ProductsSe-721 68 Västerås瑞典实用标准目表目表手册概述 ............................................................................................................................................. 如何查阅本手册 . (7)9 1 基本RAPID 编程11 1.1 程序结构 .......................................................................................................... 1.1.1 简介 ...................................................................................................... 1.1.2 基本元素 ................................................................................................1.1.3 模块 ...................................................................................................... 1.1.4 系统模块User .......................................................................................... 1.1.5 程序 ...................................................................................................... 1.2 程序数据 .......................................................................................................... 1.2.1 数据类型 ................................................................................................ 1.2.2 数据声明 ................................................................................................ 1.3 表达式 ............................................................................................................. 1.3.1 表达式类型 ............................................................................................. 1.3.2 运用表达式中的数据 ................................................................................. 1.3.3 运用表达式中的聚合体 .............................................................................. 1.3.4 运用表达式中的函数调用 ........................................................................... 1.3.5 运算符之间的优先级 ................................................................................. 1.3.6 语法 ...................................................................................................... 1.4 指令: ............................................................................................................. 1.5 控制程序流程 .................................................................................................... 1.6 各种指令 .......................................................................................................... 1.7 运动设置 .......................................................................................................... 1.8 运动 ................................................................................................................ 1.9 输入输出信号 .................................................................................................... 1.10 通信 ................................................................................................................ 1.11 中断 ................................................................................................................ 1.12 错误恢复 ................................................................................................11 11 13 1720 212727 29 3434 37 3839 404143 44 46 48 52 59 62 66 70 73 76 77 80 8182 85 8688 93 2 运动编程和I/O 编程 97 2.1 坐标系 ............................................................................................................. 2.1.1 机械臂的工具中心接触点(TCP ) ................................................................ 2.1.2 用于确定工具中心接触点(TCP )位置的坐标系 .............................................. 97 97 98 2.1.3 用于定义工具方向的坐标系 ......................................................................... 105 2.2 程序执行期间定位 .............................................................................................. 108 2.2.1 简介 ..................................................................................................... 108 2.2.2 工具位置和姿态的插补 .............................................................................. 109 2.2.3 拐角路径插补 .......................................................................................... 112 2.2.4 独立轴 .................................................................................................. 117 2.2.5 软伺服 .................................................................................................. 119 2.2.6 停止和重启 (120)2.3 与逻辑指令同步 (121)2.4 机械臂配置 (125)实用标准目表2.7 奇异点 ............................................................................................................. 137 2.8 优化加速度限制 . (140)2.9 全局区域 .......................................................................................................... 141 2.10 I/O 原理 (146)3 术语表 149 151 索引实用标准手册概述手册概述关于本手册这是一本参考手册,详细介绍了编程语言及所有指令、有返回值程序和数据类型。
RAPID参考手册指令1.指令1.1.AccSet—降低加速度用途:当处理较大负载时使用AccSet指令。
它允许减慢加速度和减速度,使机器人有一个更平滑的运动。
该指令只能在主任务T_ROB1中使用,或者如果处于多运动系统,在Motion任务中。
基本范例:AccSet的基本范例说明如下。
例1AccSet 50,100;加速度备限制到正常值的50%。
例2AccSet 100,50;加速度斜线限制到正常值的50%。
项目:AccSet Acc RampAcc:数据类型:num(数值)加速度和减速度作为正常值的百分比。
100%对应最大加速度。
最大值:100%。
输入值<20%则给出最大加速度的20%。
Ramp数据类型:num(数值)加速度和减速度的增加作为正常值的百分比的比例(如图)。
通过减小这个数值可以限制震动。
100%对应最大比例。
最大值:100%,输入值<10%则给出最大比例的10%。
下图说明减小加速度可以平滑运动。
加速度加速度加速度时间时间时间AccSet 100,100 正常加速度AccSet 30,100 AccSet 100,30程序执行:该加速度值应用到机器人和外部轴,直到一个新的AccSet指令执行。
缺省值(100%)在以下情况是自动设置:●冷启动●加载了新的程序●从头开始执行程序时语法:AccSet [AccSet “:=”]<数值表达式(IN)>“,”[Ramp “:=”]<数值表达式(IN)>“;”相关信息:1.2.ActUnit—激活一个机械单元用途:ActUnit用来激活一个机械单元。
例如当使用普通驱动单元的时候,它可以用来决定哪一个单元被激活。
该指令只能在主任务T_ROB1中使用,或者如果处于多运动系统,在Motion任务中。
基本范例:ActUnit的基本范例说明如下:例1 ActUnit orbit_a;orbit_a机械单元的激活。
项目:AccUnit MechUnitMechUnit:机械单元数据类型:mecunit(机械单元)要激活的机械单元的名称。
程序执行:当机器人的和外部轴的实际路径准备好以后,整个路径被清理并且特定的机械单元被激活。
这意味着它被机器人控制和监视。
如果多个机械单元共享一个普通驱动单元,这些单元中的一个的激活,也将把该单元连接到普通驱动单元。
限制:如果在该指令之前有一个运动指令,那个指令的程序中必须带有停止点(区域数据fine),而不是一个通过点,否则将不能进行电源失败后的重启。
AccUnit指令不能在连接到以下任何特定的系统事件的RAPID程序中执行:电源上电,停止,Q停止,重启或者复位。
语法:ActUnit [MechUnit “:=”]<机械单元变量(V AR)>“;”相关信息:1.3.Add—增加一个数字数值用途:Add用于增加一个数值到一个数字变量或恒量,或者从一个数字变量或者恒量中减去一个数值。
基本范例:Add的基本范例说明如下:例1Add reg1,3;3被增加到reg1,即reg1=reg1+3。
例2Add reg1,—reg2从reg1减去reg2,即reg1=reg1-reg2。
项目:Add Name AddValueName:数据类型:数字将要改变的变量或者恒量的名称。
AddValue:数据类型:数字要增加的数值。
语法:Add [Name “:=”]<数字的变量或者恒量(INOUT)>“,”[AddValue“:=”]<数字表达式(IN)>“;”相关信息:1.4.AliasIO—用别名定义I/O用途:AliasIO用来用别名定义一个任意类型的信号,或者用来在内置(built-in)任务模块中使用信号。
在不同的机器人安装中,带别名的信号可以被用来预定义常规程序,而不用在运行之前进行任何的程序更新。
在任何实际信号的使用之前,必须运行AliasIO指令。
参看第17页的基本范例来加载模块,第18页更多范例来安装模块。
基本范例:指令AliasIO的基本范例说明如下:也可参看第18页更多范例例1 V AR signaldo alias_do;PROC Prog_start()AliasIO config_do,alias_do;ENDPROC程序prog_start链接到系统参数的START事件。
程序定义的数字输出信号alias_do链接到程序开头配置的数字输出信号config_do。
项目:AliasIO FromSignal, ToSignal;FromSignal:数据类型:signalxx 或者字符串。
加载的模块:信号标识符按照配置(数据类型signalxx)命名,信号描述符也从配置中复制。
信号必须在IO配置中定义。
安装的模块或者加载的系统模块:一个相关(CONST、V AR、PERS或者它们的参数)包含信号(数据类型string字符串)的名称,从该信号中,信号描述符在系统中搜索后被复制。
信号必须在IO配置中定义。
ToSignal:数据类型:signalxx信号标识符按照程序(数据类型signalxx)命名,信号描述符复制到该系统中。
信号必须在RAPID程序中声明。
FromSignal和ToSignal项目必须使用(或者找到)相同的数据类型,并且必须是类型signalxx (signalai,signalao,signaldi,signaldo,signalgi或者signalgo)中的一个。
程序执行:信号描述符数值从FromSignal项目给出的信号复制到ToSignal项目给出的信号。
更多范例:指令AliasIO的更多范例说明如下。
例1V AR signaldi alias_di;PROC prog_start( )CONST string config_string :=”config_di”;AliasIO config_string,alias_di;ENDPROC程序prog_start链接到系统参数中的START事件。
程序定义的数字输入信号alias_di链接到程序开头配置的数字输入信号config_di(通过常量config_string)。
限制:当开始程序的时候,别名信号直到AliasIO指令执行之后才能使用。
指令AliasIO必须放置在◆或者在程序开始(事件START)时执行的事件程序中◆或者在每一个程序开始之后(信号使用之前)执行的程序部分。
为了防止错误,不推荐使用把AliasIO信号动态重新链接到不同的物理信号。
语法:AliasIO [FromSignal “:=”]<任意类型的相关(REF)>“,”[ToSignal“:=”]<任意类型的变量(V AR)>“;”相关信息:1.5.“:=”—赋值用途:“:=”指令用来给数据赋一个新值。
这一个值可以是包括从常量值到任意的表达式中的任何一个。
例如reg1+5*reg3。
基本范例:指令的基本范例说明如下。
也可参见第19页更多范例。
例1reg1:=5;数值5赋给reg1。
例2reg1:=reg2-reg3;reg2-reg3计算返回的数值赋给reg1。
例3counter:=counter+1;counter增加1。
项目:Data:=V alueData:数据类型:所有将被赋新值的数据。
Value:数据类型:和Data一样。
期望的数值。
更多范例:该指令的更多范例说明如下。
例1tool1.tframe.trans.x:=tool1.tframe.trans.x+20;tool1的TCP在X方向上移动20毫米。
例2pallet{5,8}:=Abs(value)pallet矩阵的一个元素被赋予一个等于value变量的绝对值的数值。
限制:数据(将被改变数值的)不可以是:常量非数值数据类型数值或者数据必须有相似的(相同的或者别名的)数据类型。
语法:(EBNF)<赋值目标>“:=”<表达式>“;”<赋值目标>::=<变量>|<恒量>|<参数>|<VAR>相关信息:1.6.BitClear—在一个字节数据中清除一个特定位用途:BitClear用来清除(设为0)定义的字节数据中一个特定的位。
基本范例:该指令的基本范例说明如下。
例1CONST num parity_bit:=8;V AR byte data1:=130;BitClear data1,parity_bit;变量data1中位号8(parity_bit)将设为0,例如变量data1的内容将从130变成2(整数表示法)。
当使用BitClear时数据类型byte的位操作在下图有说明。
项目:BitClear BitData BitPosBitData:数据类型:字节整型表示法的位数据,将被改变的数据。
BitPos:数据类型:数字BitData中将被设为零的位的位置(1-8)。
限制:字节数据类型的范围是十进制的0-255。
有效的位的位置为1-8。
语法:BitClear [BitData ‘:=’]<字节变量或者恒量(INOUT)>’,’[BitPos’:=’]<数字表达式(IN)>’;’1.7.BitSet—在字节数据中设定一个特定的位用途:BitSet用来在定义的字节数据中把一个特定位设为1。
基本范例:该指令的基本范例说明如下。
例1CONST num parity_bit:=8;V AR byte data1:=2;BitSet data1 parity_bit;变量data1中位号8(parity_bit)将设为1,例如变量data1的内容将从2变成130(整数表示法)。
当使用BitClear时数据类型byte的位操作在下图有说明。
项目:BitSet BitData BitPosBitData:数据类型:字节整型表示法的位数据,将被改变的数据。
BitPos:位的位置数据类型:数字BitData中将被设为零的位的位置(1-8)。
限制:字节数据类型的范围是十进制的0-255。
有效的位的位置为1-8。
语法:BitSet [BitData ‘:=’]<字节变量或者恒量(INOUT)>’,’[BitPos’:=’]<数字表达式(IN)>’;’相关信息:1.8.BookErrNo—定制一个RAPID系统错误号码用途:BookErrNo用来定制一个新的RAPID系统错误号码。
基本范例:该指令的基本范例说明如下:例1!Introduce a new error number in a glue system!Note: The new error variable must be declared with the initial value –1;V AR errnum ERR_GLUEFLOW:=-1;!Book the new RAPID system error numberBookErrNo ERR_GLUEFLOW;变量ERR_GLUEFLOW将被赋给一个空闲的系统错误号码,将在RAPID代码中使用。