• 沒有找到結果。

5 RAPID 参考信息

在文檔中 操作员手册 IRB 14000 (頁 59-62)

5.1 指令:

5.1.1 ContactL - 线性接触移动

手册用法

ContactL(Contact Linear) 用于在线性移动工具中心点 (TCP) 时在所需的位置获取 与某个对象的接触。

碰撞检测级别额提升到最大值,在移动期间,机器人会监测内部转矩并与用户提供多 达转矩级别比较。当达到所需的用户转矩级别时,机器人会执行一个硬性停止,然后 继续执行程序的其余部分。

在机器人抓持的工具必须将某个物体按入位置时通常使用此指令。

此指令只能用于主任务T_ROB1,或 MultiMove 系统中的 Motion 任务。

ContactL指令的最大速度为 100 mm/s。

描述

要后造出转矩水平ldesiredTorque的值,有必要测试应用程序并查看内部测试信 号,使用 TuneMaster 查看信号 7901。

xx1500000649

关于 TuneMaster 的更多详情请参阅应用程序中附带的帮助章节。

基本示例

以下示例介绍了ContactL指令:

另请参阅第62页的更多示例 例 1

desiredTorque := 0.1;

ContactL \DesiredTorque:=desiredTorque, p10, v100, tool1;

下一页继续

操作员手册 - IRB 14000 59

3HAC052986-010 修订: A

© 版权所有 2016 ABB。保留所有权利。

5.1.1 ContactL - 线性接触移动

tool1的 TCP 朝p10位置线性移动,速度为v100。当内部转矩级别的值超过用户 指定的desiredTorque级别,机器人将执行硬性停止,然后程序将从机器人停止的 位置继续执行。

变元DesiredTorque为可选项。当DesiredTorque缺失时,ContactL指令将 只会把碰撞检测级别提升到最大值,即在移动 TCP 时允许对某个对象保持压力。

如果机器人到达所需位置时尚未达到desiredTorque,则会出现执行错误,系统停 止,并记录事件日志。因此建议为此类情况安排一个错误处理程序,请参阅

第61页的 错误处理。

例 2

ContactL RelTool (CRobT(),5,5,0), v100, \Zone:=z10, tool1;

机器人会移动到距离工具当前位置 x 方向 5 mm 以及 y 方向 5 mm 的位置。如果Zone 变元缺失,ContactL指令将使用一个良好的点作为默认值。

在示例中,变元DesiredTorque缺失。指令将会只提升碰撞检测级别到最大值,而 ContactL指令的功能将会类似MoveL指令。

例 3

desiredTorque := 0.9;

ContactL \DesiredTorque:=desiredTorque, p10, v100, tool1;

ContactL RelTool (CRobT(),5,5,0), v100, \Zone:=z10, tool1;

ContactL RelTool (CRobT(),5,5,-10), v100, \Zone:=z10, tool1;

MoveL ...

不仅在接触时使用ContactL指令很重要,在脱离接触时也一样重要。正常的移动指 令很可能会触发动作监测。

变元

ContactL [\DesiredTorque] ToPoint [\ID] Speed [\Zone] Tool [\WObj]

[ \DesiredTorque ]

数据类型:num 用户定义的转矩级别。

如果定义了DesiredTorque,则ContactL将会始终使用一个良好点作为目标的区 域数据。当DesiredTorque缺失时,ContactL指令将只会提升碰撞检测级别而不 会监测内部转矩级别。

ToPoint

数据类型:robtarget

机器人和外部轴的目标点。定义为已命名的位置或直接存储在指令中(在指令中加 * 标记)。

[ \ID ]

Synchronization id 数据类型:identno

如果移动是同步或协调同步的,变元[ \ID ]在 MultiMove 系统中是强制的。这个 变元在任何其他情况下都不允许使用。指定的 ID 号必须与所有协作程序任务中的 ID 号相同。使用此 ID 号,动作才不会在运行时搞混。

下一页继续

60 操作员手册 - IRB 14000

3HAC052986-010 修订: A

© 版权所有 2016 ABB。保留所有权利。

5.1.1 ContactL - 线性接触移动 续前页

Speed

数据类型:speeddata

适用于移动的速度数据。速度数据定义了工具中心点的速率、工具重定位以及外部轴。

[ \Zone ]

数据类型:zonedata

移动的区域数据。区域数据描述产生的角落路径的大小,仅在DesiredTorque缺失 时使用。

如果[\Zone] 变元缺失,ContactL指令将使用一个良好点作为默认值。

Tool

数据类型:tooldata

当机器人移动时工具处于使用状态。工具中心点是移向指定目标点的点。

[ \WObj ]

Work Object

数据类型:wobjdata

指令中机器人位置关联的工件(坐标系)。

此边缘可以缺失,此时位置与世界坐标系关联。另一方面,如果使用了静态 TCP 或协 调外部轴,则必须指定此变元才能执行相对此工件的线性移动。

程序执行

有关线性移动的信息请参阅MoveL指令。

如果定义了DesiredTorque变元,则当内部转矩级别超过用户定义的转矩级别时,

机器人移动停止。否则,机器人移动将继续,直到编程设定的目标点。

如果变元DesiredTorque确实,碰撞检测级别会提升到最大值,且不会对内部转矩 级别进行监测,即允许在移动 TCP 时保持对某个对象的压力。

错误处理

执行ContactL过程中出现下列情况时会报告错误:

• ContactL到达变元ToPoint中指定的而未达到用户指定的DesiredTorque。

这会产生错误ERR_CONTACTL。

根据所选的运行模式,错误可以用不同方法来处理。

连续向前/指令向前:

不会返回位置,移动会始终继续朝编程设定的目标点前进。系统变量ERRNO设 置为ERR_CONTACTL,错误可以由例行程序中的错误处理程序来处理。

指令向后:

在向后执行时,指令会进行移动而不监测转矩。

示例

VAR num desiredTorque;

...

desiredTorque := 0.1;

MoveL p10, v100, fine, tool1;

ContactL \DesiredTorque:=desiredTorque, p20, v100, tool1;

...

下一页继续

操作员手册 - IRB 14000 61

3HAC052986-010 修订: A

© 版权所有 2016 ABB。保留所有权利。

5.1.1 ContactL - 线性接触移动 续前页

ERROR

IF ERRNO=ERR_CONTACTL THEN StorePath;

MoveL p10, v100, fine, tool1;

RestoPath; DesiredTorque,则机器人移回p10并再试一次。

更多示例

下面显示了更多ContactL指令的示例。

例 1

ContactL p10, v100, \Zone:=z10, tool1;

tool1的 TCP 以直线方式移向p10位置,其速度为v100,区域大小为 10 mm。

由于变元DesiredTorque缺失,ContactL指令将只会把碰撞检测级别提升到最大 值,而不会监测内部转矩级别。

语法

ContactL

[ '\' DesiredTorque ',']

[ ToPoint ':=' ] < expression (IN) of robtarget >

[ '\' ID ':=' < expression (IN) of identno >] ',' [ Speed ':=' ] < expression (IN) of speeddata >

[ '\' Zone ':=' < expression (IN) of zonedata > ] ',' [ Tool ':=' ] < persistent (PERS) of tooldata >

[ '\' WObj ':=' < persistent (PERS) of wobjdata > ] ';'

3HAC052986-010 修订: A

© 版权所有 2016 ABB。保留所有权利。

5.1.1 ContactL - 线性接触移动 续前页

在文檔中 操作员手册 IRB 14000 (頁 59-62)

相關文件