第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 ';'
相关信息