Reference Manual

PMAC 2 Software Reference
316 PMAC Program Command Specification
PLCs). The next scan of this PLC will start at the matching WHILE statement.
In the execution of a motion program, if PMAC finds two jumps backward (toward the
top) in the program while looking for the next move command, PMAC will pause
execution of the program and not try to blend the moves together. It will go on to other
tasks and resume execution of the motion program on a later scan. Two statements can
cause such a jump back: ENDWHILE and GOTO (RETURN does not count).
The pertinent result is that PMAC will not blend moves when it hits two ENDWHILE
statements (or the same ENDWHILE twice) between execution of move commands.
Example
WHILE (Q10<10)
Q10=Q10+1
ENDWHILE
See Also
Program commands WHILE, ENDIF
F{data}
Function
Set Move Feedrate (Velocity)
Type
Motion program (PROG and ROT)
Syntax
F{data}
where:
{data} is a positive floating-point constant or expression representing the vector
velocity in user length units per user time units.
Remarks
This statement sets the commanded velocity for upcoming LINEAR and CIRCLE mode
blended moves. It will be ignored in other types of moves (SPLINE, PVT, and RAPID).
It overrides any previous TM or F statement, and is overridden by any following TM or F
statement.
The units of velocity specified in an F command are scaled position units (as set by the
axis definition statements) per time unit (defined by “Feedrate Time Unit” I-variable for
the coordinate system: Ix90).
The velocity specified here is the vector velocity of all of the feedrate axes of the
coordinate system. That is, the move time is calculated as the vector distance of the
feedrate axes (square root of the sum of the squares of the individual axes), divided by
the feedrate value specified here. The minimum effective feedrate value will provide a
move time of 2
23
msec. The maximum effective feedrate value will provide a move time
of 1 msec. Any non-feedrate axes commanded to move on the same move-command line
will move at the speed necessary to finish in this same amount of time.
Note:
If the vector distance of a feedrate-specified move is so short that the
computed move time (vector distance divided by feedrate) would be less
than the acceleration time currently in force (TA or 2*TS), the move will
take the full acceleration time instead, and the axes will move more
slowly than specified by the F command.
Axes are designated as feedrate axes with the FRAX command. If no FRAX command is
used, the default feedrate axes are the X, Y, and Z axes. Any axis involved in circular
interpolation is automatically a feedrate axis, regardless of whether it was specified in the
latest FRAX command. In multi-axis systems, feedrate specification of moves is really
only useful for systems with Cartesian geometries, for which these moves give a constant