move_sync

Description

Moves any two axes simultaneously.


During the move, velocities of each axis are scaled such that all joints start and stop moving together. The velocity value for the move represents the maximum velocity of the axis that is moving the largest number of counts. The maximum velocities of all other moving axes are correspondingly scaled down.

Signature

move_sync(self, axis0: int, axis1: int, cts0: int, cts1: int, vel: Optional[int] = None, accel: Optional[int] = None, wait: bool = True) -> CmdToken

Parameters

axis0: int

The number of the first axis to move [0, 7].


axis1: int

The number of the second axis to move [0, 7].


cts0: int

The position to move the first axis to in units of counts.


cts1: int

The position to move the second axis to in units of counts.


vel: int, optional

Max velocity of the move in units of counts per second [0, 100000]. Values [0, 100] are interpreted as a percentage of the maximum velocity (100,000 cts/s). If the accel parameter is not given, the acceleration will be set to 10x the  velocity in units of cts/s². Note velocity scaling may occur, as explained in the function description.


accel: int, optional

Constant acceleration of the axis to reach the given velocity, in units of counts per second² [0, 500000]. Values [0, 100] are interpreted as a percentage of the  maximum acceleration (500,000 cts/s²).


wait: bool, optional

If True, this command blocks until the move is finished.

Returns

CmdToken

A CmdToken object that can be used to follow up on the status of the move or wait for it to finish if wait = False.

Example