Delta Tau GEO BRICK LV 用户手册
Turbo PMAC User Manual
Writing and Executing Motion Programs
325
The F (feedrate) statement specifies a speed, the X statements command actual moves for the X-axis, and
the DWELL statement commands a halt for the specified time. This program simply specifies a basic
move and return.
the DWELL statement commands a halt for the specified time. This program simply specifies a basic
move and return.
Defaults
A program this simple relies on quite a few default settings and modes. This one uses the following
defaults: LINEAR move mode, ABS (absolute) axis specification, with Isx87 and Isx88 specifying the TA
and TS acceleration times, respectively.
Controlling Parameters
What the values in the program mean can depend on external parameters as well. The X positions are in
user units, as defined in the axis definition statement for the X-axis. The F speed specification is in terms
of user position units divided by feedrate time units, as set by variable Isx90 for the coordinate system.
A program this simple relies on quite a few default settings and modes. This one uses the following
defaults: LINEAR move mode, ABS (absolute) axis specification, with Isx87 and Isx88 specifying the TA
and TS acceleration times, respectively.
Controlling Parameters
What the values in the program mean can depend on external parameters as well. The X positions are in
user units, as defined in the axis definition statement for the X-axis. The F speed specification is in terms
of user position units divided by feedrate time units, as set by variable Isx90 for the coordinate system.
Simultaneous Moves on Multiple Axes
To perform simultaneous coordinate moves of several axes in a coordinate system, simply put their move
specifications on the same line. For instance, if the above program was changed to:
To perform simultaneous coordinate moves of several axes in a coordinate system, simply put their move
specifications on the same line. For instance, if the above program was changed to:
F5000
X10000 Y10000 Z10000
DWELL1000
X0 Y0 Z0
the X, Y, and Z-axes will command a simultaneous move to 10,000, stay there for one second, then
command a simultaneous move to 0.
command a simultaneous move to 0.
If an axis in the coordinate system is not commanded in a given move line, a zero-distance move for that
axis is assumed (note that it is technically performing a move, so it cannot be in- position).
axis is assumed (note that it is technically performing a move, so it cannot be in- position).
Sequential Moves
If the program is in LINEAR, CIRCLE, PVT, or SPLINE mode, and there is more than one move
command line in a program without a DWELL or DELAY in between (there can be other statements in
between), the moves will blend together without stopping. The exact form of the blending will depend on
the move mode in force (see Trajectory Features). However, if Isx92 for the coordinate system (Move
Blend Disable), this blending capability is disabled.
If the program is in LINEAR, CIRCLE, PVT, or SPLINE mode, and there is more than one move
command line in a program without a DWELL or DELAY in between (there can be other statements in
between), the moves will blend together without stopping. The exact form of the blending will depend on
the move mode in force (see Trajectory Features). However, if Isx92 for the coordinate system (Move
Blend Disable), this blending capability is disabled.
Adding Logic
A little logic can be added to make the language more powerful. Suppose we wanted to repeat the above
sequence 100 times. Rather than repeating the above statements 100 times, we can create a loop:
sequence 100 times. Rather than repeating the above statements 100 times, we can create a loop:
F5000
P1=0
WHILE (P1<100)
X10000
DWELL1000
X0
DWELL1000
P1=P1+1
ENDWHILE
Note that the F5000 statement is not inside the loop. By putting it before the loop, we save PMAC from
having to interpret and execute the statement every time through the loop. Since it is a modal statement,
its effect stays in force. This is not essential, but if loop time is very short, it can make a difference.
having to interpret and execute the statement every time through the loop. Since it is a modal statement,
its effect stays in force. This is not essential, but if loop time is very short, it can make a difference.