CNC Path Analyzer

G96 constant surface speed and G97/G50: why spindle speed changes during facing

Explains with a facing example how lathe G96 constant surface speed control changes the spindle speed according to the X diameter, why a G50 maximum spindle speed limit is needed, and when to return to G97 for threading and drilling.

Cutting speed is surface speed, not spindle speed

Tool catalogs usually give recommended conditions as a cutting speed V (m/min): how many meters of workpiece surface pass the cutting edge per minute. At the same spindle speed, the surface passes quickly at a large diameter and slowly at a small one. The relationship with spindle speed N is V = π × D × N ÷ 1000.

When turning an OD at a constant diameter, V does not change even with a fixed spindle speed, but in work where X keeps decreasing, such as facing, V keeps falling. A face that is rough near the center and differs in color from the outside is usually caused by this.

G96: the controller keeps recalculating the spindle speed

G96 S200 is a command to "keep the cutting speed at 200 m/min". The controller reads the tool's current X position (diameter), calculates N = 1000 × 200 ÷ (π × D) in real time and changes the spindle speed. At Ø60 this is about 1,061 rpm, and at Ø20 about 3,183 rpm.

The X diameter here refers to the tool tip, so the calculation is only accurate if the tool geometry offset and work origin are accurate. If the X origin is off from the real spindle center, a position the program believes to be Ø10 may actually be Ø14, and the spindle speed is wrong by the same amount.

Current diameterCalculated speed at G96 S200With G50 S2500
Ø60About 1,061 rpm1,061 rpm
Ø40About 1,592 rpm1,592 rpm
Ø25About 2,546 rpm2,500 rpm
Ø10About 6,366 rpm2,500 rpm
Ø0 (center)Infinite2,500 rpm

Why a G50 maximum spindle speed limit is essential

As the table shows, the calculated spindle speed grows without limit as the diameter approaches zero. Without a limit, the spindle rises to the machine's maximum speed, and the chuck's grip weakens at higher speeds because of centrifugal force. Spinning a large workpiece at high speed with a weak grip risks the workpiece being thrown out.

So before using G96, the maximum spindle speed is specified, as in G50 S2500. This value is chosen not by the tool but by the chuck, the jaws and the size and weight of the workpiece. If long bar stock sticks out behind the spindle, it must be set lower.

Example path

While facing from X62. to X-0.8, the spindle speed starts at about 1,027 rpm and reaches the 2,500 rpm ceiling from around Ø25. X-0.8, slightly past center, prevents a small nub from being left at the center because of the tool nose radius. The drawing shows only the path, but keep in mind that the spindle speed changes throughout the facing section.

Facing a Ø60 face to the center at G96 S200, turning a Ø56 OD, then switching to G97

O3005
T0101
G21 G90 G18 G40 G99
G50 S2500
G96 S200 M03
G00 X62. Z0.2
G01 X-0.8 F0.12
G00 Z2.
X56.
G01 Z-30. F0.2
G00 X62. Z2.
G97 S800
G00 X100. Z100.
M30
Facing a Ø60 face to the center at G96 S200, turning a Ø56 OD, then switching to G97 — ZX (radius) pathZX (radius)
Dashed light blue is G00 rapid traverse; solid orange is cutting motion. Arcs are expanded into calculated static curves.

The figure above is the CNC Path Analyzer result for this program (linear cutting 2 segments, rapid 4 segments).

Operations that need a return to G97

  • Thread cutting: with G76 or G92 threads, the helix must start at the same position on every pass. Changing spindle speed throws the thread out of step, so a fixed speed with G97 S_ is used.
  • Center drilling, drilling and tapping: the tool is at X0 (the center), so with G96 the spindle would immediately go to its maximum speed. A spindle speed suited to the drilling conditions is set directly with G97.
  • Long moves to the tool change position: when X moves to a large value, G96 lowers the spindle speed, and raises it again on the way back. To avoid unnecessary acceleration and deceleration, switching to G97 before the tool change is common. The example's G97 S800 is one such case.

Limitations of the tool’s machining time estimate

When feed per revolution (G99) is used with G96, the feed per minute also changes with spindle speed. The machining time in CNC Path Analyzer is a reference value that reflects this change under supported conditions; it does not include actual spindle acceleration time. Feed units continue in G98/G99 feed units.

Frequently asked questions

Is G96 also used on machining centers?
On an ordinary machining center the tool rotates, so G96 is either unnecessary or has a different meaning. Constant surface speed control is a function of lathe-type machines, where the workpiece rotates.
When does the unit of S change?
In G96, S is a cutting speed in m/min (ft/min in inch units); in G97, S is in rpm. The rule is to command S again whenever the mode is changed.

Next steps

Check the path in CNC Path Analyzer