Reference Manual

Turbo PMAC/PMAC2 Software Reference
Turbo PMAC Program Command Specification 433
In the execution of a PLC program, when an ENDWHILE statement is encountered, that scan of the PLC
is ended, and Turbo PMAC goes onto other tasks (communications, other PLCs). The next scan of this
PLC will start at the matching WHILE statement.
In the execution of a motion program, if Turbo PMAC finds two jumps backward (toward the top) in the
program while looking for the next move command, Turbo 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 Turbo PMAC will not blend moves when it hits two ENDWHILE statements
(or the same ENDWHILE twice) between execution of move commands.
Examples:
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
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 the Isx90 Feedrate Time Unit I-variable for the coordinate system).
The velocity specified here is the vector velocity of all of the vector-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. 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.
Axes are designated as vector-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 useful only for systems with Cartesian geometries,
for which these moves give a constant velocity in the plane or in 3D space, regardless of movement
direction.
There are several cases in which Turbo PMAC will not use the feedrate commanded with the F statement:
If the specified feedrate causes a move time of over 2
23
msec (about 2 hours 20 minutes) to be
calculated, the move will be executed in 2
23
msec, at a higher speed than what was programmed.
If the feedrate programmed with the F statement exceeds the Isx98 maximum feedrate parameter for
the coordinate system, the Isx98 value will be used instead.