SetCheckpoint#
This command defines a checkpoint in the motion queue. Thus, if you send a sequence of
motion commands to the robot, then the command SetCheckpoint, then other
motion commands, you will be able to know the exact moment when the motion command sent
just before the SetCheckpoint command was completed. At that precise moment,
the robot will send back the response [3030][n] (on both ports), where n is a positive
integer number defined by you. If blending was activated, the checkpoint response will
be sent somewhere along the blending. If a checkpoint is the last queued command, in
the absence of blending with another command, the checkpoint response will be sent once
the robot has come to a stop (along with an EOB). Finally, note that you can use the
same checkpoint number multiple times.
Syntax#
SetCheckpoint(n)
Arguments#
n: an integer number, ranging from 1 to 8,000, representing the checkpoint number.
Responses#
[3030][n]
Sent when the checkpoint has been reached.
[3040][n]
Sent when the checkpoint has been discarded and will never be reached (due to motion cleared, robot deactivated, error, safety stop. etc.)
Note
Using a checkpoint is the only reliable method to confirm whether a specific motion sequence has been completed. Do not rely on the EOM or EOB messages, as these may be received well before the motion or sequence is finished—or not received at all if these messages are not enabled.
Usage restrictions#
This command is added to the robot’s motion queue and can only be executed when the robot is ready for motion, not in an error state and when no safety signal conditions are present. Otherwise, the robot will report one of the following:
[1005][The robot is not activated.]
[1006][The robot is not homed.]
[1011][The robot is already in error.]
Cyclic protocols#
In cyclic protocols, the SetCheckpoint command is represented by
MotionCommandID 17. See Section 4.2 for more details.