Delta Tau GEO BRICK LV User Manual

Page of 440
 
Turbo PMAC User Manual 
316
 
Writing and Executing Motion Programs 
First, the programmed acceleration time, which is the larger of TA or 2*TS, is the minimum move-block 
time.  If PMAC initially computes a smaller move time, typically as (vector-distance divided by vector-
feedrate), it will increase the time to be equal to the acceleration time, slowing the move.  This check 
occurs even before lookahead (which can only slow the move further), and it is an important protection 
against computational overload.  The acceleration time must be set low enough not to limit valid moves. 
Note:  
The acceleration time may be set to 0; in this case, Turbo PMAC sets a minimum 
move time of 0.5 milliseconds. 
Second, as longer moves are blended together, the programmed acceleration time and feedrate control the 
corner size for the blending.  The blended corner begins a distance of F*Ta/2 before the programmed 
corner point, where F is the programmed feedrate, and Ta is either the specified acceleration time (TA) or 
two times the specified S-curve time (2*TS), which ever is greater.  The blended corner ends an equal 
distance past the programmed corner point. 
If the lookahead algorithm determines that the blended corner violates the acceleration limit on one or 
more motors, it will slow the speed of the path in the corner.  This will make the time for the blended 
corner bigger than what was specified in the program.  The lookahead will also create a controlled 
deceleration ramp going into the blended corner, and a controlled acceleration ramp coming out of the 
corner.  In this manner, the size of the rounding at a corner can be kept small without violating 
acceleration constraints, and without limiting speeds far away from the corners. 
In general, the acceleration time should be set as large as it can be without either making the minimum 
move time too large, or the corners too large.  In high block-rate applications, the TA time is generally set 
to the minimum block time, and the TS time is set to 0.  In low block-rate applications, the TA and TS 
times generally are set to achieve the desired corner size and shape. 
Trajectory Filter 
In high block-rate applications, rough motion can result from “quantization errors” in the programmed 
path.  This can produce machine vibration, audible noise, and high surface roughness on cut parts.  These 
errors can stem from the limited numerical resolution of the programmed points, from measuring errors if 
the programmed points were scanned, or both. 
This behavior can be compensated with a simple filtering of the interpolated motor trajectory, using 
variable Ixx40 for each Motor xx.  If Ixx40 is set to a value greater than zero, the desired trajectory is 
passed through a simple first-order digital low-pass filter for smoothing purposes.  (If Ixx40 is set to 0.0, 
this filtering is disabled.)  The higher the value of Ixx40, the greater the time constant of the filter. 
The equation for the time constant T
f
 of the filter as a function of the servo update time T
s
 and Ixx40 is: 
40
Ixx
1
s
T
*
40
Ixx
f
T
=
 
Generally, time constants of a few milliseconds are selected when the filter is used.  Note that only the 
desired trajectory is filtered, so servo-loop stability is not affected.  However, the filtering does introduce 
a very slight path error (only noticeable for very large time constants) that can be quantified according to 
the following equation: 
R
2
2
f
T
2
V
Error
=
 
where V is the velocity, T
f
 is the filter time constant, and R is the local radius of curvature of the path.  For 
example, with a velocity of 5000 mm/min (~200 in/min), a filter time constant of 2 msec, and a local 
radius of 100 mm (~4 in), the path error would be: