User's Manual

Turbo PMAC User Manual
310 Writing and Executing Motion Programs
10. If the application involves high block rates, set the Isx87 default acceleration time to the minimum
block time in msec; the Isx88 default S-curve time to 0.
11. If the application does not involve high block rates, set the Isx87 default acceleration time and the
Isx88 default S-curve time parameters to values that give the desired blending corner size and shape
at the programmed speeds.
12. Store these parameters to non-volatile memory with the SAVE command if you want them to be an
automatic part of the machine state.
13. After each power-up/reset, send the card a DEFINE LOOKAHEAD {# of segments},{# of
outputs} command for the coordinate system, where {# of segments} is equal to Isx20 plus
any segments for which backup capability is desired, and {# of outputs} is at least equal to the
number of synchronous M-variable assignments that may need to be buffered over the lookahead
length.
14. Load your motion program into the Turbo PMAC. Nothing special needs to be done to the motion
program. The motion program defines the path to be followed; the lookahead algorithm may reduce
the speed along the path, but it will not change the path.
15. Run the motion program, and let the lookahead algorithm do its work.
Detailed Instructions: Setting up to use Lookahead
A few steps are required to calculate and set up the lookahead function. Typically, the calculations have
to be done only once in the initial configuration of the machine. Once configured, the lookahead function
operates automatically and invisibly.
Defining the Coordinate System
The lookahead function checks the programmed moves against all motors in the coordinate system.
Therefore, the first step is to define the coordinate system by assigning motors to axes in the coordinate
system with axis definition statements. This action is covered in the Setting up the Coordinate System
section of this manual.
Lookahead Constraints
Turbo PMAC’s lookahead algorithm forces the coordinate system to observe four constraints for each
motor. These constraints are defined in I-variables for each motor representing maximum position
extents, velocities, and accelerations. These I-variables must be set up properly in order for the lookahead
algorithm to work properly.
Position Limits
Variables Ixx13 and Ixx14 for each Motor xx define the maximum positive and negative position values,
respectively, that are permitted for the motor (software overtravel limits). These variables are defined in
counts, and are referenced to the motor zero, or home, position (often called machine zero). Even if the
origin of the axis for programming purposes has been offset (often called program zero), the physical
position of these position limits does not change; they maintain their reference to the machine zero point.
Turbo PMAC checks the actual position for each motor as the trajectory is being executed against these
limits; if a limit is exceeded, the program is aborted and the motors are decelerated at the rate set by
Ixx15.
Variable Ixx41 for each Motor xx defines the distance between the actual position limits explained above,
and the desired position limit that can be checked at move calculation time, even in lookahead. That is, if
the calculated desired move position is greater than (Ixx13 – Ixx41), or less than (Ixx14 + Ixx41), this
will constitute a desired position limit violation. Desired position limits are checked only if bit 15 of
Ixx24 is set to 1.