BASIC commands
PROGRAMMING MANUAL
110
Revi
si
on 3.0
3.2.177 MOVE
/i
Type
Axis command
Syntax
MOVE(distance_1 [ , distance_2 [ , distance_3 [ , distance_4 [, ...]]]])
MO(distance_1 [ , distance_2 [ , distance_3 [ , distance_4 [, ...]]]])
Description
The
MOVE
command moves with one or more axes at the demand speed
and acceleration and deceleration to a position specified as increment from
the current position. In multi-axis moves the movement is interpolated and the
speed, acceleration and deceleration are taken from the base axis.
The specified distances are scaled using the unit conversion factor in the
UNITS
axis parameter. If, for example, an axis has 4,000 encoder edges/mm,
then the number of units for that axis would be set to 4000, and
MOVE
(12.5)
would move 12.5 mm.
MOVE
works on the default basis axis group (set with
BASE
) unless
AXIS
is
used to specify a temporary base axis. Argument
distance_1
is applied to the
base axis,
distance_2
is applied to the next axis, etc. By changing the axis
between individual
MOVE
commands, uninterpolated, unsynchronised multi-
axis motion can be achieved. Incremental moves can be merged for profiled
continuous path movements by turning on the
MERGE
axis parameter.
Considering a 2-axis movement, the individual speeds are calculated using
the equations below. Given command
MOVE(
x
1
,
x
2
)
and the profiled speed
v
p
as calculated from the
SPEED
,
ACCEL
and
DECEL
parameters from the
base axis and the total multi-axes distance
L
=
SQR(
x
1
2
+
x
2
2
)
.
The individual speed
v
i
for axis
i
at any time of the movement is calculated as:
v
i
= (
x
i
*
v
p
) /
L
.
Arguments
The command can take up to 16 arguments.
•
distance_i
The distance to move for every axis
i
in user units starting with the base
axis.
Example
A system is working with a unit conversion factor of 1 and has a 1000-line
encoder. It is, therefore, necessary to use the following command to move 10
turns on the motor. (A 1000 line encoder gives 4000 edges/turn).
MOVE(40000)
Example
MOVE(10) AXIS(0)
MOVE(10) AXIS(1)
MOVE(10) AXIS(2)
In this example, axes 0, 1 and 2 are moved independently (without interpola-
tion). Each axis will move at its programmed speed and other axis parame-
ters.
Example
An X-Y plotter can write text at any position within its working envelope. Indi-
vidual characters are defined as a sequence of moves relative to a start point
so that the same commands can be used no matter what the plot position.
The command subroutine for the letter M might be as follows:
MOVE(0,12) ' A -> B
MOVE(3,-6) ' B -> C
MOVE(3,6) ' C -> D
MOVE(0,-12) ' D -> E
See also
AXIS
,
MOVEABS
,
UNITS
.
I52E-EN-03.book Seite 110 Freitag, 29. Juni 2007 11:55 11