• 沒有找到結果。

第26页的Add-增加数值向变量增加任意数值。

在文檔中 技术参考手册 (頁 104-109)

第32页的":=" - 分配一个数值

改变任意数据

1.36 Clear - 清除数值 RobotWare - OS

1.37 ClearIOBuff - 清除串行通道的输入缓存

手册用法

ClearIOBuff(Clear I/O Buffer)用于清除串行通道的输入缓存。删除输入串行通 道的所有缓存字符。

基本示例

以下实例介绍了指令ClearIOBuff:

例 1

VAR iodev channel1;

...

Open "com1:", channel1 \Bin;

ClearIOBuff channel1;

WaitTime 0.1;

清除channel1参考的串行通道输入缓存。等待时间应确保有足够的时间来完成清除 操作。

变元

ClearIOBuff IODevice

IODevice

数据类型:iodev

输入缓存已被清除的串行通道的名称(引用)。

程序执行

删除输入串行通道的所有缓存字符。下一个读取指令将等待来自通道的新输入。

上电失败重启时,将关闭系统中所有打开的文件或串行通道,并将重置iodev型变量 中的I/O描述符。

限制

本指令仅可用于串行通道。切勿等待确认完成操作。推荐指令后,允许等待0.1,从而 为各个应用留下充足的操作时间。

错误处理

可能会产生下列可恢复错误。错误可以由错误处理程序处理。系统变量ERRNO将设置 为:

错误原因 名称

将本指令用于文件。

ERR_FILEACC

语法

ClearIOBuff

[IODevice ':='] <variable (VAR) of iodev>';'

下一页继续

技术参考手册 - RAPID指令、函数和数据类型 105

3HAC050917-010 修订: C

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

1.37 ClearIOBuff - 清除串行通道的输入缓存 RobotWare - OS

相关信息

请参阅 信息,关于

技术参考手册 - RAPID语言概览 打开串行通道

应用手册 - 控制器软件IRC5 文件和串行通道处理

1.37 ClearIOBuff - 清除串行通道的输入缓存 RobotWare - OS

续前页

1.38 ClearPath - 清除当前路径

手册用法

ClearPath(Clear Path)清除当前运动路径等级(基础等级或StorePath等级)

上的整个运动路径。

使用运动路径,意味着所有运动指令的运动顺序,均已在RAPID中执行,但是并非由 机械臂在ClearPath执行期间予以实施。

在能够执行指令ClearPath之前,机械臂必须位于停止点位置,或者必须通过 StopMove来停止。

基本示例

以下实例介绍了指令ClearPath:

xx0500002154

在以下程序实例中,机械臂从位置home移动至位置p1。在点px处,信号di1将表明有 效负载已经下降。在软中断程序gohome中持续执行。在px处,机械臂将停止移动(开 始制动),路径将得以清除,机械臂将移动至位置home。错误将得以提高至调用程序 minicycle,且整个用户确定程序周期proc1 ... proc2将再次从开始执行一次。

例 1

VAR intnum drop_payload;

VAR errnum ERR_DROP_LOAD := -1;

PROC minicycle()

BookErrNo ERR_DROP_LOAD;

proc1;

...

ERROR (ERR_DROP_LOAD)

! Restart the interupted movement on motion base path level StartMove;

RETRY;

ENDPROC

PROC proc1() ...

proc2;

...

ENDPROC

下一页继续

技术参考手册 - RAPID指令、函数和数据类型 107

3HAC050917-010 修订: C

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

1.38 ClearPath - 清除当前路径 Robot Ware - OS

PROC proc2()

CONNECT drop_payload WITH gohome;

ISignalDI \Single, di1, 1, drop_payload;

MoveL p1, v500, fine, gripper;

...

IDelete drop_payload;

ENDPROC

TRAP gohome

StopMove \Quick;

ClearPath;

IDelete drop_payload;

StorePath;

MoveL home, v500, fine, gripper;

RestoPath;

RAISE ERR_DROP_LOAD;

ERROR

有关于指令ClearPath 的限制实例阐述如下。

实例1 - 限制

VAR intnum int_move_stop;

...

PROC test_move_stop()

CONNECT int_move_stop WITH trap_move_stop;

ISignalDI di1, 1, int_move_stop;

MoveJ p10, v200, z20, gripper;

MoveL p20, v200, z20, gripper;

ENDPROC

TRAP trap_move_stop StopMove;

ClearPath;

StorePath;

MoveJ p10, v200, z20, gripper;

RestoPath;

StartMove;

ENDTRAP

此为ClearPath限制的实例。在机械臂移动至 p10和p20期间,停止进行中的移动,

清除运动路径,但是并未采取任何行动,以中断PROC test_move_stop中的有效指 令MoveJ p10或MoveL p20。因此,将中断进行中的移动,机械臂将转到TRAP trap_move_stop中的p10,但是并未进一步移动到PROC test_move_stop中的 p10或p20。将暂停程序执行。

1.38 ClearPath - 清除当前路径 Robot Ware - OS

续前页

可通过下文实例2中描述的长跳转来恢复错误,或者通过与指令ProcerrRecovery异 步的错误,以解决此问题。

实例2 - 无限制

VAR intnum int_move_stop;

VAR errnum err_move_stop := -1;

...

PROC test_move_stop() BookErrNo err_move_stop;

CONNECT int_move_stop WITH trap_move_stop;

ISignalDI di1, 1, int_move_stop;

MoveJ p10, v200, z20, gripper;

MoveL p20, v200, z20, gripper;

ERROR (err_move_stop) StopMove;

ClearPath;

StorePath;

MoveJ p10, v200, z20, gripper;

RestoPath;

! Restart the interupted movement on motion base path level StartMove;

RETRY;

ENDPROC

TRAP trap_move_stop RAISE err_move_stop;

ERROR RAISE;

ENDTRAP

此为如何使用错误恢复及长跳转连同不含任何限制的ClearPath 的实例。在机械臂 移动至p10 和p20期间,停止正在进行中的移动。清除运动路径,且由于通过执行等 级边界来恢复错误,中断有效指令MoveJ p10或MoveL p20。因此,将中断正在进 行中的移动,且机械臂将转到ERROR handler中的p10,并再次执行PROC

test_move_stop中的中断指令MoveJ p10或MoveL p20。

语法

ClearPath ';'

相关信息

请参阅 信息,关于

第690页的StopMove - 停止机械臂的移动

在文檔中 技术参考手册 (頁 104-109)