Delta Tau GEO BRICK LV Manuale Utente
Turbo PMAC User Manual
Writing and Executing Motion Programs
285
No Center Specification
If there is neither a vector specification nor a radius specification on a given move command line, the
move will be linearly interpolated between start and end points, even if the program is in circular move
mode. However, cutter compensation will not work properly if this is done. LINEAR move mode must
be explicitly declared if cutter compensation is on.
move will be linearly interpolated between start and end points, even if the program is in circular move
mode. However, cutter compensation will not work properly if this is done. LINEAR move mode must
be explicitly declared if cutter compensation is on.
Vector Feedrate Axes
Any axes used in the circular interpolation are automatically feedrate axes for circular moves, even if they
were not so specified in an FRAX command. Other axes may or may not be feedrate axes. Any non-
feedrate axes commanded to move in the same move command will be linearly interpolated so as to finish
in the same time. This permits easy helical interpolation. See the Feedrate Axes section in this manual.
were not so specified in an FRAX command. Other axes may or may not be feedrate axes. Any non-
feedrate axes commanded to move in the same move command will be linearly interpolated so as to finish
in the same time. This permits easy helical interpolation. See the Feedrate Axes section in this manual.
Circle-Radius Errors
If the endpoint is not the same distance from the center as the starting point, the change in radius is taken
up smoothly over the course of the move. Technically, Turbo PMAC generates an exponential spiral
curve with a constant vector feedrate and a constant change in radius with respect to time (constant
dR/dθ).
up smoothly over the course of the move. Technically, Turbo PMAC generates an exponential spiral
curve with a constant vector feedrate and a constant change in radius with respect to time (constant
dR/dθ).
When using an IJK center vector, this spiral curve can be created over any angle between the start point,
the “center” and the end point. When using the R radius-magnitude specification, a spiral can be created
only if the distance between the start point and the end point is more than twice the radius magnitude. In
this case, the start point, the center, and the end point will all be collinear (like a semi-circle). For moves
specified this way, this technique is really used just to permit the execution of semi-circles with some
tolerance for round-off errors.
the “center” and the end point. When using the R radius-magnitude specification, a spiral can be created
only if the distance between the start point and the end point is more than twice the radius magnitude. In
this case, the start point, the center, and the end point will all be collinear (like a semi-circle). For moves
specified this way, this technique is really used just to permit the execution of semi-circles with some
tolerance for round-off errors.
Each coordinate system has an I-variable (Isx96) that determines the limit in distance difference for which
this compensation will be done. Above this limit, a run-time error will be generated and the program will
stop. This limit allows distinguishing between round-off errors and major mistakes. Regardless of this
limit, if the distance from starting point to center or from ending point to center is zero, an error will be
generated and the program will stop. If the specified vector does not lie in the plane of interpolation, the
projection of that vector into the plane is used.
this compensation will be done. Above this limit, a run-time error will be generated and the program will
stop. This limit allows distinguishing between round-off errors and major mistakes. Regardless of this
limit, if the distance from starting point to center or from ending point to center is zero, an error will be
generated and the program will stop. If the specified vector does not lie in the plane of interpolation, the
projection of that vector into the plane is used.
Move Segmentation Mode
Turbo PMAC computes circular trajectories through a rapid and continuous cubic spline technique called
“segmentation mode.” The spline segments are of a time specified by coordinate system variable Isx13
(in units of milliseconds). Typically a value of 5 to 10 milliseconds will be used, depending on the
number of axes being controlled by the card. When Isx13 is greater than zero, all blended moves – linear
and circular – are computed through this ongoing cubic spline technique. The exact move calculations
are performed every Isx13 milliseconds, and fine interpolation between these intermediate points is done
at the servo update rate using an efficient cubic B-spline interpolation (identical to Turbo PMAC’s
SPLINE1 mode).
“segmentation mode.” The spline segments are of a time specified by coordinate system variable Isx13
(in units of milliseconds). Typically a value of 5 to 10 milliseconds will be used, depending on the
number of axes being controlled by the card. When Isx13 is greater than zero, all blended moves – linear
and circular – are computed through this ongoing cubic spline technique. The exact move calculations
are performed every Isx13 milliseconds, and fine interpolation between these intermediate points is done
at the servo update rate using an efficient cubic B-spline interpolation (identical to Turbo PMAC’s
SPLINE1 mode).
If Isx13 is zero, linear moves are not computed using this spline technique and circular moves are not
permitted (if a circular move is requested, it will be done as a linear move). The difference in the actual
performance of linear-mode moves between Isx13=0 mode and Isx13>0 mode is virtually imperceptible,
unless the feature sizes of the moves are in the same range as the Isx13 time.
permitted (if a circular move is requested, it will be done as a linear move). The difference in the actual
performance of linear-mode moves between Isx13=0 mode and Isx13>0 mode is virtually imperceptible,
unless the feature sizes of the moves are in the same range as the Isx13 time.
Segmentation mode (Isx13 > 0) also is required to use cutter-radius compensation (even if circle moves
are not explicitly programmed), kinematic calculations, and the special lookahead buffer.
are not explicitly programmed), kinematic calculations, and the special lookahead buffer.