6 Programming
6.8.1. Programming recommendations
89
3HAC021272-001 Revision: H
© Copyri
ght
200
4-2008 ABB.
All rights reserved.
Use SyncMoveUndo
Always use an
UNDO
handler with a
SyncMoveUndo
instruction in any procedure that has
synchronized movements (i.e. that has a
SyncMoveOn
instruction).
After a
SyncMoveOn
instruction, the movements in the task program are synchronized with
movements in other task programs. If the program pointer is then manually moved before the
SyncMoveOff
instruction is executed, the movements will still be synchronized. This can be
avoided by having an
UNDO
handler that includes a
SyncMoveUndo
instruction.
When the program pointer is manually moved out of a procedure, the
UNDO
handler for that
procedure is called. The
SyncMoveUndo
instruction will end the synchronization if the
movements currently are synchronized. If the movements are not synchronized when the
program pointer is moved,
SyncMoveUndo
will do nothing. It is, in other words, never any
disadvantage in using
SyncMoveUndo
, but very useful if the program pointer is moved.
For more information about
UNDO
handlers, see Technical reference manual - RAPID
overview.
Coordinating against a work object
Coordinating against a work object moved by a mechanical unit in another task can be done
in two ways:
•
All move instructions coordinated with the work object must be executed when the
work object is standing still. See
Semi coordinated movements on page 63
•
The robot that is coordinated with the work object and the mechanical unit that moves
the work object must be in synchronized movement mode. See
synchronized movements on page 69
It is not possible to coordinate against a moving work object, controlled from another task,
without being in synchronized movement mode.
Common work area
If two robots use the same work area, without being in synchronized movement mode,
precautions must be taken to avoid collisions. Make sure that only one of the robots is in the
common area at a time by using one of the following:
•
WaitSyncTask
•
World Zones
•
I/O signal
Continued