Specifications

BASIC commands
PROGRAMMING MANUAL 117
Revision 5.0
3.2.176 MOD
/i
3.2.177 MOTION_ERROR
/i
3.2.178 MOVE
/i
Type Mathematical function
Syntax expression1 MOD expression2
Description The MOD function returns the expression2 modulus of expression1. This
function will take the integer part of any non-integer input.
Arguments expression1
Any valid BASIC expression.
expression2
Any valid BASIC expression.
Example >> PRINT 122 MOD 13
5.0000
See also N/A
Type System parameter (read-only)
Syntax MOTION_ERROR
Description The MOTION_ERROR parameter contains a bit pattern showing the axes
which have a motion error. For example. if axis 2 and 6 have the motion error
the MOTION_ERROR value would be 68 (4+64).
A motion error occurs when the AXISSTATUS state for one of the axes
matches the ERRORMASK setting. In this case the enable switch (WDOG)
will be turned off, and MOTION_ERROR contains a bit pattern showing all
axes which have the motion error. The ERROR_AXIS parameter will contain
the number of the first axis to have the error.
A motion error can be cleared executing a DATUM(0) command or resetting
the controller with an EX command.
Arguments N/A
Example No example.
See also AXIS, AXISSTATUS, DATUM, ERROR_AXIS, ERRORMASK, WDOG.
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. Note that the electronic gear ratio parameters of the
Servo Driver can be used to adjust the number of encoder pulses per linear
axis distance. For details see 5.1.3.
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 in user units starting with the base
axis.
Example A system works with a unit conversion factor of 1 and has a 1000 line
encoder. Note that a 1000 line encoder gives 4000 edges/turn.
MOVE(40000) ' move 10 turns on the motor.