EasyManua.ls Logo

ABB MultiMove - 7.4. Example of creating asynchronously raised error

ABB MultiMove
110 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
7 RAPID error recovery
7.4. Example of creating asynchronously raised error
3HAC021272-001 Revision: H94
© Copyright 2004-2008 ABB. All rights reserved.
7.4. Example of creating asynchronously raised error
About this example
In this example, a process is started by setting
do_myproc to 1. The process is then
supervised and the signal
di_proc_sup is set to 1 if the process fails.
If a process failure occurs during a robot movement, an interrupt calls a trap routine. The
instruction
ProcerrRecovery will stop the movement and raise the error
ERR_PATH_STOP in all task programs with synchronized movements.
The T_HANDLEROB task program must have an error handler that restarts the movement
when the error has been resolved in the T_PROCROB task program. This only requires one
instruction,
StartMoveRetry.
T_PROCROB task program
VAR intnum proc_sup_int;
PROC main()
...
SyncMoveOn, sync1, motion_tasks;
my_proc_on;
MoveL p101\ID:=10, v100, z10, gun1 \WObj:=wobj_handlerob;
MoveL p102\ID:=20, v100, fine, gun1 \WObj:=wobj_handlerob;
my_proc_off;
SyncMoveOff sync2;
...
ERROR
IF ERRNO = ERR_PATH_STOP THEN
my_proc_on;
StartMoveRetry;
ENDIF
ENDPROC
TRAP iprocfail
my_proc_off;
ProcerrRecovery \SyncLastMoveInst;
RETURN;
ENDTRAP
PROC my_proc_on()
SetDO do_myproc, 1;
CONNECT proc_sup_int WITH iprocfail;
ISignalDI di_proc_sup, 1, proc_sup_int;
ENDPROC
Continues on next page

Table of Contents

Related product manuals