G70 Cycle | Finishing | Turning

G70 CNC Code: The Ultimate Guide to Finishing Cycles in Turning

Introduction:

In CNC turning, achieving a high-quality surface finish and precise final dimensions is paramount. After roughing operations remove the bulk of the material, a finishing cycle is used to create the final, smooth surface. The G70 G-code, Finishing Cycle, is a key command for performing this crucial step on CNC lathes. This guide provides a detailed explanation of G70, covering its function, syntax, usage, differences between control systems (Fanuc, Siemens, Haas, Mazatrol, Mitsubishi, Heidenhain, and others), best practices, troubleshooting, and programming examples. This article is for all levels of CNC users.

1. What is the G70 Finishing Cycle?

The G70 Finishing Cycle is a canned cycle used in CNC turning to perform a finishing pass along a contour that was previously defined by a roughing cycle (typically G71, G72, or G73). A canned cycle is a pre-programmed sequence of operations that simplifies programming complex machining tasks.

Key Concepts:

  • Roughing Cycle: A machining cycle designed to remove the majority of material quickly, leaving a small amount of material for finishing. Common roughing cycles in turning are G71 (longitudinal roughing), G72 (facing roughing), and G73 (pattern repeating).
  • Finishing Cycle: A machining cycle that removes the remaining material to achieve the final dimensions and desired surface finish. The G70 cycle uses the same toolpath as the preceding roughing cycle.
  • Canned Cycle: A pre-programmed sequence of operations that simplifies programming. The programmer provides a few key parameters, and the control automatically generates the necessary tool movements.
  • Toolpath: The path that the cutting tool follows during the machining operation.
  • P and Q: These are very important parameters that are used for defining toolpath.

2. The Relationship Between G70 and Roughing Cycles (G71, G72, G73)

G70 is almost always used in conjunction with a preceding roughing cycle (G71, G72, or G73). Here’s how it works:

  1. Roughing Cycle (G71, G72, or G73):

    • The programmer defines the overall shape of the part using a series of G-code commands (G00, G01, G02, G03, etc.). This sequence of commands is identified by block numbers (N-numbers).
    • The roughing cycle (e.g., G71) is programmed before the detailed shape definition. The G71 command includes parameters that specify:
      • P: The starting block number of the shape definition.
      • Q: The ending block number of the shape definition.
      • U: The amount of material to leave for finishing in the X-axis (diameter).
      • W: The amount of material to leave for finishing in the Z-axis.
      • D/F/S: Other parameters such depth of cut, feed and speed.
    • The roughing cycle removes most of the material, leaving a small, consistent allowance for finishing.
  2. Finishing Cycle (G70):

    • The programmer then uses the G70 command, specifying the same P and Q block numbers that were used in the roughing cycle.
    • The G70 cycle uses the same toolpath defined by the P and Q blocks, but it automatically adjusts for the finishing allowances (U and W) that were left by the roughing cycle.
    • The G70 cycle is typically performed with a finishing tool (a tool with a smaller nose radius and a sharper cutting edge) and a lower feed rate to achieve a better surface finish.

Analogy:

Think of it like sculpting:

  • G71/G72/G73 (Roughing): Like using a large chisel to remove large chunks of material and get the basic shape.
  • G70 (Finishing): Like using a smaller, sharper chisel to refine the details and create a smooth surface.

Why This Approach?

  • Efficiency: It avoids having to reprogram the entire toolpath for the finishing pass.
  • Consistency: It ensures that the finishing pass follows the exact same contour as the roughing pass, preventing inconsistencies.
  • Flexibility: It allows you to use different tools, feed rates, and spindle speeds for roughing and finishing.

3. G70 Syntax and Parameters

The basic syntax of the G70 command is:

G70 P[Start Block Number] Q[End Block Number]
  • G70: The G-code activating the finishing cycle.
  • P[Start Block Number]: The starting block number (N-number) of the toolpath definition that was used in the preceding roughing cycle (G71, G72, or G73).
  • Q[End Block Number]: The ending block number (N-number) of the toolpath definition.

Example:


; --- Roughing Cycle (G71) ---
N10 G71 U2.0 R1.0 ; Roughing parameters
N20 G71 P100 Q200 U0.5 W0.1 F0.3 ; Roughing cycle, defining path from N100 to N200

; --- Toolpath Definition ---
N100 G00 X40.0 Z2.0  ; Start of toolpath
N110 G01 Z0.0 F0.15
N120 G01 X20.0 Z-20.0
N130 G02 X30.0 Z-30.0 R10.0
N140 G01 Z-50.0
; ... (More toolpath blocks) ...
N200 G01 X50.0 ; End of toolpath

; --- Finishing Cycle (G70) ---
N210 T0202 ; Select finishing tool
N220 G96 S250 M03 ; Constant Surface Speed for finishing
N230 G70 P100 Q200 ; Finishing cycle, using path from N100 to N200
N240 G00 X100.0 Z100.0 ; Rapid retract
N250 M30 ; Program end

Explanation:

  1. Roughing Cycle (N10-N20): G71 is used for rough turning. P100 and Q200 define the start and end block numbers of the toolpath definition. U0.5 and W0.1 leave 0.5 mm (in diameter) and 0.1 mm of material for finishing, respectively.

  2. Toolpath Definition (N100-N200): This section defines the shape of the part using G00, G01, G02, and G03 commands.

  3. Finishing Cycle (N210-N230):

  • N210 T0202: A finishing tool is selected.
  • N220 G96 S250 M03: Constant Surface Speed is set for finishing.
  • N230 G70 P100 Q200: The G70 command is executed. It uses the same toolpath defined between blocks N100 and N200 (specified by P100 and Q200). The control automatically accounts for the finishing allowances left by the G71 cycle.
  1. N240-N250 : Retract and program end.

4. Control System Variations

The G70 command is widely supported, but there are some variations and alternative approaches across different CNC control systems:

  • Fanuc:
    • Syntax: G70 P[start] Q[end] (as described above)
    • Standard Usage: G70 is the standard finishing cycle used after G71, G72, or G73.
    • Widely Used: Fanuc is one of the most common CNC control systems.
  • Siemens (SINUMERIK):
    • CYCLE95 (Stock Removal Cycle): Siemens often uses CYCLE95 for both roughing and finishing. You define the entire contour and specify parameters for roughing and finishing within the CYCLE95 call. There isn’t a separate G70 command in the same way as Fanuc.

    • Example (Conceptual):

CYCLE95( ... ,  <roughing parameters>, <finishing parameters> )
; ... Contour definition ...
  • ShopTurn/ShopMill: Siemens’ conversational programming interfaces simplify the process further.
  • Haas:
    • Syntax: G70 P[start] Q[end] (same as Fanuc)
    • Similar to Fanuc: Haas controls are largely based on Fanuc.
  • Mazatrol (Mazak):
    • Conversational Programming: Finishing operations are typically defined within the conversational programming interface, as part of the overall machining process. You wouldn’t usually write a G70 command directly. The system automatically handles the finishing pass based on the parameters you enter.
    • EIA/ISO (G-code): Mazak machines can run standard G-code. In this case, G70 would be used similarly to Fanuc.
  • Mitsubishi:
    • Syntax:G70 P[start] Q[end] (similar to Fanuc)
    • Standard Usage: Mitsubishi controls often follow Fanuc conventions.
  • Heidenhain:
    • Cycles: Heidenhain uses different cycles.
    • Manual Programming: You could also program the finishing pass manually using G00, G01, G02, G03, etc., without using a dedicated finishing cycle.
  • Other Controls (Okuma, Fagor, etc.): Consult the specific programming manual for your control.

Key Takeaways:

  • Fanuc is the most common reference: The G70 P... Q... syntax is widely used.
  • Siemens uses cycles: Siemens relies heavily on cycles like CYCLE95 that combine roughing and finishing.
  • Mazatrol is conversational: Finishing is usually handled implicitly within the conversational programming interface.
  • Always check your machine’s manual! This is crucial for understanding the specific implementation on your control.

5. Best Practices for Using G70

  • Correct P and Q Values: Absolutely crucial: Ensure that the P and Q values in the G70 command exactly match the P and Q values used in the preceding roughing cycle (G71, G72, or G73). Any mismatch will lead to errors or incorrect machining.
  • Use a Finishing Tool: It’s best practice to use a separate finishing tool for the G70 cycle. This tool should have a smaller nose radius and a sharper cutting edge than the roughing tool, resulting in a better surface finish.
  • Appropriate Feed and Speed: Use a lower feed rate and an appropriate spindle speed for finishing. This will improve surface finish and reduce tool wear. Refer to cutting tool manufacturer recommendations.
  • Coolant: Use appropriate coolant for the material and operation.
  • Verify the Toolpath: Always simulate your program (including the G70 cycle) to visually verify the toolpath and check for any errors or unexpected movements.
  • Consider Tool Nose Radius Compensation (G41/G42): For very precise finishing, you may need to use tool nose radius compensation (G41/G42) within the toolpath definition (the P to Q block sequence). This compensates for the radius of the finishing tool’s nose. If you use G41/G42 within the P-Q block sequence, you must cancel it (with G40) before the end of the sequence (before the Q block).
  • Clearance: Use safe clearance moves.

6. Troubleshooting Common G70 Problems

  • “Sequence Number Not Found” Alarm:
    • Cause: The P or Q block number specified in the G70 command does not exist in the program, or the block numbers are out of order.
    • Solution: Double-check the P and Q values and ensure they correctly match the start and end block numbers of the toolpath definition.
  • Incorrect Surface Finish:
    • Cause: Incorrect feed rate, spindle speed, or tool selection; tool wear; vibration; or incorrect finishing allowance left by the roughing cycle.
    • Solution: Adjust the feed rate and spindle speed, use a sharper tool, check for machine stability, and verify the U and W values in the roughing cycle.
  • Dimensional Errors:
    • Cause: Incorrect tool offsets, incorrect work offsets, tool nose radius compensation not used or used incorrectly, or errors in the toolpath definition.
    • Solution: Double-check tool and work offsets, verify the use of G41/G42 (if applicable), and carefully review the toolpath definition.
  • Unexpected Tool Movement:
    • Cause: Errors in the toolpath definition (the P to Q blocks).
    • Solution: Carefully review the G-code commands within the toolpath definition.

7. Conclusion: The Key to a Perfect Finish

The G70 Finishing Cycle is a powerful and efficient tool in CNC turning, allowing for the creation of high-quality surface finishes and precise final dimensions. By understanding its relationship to roughing cycles, its syntax, best practices, and the variations between different control systems, CNC machinists and programmers can significantly improve the quality and efficiency of their turning operations. G70, when used correctly, is a key component in achieving a perfect finish on turned parts.