8-30 Trio BASIC Commands
Motion and Axis Commands
Trio Motion Technology
DEFPOS
Type:
Motion Command.
Syntax:
DEFPOS(pos1 [,pos2[, pos3[, pos4.....]]])
Alternate Format:
DP(pos1 [,pos2[, pos3[, pos4]]])
Description:
Defines the current position as a new absolute value. The command is typically used
after a
DATUM
sequence as these always set a datum of zero. It may however be
used at any time, even whilst a move is in progress.
Parameters:
Note:
As many parameters as axes on the system may be specified.
Example:
DATUM(5)
BASE(2)
DATUM(4)
BASE(1)
WAIT IDLE
DEFPOS(-1000,-3500)
The last line defines the current position, reset to (0,0) by the two
DATUM
state-
ments as (-1000,-3500) in user units.
Note:
See also
OFFPOS
which performs a relative adjustment of position.
Note 2:
Changes to the axis positions made via
DEFPOS
and
OFFPOS
are made on the next
servo update. This can potentially cause problems as the user program may con-
tinue to execute commands after the
DEFPOS
is complete, but before the next servo
update. For example, the following sequence could easily fail to move to the cor-
rect absolute position because the
DEFPOS
will not have been completed when the
MOVEABS
is loaded.
Example 2:
DEFPOS(100)
MOVEABS(0)' DEFPOS may not have occurred yet
DEFPOS
statements are internally converted into
OFFPOS
position offsets which pro-
vide an easy way to avoid the problem described:
DEFPOS(100)
WAIT UNTIL OFFPOS=0' Ensures DEFPOS is complete before next line
MOVEABS(0)
pos1:
Absolute position to set on current base axis in user units.
pos2:
Abs. position to set on the next axis in
BASE
array in user units.
pos3:
Abs. position to set on the next axis in
BASE
array in user units.