User Tools

Site Tools


Command:MULTIMV (MM)

MS2000 or RM2000 syntax
Shortcut MM
Format MM [X=radius] [Y= speed] [Z= width] [F=mode_byte]
Remembered Using SS Z
Firmware Version Required v8.7+
Firmware Module Required MULTIAXIS_FUNCTION
Tiger syntax
Shortcut MM
Format [addr#]MM [X=radius] [Y= speed] [Z= width] [F=mode_byte] [R?]
Type Axis-Specific
Remembered Using [addr#]SS Z
Firmware Module Required MULTIAXIS_FUNCTION

The MULTIMV command allows several common multi-axis move patterns to be executed. Presently the patterns supported include circles and spirals. If users have other special requirements, they should contact ASI for assistance.

The command, without any arguments, initiates the multi-axis pattern move. Commanded and manual (joystick) moves are not allowed while a multi-axis move is occuring.

The patterns are initiated from the current stage position. The movement is parameterized in terms of the speed (feed rate) in mm/sec and pattern parameters. For circles, the radius in millimeters is the only required parameter. For spirals the width per spiral turn in millimeters is required as well as the maximum radius.

The mode is a bit-mapped character that determines the characteristics of the motion. The mode bits are used according to the following table.

Bit Set Clear
0 Lead-in Move Used No Lead-in Move
1 Controlled acceleration along path, set by ACCEL command, to programmed speed. No controlled acceleration
2 Move pattern repeated indefinitely Only single cycle of move pattern executed
3 Reserved
4 Reserved
5 Reserved
6 Motion pattern selector bits 6 & 7:
01 Circle
10 Helix
11 Spiral

This above settings can be saved into non-volatile memory by issuing the SAVESET command.

Specifying an argument for the pseudoaxis R in decimal sets the state directly (see table below; the value is simply the decimal representation of the corresponding state character). Note that the firmware expects only certain states to be set by the user (marked as “OK to set” in the table); setting to a different state may yield unpredictable results. Querying the pseudoaxis R value returns the decimal associated with the current state (currently expressed as a float; discard anything after the decimal).

Multi-axis move states (MULTIAXIS_FUNCTION firmware)
Char Dec OK to set? State
I 73 No Idle/disabled
S 83 Yes Starts state machine
P 80 Yes Stop (goes to idle state after cleanup)
L 76 No Lead-in move
A 65 No Accelerating
M 77 No Main move
m 109 No Back move (unused?)
F 70 No Fast circle move
R 82 Yes Restart move (fast circles only)


In FAST_CIRCLES mode, a lookup table is generated internally so the circles can occur very fast assuming the hardware allows fast motion. Using this mode changes the behavior of some parameters. There is no way for the user to enable or disable the FAST_CIRCLES modifications; the firmware build either includes FAST_CIRCLES or not (tell by using the BUILD X command).

X parameter (radius) remains the same. Note that the units are millimeters (or degrees for micro-mirror).

Y parameter (speed) is now specified in circles per second. Valid values range from 2 to 1000 with a default of 100 (equivalently a 10 ms period). Most hardware cannot support speeds faster than a few hundred cycles per second.

Z parameter is now the asymmetry ratio. If set to 1.0 (the default) a perfect circle will be generated, if set to 2.0 then the Y axis will move twice as far as the X axis to form an ellipse with major axis twice that of the minor axis. At present there is no way to tilt the ellipse (e.g. phase) but this can be added if needed.

In FAST_CIRCLES mode the circle is repeated indefinitely regardless of Bit2 of the mode_byte.

In FAST_CIRCLES mode the circle is centered at the position whenever it was initiated. To change the offset of the circle, stop the multi-axis move if needed, move to the desired center, and initiate the move (again). (Commanded and manual (joystick) moves are not allowed during any multi-axis moves.)

Changes to settings during a fast circles move will not take effect until the fast circles move is re-initiated.

During a fast circles move the position reported by the WHERE command is the center of the circle, not the instantaneous position.


Lead-in move assumes start location is center of circle and moves out to \begin{equation}X → X + r\end{equation} before the circular motion is started.


Spirals start at current location. Presently, no lead-in move is programmed. The spiral equation is \begin{equation}r = width × \frac{θ}{2π}\end{equation}. Motion continues to the maximum radius. If mode BIT2 is set, the motion then continues spiraling inward, and continues inward and outward until halted.

3MM x=0.02 y=5 z=0.02 f=68

This command sets up the parameters to do a circle pattern for axes on card with address 3 (for MS-2000 omit the initial character 3)

3MM x=0.02 y=2 z=0.002 f=196

This command sets up the parameters to do a spiral pattern for axes on card with address 3 (for MS-2000 omit the initial character 3)

3MM Initiates the patterns (for MS-2000 omit the initial character 3)

3MM The second time disables the routine (for MS-2000 omit the initial character 3)

commands/multimv.txt · Last modified: 2019/05/15 16:58 by jon