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: 00 FAST_CIRCLES 01 Circle 10 Helix (not implemented) 11 Spiral |
|
7 |
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) |
FAST_CIRCLES
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.
Circles
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
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.
Example
3MM x=0.02 y=5 z=0.02 f=68 :A
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 :A
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
)