User's Manual

Turbo PMAC User Manual
268 Setting Up a Coordinate System
When the inverse-kinematic program is executed only at programmed end-points, as in RAPID mode, all
interpolation occurs in joint space. In this case, the path of the tip from point to point is not well defined if
the programmed end-points are far apart, and in general it will not be a straight line.
When the inverse-kinematic program is executed at each intermediate segment boundary, the coarse
interpolation (segmentation) is done in tip space, so the path is well defined. After the conversion of the
segment coordinates to joint positions, the fine interpolation between segment boundaries is done in joint
space as a cubic spline, but with the segments close together (typically 5 to 20 msec each) any deviations
from the ideal tip path are negligible.
If the special lookahead buffer for the coordinate system is active (LINEAR or CIRCLE-mode moves with
the lookahead buffer defined for the coordinate system, Isx13 > 0, and Isx20 > 0), the internal spline
segments computed for the joints (motors) are entered into the lookahead buffer automatically. Here they
are continually checked against position, velocity, and acceleration limits for each motor. This permits
Turbo PMAC to check and correct automatically for the motion anomalies that occur near singularities, so
you do not need to do so.
Coordinate System Time-Base
Each coordinate system has its own time base that helps control the speed of interpolated moves in that
coordinate system. Turbo PMAC’s interpolation routines increment an “elapsed-time” register every servo
cycle. While the true time for the servo cycle is set in hardware for the entire system (by jumpers E98,
E29-E33, and E3-E6 on a Turbo PMAC1, by hardware-control variables I7m00, I7m01, and I7m02 for a
Turbo PMAC2 without MACRO, or by I6800, I6801, and I6802 for a Turbo PMAC2 with MACRO) and
does not change for a given application, the value of time added to the “elapsed-time” register for a
coordinate system each servo cycle is just a number in a memory register. It does not have to match the
true physical time for the cycle.
The units for the time base register are such that 2
23
(8,388,608) equals 1 millisecond. The default value
for the time-base register is equal to the value of I10. The factory default value for I10 of 3,713,707
represents the default physical servo cycle time of 442 microseconds.
If the value of the time base register is changed from I10, interpolated moves will move at a different
speed from that programmed. Many people call this capability feedrate override. Note that the physical
time does not change, so servo loop dynamics remain unchanged.