7 RAPID error recovery
7.5. Example with movements in error handler
3HAC021272-001 Revision: H96
© Copyright 2004-2008 ABB. All rights reserved.
7.5. Example with movements in error handler
About this example
In this example, an asynchronous error can occur that requires the robot to move to another
position to resolve the error. The synchronization is suspended by using
StorePath in all
tasks with synchronized movements, and restored by using
RestoPath.
The instruction
ArcL is used in this example. This instruction handles the process for arc
welding as well as acts as a move instruction. To understand this example, all you need to
know is that it is a move instruction (similar to
MoveL) which can result in asynchronous
process errors. For more information about
ArcL, see Application manual - Arc and Arc
Sensor and Technical reference manual - RAPID Instructions, Functions and Data types.
NOTE!
Note that the T_STN1 task program must have the instructions
StorePath and RestoPath,
even if there is no code between these instructions. No task program continues to execute its
error handler until all task programs execute the
StorePath instruction.
T_ROB1 task program
...
SyncMoveOn, sync1, all_tasks;
ArcL p101\ID:=10, v100, seam1, weld1, weave1, z10, gun1
\WObj:=wobj_stn1;
...
ERROR
IF ERRNO=AW_WELD_ERR OR ERRNO=ERR_PATH_STOP THEN
StorePath;
IF ERRNO=AW_WELD_ERR THEN
gun_cleaning;
ENDIF
RestoPath;
StartMoveRetry;
ENDIF
...
PROC gun_cleaning()
VAR robtarget p199;
p199 := CRobT(\Tool:=gun1 \WObj:=wobj0);
MoveL pclean, v100, fine, gun1;
...
MoveL p199, v100, fine, gun1;
ENDPROC
Continues on next page