G96 vs G97: Constant Surface Speed vs Fixed RPM in CNC Turning
In CNC turning, spindle speed directly affects surface finish, tool wear, and chip control. G96 and G97 are two G-codes that define how the spindle speed is determined:
G96uses Constant Surface Speed (CSS)G97uses Fixed RPM
Understanding the difference between these two modes is critical for achieving consistent machining quality, especially on lathes.
📘 What is G96 (CSS – Constant Surface Speed)?
G96 S200
- The spindle speed (RPM) is calculated dynamically to maintain constant surface speed in m/min or sfm.
- As the cutting diameter changes (due to turning toward or away from the center), RPM adjusts automatically.
S200 = Maintain 200 m/min surface speed
✨ Benefits:
- Consistent chip formation
- Better surface finish
- Prolonged tool life
- Ideal for roughing and facing operations
🔧 G96 Example
G96 S220 M03 ; CSS at 220 m/min
G95 ; Feed per rev
G00 X60 Z2
G01 Z-100 F0.2
As the tool moves inward, the machine increases RPM to maintain 220 m/min surface speed.
⚙️ G97 – Fixed RPM Mode
G97 S800
- Spindle rotates at constant speed, regardless of diameter.
- Useful for simple setups, drilling, or when CSS is not required.
🔹 Benefits:
- Predictable spindle behavior
- No RPM changes — better for older or non-inverter machines
- Easier debugging
⚠️ G96 Safety Tip
Always pair G96 with a G50 RPM limit to prevent unsafe overspeed:
G50 S3000 ; Limit max RPM to 3000
G96 S200 ; CSS mode: max 200 m/min
Without G50, a rapid move to a small diameter could cause RPM to spike dangerously.
📊 G96 vs G97 Comparison
| Feature | G96 (CSS) | G97 (Fixed RPM) |
|---|---|---|
| RPM Behavior | Varies with diameter | Constant |
| Use Case | Turning, facing | Drilling, constant RPM |
| Surface Finish | More consistent | Depends on diameter |
| Requires G50? | Yes (RPM safety limit) | Optional |
| Common on | Lathes | Mills & lathes |
✅ Best Practices
- Use
G96for OD/ID turning and facing - Use
G97for drilling, tapping, rigid tools - Always use
G50withG96to cap max RPM - Switch to
G97before tool changes to avoid RPM jumps
🧪 Example Code Using Both:
G50 S3000 ; Limit max RPM
G96 S220 M03 ; CSS mode ON
G95 ; Feed per rev
G00 X60 Z2
G01 Z-100 F0.2
(Prepare for tool change)
G97 S800 ; Fixed RPM ON
M05 ; Spindle stop
T0202 M06 ; Tool change
🧠 Final Thoughts
G96 makes your CNC turning more intelligent — adjusting RPM to keep surface speed optimal.G97 keeps things simple and predictable.
Mastering when and how to use them will improve both quality and safety in your lathe operations.
Leave a comment