CNC Programming H ndbook Second Edition c C Programming Handbook Second Edition A Camp hensiv t r 989 uid Practical CNC rogramming mi ue York, NY lOO 18 .com Li of Congress Cataloging-in-Publication Data Smid, Peter. CNC programming handbook: comprehensive guide to practical CNC programming! Smid. 11-3158-6 1. Machine-louls--Numerical control--Programming --Handbooks, manuals,etc ..I. Title. TJ1189 .S 2000 1.9'023--dc21 00-023974 Second on CNC Programming Handbook Industrial Press Inc. 989 ue of Copyright 2003. Americas, w York, NY 10018 in the United States This book or parts thereof may not America. reproduced, stored in a retrieval system. or transmitted in any form without tbe permission of 5678910 publishers. Dedication To my who my mother never to give dmila, Acknowledgments In this second edition of the CNC Programming Handbook, I would like to express my thanks and appreciation to Peter Eigler for being the bottomless source of new ideas, knowledge and inspiration - all that in more ways than one. My thanks also go to Eugene Chishow, for his always quick thinking and his ability to point out the elusive detail or two that I might have missed otherwise. To Ed Janzen, I thank for the many suggestions he offered and for always being able to see the bigger picture. To Greg Prentice, the President of GLP Technologies, Inc., - and my early mentor - you will always be my very good friend. Even after three years of improving the CNC Programming Handbook and developing the enclosed compact disc, my wife Joan will always deserve my thanks and my gratitude. To my son Michael and my daughter Michelle - you guys have contributed to this handbook in more ways than you can ever imagine. I have also made a reference to several manufacturers and software developers in the book. It is only fair to acknowledge their names: • FANUC and CUSTOM MACRO or USER MACRO or MACRO B are registered trademarks of Fujitsu-Fanuc, Japan • GE FANUC is a registered trademark of GE Fanuc Automation, Inc., Charlottesville, VA, USA • MASTERCAM is the registered trademark of eNC Software Inc., Tolland, CT, USA • AUTOCAD is a registered trademark of Autodesk, Inc., San Rafael, CA, USA • HP and HPGL are registered trademarks of Hewlett-Packard, Inc., Palo Alto, CA, USA .. IBM is a registered trademark of International Business Machines, Inc., Armonk, NY, USA .. WINDOWS is a registered trademarks of Microsoft, Inc., Redmond, WA, USA About the Author Smid is a professional consultant, educator and with many of practiexperience, in the industrial and ed his career, he has on all levels. He an extensive experience with CNC and CAD/CAM to manufacturing industry and educational ns on practical use of ComNumerical Control technology, part programm CAD/CAM, advanced machining, tooling, setup, and many other related comprehensive industrial background in CNC programming, machining and company training has assisted hundred companies to benefit from his wide-rang knowledge. ro.-.'7iOl"'I companies and CNC maMr. long time association with advanced of Community and Technical Colchinery vendors, as well as his affiliation with anum industrial technology programs and skills training, have enabled him to broaden his professional and consulting areas of CNC and CAD/CAM training computer applications and evaluation, system benchmarking. programming, hardware and operations management. l Over the years Mr. Smid has tional programs to thousands of across United States, Canada and companies and private sector l hundreds of customized at colleges and universities as well as to a large number of manufacturing individuals. .rliOTtTc.' He has actively participated in many shows, conferences, workshops various seminars, including delivering presentations a of speaking engagements to organizations. He is also the author of CNC and CAD/CAM. During his and many in-house publications on years as a professional in the CNC educational field, he has developed tens of thousands of pages of high quality training materials. The author suggestions and other input You can e-mail him through the publisher of this handbook You can also e-mail him from the CNC Programming Handbook and industria! users. of the CD. at www-industriaipress.com TABLE OF CONTENTS 1 ~ NUMERICAL CONTROL 1 DEFINITION OF NUMERICAL CONTROL NC and CNC Technology. CONVENTIONAL AND CNC MACHINING 2 NUMERICAL CONTROL ADVANTAGES 2 Setup Time Reduction Lead Time Reduction. Accuracy and RepealabiliJy Contouring of Complex Shapes. Simplified Tooling and Work Holding. Cutting Time and Productivity Increase. 3 TYPES OF CNC MACHINE TOOLS Mills and Machining Centers. Lathes and Turning Centers Axes and Planes Point of Origirl Ouadrarlts. Right Hand Coordinate System MACHINE GEOMETRY. Axis Orientation - Milling . Axis Onenlation - Turning. Additlona! Axes. 16 16 16 17 17 17 18 18 3 3 3 3 4 4 4 5 5 - CONTROL SYSTEM 19 GENERAL DESCRIPTION 20 20 Operation Panel Screen Display and Keyboard Handle. 21 22 PERSONNEL FOR CNC 5 SYSTEM FEATURES 22 CNC Programmer CNC Machine Operator 5 Parameter Settings System Defaults Memory Capacity. 22 23 24 SAFETY RELATED TO CNC WORK. 6 6 MANUAL PROGRAM INTERRUPTION. 2 ~ CNC MILLING 7 Single Block Operation. Feedhold Emergency Stop 25 25 25 25 CNC MACHINES - MILLING. 7 MANUAL DATA INPUT - MDI 26 Types of Milling Machines . Machine Axes Vertical Machining Centers. Horizontal Machi ning Centers HOrIZontal Boring Mill Typical Specifications 7 PROGRAM DATA OVERRIDE 26 8 8 9 10 10 3 - CNC TURNING 11 CNC MACHINES - TURNING 11 11 Types of CNC Lathes. Number of Axes 11 AXES DESIGNATION 11 Two-aXIs Lathe . Three-axis Lathe Four-axis Lathe. Six-axis Lathe FEATURES AND SPECIFICATIONS Typical Machine Specifications. Control Features 4 - COORDINATE GEOMETRY 12 12 13 13 Rapid Motion Override. Spindle Speed Override Feedrale Override. Dry Run Operation Z Axis Neglect . Manual Absolute Setting Sequence Return Auxiliary Functions Lock Machine Lock Practical Applications SYSTEM OPTIONS. G raphlD Display. In-Process Gauging . Stored Stroke Limits. Drawing Dimensions Input Machining Cycles. Cutting Tool Animation. Connection \0 External DeVices 26 27 27 27 28 28 28 28 28 29 29 29 30 30 30 30 30 30 13 13 14 6 - PROGRAM PLANNING 31 15 STEPS IN PROGRAM PLANNING 31 INITIAL INFORMATION 31 MACHINE TOOLS FEATURES. 31 REAL NUMBER SYSTEM 15 RECTANGULAR COORDINATE SYSTEM. 15 Machine Type and Size. 31 ix X - ---------~-.-. Control System. 31 PART COMPLEXITY 32 MANUAL PROGRAMMING 32 32 32 Disadvantages . Advantages CAD/CAM AND CNC Integ ration Future of Manual Programming 32 33 33 TYPICAL PROGRAMMING PROCEDURE 33 PART DRAWING 34 Title Block. Dimension ing Tolerances. Surface Fintsh Drawing ReVisions Special InSHucllons METHODS SHEET. MATERIAL SPECIFICATIONS Malerial Unlformit)' Machinability Rating. 34 34 35 35 36 36 --------_.-... Table of Contents --- - -- 8 - PREPARATORY COMMANDS 47 DESCRIPTION AND PURPOSE. 47 47 49 50 APPLICATIONS FOR MILLING. APPLICATIONS FOR TURNING G CODES IN A PROGRAM BLOCK Modality of G-commands. Conflicting Commands in a Block Word Order in a Block GROUPING OF COMMANDS 50 50 51 51 Group Numbers 51 G CODE TYPES. 52 G Codes and Decimal POln! _ 52 36 36 9 - MISCELLANEOUS FUNCTIONS 53 36 DESCRIPTION AND PURPOSE. 53 37 Machine Related Functions . Program Related Functions 53 53 MACHINING SEOUENCE 37 TOOLING SELECTION 38 TYPICAL APPLICATIONS 54 38 38 Applications for Milling Applications for Turning Special MOl Functions. Application Groups 54 54 54 PART SETUP Setup Sheet TECHNOLOGICAL DECISIONS Cutter Path Machine Power Rating. Coolants and Lubricants WORK SKETCH AND CALCULATIONS Identification Methods. QUALITY IN CNC PROGRAMMING 7 ~ PART PROGRAM STRUCTURE BASIC PROGRAMMING TERMS O-lsr3cter l/-Jcr0 38 38 WORD ADDRESS FORMAT FORMAT NOTATION StarlU p of M Functions. Duration of M Functions 56 .sf) 40 PROGRAM FUNCTIONS 56 40 40 41 41 41 41 42 42 43 System Formal System Format· Word Addresses' 43 43 44 45 SYMBOLS IN PROGRAMMING 45 and ivli nus Sign. 45 PROGRAM HEADER 45 46 TYPICAL PROGRAM STRUCTURE. 55 39 39 41 42 PROGRAMMING FORMATS M FUNCTIONS IN A BLOCK 54 Program Stop Oplional Program Stop. Program End. Subprogram End !'iR MACHINE FUNCTIONS 58 Cooiant Functions Spindle Functions. Gear Range Selection Mil r. hi n e Ac:r.ess ori flS 58 59 60 56 57 58 flO 10 - SEQUENCE BLOCK 61 BLOCK STRUCTURE 61 61 8u ildlng the Block Structure Block Structure for Milling PROGRAM IDENTIFICATION Program Number ProgrClm Nome. SEQUENCE NUMBERS Sequence Number Command. Sequence Block Format Numbering Increment Long Program:> Dnd Block Numbers. END OF BLOCK CHARACTER. STARTUP BLOCK OR SAfE BLOCK 61 62 62 62 63 63 63 64 64 64 65 xi PROGRAM COMMENTS CON MING VALUES 66 67 ITY. 68 NG WORDS IN A BLOCK 11 - INPUT OF DIMENSIONS 69 Unit Values 69 70 AND INCREMENTAL MODES 70 AND METRIC UNITS Commands G90 and G9l . Absolute Oats G90 - G91 Combinations in a Block PROGRAMMING Exact Command Mode Command Exact Automatic Corner Override Mode Mode Circular Morion Feedrates MAXIMUM 89 89 89 89 90 90 90 91 Maximum Feedrate Considerations, 91 AND OVERRIDE Feedhold SWitch Feedrate Override Switch Feedrate Override Functions 91 91 71 72 72 72 E 73 14 - TOOL FUNCTION 93 73 T FUNCTION FOR MACHINING 74 74 75 76 76 Tool Storage Magazine Fixed Tool Selection, Random Memory Tool Selection Regist8T1flg Tool Numbers Programming Format Empw Tool or Dummy Tool 93 93 94 94 94 95 95 IN THREADING 92 92 MINIMUM MOTION INCREMENT. DIMENSIONAL INPUT FuJI Address Forma! , Zero Decimal Point Programming, Input CALCULATOR TYPE INPUT TOOL CHANGE FUNCTION - M06 . 12 • SPINDLE CONTROL SPINDLE FUNCTION 77 Spindle Speed Input, 77 DIRECTION OF SPINDLE ROTATION Direction for Milling Direction for Turning. Direction Specilication , Spindle Startup 77 78 78 79 79 ORIENTATION 80 80 SPEED - R/MIN 81 SPINDLE STOP. 81 Material Spindle Speed Units Spindle Speed - Metric Units CONSTANT SURFACE Maximum Spindle SpAAri Part Diameter Calculation in 13 - FEEDRATE CONTROL 81 82 82 82 84 85 87 FEEDRATE FUNCTION. 87 87 Feedrate per Minute, Feedrate per Revolution 87 88 FEEDRATE SELECTION 88 ACCELERATION 88 FEEDRATE CONTROL < 95 Conditions for Tool 95 AUTOMATIC TOOL 96 ATC System MaXimum Tool Diameter Maximum Tool Length MaXimum Tool Weight. ATC Cycle, MDIOperatlon PROGRAMMING THE Single Tool Work Programming Several Tools. Keeping Track of Tools, Any Tool in Spindle - Not the First. First Tool in the No Tool in the First Tool In the Spindle with Manual No Tool In the Spindle With Manual First Tool In the Spindle and an Oversize Tool No Tool in the Ie and an Oversize Tool 96 97 97 97 98 98 98 98 99 99 99 100 101 101 102 102 102 T FUNCTION FOR 103 Lathe Too! Station Tool 103 103 104 TOOL Offset. 104 WAil( Off<:;At 105 Wear Offset 106 The Rand T 106 15 - REFERENCE POINTS POINT G 107 xii Center Line Tools POINT Zero, 129 108 Relatlonshi p. . 109 POINT 109 Tools Tools Command Point and Tool Work Offset 129 130 130 130 109 110 Centers. 112 TOOL POINT 19 ~ TOOL LENGTH OFFSET 112 PRINCIPLES MMANDS 16 - RE 131 131 131 113 132 Face. COMMAND POSITION REG 3 13 114 114 114 114 115 115 Tool Set at Machine Zero Tool Set Away from Machine Zero. Position in Z )\xis . LATHE APPLICATION. OFFSET COMMANDS 113 Position Definition Proqrammlnq Format Tool Position MACHINING 115 116 116 116 Tool Setup . Three-Tool Setup Groups Center line Tools Setup. External Tools Setup Internal Tool Setup. Corner Tip Detail . Programmtr'\g Example 117 117 117 117 Distance-Ta-Go in Z AXIs. Z AXIS 1 Pres~t Tool "135 Tool length Touch Off a Master Tool Drfference 136 135 136 137 PROGRAMMING Tool Offset not Available. Tool Length Offse1 and G92 Tool Offset and G54·G59 APPLICATION. TOOL LENGTH 141 141 20 - RAPID POSITIONING 143 120 122 RAPID TRAVERSE MOTION GOO Command 143 122 122 RAPID MOTION TOOL 144 119 119 120 1 WORK AREAS AVAILABLE 123 Additional Work Offsets 124 Work Offset Change 24 125 Z Axis Application 126 OFFSETS. 127 Tool Length Offset and HORIZONTAL Single Axis MOllon . Multiaxis Motion. Angular Motion. Reverse Rapid Motion TYPE OF MOTION & OF RAPID MOTION 128 128 129 129 143 144 144 146 146 146 147 TOTHE PART 147 148 21 - MACHINE ZERO RETURN 149 MOTION FORMULAS, 128 1 of Offsets. Offset Offset and Offset Numbers 138 140 119 HORIZONTAL MACHINE APPLICATION. 137 138 OFFSET. DESCRIPTION. WORK OFFSET DEFAULT AND 134 139 119 d 133 134 Tools 17 - POSITION COMPENSATION Programming Commands Programming Formar Incremental Mode Motion Length Calculation. Position Compensation Along the Z axis G47 and G4B. Face Milling. 132 132 SETUP On-Machine Tool Length Selting Off·Machlne Tool Setting Tool Offset Value Register. CHANGING TOOL 18 WORK OFFSETS 131 MACHINE REFERENCE POSITION Machining Centers. lathes. the Machine Axes Program Commands Command Group 149 150 150 151 151 xiii RETURN PRIMARY MACHINE 151 Intermediate Point . Absolute and Incremental Mode Return from the Z Depth Position Return Required for the ATe, Zero Return for CNC Lathes 151 152 POSITION CHECK COMMAND. 156 FROM MACHINE 157 RO POINT. SECONDARY MACHI 158 - LINEAR INTERPOLATION 159 LIN COMMAND Starr and End of the Linear Motion Single Axis Linear Interpolation . Two Axes Linear Interpolation Three Axis Linear Interpolation Tool Motions VS, Fixed Cycles, 178 SELECTION 178 FORMAT 179 FIXED 180 181 R LECTION . 181 Z CALCULATIONS 182 162 163 TYPICAL APPLICATIONS, 163 BLOCK SKIP SYMBOL 1 CONTROL UNIT SETTING 163 164 1 165 166 68 69 170 170 24 - DWELL COMMAND 171 PROGRAMMING APPLICATIONS 171 171 171 171 172 172 AND DWELL 173 Time Number of Revolutions Setting 173 173 SETTING F PTION OF FIXED CYCLES 183 G81 Drilling Cycle, G82 Spot-Drilling Cycle, G83 Hole Drilling Cycle Standard G73 Hole Drilling G84 Cycle - Standard G74 - Tapping Cycle - Reverse G85 Cycle, G86 Cycle, G87 Backboring Cycle , G8S - Boring Cycle , G89 Boring Cycle, G76 P(€cision Bonng 183 183 184 184 186 186 187 187 187 188 188 189 CYCLE CANCELLATION 189 189 FIXED CYCLE REPETITION The L or K Address. LO or KO in a Cycle , 26 - MACHI 190 190 HOLES SINGLE HOLE EVALUATION. Tooll ng Selection and Applications, Program Data , DRILLING 0 Types of Drilling Types of Drills Progiamming ConsIderatIons, Nominal Drill Diameter Effective Drill D,ameter Drill Pomt Center Through Hole Blind Hole Flat BoHom 173 MINIMUM REVOLUTIONS 177 INITIAL LEVEL SELECTION PROGRAMMING EXAMPLE DWELL 177 180 161 161 Dwell Command Structure, CYCLES AND Feedrate Range Individual Axis Feedrate , DWELL COMMAND 176 160 160 161 for for Accessories AND DWELL. FIXED 159 159 LINEAR FEEDRATE Variable Stock Removal Machining Pattern Trial Cut for Program Proving, Barfeeder Application, Numbe(ed Block Skip, 176 176 159 160 SKIP AND MODAL COMMANDS Axis, POINT-TO-POINT MACHINING PROGRAMMING FORMAT ~ BLOCK SKIP FUNCTION Machine X AXIS is the and Dwell, 153 155 155 175 175 LONG 174 174 174 191 191 19i 194 194 194 194 195 195 195 195 196 196 197 197 198 PECK DRILLING Typical Peck Calculating the Number of Pecks 199 199 199 xiv Selecting the Number of Pecks _ Controlling Breakth rough Depth. REAMING Reamer Design Sprndle Speeds for Reaming Feeorates for Reamir\~ Stock Allowance Other Reaming ConSiderations Table of Contents 200 200 28 - FACE MILLING 227 201 CUTTER SELECTION . 227 201 Basic Selection Criteria Face Mill Diameter _ Insert Geometry . 227 227 201 201 202 202 SINGLE POINT BORING 202 Single Point Boring Tool Spindle Orientation_ Block Tools 202 203 203 BORING WITH A TOOL SHIFT Precision Bormg Cycle G76 Backboring Cycle G87, Programming Example Precau1ions in Prog ramming and Sew p_ ENLARGING HOLES Counters inking Counterborlng , Spotfacing MULTILEVEL DRILLING WEB DRILLING TAPPING Tap Geometry Tapping Speed and Feedra1e . Pipe Taps. Tapping Check List. 203 203 204 205 205 205 206 207 CUTTING CONSIDERATIONS Angle of Entry Milling Mode N uJrloer of Cuttiny IIlSl:;rls PROGRAMMING TECHNIQUES Single Face Mill Cut Multiple Face Mill CU1S USING POSITION COMPENSATION. 29 ~ CIRCULAR INTERPOLATION ELEMENTS OF A CIRCLE, Radius and Diameter , Circle Area and Circumference 214 215 216 TYPICAL HOLE PATTERNS RANDOM HOLE PATTERN 217 217 STRAIGHT ROW HOLE PATTERN 218 ANGULAR ROW HOLE PATTERN 218 218 POLAR COORDINATE SYSTEM Plane Seleclion Order of Machining, 235 235 235 236 237 237 238 217 Bolt Circle Formula _ Pattern Orientation , 233 Arc Cutting Direction Ci reular Interpolation Block. Arc Start and End POlntS_ Arc Center and Hadius Arc Center Vectors, Arc Planes 2 1 2'12 27 - PATTERN OF HOLES BOLT HOLE CIRCLE PATTERN 232 237 Quadrant Points RADIUS PROGRAMMING Blend Radius Partial Radius FULL CIRCLE PROGRAMMING ARC HOLE PATTERN. 231 PROGRAMMING FORMAT 213 213 214 Ang ular Grid Pattern 230 210 210 212 GRID PATTERN 229 229 230 QUADRANTS. Tool Approach Motion Tool Return Motion, alld Reaming on Lathes, Cycle - G74, Tapp!ng on Lathes Other Operations CORNER PATTERN 228 207 208 209 HOLE OPERATIONS ON A LATHE Pattern Defined by Coordinates, Patlern Defined by Angle 228 80ss Milling Internal Ci rcle Cutting - Linear Start Internal Circle Cutting - Circular Start , Circle Cutting Cycle ARC PROGRAMMING. FEEDRATE FOR CIRCULAR MOTION Feedrate for Outside Arcs Feedrate for InSide Arcs. 236 236 238 238 239 240 240 240 240 242 243 243 244 245 245 246 246 L1~ 220 220 221 222 223 224 224 225 226 226 30 - CUTTER RADIUS OFFSET 247 MANUAL CALCULATIONS 247 Tool Path Center Points Cutter RadiUs Center Points CAlculation 248 249 249 COMPENSATED CUTTER PATH. 250 Types of Cutter Radius Offset. Definition and Applications. 250 250 PROGRAMMING TECHNIQUES 250 Direction of Cutting Motion 251 xv Table of Co ntents 251 or Right - not CW or CCW =,f(set Commands of the Cutler of Offset Types Format r\ddr8ss H or D 7, and Wear Oifsets APPLYING CUTIER 251 252 252 253 253 L5Ll OFFSET 254 254 Methods, Cffset Cancellation, ::::utter Direction 256 256 WORKS 256 257 ~:lok-Ahead Offset for Look-Ahead Cutter Radius Offset 257 276 Steel End Mills Solid Carbide End Mills Indexable Insen End Mills Relief Ailgles End Mill Size Number of Flutes 276 276 276 276 277 277 SPEEDS 278 278 Coolants and Lubricants, Tool Chatter 279 STOCK 279 279 279 280 Infeed . In and OUI Ramping Direction of Cut Width and of CUI 258 259 LOO RULES 261 . MILLING 262 :JVERVIEW OF PRACTICAL EXAM Part Tolerances \,leasu red Part Size, Offsets Amount General Selting, Data TOOL NOSE Slot Example. Closed Slot Example 2GO 265 General Principles Pocket US OFFSET 266 Offset 266 266 266 267 267 268 268 31 - PLANE SELECTION 269 WHAT 269 269 A MACHINING IN PLANES Mathematical Planes Machine Planes, Program Commands for Planes Definition, Default Control Status STRAIG MOTION IN 269 270 270 271 271 CIRCULAR INTERPOLATION IN G 17-G 18-G 19 as Modal Commands Absence of Axis Data in a Block, Cutter Radiu:J Otr~et in Planes PRACTICAL EXAMPLE FI D 32 - RAMMING SLOTS 281 283 MILLING. 284 285 RECTANGULAR 285 Stock Amount, ",,,,,'nm!,,,r Amount of Cut _ Semifinishing Motions Tool Path ular Pocket Program Example 272 272 273 273 Minimum Cutter Diameter _ Method of Linear Linear and Circular Approach, ng a Circular Pocket, CIRCULAR POCKET 286 287 287 287 288 - TURNING AN BORING FUNCTION - TURNING T Address Offset Entry Independent Tool Offset. Tool Offset With Motion. Offset Shoulder Tolerances Diameter and Shoulder Tolerances, OFFSET SETTING, 289 289 289 290 291 292 MULTIPLE 275 286 CIRCULAR POCKETS, LATHE OFFSETS IN PLANES PHERAL MILLIN 281 28 Closed Boundary, 263 263 264 264 265 266 281 OPEN AND 262 ?fi2 Nominal or Middle) Nose Offset Command!:: 33 - SLOTS AND PO KETS 293 293 293 294 294 294 295 295 295 296 296 297 297 298 XVI of FUNCTIONS RANGES 298 AUTOMATIC 299 301 301 301 Stock and Stock Allowance A IN CSS MODE FORMAT. 1 G74 - PECK DRILLING CYCLE 1 G74 Cycle Format· lOT111T/15T G74 Cycle Formal- OT/lOT/18T/20T/21 322 304 305 306 36 - GROOVING ON LATH 323 306 GROOVING OPERATIO 323 Main Grooving AP~)IICEmOflS Grooving Crltena , Nominal Insert S]ze. Insert Mool fit;i1tion 324 307 GROOVE LOCATION 324 307 GROOVE 324 307 307 - STRAIGHT CUTTING CYCLE 308 Format Turning Example Cutting ht and Taper Cutting Example 308 309 309 311 312 312 MULTIPLE REPETITIVE CYCLES. and Part Contour. Ch,pbreaking Cycles 314 314 315 315 315 316 316 317 Direction of 317 G72 - STOCK REMOVAL IN FACING. G72 Cycle Format - 10TI1 317 G72 Cycle Format - OT/16TI18T/20T/21 318 G70· CONTOUR FINISHING Groove Width Selection Method 327 327 328 Groove Tolerances Groove Surface Finish, 329 330 Radial Clearance 33 331 / NECK GROOVES GROOVING CYCLES. Applications , Groove with G75 . Multiple Grooves with G75. 332 332 333 333 GROOVES GROOVES AND SUBPROGRAMS 316 G71 for External Roughing. G71 for Internal G73 Cycle Form<:lt - 10T/1 H/15T G73 Cycle Format· OT/16T/18T/20T/21T G73 Example ot Panern 326 330 313 313 313 315 G73 - PATTERN REPEATING 325 325 325 313 Programming Type I and Type II G7 . Groove Position Groove 330 TYPE I AND TYPE II CYCLES. G71 . STOCK REMOVAL IN TURNI G7 Format- OT/llTI15T G71 Format - OT/16T/18T/20T/21T 324 313 CONTOUR CUTTING CYCLES Boundary Definition Stan Point and tile Points P and 0 . 323 323 323 GROOVE 307 Format 321 BASIC RULES FOR G74 AND 306 . FACE CUTTING CYCLE. 32 322 322 302 303 303 306 REMOVAL ON LATHES 320 BASIC RULES FOR G70-G73 G75 • GROOVE CUTTING G75 Cycle Formal 10T/l1T/15T G75 Cycle Format· aT /16T/18T/20T/21T 302 Fillish G70 Cycle Format - All Controls, 317 8 .il R 319 9 - PART-OFF PART-OFF PROCEDURE Parting Tool Description. Tool Approach Motion Stock Allowance. Tool Return IVlotion . Part-off with a Chamfer Preventing Damage to the Part 38 - SINGLE POINT THREADING 335 335 336 337 337 337 338 339 xvii Table TH 339 ON CNC LATHES 339 Form of a Thread. Operations. 340 TERMINOLOGY OF THREADING PROCESS 341 in Thread Starl Position Thread Diameter and Thread Cutting Motion Retract from Thread i1eturn to Stzlrt Position 341 342 342 343 344 344 THREADING FEED AND SPINDLE 344 345 345 Feedra1e Selection. Ie Speed Selection. Maximum Threading Feedrate Lead Error 348 BLOCK-BY-BLOCK THREADING 348 349 350 THREADING MULTIPLE REPETITIVE G76 Format- lOT/11T/15T G76 Format· OT/16T/18T . Programming Example First Thread Calculation 350 351 351 352 SUBPROGRAMS Subprogram Benefits . ItJtJll\iflci;ltiull (.)f 367 n::; 368 SUBPROGRAM FUNCTIONS. 368 368 369 ram Call Function . Subprogram End FunClion. . Block Number to Return to. . Number of ram Repetitions LO Call. 369 370 1 372 373 SU DEVELOPMENT. 373 Pattern Recognition Tool Motion and Subprograms . Modal Values and Subprograms. MULTI 374 375 NESTING 376 376 One Level Nesting Two Level Three Level Four Level Nesting . 377 377 377 353 THREAD INFEED 353 Radial Infeed . Compound Infeed Thread Insert Angle· Parameter A Thread Cutting Type - Parameter P 353 354 378 CHANGE SUBPROGRAM 379 100000 000 HOLE GRID. 379 40 ~ DATUM SHIFT 381 DATUM SHIFT WITH G92 OR 381 Zero Shift. 381 354 ONE-BLOCK METHOD CALCULATIONS. 355 355 355 Initial Considerations Z Axis Start Position Calculation. THREAD RETRACT 357 357 357 357 Thread Pullout Functions Single AXlS Pullout Two-Axis Pullout HAND OF THREAD 383 COORDINATE SYSTEM 384 G52 Command COORDINATE THREADING TO A S 358 Insert iv'lod Ification . Program Testing. 358 360 RMS. 360 Thread Depth . 361 TAPERED Depth and Clearances Taper Calculation Block Block Tapered Thread a Tapered Thread and a MultI MULTISTART Threading Feedrate Calculation, Shift Amount THREAD MAIN PROGRAM 346 347 REFERENCE POINT OTHER THREAD 39 - SUBPROGRAMS 340 361 361 362 386 386 Dat<'l Command Coordinate Mode 386 386 WORK OFFSETS . Slandard Work Offset 386 Additional Work Offset Input. External Work Offset Input. 387 387 387 LENGTH OFFSETS. Valid Input Range 388 363 CUTTER RADIUS 388 364 364 LATHE OFFSETS 388 MOl DATA SETTING 389 363 Cycle. 384 365 366 PROGRAMMABLE Modal G10 Command. Parameters Notation Program Portability, . Bit Type Parameter. , Effect of Block Numbers ENTRY, 389 389 390 390 391 392 xviii of ATIACHMENT. 41 - MIRROR IMAGE 393 Bar 4 '14 393 394 414 4'15 415 395 Control Setting . Manual Mirror Setting E Mirror MI 395 396 PROGRAMMING EXAMPLE 415 45 - HELICAL MILLING 417 HELICAL MILLING OPERATION 417 396 Functions Mirror Image Example Mirror Image Example 396 397 IMAGE ON CNC 398 42 ~ COORDINATE ROTATION 398 Format, Arc Modifiers for and THREAD MILLING, Thread Conditions tor Thread Thread 399 Center of Rotation , Radius of Rotation Coordinate Rotation Cancel Common Applications 399 THE HELIX, 399 THREAD MILLING 401 401 Straight Thread In itial Calculations Starting Position Motion Rotation and Direction Lead'in Motions , Thread Rise Calculation Milling the Thread Lead-Out IV" 1,lIn." 401 APPLICATION 43 - SCALING FUNCTION 405 405 405 PTION. Function Usage . 406 406 407 4'18 18 418 418 418 4'19 419 419 419 421 421 421 422 422 423 424 424 425 425 425 425 426 405 PROGRAMMING FORMAT 417 417 419 Clearance Radius Productivity of Thread 399 COMMANDS. 414 393 394 394 395 395 395 MIRROR IMAGE BY 413 413 ADDITIONAL OPTIONS RULES OF MIRROR IMAGE ntenls HELICAL RAMPING 426 427 46 - HORIZONTAL MACHINING 429 INDEXING AND ROTARY 429 INDEXING TABLE (8 AXIS) 429 THREAD MILLING SIMULATION METHOD 407 44 - CN LATHE ACCESSORIES 409 CHUCK CONTROL Chuck Functions Chucking Pressure Chuck Jaws, 409 TAILSTOCK AND 410 410 L110 410 TSllslock Quill. Center, Quill Functions Programmable Tailstock Safety Concerns, 81-DIRECTIONAL Programming 11 41 I 411 411 INDEXING B Units 01 Increment _ 429 and Unclamp Functions .nl'l,<'Vlrv't in Absolute and Incremental Mode, ,130 430 430 AND OFFSETS 431 Work Offset and B Axis Tool Length Oflset and B Axis 431 432 TO MACHINE ZERO 411 INDEXING AND A SUBPROGRAM 412 COMPLETE PROGRAM EXAMPLE 412 MATIC PALLET CHANGER· 434 434 436 437 Tab Ie of Contents Program StruclU re BORING MILL. 47 . WRITING A CNC PROGRAM WRITING. XIX 438 438 439 439 439 441 441 RUNNING THE FIRST PART 459 PROGRAM CHANGES Program Upgrading Program Updating . Documentation Change, 460 ALTERNATE MACHINE SELECTION. 461 MACHINE WARM UP PROGRAM 462 eNC MACHINING AND SAFETY. 462 463 460 461 461 'JGRAM OUTPUT FORMATTING 443 SHUTTING DOWN A CNC MACHINE Emergency Stop Switch, Parking Machine Slides Setting the Control System, Turning the Power Off, PROGRAMS Length Reduction. Mode and Tape Mode 445 EQUIPMENT MAINTENANCE 464 51 - INTERFACING TO DEVICES 465 442 442 442 48 - PROGRAM DOCUMENTS 445 4<16 447 - '~,A FILES 447 - -- DOCUMENTATION Documentation, Documentation . DeSCription 448 AND TOOLING SHEETS. Sheet 449 .- _.::UMENTATION FILE FOLDER :, ',-:atlon Methods '":'''llor'S Suggestions and Storage w PROGRAM VERIFICATION 448 448 449 450 450 451 451 451 452 452 453 CTION OF ERRORS. Measures Measures 453 VERIFICATION, 454 ERRORS 454 Errors . Errors. ',iMON PROGRAMMING ERRORS Input Errors "dation Ermrs Errors . : 'i!ilncous Error:J , - eNC MACHINING :HJNING A NEW PART Integrity 463 464 464 464 453 453 455 455 456 456 456 456 456 457 457 458 458 RS~32CINTERFACE . 465 PUNCHED TAPE Tape Reader and Puncher Leader and Trailer Tape Iden11fication Non-printable Characters Storage and Handling, 466 DISTRIBUTED NUMERICAL CONTROL 468 TERMINOLOGY OF COMMUNICATIONS Baud Rate Parity Data Bits" Start and Stop Bits , 469 DATA SEITING 469 CON NECTING CABLES Null Modem Cabling for Fanuc and PC 470 52 - MATH IN CNC PROGRAMMING 466 468 468 468 468 469 469 469 469 470 470 471 BASIC ELEMENTS Arithmetic and Algebra . Order of Calculations, 471 GEOMETRY Circle PI Constant" Circumference of a Circle Length of Arc , Quadrants 472 POLYGONS 474 TAPERS Taper Definition Taper Per Foot Taper Ratio. Taper Calculations - English Un its Taper Calculations - tv-letnc 475 475 476 476 476 476 CALCULATIONS OF TRIANGLES. 477 471 471 47? 473 473 473 473 XX 477 478 478 479 S;ne ~ Cosine - Tangent Inverse Trigonometric Functions Degrees and Decimal Pythagorean Theorem Solvfng Rjght Hardware Specifications. Hardware Requirements, Features, and 480 488 480 Post Processor L188 480 IMPORTANT FEATURES. 489 481 CONCLUSION. 482 482 53 - CNC AND CAD/CAM 483 ADVANCED CALCULATIONS 487 488 489 489 489 User Interlace, CAD Interface, 489 MANAGEMENT, 490 483 PROGRAMMING MANUALLY? TOOL PATH GEOMETRY TOOL PATH GENERATION COMPLETE ENVIRONMENT Multi Machine Support , Associative Operations Job Setup Tooling List and Job CommenlS, Connection Between Computers Text Editor for Solids Software Specifications , 490 PMENT 490 483 483 THE END AND 484 484 484 A - RE 485 485 485 485 485 486 486 486 486 486 487 INNING. NeE TABLES 491 491 Metric Fine 494 494 495 495 495 Index 497 Metric rse Threads NUMERICAL CONTROL Numerical Co~trol technology as it is known today, emerged nud 20th It can be traced to the year of1952, u.s. Air Force, names Parsons and the Massachusetts of Technology in MA, It was not production manufacturing until 1960's. real boom came of CNC, the of 1972, a decade v.:ith introduction of micro computers. The hIstOry and development of this fascinating technology has been well documented publications. In the manufacturing field, and particularly in the area of working, Control has . . "' . . ."''"' .... SOlnethuJll"Z of a revolution. in the computw ers became standard in every company and in the machine equipped with Numerical SVS1leIn fOWld their special place in the shops. recent evolution of electronics the never ceasing computer development, including its impact on Numerical Control, brought changes to the manufacturing sector in general metalworking industry in particular. DEFINITION OF NUMERICAL CONTROL In publications and articles, descriptions have been used during the to defme what Numerical Control It would be to try to yet another defInition, just the purpose this handbook. Many of defmitions the same same basic COl1lcer:)t. use different The of all the known definitions can be summed simple statement: are of the of alphaselected symbols, for a decimal sign or the parenthesis symbols. All in"'''''HV''':> are urn·.......... in a logical a predetermined collection of all instructions necessary to maa part is called an NC Program, Program, or a ""w,t:rY,I'1'" Such a can be for a future repeatedly to identical machining reUI.-UUHl) • Ne and eNC Technology In ~trict to the terminology. there is a ence m the meaning abbreviations NC and CNC. NC for the original Numerical Control technology, whereby abbreviation stands for the newer Co~nputeriz~d Numerical Control technology, a mode~ spm-off of lts older However, practice, eNC IS the abbreviation. To clarify the proper usaf each tenn, look at the major between CNC ,.."~ ..~~,, Both perform the same tasks, bon of the purpose machining a cases, the internal design of the system the logical instructions that process the data. At this point ends. to the CNC system) uses a The system (as fLXed logical functions, that are built-in and nently wired the control These LI..llI',",U'JJJ" not be changed by the programmer or machine tor. Because of ftxed wiring logic, control IS synonymous with the term 'hardwired', The can interpret a part program, but it does not alVH...."AF>.~.., to the using the away from the typically in an environment. the NC quires the compulsory use of punched tapes for information. t?e The CNC uses an internal micro but not the NC system, (i.e., a computer). This storing a variety of routines that are capable logical That means programmer or the machine '"'''"'''....,.~,''.. can change the on the control itself (at machine), with instantaneous results. flexibility is greatest advantage of CNC systems probably key element that to such a use of the technology in modern manufacturing. The CNC programs and the logical are stored on special computer chips, as software rather by c.onnections, such as that control the logical hOns. contrast to the system, the system is synonymous with the term 'softwired'. When describing a particular that to the control technology, it is customary to use or in mind NC can also mean CNC 1n everyday talk, but can never to the 1 2 Chapter 1 technology, described in this handbook under the abbreviation ofNe. The 'C'stands for Computerized, and it is not applicable to hardwired All manufactured today are of the design, Abbreviations such as C&C or C 'n are not correct and reflect poorly on anybody uses them CONVENTIONAL AND CNC MACHINING What makes CNC machining superior to the conventional methods? Is it superior at all? Where are benefits? If the CNC and the conventional machining processes are a common general approach to machining a part will -....-.M1. 2. 3. 4. 5. 6. Obtain and study drawing Select the most suitable machining method Decide on the setup method (work holding) Select the cutting tools Establish and Machine part This same both types of macrunmg. IS m way how data are input. A feedrate 10 inches per minute (10 mlmin) is the same in manual or CNC applications, but the method of applying it is not. The same can be about a coolant it can be activated a knob, pushing a switch or programming a special All will result in a coolant rushing out of a a certain amount of knowledge on part user is required. alL working, particularly meta! cutting, is mainly a skill, but it is also, to a great an art and a profession of large number of people. So appli~ of Computerized Numerical Control. Like any skill or art or profession, it to the detail is necessary to be successful. It takes more than technical know 1to be a CNC machinist or a CNC Work I>v?,"'....."...... ,'... and what is called a 'gut-feel', is a much needed supplement to any skill. HV"........... In a conventional machining, the operator sets up the machine and moves each cutting using one or both hands, to produce the required part. The design of a machine tool offers many features that help the process of machining a - levers, and a15, to name just a few. same body are repeated by the every in the batch. However, the word 'same this context really means 'similar than 'identical '. Humans are not capable to every the same at all times - that is the of maPeople cannot work at the same per[orrnam;e leve! all the without a rest. All of US have some good and some bad moments. The results these moments, when applied to a part, are to predict. There will some differences and within each batch of The parts will not always be exactly the same. dimensional tolerances and <""""f",,,,,, '-'UU.H..." . Ish quality are the most typical problems in conventional machining. Individual machinists may own 'proven' methods, different from a f their feHow leagues. Combination of and other factors create a great amount of machining under numerical control does away with the majority of inconsistencies. It does not require the same physical as machining. Numerically contToned machining does not need any levers or dials or handles, at least not in the same sense as conventional machining does. the has it can used number of over, consistent That does not mean there are no limiting cutting tools do wear out, material blank in one batch is not identical to the material another batch, the setups may vary, etc. factors should be considered and compensated for, whenever lICI.'C~~ru emergence of the numerical control technology does not mean an instant, or even a long tenn, demise of all manual There are times when a traditional machining method is preferable to a computerized method. For example, a simple one time job may be done more efficiently on a machine a CNC machine. Certain of machining jobs will beneHt from manual or semiautomachining, rather than controlled machining. CNC machine are not meant to replace every manual machine, only to supplement In many the whether ing will be done on a CNC machine or not is based on number of required parts and nothing Although the volume of parts machined as a is always an important criteria, it should never be the only factor. Consideration should be to complexity, tolerances, the required of fmish, etc. Often, a complex part will benefit from CNC machining, while relatively parts will not. Keep in mind that numerical control has never machined a single part by Numerical is only a process or a method that enables a machine tool to used in a productive, accurate and consistent NUMERICAL CONTROL ADVANTAGES What are the advantages of numerical control? It is important to know which areas of machining will benefit from it which are done the conventional It is absurd to think that a two power mill win over jobs that are currently done on a twenty times more powerful manual mill. Equally unreasonable are exof improvements cutting speeds over a conventional machine. the machining and tooling conditions are the same, the cutting rime will be close in cases. NUMER CONTROL 3 of the areas expect improvement: o Setup time reduction Cl lead o o o o Accuracy and repeatability o the CNC user can and lead time, required to and manufacture several fixtures for conventional machi.nes can be by preparing a part program the ~se of plified fixluring. reduction Contouring of shapes Simplified tooling and work holding cutting time General productivity increase area offers only a potential improvement. Individual users will different of actual improvement, depending on the oil-site, the CNC used, setup methods, complexity of fixturing, or cutting tools, management philosophy level of engineering individual attitudes, etc. • Setup Time Reduction • Accuracy and Repeatability high degree and repeatability of has the single major benefit to users. Whether the part program is stored on a disk or in the ~omputer or even on a tape (the method), Il ah~'ays the same. program can changed at wlll, but on.ce proven, nO are usually required more. A gIven can be reused as many times as nec:de,:t without a single bit it conlains. to allow such changeable factors as tool program wear and operating temperatures. it has to stored safely, but generally very little' from CNC programmer or will required. The high accuracy of CNC machmes and repeatability allows high quality to produced consistently lime. • Contouring of Complex Shapes CNC and machining centers are capable of cona variety of shapes. Many CNC users acquired their only to able to handle A are CNC applications in and automo- tive , , ,The use of some form of computerized programming IS Virtually mandatory for any dimensional tool path at'''''''''''' of the the serup time should not Modular lixturing, SI<l,n{llU'{l tooling, locators, automatic tool pallets and other advanced features, the setup time more efficient With a a comparable of a conventional good knowledge modern manufacturing, productivity can be increased significantly. , The of parts machined under one setup is Important. order 10 assess the cost a time. If a number of is machined in one setup, the setup cost per part can very" A very red~ctio~ can b~ achieved by grouping several different operDtlons IOto a .smgle setup. Even if the lime is longer, it may be Justified when compared to time required to setup conventional machines. • lead Time Reduction a part program is written and proven. it is ready 10 !n the even at a nOtice. Although l~e lead tor the run is usually it is virtually ml for any run. if an to be modified. it part requires the lead can be done usually quickly, shapes, as can be :virhou.t the additional expense of making a model tracmg. Mirrored parts can achieved literally at the switch of a bulton, of programs is a lot simpler than storage of patterns, models, olher pattern making tools. • Simplified Tooling and Work Holding Nonstandard and 'homemade' looling that clutters the benches and drawers around a conventional machine can beelimin~led by looling, designed . num~ncal applications. Multi-step such as pilot dnlls, step combination tools, counter borers and are with several individual ;:'l<lIIU<l1 tools. tools are cheaper and to than special and nonstandard tools. measures have many tool to keep a low or even a nonexistent inventory, increasing delivery to the customer. Standard, off-the-shelf looling can usually obtained faster then nonstandard LVVi""J'., . and work holding for CNC machines have only one. ~aJor purpose - to hold the part rigidly in the same pOSitIOn for all within a batch. Fixtures for CNC work do nOI normally jigs, pilot and hole locating 4 pter 1 • Cutting Time and Productivity Increase machine is commonly consistent. Unlike a the operator's skill, experito changes) the CNe machining is under control a computer. The small amount of manual work is restricted to the setup and loading and unloading batch runs, the high cost of the unproductive time is spread among many parts, main benefit of a consistent making it less cutting time is jobs, where the production to individual machine tools scheduling and work can be done very "'v"'''''''''''''' is The main reason COlnp:anlces machines is strictly prr,nnrn invesilmellt. Also, on of every having a competitive technology offers plant manager. in improvement a excellent means to the overall productivity of the manufactured Like any means, it has to When more and more wisely and just having a CNC companies use the CNC anymore. The commachine does not offer the extra how to use the who panies that get forward are technology efficiently and it to competitive in the global economy. To reach the goal of a essential that users understand the h""";",,,,,,,... nM on which CNC technology is many forms, for example, un(jen.tarldulg cuitry, complex ladder diagrams, \.-UI.IILJIL,lll;;;1 ogy, machine design, machining onnC11Dles and many others. Each one has to by the person in charge. In this Hil11UUIUU.I\.. on the that relate directly to the understanding the most common Machining Centers and the lathes the Turning Centers). The should be very important to every matool operator and this goal is also reflected in the handbook approach as well as in numerous TYPES OF CNC MACHINE TOOLS ni1ffef'ent kinds of CNC machines cover an ChllClllCH variety. Their numbers are rapidly developmentadvances. It is . applications, they would of some groups CNC Cl and Machining centers Cl and Turning Centers Cl Drilling machines mills and Profilers Cl Cl EDM machines o Punch presses and Shears cutting machines Cl Cl and Laser profilers o Water o Cylindrical grinders Q Cl and Spinning machines, etc. centers and lathes dominate industry. These two groups share market just about equally. Some industries may a of machines, depending on their higher need one that there are many different needs. One must kinds of lathes and equally many different kinds of machining centers. the programming process for a vertical is to the one for a horizontal machine or a simple mill. Even between different machine groups, there is a amount of general hons and the is generally the same. For example, a contour with an end mill has a lot common with a contour cut a • Mills and Machining Centers Standard number axes on a milling machine is three set on a milling system is althe X, Y and Z axes. ways stationary, on a machine table. The cutting tool it can move up and down (or in and out), but it does not physically follow the tool path. CNC milling machines CNC mills - sometimes are usually small, simple without a tool changer is often or other automatic features. quite low. In industry, they are maintenance purposes, or small usually designed for contouring, CNC machining centers are far more drills and mills, benefit the user gets out ability to several diverse operations drilling, boring, counter facing and contour milling can be CNC program. In addition, automatic tool changing, minimize idle time, indexing to a different side a rotary movement of additional axes, CNC machining centers can with special software that controls the speeds and of the cutting tool, automatic in-process ",,,,,,oil''''' adjustment and other production "XU'I'Ul'.... Ul'J;:, devices. NUMERICAL CONTROL 5 There are two basic machining machining center. They are the centers. The major difference two types is the nature of work that can be on them efficiently. For a CNC machining center, most suitable type of work are flat parts, either mounted to ble, or held in a vise or a chuck. cbining on two or more in a sirable to be done on a CNC horizontal U14'.llll.lll example is a pump and shapes. Some multi-face ULa...'U.llllli,!:; done on a CNC vertical machining center ...'-I ..... I-'IJ ....... a table. prc)gr.:imrnulg process is the same both designs, (usually a B axis) is added to the horidesign. Ths axis is either a lHU';;;1\.U.1J;:. axis) for the table, or a fully rotary taneous contouring. an handbook concentrates on the CNC centers applications, with a special ""... horizontal setup and machining. melmO(lS are also applicable to the small tapping machines, but the "",.r'rr,..,'..,......... " ... restrictions. 'CIVIl • PERSONN FOR eNC machine tools have no cannot evaluate a with skills and control, sk1lls are usually - one doing the machining. Their depend on the company as product manufactured is quite distinct, although many the two functions into a one, often companies called a CNC ProgrammerlOperat01: • CNC Programmer The CNC programmer is the person who the most responsibility in shop. This person is often responsible for numerical control is held respontechnology in the plant. sible for problems operations. Although duties may vary, the ~ ..",rr..-.,_... ""~ is also responsible for a variety of tasks usage of the CNC machines, In fact, this accountable for the production and quality of operations. and Turning Centers is usually a machine tool with two axes, the horizontal Z axis. distinguishes it from a mill is that cutmachine center line. In addition, is normally stationary, mounted in a sliding twTet. follows the contour of programmed tool path. the CNC lathes with a milling attachment, so called live tooling. the milling tool has its own motor rotates while spindle is stationary. I"nn,"I>',..,.., lathe design can be horizontal or more common than the purpose in for either For horizontal group can be as a bar type, chucker type or a to combinations are aca CNC lathe an extremely flexible maaccessories such as a tailstock, steady part catchers, pullout-fingers rests or fol1ow#up milling attachment are popular compoeven a third nents of the CNC ~ lathe can be very versatile so versatile in that it is often caUed a CNC Turning Center. AU text examples in this handbook use the more tenn CNC lathe, yet still ing aU its rr'ln,('Ip.1m h"",,,,,,h ..u,,, analyze, dam into a the CNC pro01"1!1 ....... ",..I",. must be to decide upon the best manufacturmethodology in all respects. \"Ullv\"lvU In addition to the machining skills, programmer has to have an understanding of mathematical principles, arcs and anmainly application of equations. Equally important is the of trigonometry. with computerized progranuning) knowledge of manual programming methods is absolutely to the the thorough understanding of control this output. important quality of a truly "'''''1'">'\''''''P1'" is his or her ability to listen to the CNC operators, are the first prerequisite to h"""'(lI"'I""" programmer must be flexible ClllLHll1t);!, quality, 6 Chapter 1 • CNC Machine Operator The CNe machine tool operator is a complementary position to the CNe programmer. The programmer and the operator may exist in a single person., as is the case in many small shops. Although the majority of duties performed by a conventional machine operator has been transferred to the CNC programmer, the CNC operator has many unique responsibilities. In typical cases, the operator is responsible for the tool and machine setup, for the changing of the parts, often even for some in-process inspection. Many companies expect quality control at the machine - and the operator of any machine tool, manual or computerized, is also responsible for the quality of the work done on that machine. One of the very important responsibilities of the CNe machine operator is to report fmdings about each program to the programmer. Even with the best knowledge, skills, attitudes and intentions, the 'fmal' program can always be improved. The CNC operator, being the one who is the closest to the actual machining, knows precisely what extent such improvements can be. SAFETY RELATED TO CNC WORK On the wan of many companies is a safety poster with a simple, yet powerful message: The first rule of safety is to follow all safety rules The heading of this section does not indicate whether the safety is oriented at the programming or the machining level. The reason is that the safety is totally independent. It stands on its own and it governs behavior of everybody in a machine shop and outside of it. At fIrst sight, it may appear that safety is something related to the machining and the machine operation, perhaps to the setup as well. That is defInitely true but hardly presents a complete picture. Safety is the most important element in programming, setup, machining, tooling, ftxturing, inspection, shipping. and you-name-it operation within a typical machine shop daily work. Safety can never be overemphasized. Com~ panies talk about safety, conduct safety meetings, display posters, make speeches, call experts. This mass of information and instructions is presented to all of us for some very good reasons. Quite a few are based on past tragic occurrences - many laws, rules and regulations have been written as a result of inquests and inquiries into serious accidents. At fIrst sight, it may seem that in CNC work, the safety is a secondary issue. 111ere is a lot of automation, a part program that runs over and over again., tooling that has ben used in the past, u simple setup, etc. All this can lead to complacency and false assumption that safety is taken care of. This is a view that can have serious consequences. Safety is a large subject but a few points that relate to the CNC work are important. Every machinist should know the hazards of mechanical and electrical devices. The fIrst step towards a safe work place is with a clean work area, where no chips, oil spills and other debris are allowed to accumulate on the floor. Taking care of personal safety is equally important. Loose clothing,jewelry, ties, scarfs, unprotected long hair, improper use of gloves and similar infractions, is dangerous in machining environment. Protection of eyes, ears, hands and feet is strongly recommended. While a machine is operating, protective devices should be in place and no moving parts should be exposed. Special care should be taken around rotating spindles and automatic tool changers. Other devices that could pose a hazard are pallet changers, chip conveyors, high voltage areas, hoists, etc. Discollllectillg allY interlocks or other safety features is dangerous - and also illegal, without appropriate skills and authorization. In programming, observation of safety rules is also important. A tool motion can be programmed in many ways. Speeds and feeds have to be realistic, not just mathematically 'correct'. Depth of cut, width of cut, the tool characteristics, all have a profound effect on overall safety. All these ideas are just a very short summary and a reminder that safety should always be taken seriously. CNCMILLING Many types machines are in industhe majority of them are machining centers and CNC lathes. They are by wire EDM, fabricating machines and machines special Although the this handbook is on the two that dominate the market, many can be applied to equipment. try, CNC MACHINES - MILLING The description of CNC milling is so it can fill a thick book all by itself. All machine tools from a knee lype milling machine up to a five profiler can included in (his They in features, suitability for work, etc., but they do all one common denominator - their primary axes are the X and Y axes this reason, they are called machines. • Types of Milling Machines Milling machines can divided imo Ihree categories: o By the number of axes - two, three or more o By the orientation of axes - vertical or horizontal o By the presence or absence of a tool ...h ..... "',"r Milling machines where the spindle motion is up and down, are categorized as vertical machines. Milling machines where the spindle motion is in out, are categoas horizontal machines - see Figure 2-1 and the category of the machines are also wire EDM machine tools, laser and water jet cutting name cutters. burners, routers, etc. Although do not qualify as milling type machine tools, we mention them because the majority of programming techniques applicable to the mills is to machines types as well. The example is a contouring operation, a common La many CNC machines. the purpose be defmed: this handbook, a milling machine can Milling machine is a machine capable of a simultaneous cutting motion, an end mill as the primary cutting Figure 2-/ Schematic representation of a CNC vertical machining center at least two axes at the same time This definition eliminates all CNC presses, since covers pOSItioning not profiling. The nition also eliminates wire EDM machines a of burners, they are capable of a profiling action but not an end mill. Users these machine tools will still from m:tny covered The ciples are adaptable to the majority of machine tools. For EDM uses a very small cutter in the of a A cUlling machine uses beam as its cutter, also having a known diameter bUL term keifis used The will be concentrated on metal cutting machine of end mills as the primary tool contouring. mill can be in many ways, first look will or available machines. 'I" j'> I Figure 2·2 Schematic representation of a CNC horizontal machining center 7 8 2 simplified not really reflect reality current state of art in .a...... "'... tool manufacturing. changing. New and machine tool industry is more powerful machines are V_'''"",'' __ and produced by manufacturers worldwide. more features. The majority of modern machines designed for milling are capable of doing a multitude of machining tasks, not machines are also capaonly the traditional milling. of many other metal operations, mainly drillng, thread cutting many others. They may with a multi-tool azine (also known as a a fully a pallet changer (abbreviated as ATC) viated as APC). a powerful computerized conlrol unit brevlated as CNC), and so on. Some machine may as adaptive control. have additional features, terface, automatic loading unloading, probing ",,,,,,rpo..,... high speed machining and other modis - can machine tools of ern technology. The capabilities be as simpleCNC milling In two words - certainly not. Milling machines that have at some of built-in. have ,."u·"'''''"" new breed of tools - CNC An/l,r".,,·, This lenn is strictly related - a manual machining cel1Jer is a description thal does nul exist. • Machine Axes machining center is described by its specifications manuas provided by the machine tool manufacturer. lists many as a quick method of comparison between one machine and another. It is not unusual to find a slightly information in the tool. brochure - after all, it is a In the area of chine tools are systems, three most common ma- Q eNC Vertical Machining Center - VMC Q CNC Horizontal Machining Center· HMC Q CNC Horizontal Boring Mill type, except the major differences will the for indexing or full rotary axes, additional the type of work suitable for individual lion of the most common type of a machining center - the Vertical Machining Center (VMC) a fairly accurate sample other group. • Vertical Machining Centers Vertical of work, done on for flat type of machining is setup. A vertical machining center can be used with an optional axis. usually a head mounted on mounted either verthe main table. The rotary head can tically or horizontally, depending on the results and the type. This fourth can either for indexing or a full rotary molion. In combination with a supplied), the fourth in the vertical "nr""",,, can be long parts that need support at both ends. Milling machines and machining centers have at least The machines become more flexiaxes - X, Y iflhey usually an lary axis (the A horizontal models). higher with five or more axes. A found on chine wilh five ;'lxes. he a hnring mill that jor axes, plus a axis (usually the B parallel to the Z (usually the W axis). true complex and flexible five-axis profiling [ling machine is the type used in industry. where a multi-axis. simultaneous is necessary to complex shapes and and various maJonty vertical centers most tors work with are those with an empty table and three-axes configuration. two and a machine is used. From the programming perspective, there are at least two mentioning: At times, three and a machine or a terms refer to where simultaneous limitations. For a Y and Z axis as primary axes. plus The indexing tadesignated as an A ble is used posllioning. but il cannot rotate simultaneously with the motion of primary axes. That type of a called a 'three and a half axIS ' machine. machine Ihal is a more complex but a table, is as a four can move simultaneously motion of the axes, is a good with the example of a true 'four ax.is· machine tool. the type of of all axes vertical o ONE· programming always takes from the viewpoint means the view is as if looking straight down, at ninety degrees towards the machine table for development of the tool motion. Programmers always view the top of part! spindle, not the Q TWO· various markers located somewhere on the machine show the positive and the motion of the machine axes. For programming, markers should be ignored! These indicate operating directions, not programming directions. As a matter of fact, typically the programming directions are exactly the opposite of the markers on the tooL CNC MILLING 9 Vertical and Horizontal Machining - Typical Specifications .- ...... _- ... Vertical Machining Center Description 1= m , Horizontal Machining Center I~ Number of axes 3 axes IXYZ) 4 axes IXYZB} Table dimensions 780 x 400 mm 31 x 16 inches 500 x 500 mm 20 )( 20 inches Number of tools 20 36 Maximum travel- X axis 575 mm 22.5 inches 725mm 28.5 inches Maximum travel- Y axis 380 mm 15 inches 22 inches 470 mm 560mm 18.5 inches 560 mm 22 inches N/A 0.001 degree 60-8000 rpm 40 - 4000 rpm AC 7.5/5.5 kW AC 10/7 HP AC 11/8 kW AC15/11HP 150 - 625 mm inches 150 - 710 mm 6 - 28 inches Spindle center-to-column distance· Y axis 430mm 17 inches 30 560 mm 1.2· inches Spindle taper No. 40 No. 50 Maximum travel- Zaxis Table indexing angle Spindle speed Spindle output Spindle nu:>t:-tlJ-t~1.1 distan ... ", - Zaxis 6- Tool shank CAT50 2 - 10000 mm/min 0.100 - 393 in/min 30000 mm/min (XY) mm/min IZl 1181 in/min IXY) 945 in/min (Z) Rapid traverse rate Tool selection memory ... Maximum tool diameter Maximum __ 1 - 10000 mmlmin 0.04 - 393 in/min 30000 mm/min (XYI - 24000 1181 in/min (XV)- 945 iI\Imin Random memory 80 mm (150 w/empty pockets) 3.15 inches (5.9 w/empty pockets) 1 mm 4.1 inches 300mm 11.8 350 mm 13.75 inches length Maximum tool weight • Horizontal Machining Centers Horizontal CNC Machining Centers are also as multi-tool and versatile machines. and are bieal paris, where majority of machining has to on more than one in a single setup. (2) 6 kg 20 131bs 44 There arc many applica£ions in lhis area. Common exam- as pump housings, cases, blocks and so on. machining centers always include a special ing table and arc equipped with a pallet and other are large manifolds, 10 Chapter 2 Because their flexibility and complexity, CNC zonlal machining centers are priced significantly than vertical CNC machining centers. the programming point view, there are several mainly relating to the Automatic Tool the indexing table, - in some cases - to the additional for example, the changer. All differences are relatively minor. Wriling a program for horizontal machining centers is no different than writing a for venical machining center!'.. eli • Horizontal Boring Mill Horizontal boring mill is another machine. It closely resembles a CNC horizontal machining center, but have its own Iy, a horizontal mill is by the lack some common features, such as Automatic Changer. As Ihe name of the machine its primary purpose is boring operations, mainly lengthy that reason, the reach of is extended by a specially designed quill. Anthe other typical feature is an axis parallel to the Z axis, called Ihe W axis. Although is, in the fifth nation (X, y, W), a horizontal boring mill cannot be called a true axis machine. Z axis (quill) and the W (awards axis (table) work in the other. so Ihey can be used large parts and hard-to-reach areas. It means, that during drilling, the machine table moves an quill. quill is a physical part of the spmdle. It is in the spindle where the culling 1001 ro"'lies - but in-nnd-out motions are done by the table. method offered on horizontal Think of the mills - if the quill were to be very it would lose strength and rigidity. belter way was to split the tradItional single Z axis movement into two - the quill extension the Z axis will move only of the way £Owards lhe and the table itself, the new axis, will move another parl of the way towards the part Ihal area chine tool resources. spindle. bOlh meet in the be machined using all the ma- Horizontal boring mill may be called a machine, but certainly nol as-axis CNC the count of the axes is Programming CNC mills are similar to Ihe horizontal and machining centers. • Typical Specifications On the preceding page is a comprehensive chart showi the typical specifications a CNC Vertical Machining Cellterand a CNC Horizontal Machining Centel: ifications are side by side in two not for any comparison are two different types and comparison is no\ possible all features. In order to compare individual machine tools within a category, machine tool provided by the machine manufacturer serve as the basis for comparison. specifications are contained a of verifiable data, mainly technical in nature, describes lhe individual machine by main features. Machine tool buyers frequently compare many brochures of several fcrcnt machines as parr of the pre process. agers process planners compare individual machines in the machine shop and assign the available workload 10 the most suitable machine. A fair and accurate comparison can be made between two vertical ining centers or between two horizontal machining centers, but cannOI be done to compare (ween two differenl types. In 11 typical sped chart, additional dala may be listed, not included in earlier chart In this handbook, the focus is on only those specifications Ihat are interest \0 the CNC and the CNC operator. CNC TURNING CNC MACHIN • TURNING or it turret IS a common In machine shop. A lathe is used as shafts. machimng or conical work, wheels, bores, threads, etc. The most common lathe operation is removal material from a round Illrning tool for external culling. A lathe can ror internal operations such as boring, as well as for threading, etc., if a cutting tool is are usually in machining power lathes, hutlhey do have a carousel that holds cutting tools. An lathe has often one or two CUlling tools at a lime, but has more machining power. Typical lathe work controlled by a CNC system uses maknown in industry as the CNC Turning - or more commonly - the CNC term 'turning is curate overall descnption of a can be used for a number of machining opduring a example, in addition to lathe as turning and a lathe can be used for drilling, grooving, knurting and even burn It can also be used in ent modes, such as chuck work, centers. Many other combinations also exist are designed to hold tools in special can have a milling indexable chuck, a sub a tailstock, a steadyrest many other features associated with a lathe design. more than four axes ore common. With constant advances in machine technologies, more CNC appear on the market that are designed to do a number of operations in a many of them (tonally reserved for a mill or a center. • Types of eNC lathes lathes can by the type of the number of a xes. two types are lathe and the horizontal CNC lathe. Of the two, horizontal type is by the most common in manufacturing and machine shops. A CNC lathe (incorrectly called a vertical boring mill) is somewhat less common but is irreplaceable for a work. For a CNC there are no differences in the approach between two lathe types. • of Axes The most common distinction CNC lathes is by the number of programmable axes. Vertical CNC lathes have two axes in almost all The much more common CNC horizontal commonly designed with two programmable axes, are available wilh three, four or axes, adding extra to manufacturing of more complex parts. A lathe can funhcr described by the type o FRONT lathe oREAR ... an engine lathe type ... a unique slant bed SIan! bed type is very popular chips to operator and, in case an accident, down a area, towards the chip its design allows Between the of flat bed and type lathes, front and rear lathes, horizontal and venicallalhe designs, there is another variety of a lathe. This describes CNC lathes by number of axis, which probably the simplesl and most common method identification. AXES DESIGNATION A typical CNC is designed with two standard axes one axis is the X other axis is lhe Z axis. Both axes are perpendicular to other and represent the two-axis lathe motions. X axis also represents I ravel of the cutting tool, Z represents nal morion. All varieties of tools are can be turret (a special too) or Because of this lurret loaded with all CUIZ axes, which means all Following the established and machining of making a hole by or punching, is the Z of the milling ma~ the only machine of drilling, boring. CNC lathe work, the oriemation a type of lathe is downwards motion axis, and left and motion for the Z axis, when looking from the machinist's position. This view is shown . following three illustrations Figure 3-1, Figure 3-3. 11 12 Chapter 3 HEADSTOCK I CHUCK / . I ! / JAWS !". ---- TOOL X+ .....t " TAILSTOCK x- QUILL Figure 3-1 Typical configuration of a two axis slant bed eNG lathe - rear type x+ t Z- . . . . . Z+ " .....t XX- " X+ Figure 3-2 Typical configuration of a CNC lathe with two turrets Figure 3-3 Schematic representation of a vertical eNC lathe is true for both the front and rear lathes and for lathes with or more axes. The chuck is vertically to the horizontal spindle center line for all horizontal lathes. Vertical lathes, due to their design, are rotated 90°, where the chuck face is oriented horizontally to the vertical spindle center line. In addition to the X and Z primary axes, the of each additional axis, lathes have individual third axis, for example, the C axis is usually milling operations, using so called live tooling. More tails on the subject of coordinate system and machine geometry are available ill Ihe next • Two-axis Lathe This is the most common type of CNC The work u!\ually a chuck, is on the left holding of machine (as viewed by the operator). The rear type, with slant bed, is most popular design for general work. some special for in the petroleum industry (where turning tube ends is a common work). a bed is usually more suitable. The CUlling lools are held in a specially designed indexing turret that can hold more tools. Many such lathes six, eight, len, also have two turrets. Advanced 1001 designs incorporate tool storage away from the work area, similar to the design of machining centers. 'even hundreds, of cutting tools may stored and used a single CNC program. Many lathes also incorporate a quick changing tooling system. • Three-axis Lathe Three~axls lathe is essentially a two-axis lathe with an ditional This has own usually as a in absolute mode (H in incremental mode), and C is fully programmable. Normnlly, the third axis is used for cross-milling slot CUlling. bolt circle holes drilling, helical slots, etc. axis can replace some simple operations on a milling machine, reducing setup time for the job. Some limitations apply (0 many models, example, the milling or drilling operations can (ake place only at positions projecting from the tool center La the spindle center line (within a machinplane), although adjustments. has own power source but the power raLThe third is relatively lower when compared with the majority of machining centers. Another limitation may the smallest increment of the third axis, particularly on the three axis lathes. Smallest increment of one degree is certainly an increment of two or five (j"'l'rf"'~ more useful better is an increment of 0.1'\ 0.01 0, and commonly 0.00 1° on the models. Usually the lathes with three axes ofa fine radial increment that allows a simultaneous rotary motion, with low increment values are usually designed with an oriented spindle stop only. From the perspective ofCNC part programming, the ditional knowledge required is a subject not difficult to learn. General principles of milling apply and many programming features are also available, for fixed and other CNC TURNING 13 • four-axis lathe There is more in a four-axis CNC lathe is a to proa three-axis lathe. As a matter of lathe is nothing more than programming lathes at the same time. That may sound the principle of a CNC lathe are actually two controls one each pair (set) axes. used to do the external - or (OD) and another program to do the - roughing (ID). Since a and can be pair of axes independently, at the same time, doing two different operations simultaneously. The main keys to a 4-axis lathe programming is coordination of the (ools and their operations, liming of the tool motions a sense of compromise. cannot work all the reasons, both Kf':.c.ml<,e of this programming fea(typically MiscellUres as synchronized how much (ime laneous Function), the ability to each tool requires to complete etc., are required. There is a level of l"(wnnr'l"Im because only one spindle speed can be both active cuuing tools, although feedrate is both pairs of axes. This means that some operations simply cannot be done simultaneously. promotional brochure than in fact, in a well technical information, (he machine tool. are the features and the CNC machine tool manufacturer considers .m.,Art..:. ... ! the customer. In the majority of brochures, there are practical can b e ' a particular CNC machine, a lathe in the • Machine Specifications A typical bed may from an actual lathe, with two axes and a slant Description Number of axes Two (X, Z) or three (X, Z and C) Maximum swing over bed diameter length 12 Not every lathe job benelits from the 4-axis machining. are cases when it IS more costly to run a job on a lathe inefficiently it very efficient to run on a 2-axis Axis travel in Xaxis • Six-axis lathe Axis travel in Z axis Six-axis CNC lathes are twin turret and a set of axes per turre!. This corporales many tool of them power as well as back-machin Programming these lalhes is similar to programming a three-axis lathe twice. The control system automatically provides synchronization, when IIvl.,'V~~<'l.1 A small \0 CNC lathe is popular and industries with simi applications. FEATURES AND SPECIFICATIONS a promotional brochure useful in many respects. In most is impressive, the printing, and the use of colors is well done. IS the purpose of the brochure La make a marketing tool and attract the potential buyer. A look at a CNC machine Specification Indexing time 0.1 second Rapid traverse rate X axis mm/min in/min 0,01 • 500 mm/rev ,0001 • 19.68 in/rev Main spindle motor Spindle speed 35·3500 rpm Minimum input increment Motorized Number of rotating tools 12 Rotating tool speed 30 . 3600 (Imin Milling motor AC 3.7/2.2 kW AC 5/2.95 HP • M16 metric ·5/8 inches 3 It is very important to understand the specifications and of the CNC machine lools in shop. Many feato the control system, many others to the matool itself. In CNC programming, many imponanl are based on one or of features, for example number of tool stations available, maximum spinothers. • Control Features in understanding the description of a lathe is the look at some control unique 10 how they differ form a typical control. of control features is described in more detail Q circular) can Q Dwell can use the p. U or X address (G04) Q Tool Q 1=,,,,,£1.,,.,,, s~!lection (normal) in mm/rev or in/rev a Feedrate a Rapid traverse rate different for X and Z axes Q Multiple repetitive cycles for turning, boring, facing, contour repeat, grooving, and threading are available a Feedrate is common from 0 to 200% in 10% increments (on some lathes only from 0 to 150%) o X axis can Q Tailstock can be programmable 5, At some fealures and codes nOI make sense - they are included for ,,,r,"'''''1> only. Com- mon typical features are listed: Q X Q Constant surface speed leSS) is standard control (G96 for CSS and G97 for r/min) Q Absolute programming mode is X or Z or C Q nr:rl~m,.'ntlll nrn"'''"rnnllnn mode is U or War H of various forms (including taper and performed, depending on the control model a Automatic uses 4-digit identification (special) in mlmin or inlmin 2m" .. "rv, and corner rounding R and II Kin a diameter, nat a radius a Thread available with six-decimal place accuracy (for inch units) a Least input increment in X is 0.001 mm or .0001 inches on diameter· one half of that value per side COORDINATE GEOMETRY a in /lates. System of coordinates is on a over four mathematical principles dating are those that most important of can be applied to Ihe CNC technology today. In various these principublications on mathematics and the rea/number syspies nrc lisled under the headings (ell! and the rec/angular coordinates. The length of division on the scale re[>re~,e unit of measurement in a convenient and ceptcd It may come as a surprise that used day. example, a simpJe ruler used in on the number scale concept, regardless of meaWeight scales using lons, pounds, of mass are other uses the same as RECTANGULAR COORDINATE REAL NUMBER SYSTEM coordimlte system IS a M to 2D point, using the XY coordinates, or a spa- key to understanding point, using the XYZ coordinates. [t was first 17th century by a French and ......... ,"'" Rene Descartes (I I us an alternative to the rectangular (he knowledge of arithmetic. key knowledge in this area is /lumber system. Within ten llvuiluble numerals , _ ' " , , " ' v l can be used in any of the called o Zero integer.. . 0 r:J Positive integers ... (with or without sign) L 2, o Negative integers ... (minus sign required) o Fractions ... 1/8, 3/16. 9/32, 35/64 o Decimal fractions 0.1 Coordinate System 10,12943, +45 " ..T -381, ·25,-77 T .546875. 3.5 At! groups are used the mainstream of just modern life. In CNC programming, primary goal is to usc the numbers to 'Iranslate' the drawing, based on its menslons, into t). cutter Computerized Numerical Control means control by the All information in a drawing numbers using a has to be translated into a program, using primarily numbers. are used Lo describe commands, functions, comments, so on. The mathematical rn.,r,·'n. of a real number can he expressed graphically on a straight line, scale, where all divisions 4-1. have the same Figure 4·1 Graphical representation of the Number Scale -, • . -; Figure 4-2 Rectangular coordinate system The concepts used in design, and in numerical point can be mathecontrol are over 400 years old. A matically defined on a plane (two coordinate values) or in space (three coordinate values). defin ition of one point IS !O another poinl as a distance parallcl with one of axes that are perpendicular to each olher. In a plane, only two axes are required, in the space, all three axes must represents an exacllospecified. In programming, If such a location is on a the point is defined as a 20 point, along two axes. the location is in a space, lhe poilH is defilled as a three axes, 15 16 4 When two number scales that intersect at right angles are used, mathematical for a recTangular coordinate system is terms from tion, and all have an important role in CNC programming. understanding is very important for further • Axes and Planes • Point of Origin Another term that emerged from the rectangular nate is called poil11 of origin, or just origin. 11 is the point where lhe two perpendicular axes intersect. is point a zero coordinate value in each {lxis, fled a.<; planar XOYO and XOYOZO 4-4. AY of number an axis. This old principle, when applied to programming, means that at least two axes nvo number scales - will be mathematical definition of an -I 1'1 1--+ 1 1 1-1-1" 1- -1-1- .... X axis T definition can enhanced a statement thaI an axis can also be a line of reference. In CNC programming, an as a reference all the lime. The definition contains word '. A plane is a term in 2D applications, while a solid object is used in 3D applications. Mathematical definition of a plane is: the top viewpoint of the looking straight down on the illustration Figure 4-3, a viewing direction is established. This is often called viewing a plane. A plane is a 2D entity - letter X identifies horizon- '1--1-" I -I -I ORIGIN Figure 4-4 Point of origin - intersection of axes This intersection has a special meaning in CNC programming. acquires a new name, lypically the gram reference point. Other terms are also program zero, poim, workpiece zero, part zero, with the same meaning and purpose. • Quadrants Viewing the two intersecting axes and the new four distinct areas can be clearly identified. area is bounded by two axes. areas are called quadrants. Mathematically dcfincd, Yaxis I I- 1- I 1 +-1- X axis The word quadrant (from the Latin word quadrans or quadrall1is, the fourth parI), suggests four uniquely defined areas or quadrants. Looking down in the top at the two intersecting axes, the following definiapply to quadrants. are mathematically correct and are used in CNC/CAD/CAM applications: Figure 4-3 Quadrant I UPPER RIGHT Axis designation· viewing plane Mathematical is fully implemented in CNC Quadrant II UPPER LEFT Quadrant III LOWER LEFT Quadrant IV LOWER RIGHT lal the Jetter Y identifies its vertical axis. 111is plane IS called XY plane. Defined mathematically, (he horizontal axis is always listed as the first of the pair. In and CNC programming. this plane is also known as the Top View or a Plan View. Other planes arc in CNC, but not to the same extent as in CAD/CAM work. quadrants are defined in the lion from horizontal X axis and the naming convention uses Romal! numbers, not Arabic numbers normally used. GEOMETRY 17 counting starts at the positive of the horizontal 4-5 illustrates the definitions. Y+ ., P2+ ... Yaxis II I 1--1'- -+ -I _ t x- Quadrant I X+Y+ -u'+ " -1--1-+ --i--I-JiIo. -r--I-~1~~I-~-r-I--~.. I- x+ ..,.. P1 - ---- ..... X P4 + .. I Quadrant III - Quadrant IV x-yX+Y- Figure 4·5 Quadrants in the Any point zero. Any cation of the distance and their identification is determined solely point in a particular quadrant and its relative to the origin - Figure COORDI X AXIS Y AXIS ON , """"""""~,--"-- .. , ,-""""", + QUADRANT III + Figure 4·6 Algebraic signs for a point location in plane quadrants IMPORTANT: ... If the defined point lies exactly on the Xaxis, it has the Yvalue to zero (YO). If the point on the Y axis, it has the X value to zero (XO). ... If the point lies on both X and Yaxes, both X and Yvalues are zero IXO YO). 0 XOYOZO is the point itive values are written W",UlIlI Coordinate definition of points within the rectangular coordinate system (point PI = Origin XOYO) If these directions were hand, they would "",..r"''',... ''" of thumb or finger in the X direction, middle over a from root would point the Y direction and ,,--"""""""""""""'''''' QUADRANT II • ::: X4.0 Y-3.0 ::: X-S.O Y-4.S P6 ::: X-5.0 YO.Q Figure 4-7 value can be positive, QUADRANT I o P1 ::: XQ.Q - P2- ::: XQ.Q P3 ::: X5.5 YS.O ---"""" POINT o T In part programmmg, the plus sign - Figure • Right Hand Coordinate System In {he illustrations of the number scale, quadrallfs and axes, the origin into two portions. The zero point - the point of origin - separates the positive section of the axis from the section. In the right-hand coordinate system, the at the origin and is directed towards rig III upwards for the Y axis and towards lhe viewpoint for Z Opposite directions are majority of CNC are programmed using the so called absolute method, that is based on the point of origin XOYOZO. This absolute method of gramming follows very of rectangular coordinate geometry and aU covered in this chapter. MACHINE GEOMETRY Machine geometry is the tween the fixed point of the a/the part. TypicaJ machine uses hand coordinate system. and negative is determined by an VIewing conit is always the vention. The basic rule for the Z along which a simple hole can machined Wilh a sinpoint tool, such as a drill, reamer, or a laser beam. Figure 4-8 illustrates the standard orientation of an type machine tools. TTlU,' TlU,,", UH'"",,,,'VlI • Axis Orientation - Milling A typical 3-axis machine uses controlled axes of motion. They are defined as and the Z X to of the is parallel to dimension the Z axis is the spindle movement. On a longitudimachining center, the X axis is the Y axis is the saddle cross direction and Chapter 4 , X+ • REAR LATHE , FRONT LATHE VERTICAL ~--I"""- X+ Figure 4-10 Typical machine axes of a eNe lathe (turning Figure 4-8 Standard orientation of planes and eNe machine tool axes the Z axis is the spindle direction. horizontal machining centers, the terminology is changed due to the design of these machines. The X axis is table longitudinal direction, the Y is the column direction the Z axis is the spindle direction. Horizontal machine can be as a machine rotnted in space by ninety degrees. The additional feature of a horizontal machining center is the indexing B axis. Typical machine axes applied to CNC vertical machines are illustrated in 4-9. r~~"'-"""" TOP VIEW ISOMETRIC VIEW Figure 4-9 Typical machine axes of a vertical eNe machining center • Axis Orientation· Turning Most CNC lathes have two axes, X and Z. More axes are available, but they are not important at this point. A special third axis, the C axis. is designed for milling operations typical CNC lathe. (live tooling) and is an option on What is more common for CNC lathes in industry, is the double orientation of axes. Lathes are distinguished as front and a rear lathes. An example of a lathe is similar to the conventional engine lathe. All the slant bed types a lathe are the rear kind. Identification of the axes have often not followed principles. Another variety. a venical CNC lathe, is basicaHy a horiand zan tal lathe rotated 90 0 • Typical axes for the vertical machine axes, as applied to turning, are illustrated in Figure 4-10. • Additional Axes A CNC machine of any type can designed with one or more additional axes. normally designated as secondary axes using the U, V and W letters. These axes are normally parallel to primary X, Y and Z axes respectively. For a or an indexing applications, additional axes rotated about the are defined as A, B and C axes, as X, Y and Z axes, in their respective order. Positive direction of a rotary an indexing) is direction required to advance a right handed screw in the positive X. Y or Z axis. The relationship of the primary and the secondary (or supplementary) axes is shown 1. Primary axes __ Secondary axes Arc center 1..\--+---+--+--+--+ - - vectors Rotary axes , X axis related Yaxis related I Zaxis related 4-11 Relationship of the primary and the sec:oncfarv axes center modifiers (sometimes the arc center vectors) are not true axes, yet they are also to the primary axes This subject will described in the section on Circular Interpolation, in Chapter CONTROL SYSTEM A unit equipped witn a control system is commonly known as a an analogy of the machine tool as the system, control unit is its are no levers, no knobs and no machine the way they function on COniVCr1lIIO£ and lathes. All the machine and hundreds of other tasks are by a programmer and controlled by a computer that is maof the CNC unit To make a program for a CNC machine tool means to make a program for system. the machine tool is a major as well, but it is the unit thai of the prostructure and its syntax. In order to fully understand CNC programming process, it is important to understand not only the intricacies of to machine a pan, what tools to select, what speeds to use, how to many other features. It is equally the computer, the CNC unit, actually to be an expert in electronics or a I shows an actual Fanuc control The machine own panel, with all the and button needed to operate the CNC machine and all its features. A typical operation panel is illustrated in Another item required the system. the handle, will be described as well. HELP KEY \. GE Fanuc Series 16-M \ (OFF I I 1--1 \ OPERATION MENU ON I OFF BUTTONS, Figure 5·1 A typical example of 8 Fanuc control panel. actual layout and features will vary on different models (Fanuc 16M) 19 20 5 GENERAL DESCRIPTION control unit - the work in conjunction anything useful on its own. if the program itself tons and keys are by control over the program "''''''''''''''.''' a brief look at any reveals that there are two basic components - one is operation paJlel, full rotary switches, toggle and push buttons. The other component is the display screen with a keyboard or a keypad. The programmer who does not normally work on CNC machine will if ever, have a reason to use the operation panel or the display screen. They are machine operator. and at the machine to the the as well as to control the activiof the machine. • Operation Panel Depending on CNC machine, ing table covers most typical and common found on the modern operation panel. There are some of a machining center a differences for the but both operation are similar. As with any reference book, it always a good idea to double with specifications and recommendations. It is common machines In have some special maShould the CNC interested in chine operation? Is for the to know and understand all of the conlIol system? is only one answer to both questions - definizely CYCLE x z y D ERRORS 4 MOO M01 M30 OPTIONAL STOP M-S-T LOCK ON BLOCK SKIP ON @ @ @ OFF OFF OFF o ALARM o o 0 0 MACHINE LOCK ON ON OFF DRY RUN ON @ @ OFF OFF OFF AUTO ID MDI 70 60 50 175 TAPE 150 125 1 80 60 40 30 20 15 10 EDIT MODE Y Z X 20 10 0 600 - 800 1000 1200 1500 2000 4000 0 90 4030 400 5 80 ccw D EDIT ...! ,-_._- 80 OVERRIDE %, N 90 110 0 120 CYCLE START OVERRIDE % Figure 5·2 A typical operation panel of a CNC macnmlllO center actual FEEDHOLD AUTO features wiN vary on different models EMGSTOP CONTROL 21 Description Feature ONI switch Start Emergency Stop Power and control switch for the main power and the control unit Starts program execution Or MDT command AUTO Mode automatic operations MEMORY Allows program execution from the memory of the CNC unit mode all machine and turns off power to the control unit motion of all axes Feedhold Single Block Allows program run one block at a time Optional Stop Temporarily stops the program execution (MOl required in program) Block Skip Ignores blocks preceded with a forward slash (I) in the program Enables program testing at fast mode EDlT MANUAL Mode JOG Mode Memory Access Spindle Override Overrides the programmed spindle usually within 50-120% range Error lights Feedrate Override Overrides the programmed feedrate, usually within 0·200% range Chuck Shows current status of the chuck Clamp (Outside I Inside Clamp Coolant Switch Shows current status of table computer or a punched tape Allows to bt: made to a program stored in the CNC memory Allows manual Selects mode for setup (switch) to allow program editing Red an error is some may not be listed, vinual\y all of table are somewhat related to the CNC proMany control systems unique of their own. These features must known to The program supplied to the machine should not rigid - it should 'user friendly'. those in • Screen Display and Keyboard Coolant control ON I I AUTO Gear Shows current status of working Selection gear range selection Spindle Rotation Indicates spindle rotation direction or counterclockwise) Spindle Orientation Manual orientation of [he spindle Tool Change Switch allowing a manual tool Position Switches and relating to setup of the machine from reference position Handle Manual Generator (MPG). used for Axis Select and Handle Increment switches Tailstock Switch switch to manually Tailstock and/or IJUOUI'v"1 the tails!ock Indexing Table Switch Manually indexes machine table MOl Mode Allows program execution from an external device, such as a desktop RAPID Mode feedrales (without a mounted part) Dry Run Description Feature setup mode The screen display is 'window' to the computer. Any the program can be viewed, including the status control, current tool position, various offsets, parameters, even a graphic representation of the Tool Path. On all CNC units, individual monochrome or color screens can be selected to have the desired display at any time, using the inkeys (keyboard pads and soft keys). Setting for internationallanguages is also possible. The keyboard pads and soft keys are used to input instructions to control. can modified or deleted, new programs can Using keyboard input, not only the machine axes motion can be controlled, but the spindle speed and feed rate as well Changing internal evaluating various diagnostics are more specific means of control, often restricted to service people. Keyboard and screen are used to set program origin and to hook up to devices, as a connection with another computer. There are many other options. keyboard allows use of fers, digits and symbols for data entry. Not every keyboard allows the use of all the alphabet letters or all available symbols. Some control panel keys have a description of an operatiol1, rather than a letter, digit or symbol, example, Read Punch or the Offset 22 Chapter 5 • Handle SYSTEM fEATURES machine has a rotary handle that can move one by as little as the least increment of the control system. The official Fanuc name for the handle is Manual Pulse Gen.erator. Associwith the handle is the Axis Select switch duplicated on the operation as well as on the handle) and is the least increment X I, X 10 the range of increment X I(0). The X in this case is the multiplier and stRnds for limes'. One handle division will move the seaxis by X times the minimum increment of the active of measurement. In Figure and the following table are the details a typical handle. y X Z ...... AXIS SELECT x1 x10 x100 The CNC unit is more than a sophisticated spepurpose computer. 'special purpose' in this case is a computer capabll' of controlling the of a matool, such as a lathe or a machining center. It means the computer to designed a company has expertise in Ihis type of special purpose computers. Unlike many business types each CNC unit is made customer is typically maa particular customer. chine manufacturer, not the end user. The manufacturer certain requirements that the control system to requirements that reflect the uniqueness of the machines they build. The basic conlrol does not change, but some customized features may added taken away) for a specific the system IS to the manufacturer, more features are added to the system. They mainly relate to the design capabilities of the machine. A example is a CNC unit for two machines that are the same in all except one. One a manual lool changer, the other an automatic 1001 changer. order to support the automatic tool changer, the CNC unit must have special features . that are not for a machine without Ihe rool changer. The more complex the CNC system is, the more expensive it Users that do not require all sophisticated features, do not pay a for they do not need. • Parameter Settings infonnalion that establishes the built-in connection between the control and machine tool is stored as special data in called the system parameters. Some of the in this handbook is quite ~pecialized listed for reference only. Programmers with limited experience not to know parameters in a great depth. The original factory are sufficient for most machining jobs. 5~3 An example of a detached handle, called the Manual Pulse Generator (MPG), With a typical fayout and features. Layout and features may vory on different machine models. When (he parameter screen is displayed, it shows the rameler number with some data in a row. Each row numone bYle, digit in the is called a word bit is the Binary digiT is smal unit of a parameter input. Numbering starts with O. from the to the left: II One handle division motion is ... Handle Multiplier Xl Xl0 Xl00 Metric units " " : for English units The Fanuc control system parameters belong to one of three groups, specified within an allowed range: 0.001 mm .0001 inch 0.010 mm .0010 o codes 0.100 mm .0100 inch o Units inputs o Setting values CONTROL SYSTEM The groups use different input values. binary input can only have an input of a 0 or I for the bit data format, 0 10 +127 for byte type. Units inpur has a broader scope the unit can in mm, mmimin, in/min, milliseconds, etc. A value can also be specified within a given range, for example, a number within the of 0-99, or 0-99999, or + 127 to -127, etc .. A typical example of a binary input is a selection between two options, instance, a feature called dry run can set only as effective or ineffective. To select a ence, an arbitrary bit number of a parameter has be set to 0 to make the dry run effective and to I to make it ineffective, UniTs inpur, for example, is used to selthe increment system - the dimensional units, Computers in general do no! distinguish between inch and metric, just numbers, It is up to the user and the setting, whether the control will 0.00] mm or .0001 inches as the menL Another example is a parameter selling that stores the maximum feedrate each axis, the maximum spindle speed, etc. Such values must never be set higher than the machine can support. An indexing axis with a minimum crement of 1°, will not become a rotary with ,00 I 0 increment, just because the parameter is selto a lower even if it is possible. Such a setting is wrong and can cause serious damage! To better understand what the CNC system parameters can do, is an abbreviated Ilsting of parameter classififor a typical comrol system (many them are meaningful to the technicians only); Parameters related to Setting Parameters related to Axis Control Data Parameters related to Chopping Parameters related to the Coordinate System Parameters related to Feedrate l-':::Ir'Am;::tT",r<: related to Acceleration/Deceleration Control Parameters related to Servo Parameters related to DVDO Parameters related to MOl, EOIT. and CRT Parameters related to Programs Parameters related to Serial Spindle Output Parameters related to Graphic Display Parameters related to I/O interface Parameters related to Stroke Limit Parameters related to Pitch Error Compensation Parameters related to Inclination Compensation Parameters related to Straightness Compensation Parameters related to Spindle Control Parameters related to Tool Offset Parameters related to Canned Cycle Parameters related to Scaling and Coordinate Rotation Parameters related to Automatic Corner Override Parameters related to Involute Interpolation I-'::lr::!mpte:>r!:! related to Uni-directional Positioning Parameters related to Custom Macro IUser Macro) Parameters related to Program 23 Parameters related to High-Speed Skip Signal Input Parameters to Automatic Tool Compensation Parameters related to T001 life Management Parameters related to Turret Axis Control Parameters related to High Precision Contour Control Parameters related to Service ... and other parameters Quite a parameters have nothing to do with daily programming and are listed only as an actual example, All system should be set or only by a qualified person, as an experienced technician. A programmer or operator should not modify any parameter settings. These changes require not only qualifications but authorization as well. Keep the list of control, in a safe place, just in case. settings away from Many parameters are periodically updated program processing. The CNC operator is usually not aware that this activity is going on at aiL There is no real need to monitor this activity. The safest to observe is that once have set by a qualified technician, any temporary changes required for a given work should be done through the CNC program. If permanent changes are required, an authorized person should assigned to do them - nobody • System Defaults Many parameter settings in the control at the time of purchase have been entered by the manufacturer as either the only the most suitable choices, or the most not mean they will be the common selections. That settings - it means they were selected on the their common usage, Many settings are rather conservative in values, for safety reas»ns. The set of parameter values established at the time of installation are called the default seHings. The English word 'default' is a derivative of a word 'defalu', that can be translated as 'assumed'. When main to the control is turned on, there are no set values passed to parameters from a program, since no program has yet been used. However, certain active automatiwithout an external program. a culler radius offset is automatically canceled at the startup of (he control system, Also canceled are the fixed cycle mode and tool length offset. The control 'that certain conditions are preferable to others, Many operators will agree with most of these initial settings, although not necessarily with of them. Some settings are customizable by a of a parameter settings. Such settings will . . """"''''''A permanent and create a /lew 'default'. 24 5 A computer is fast and accurate but has no intelligence. People are slow and make elTors, but have one unique ability - they think. A computer is just a machine that does not assume anything, does not consider, does not feel computer does nOl think. A computer not do anything that a human effort and ingeolli.ty has not during the design process, in form of hardware and software. When the the software sets certain existing to their default condition, by engineers. Not all system parameters, only parameters can have an assumed condition - a condition that is known as the default value (condition). example, a tool motion has three basic modes - a rapid motion, a linear motion and a circular motion. The default motion is controlled by a parameter. Only one setling can be active at the startup. Which one? The answer depends on the parameter setting. Many parameters can be to a desired state. Only the rapid or the linear mode can be set as default in the example. Since the rapid motion is the first motion in {he program, it seems to make sense La make it a default wail' Most controls are set (0 the linear motion as Ihe default (GO I command), to be in at the start - strictly for safety reasons. When the machine axes are moved manually, the parameter selling has no effect. If a manual input of an axis command value takes place. either through the program or from the control panel, a tool motion results. If the motion command is nm specified, the system will use the command mode that had been preset as the default in parameters. the default mode is a linear motion GO I, the is an error condition, faulting the system for the lack of a Jeedrate! is no cutting feed rate in effect, which the GO I requires. Had the default setting been the rapid motion GOO, a rapid motion would be performed. as it no! programmed It is beneficial to know the default settings of all controls in the shop_ Unless there is a good reason to do nrn.... defaults for similar controls should be the same. Modem methods measuring memory capacity prefer to use bytes as the unit, rather that a length of an obsolete tape. A byte is the smallest unit of storage capacity and is very roughly equivalent to one character in the program. The memory capacity of the control system should enough to store the longest CNC program '"''',. . '''£'''''''' on a regular basis. That requires some planning machine is purchased. example, in three dimensional mold work or high speed machining, the cost of additional memory capacity may very high. Although any cost is a relative term, there are reliable and inexpensive alwell worth looking into. One alternative is running the CNC program from a personal An communication software and cabling is required to connect the computer with the CNC system. simplest version is to transfer the CNC program from ODe computer to the other. More sophisticated possibility includes software and cables that can actually run the machine from the personal computer, without luading it 10 the memory of CNC first This method is often called 'dripleeding' or 'bitwise input', When operfrom the personal computer, the CNC program can be as long as the capacity of the storage device, typically the hard drive. Most CNC programs will fit into the internal memory of control system. Many controls use the of available or the equivalent length of are some formulas that can be used to get at least the approximate memory capacity calculations: C) Formula 1 : find the program length in meters,/When the capacity is known in use the following formula: n>Jl • Memory Capacity CNC programs can be stored in the control size is only limited by the capacity of the control. capacity is in a variety of ways, originally as the equivalent length of tape in meters or feet, lalely as the number oj bytes or the number of screen pages. A common minimum capacity of a CNC lathe control is 20 m of tape (66 ft). is an old fashioned method thal somehow persisted in staying with us. On CNC milling systems, the memory requirements based on the same criteria are generally and the typical minimum memory capacity is 80 m or ft Optionally, larger memory capacity can be added to the control system. The minimum memory capacity the control varies from one machine to anotheralways control specifications carefully. ",rr\('l""'1"1"1 ~ where ... Sm = Storage capacity in meters No = Memory capacity (number of characters) C) Formula 2 . To find the length program in/eel. when the capacity is known in charaCters, use the following fOlTnula: IG'i" where ... 5, Storage capacity in feet No :: Memory capacity (number of characters) CONTROL SYSTEM ~ Formula 3 . To find the number of characters in a given program, if the system memory capacity is known in meters: lIE where ... C Number of available characters m == Memory capacity in meters Virtually the same results can be achieved by a slightly restructured formula: 2S block are processed as a single inSlrllClion. The blocks are received by control system in sequential order, from the top down and in the order they appear in the program. NormaDy, a CNC machine is run in a continuous mode, while blocks are processed automatically, one after another. This contim1ily I!; important for production, but not practical when proving a new for example. disable the continuous program execution, a Single Block switch is provided on the operation panel. In sinblock only one block of the program will be is On the optime the C)'cle eration panel, the single block mode can used separately that make or in combination with other provmg and more accurate. • feedhold Q Formula 4: To find of characters, if the system memory is known in feer, use the following formula: IGf' where ... C = Number of available characters f == Memory capacity in feet Latest controls show the available memory as the number of free screen display pages. This type of data is not easy to convert as the others. In cases the available memory capacity is too small to accept a program, several techniques are available to minimize the problem, for example, the prolength reduction methods, in Chapter 50. MANUAL PROGRAM INTERRUPTION If a program needs Lo interrupted in the middle of processing, the control system offers several ways to do that, the operation panel. The most common features of this type are toggle or push buttons for a single block operation,feedhold and the emerge/lcy SlOp. • Single Block Operation normal purpose of a program is to control the machine tool automatically and sequentially in a continuous of commands mode. Every program is a or instructions - written as individual of code, blocks. Blocks and their conct!pts will be described in the following chaplers. All in a Feedhold is a special push button located on operation panel, usuatly dose to the Cycle Start bulton. When this button is pressed during a linear or circular axes motion, it will immediately SLOp the motion. action applies to all axes active at the lime. is convenient for a machine setup or a first run. Some types of molion the function of feedhold or disable it altogether. For example, threading or tapping modes make the switch inoperative. Activating feedhold at the machine will not change any other program values - it will only affect motion. The will illuminated (in light), as long as feedhold It IS The CNC programmer can override the feedhold from within the program, for special purposes. • Emergency Stop Every CNC machine has at least one special mushroom push bUHon, red in color, that is located in an accessible place on the machine. It is marked the Emergency SLOP or E-Sl0p. When this buuon is pressed, all machine ac/ivities will cease The main power will interrupted and the will have to restarted. emergency stop switch is a mandatory safety feature on all CNC machines. Pressing the emergency stop button is not always the best or even the only way LO stop a machine operation. In fact, the latest controls offer other features. far less severe, designed to prevent a collision between a cutting tool and the part or fixture. Previously discussed feedhold button is only one option, along with other features. If the emergency stop must be used at all, it should be as the resort, when any other action would require unacceptably time. panic, if something does wrong. There is no need some machine the effect of Emergency Stop is not always apparent. example, the spindle requires a certain time deceleration to slap. 26 5 MANUAL DATA INPUT - MOl A CNC is not always operated by the means of a program. During a pan setup, the CNC operator has to do a number of that require physical movements of the machine slides, rotation spindle, tool change) etc. There are no mechanical devices on a CNC machine. The handle (Manual Pulse GeneralOr) is an electronic, not a unit. In to operate a CNC machine without conventional mechanical devices the control system fers a feature eaHed the Manual DaTa inpUl - or MOL The Manual Data Input the input of a program into the system one program inSTruction at a time. If (00 instructions were to be input repeatedly. such as a would be very inefficient. long program, the During a setup and similar purposes, one or a few structions at a time will benefil from the MDL access the MDI !.he MDI key on the operation panel must be selected. That opens the screen display with the current status of the system. Not all, but the majority of codes are allowed in the MDI mode. Their is identical to the of a CNC program in written form, This is one area where the CNC operator acts as a CNC programmer. It is important that the operator is trained at least in the CNC programming, certainly to the point of being able to handle the setup instructions for Manual Data Input. PROGRAM DATA OVERRIDE All CNC units are designed with a number of special rotary swttches that one common feature - they allow the CNC operator to override the programmed of the spindle or the programmed speed of axis motion. For example, a 15 in/min feedrate in the program produces a slight A knowledgeable operator will know that by increasing the feedrate or decreasing the spindle speed, the chaner may be eliminated. It is possible to Ihe or the spindle by editing the program, but this method is not very A certain 'experimentation' be necessary duri the actual cut to find the optimum value. The manual override switches come to the rescue, they can be by trial during operation. There are four override switches found on most control panels: o Rapid feedrare override (rapid traverse) (modifies the rapid motion of the machine toof) o Spindle speed override (modifies the programmed spindle T/min) o Feedrate override (cutting feedrate) (modifies the programmed feedrate) o Dry run mode (changes cutting motions to a variable speed) Override can used individually or together. control to make the work They are availahle on operator for both the operator and the programmer. does not need 10 'experiment' with speeds and feeds by constantly editing the program and tne programmer has a certain latitude in seuing reasonable values for the cuttino fcedrales and the spindle speed. The presence of the over~ switches is not a licence to program unreasonable cutllng values. The overrides are fine tuning tools only program must always renee! the machining conditions of the work. The usage of switches does nut make any program changes, but the CNC operator the port,unily to edit the program later to the optimum cuttmg Used properly, the switches amount of valuable programming time as can save a well as the setup time-at the CNC machine. • Rapid Motion Override Rapid motions are selected in (he CNC by a preparatory command without a specified If a ma~hine is d~siglied to move at 500 in/min (12700 mm/min) 10 the rapId mode, this rate will never appear in the program. Instead. you call the rapid motion mode by ming a special preparatory command GOO. During program execution, all motions in the GOO mode will be at the manufacturer's fixed rate. The same program will run faster on a with high motion rating then on a machine with low rapid motion some During setup, the rapid motion rare may control for program proving. when high rapid rates are uncomfortab~ 10 work with. After the program had been proven, raptd rate can be applied at its maximum. CNC machines are equipped with a rapid override switch to allow temporary rapid motion settings. Located on the control panel, this switch can be st![ 10 one of the four as the percentage of the max Three of them arc mum rate, typically as 100%, 50% and 25%. By switching ~o one of them. the rapid motion rate changes. For example, )fthe maximum rapid rate is 500 inJmin or 12700 mm/min, the reduced rates are inJmin or 6350 mmlmin at the 50% selling and 125 in/min or 31 mm/min at the 25% setting. oflhe reduced rates is more comfonable to work with setup. The fourth position of the switch offen has no percentage and is identified as an F I or by n small symbol. In this seLting, the rapid motion rale is even slower than that Why is it not idenli fled as or 1 for example? The reason is simple - the control system allows a selection as to what the value will Jt may he a setting of between 0 and 100%. default seuin a is the mOSI logical - usually 10% of the maximum r:pid traverse rate. setting should never be higher than 25% can be done only through a setting of a system ler. Make sure that all persons who work on such a machine are aware of the CONTROL SYSTEM • Spindle Speed Override same logic used for the application the rapid rate override can be used the spindle speed override. The re- quired can be established during the actual by using the spindle speed override switch, located on the control panel. For example, if the programmed spindle speed of 1000 rlmin is loa high or LOa [ow, it may be changed temporarily by switch. the actual cutting, the CNC operator may experiment with the spindle speed switch to tind the optimum speed for the given cutting conditions. method is a much faster thall 'experimenting' with the program values. spindle speed switch can on some controls or selectable in increments of 10%, typically 50-120% of the programmed spindle within the A programmed at 1000 r/min can be overridden during machining to 500, 600, 700,800,900,.1000, 1100 and! 200 r/min. This range allows the CNC operator flexibility the spindle rotation to suit the CUlling conditions. is a catch, however. The optimized spindle speed chnnge may apply \0 only one tool of Ihe many used in the No CNC operator can be to watch for that tool and switch the speed up or down when A simple human oversight may ruin the part, the cutting 1001 or both. recommended method is to find out the optimum speed for 1001. write it down. then change the program so all the tools can be at the 100% spindle override for production. on the Comparison of switch with the increments on switches for the rapid traverse override earlier) and the feedrate ",,,,,,.lt1,, next), more limited The reason spindle speed range of 50% to I is safety. illustrate with a rather example. no operatOr would want La mill, drill or cut any material at 0 spindle rotation), possibly combined a heavy feedrate. ]n to into 100% speed in the program, D. new spindle has to be calculated. If a programmed spindle speed of 1200 rlmin a tool is always set to 80%. it should be edited in the \0960 r/min, then at 100%. The formula is quite pie: /' ~ where ... So ::::: Optimized - or new r/min Sp p = Originally programmed r/min Percentage of spindle override Overriding the programmed spindle speed on the CNC machine should have only one purpose to the spindle rotation for best cutting conditions. • Feedrate Override The most commonly used override switch is one that FOT milling controls, changes the feed rate programmed in in/min or mlmin. lathe controls, the feed rate is programmed in itt/rev or in mnt/rev. The [ceurate per minute on is used only in cases when the spindle is not rotaling and the needs to be controlled. The new feedrate calculation, based on the ""A/~r""'" selling, i~ similar to that for spindle speed: ~ where ... Fn = Optimized - or new- Fp p == Originally programmed tP'j>,fifl'llh" Percentage of feedrate can overridden within a large range, Iypically from 0% to 200% or at least 0% to 150%. When the '·"'"..n ...... ,.,. override is set to 0%, the CNC machine will stop the cutting motion. Some CNC machines do nOI have the 0% percent setting and start at 10%. maximum of 150% or 200% CUlling feedrate will cut I or than the value. There are situations, where the use of a feed rate would the pari or the cutting tool - or both. Typical examples are various tapping cycles and single point threading. These operations require spmdle rotation synchronized with the feed rate. In such cases. ineffective. The override will override will effective. if standard motion commands 000 and GO I are used to program aoy lapping or tread cutting mOlions. poimilireading command G32, tapping fixed cycles and G84, as well as lathe threading cycles 092 and 076 havc the feedrate override cancellation built into the software. All these and other related are dein the handbook, in more • Dry Run Operation Dry run IS a special kind of override. II is activated from the control by the Dry Run switch. It only has a direct effect on and allows much higher feedrate that used for actual machining. In praaice. it means the program can be executed much faster than using a feedrate at the maximum No actual place when the dry run is in effect. What is Ihe purpose of the dry run and what are its tits? Its purpose is to test the integrity of program The benefits are CNC operator cuts the first mainly in Ihe time saved during program proving when no a dry run. the part is normachining takes place. mally 1101 mounted in the lfthe part is mounted in 5 the device and dry run is used as well. it is very important to provide sufficient clearances. Usually, it means moving the tool away from the parr. program is then executed 'dry', without actual cutling. without a ant, just in the air. Because of the heavy feed rates in the dry run, the part cannot he machined safely. a run, the program can be checked all possible errors except those that to the actual contact of the tool with the material. The dry run is a very efficient setup aid to all integrity of the CNC program. Once the is proven during a dry run, the CNC operator can concentrate on sections of the program that contain actual machining, Dry run can used in combination with features of the operation panel. • Sequence Return Sequence Return IS a function controlled by a switch or a key on the control panel. purpose is to enable the CNC operator to start a program from the middle of an intermemorupted program. Certain programmed functions (usually the last and feed), have to be Input by the Manual Data Input key. The operation of this function is closely lied to the machine tool design. More formation on the can be in the machine tool manual. This function is very handy when a tool breaks during processing of long programs. It can save valuable production time, if properly. • Auxiliary Functions lock ore three available to the operation of a CNC machine that are part of the 'auxiliary junctions' group. These functions are: • Z Axis Neglect Another very useful tool for testing programs on CNC machining centers (not lathes) is a toggle switch located on the operation panel called the Z Axis Neglecr or Ignore. As when this switch is activated, any motion for the will not be performed. Why the axis? Since the X and Y axes are used to profile a of the part most common contouring operations), would make no sense to temporarily cancel either one of axes. neglecting (disabling) Z temporarily, CNC operator can concentrate on the of the part contour, without worrying about the depth. Needless to say, this method of program testing must take place without a mounted part (and normally without a coolant as well), Be careful here! It is important to or disable the switch at (he right time. lf the Z axis motion is disabled before the Cycle Start key is all following Z commands will ignored. If motion is enabled or disabled during program ",.I"\"I'C<'_ ing, the position the Z may inaccurate. Z switch may be in bolh manual and automatic modes of operation, Just make sure that the motion along the Z axis is returned Lo the enabled mode, once the program proving is Some CNC machines require resetting of the Z axis position + Manual Absolute Setting If this feature is on the control (some controls use it automatically), it (he operator to resume a program in the middle of Manual absolute can save particularly wIlen processing long Manual Ahsolure setting switch is not a typical some extent, it is functionally to the Sequence Return setting. Check machine tool documentation using either of these two features. Miscellaneous functions lock Locks M functions Spindle functions lock locks S functions Tool functions lock Locks T functions described in this chapter, auxiliary functions generally relate to the technological aspects of the CNC They control such machine functions as spindle rotation, spindle orientation, coolant selection, tool changing, indexing table, pallets and many others. To a lesser degree, they also control some program functions, such as compulsory or optional program SLOp. subprogram flow, program closing and others. When auxiliary functions are locked, machine related miscellaneous functions M, all spindle functions S all 1001 functions T will be suspended. Some machine 1001 manufacturers the name MST Lock rather than Auxiliary Functions Lock. MST is an acronym the first letters from the words Miscellaneous, Spindle and Tool, LO the program functions that will be locked. The applications of these locking funclions are limited to the job setup and program proving only and are not used for production machining. • Machine lock Machine Lock function is yet another control feature So far, we have looked at the Z axis Neprogram provi glect function and the locking of the auxiliary functions. Neglect function will the Remember that the Z motion of the Z axis only and the Auxiliwy Functions Lock (also known as Ihe MST lock) locks the miscellaneous functions, the spindle functions lool Another function, also available through the control panel, is called the Machine Lock. When this function IS enabled, the motion of all axes is locked. It may seem to test CONTROL SYSTEM a locking all the tool motions, but there is a good reason to use this It CNC operator the chance to test the program with virtually no chance of a collision. When the machine lock is enabled, only the axis motion is locked. All other program functions are mally, including the tool and spindle used alone or in combination with This function can other functions in order to dlscover possible program errors. Probably the mostlypical errors are errors and the various toot offset functions. • Practical Applications Many of the control features described in used in conjunction with each other. A is Run used in conjunction with the Z Neglect or the Auxiliary Functions Lock. By knowing what function are available, the CNC operator a to needs of the moment There are many areas of equal imporlance on which the CNC operator has to concentrate when setting up a new or Many lures of the control unit are to the operator's easier. They allow concentration on one or two items at than (he complexity of the whole program. in a reasonable These have now is the lime to look at some practical applications. During the initialization of a new program run, a good CNC operator will take certain precautions as a maHer of facL Forexample, the first part of the job will mosllike!y be tested with a rapid motion set to 25% or 50% of the available rapid rate. This relatively slow setting allows the operator to monitor the integrity of the program processing, as well as specific details. The details may include items such as a possibility of insufficient between tool and the material, checking if the Path looks reasonable, and so on. The CNC operator will have a number of tasks to perfonn simultaneously. Some the Lasks include monitoring the spindle feed rate , tool motions, tool changes, coolant, etc. A careful and conscious approach results building the confidence in the integrity of the CNC program. It may be second or even the third pan of the job when the CNC operator starts thinking of the optimization cutling values, such as spindle speed and the culting This optimization will truly reflect the ideal speeds a particular workpiece under setup. A production supervisor should not arbitrarily an override selling than 100%. Many consider the CNC program as an unchangeable document They the attitude that what is wrilten is infallible - which is not always true. Often, the operator may no other choice bur 10 override the programmed values. What is mosl imporranl, is the modification the program that reflects the optimized cutting conditions. 29 the machine operator finds what values must be changed in the program itself, the program must edited to reflect these changes. Not only for the job currently worked on, but also for repetition of the job in Ihe fulUre. After all, it should be the goal of every programmer and CNC operator to run any job at one hundred efficiency. This efficiency is most likely as a comoperator and the programmer. A good bined effort of CNC programmer will always make the effort to 100% efficiency at desk and then improve the even SYSTEM OPTIONS Optional features on a system are like options on a car. Whal is an option at one dealership, maybe a feature at another. Marketing and corporate philosophies have a lot to do with this Here is a look al some conlrol features Ihal mayor may nol be as optional on a system. BUI some important disclaimer first: This handbook covers the subject matter relating to the majority of control features, regardless of whether they are sold as a standard or an optional feature ofthe system. It is up to the user to find out what exact options are installed on a particular control system. • Graphic Display Graphic representation of the tool path on the display screen is one of most important, as well as sought after, control options. Do not confuse (his oplion with any type of conversational programming, which also uses a ,..,.,."'''.~ tool path interface, In the absence a computer programming (CAM), a display on the conLrol panel is a major benefit. Whether in monochrome or in color, the convenience of seeing the 1001 motions before acmaChining is much appreciated by CNC and alike. A typIcal graphics option shows the axes and two cursors for zooming. When the tool path is tested, individual tools are distinguished by different colors, if available or different intensity. Rapid motions are represented by a dashed line lype. cutting motions by a line lype. If the graphics function is applied during machining, the lool motions can watched on the display screen very helpful CNC machines oily and scratched safety shields. Upwards or downwards the display allows for evaluation of a tool motion or detail areas. Many controls include actuallOol path simulation, where the shape of the part and cuLting 1001 can be set first, then seen on the screen. Chapter 5 • In-Process Gauging During many unattended machining operations, such as in manufacturing cells or Agile manufacturing, a periodic checking and adjusting dimensional tolerances of the part IS imperative. the cUlling 1001 wears out, or perhaps because causes, the dimensions may fa!! into the 'out-of-tolerance' zone. Using a device a suitable quite a satprogram, the In-Process Gauging option isfactory solution. The CNC part program for the In-Process Gauging option will 'Some quite unique written and will formal features - it will be using another option of the control system - the Custom Macros (somt!iimes called the User Macros), which offer variable lype I f a company or a CNC machine shop is a user of the InGauging option, there are good chances that other to the CNC control options are installed and programmer. Some of Ihe most typical options are probing software, tool life management. macros, etc. This technology goes a lillie too far beyond standard CNC programming, although it is closely related and frequently used. Companies that already use numerical control technolwill be well advised to look into these options to recompetitive in their lield, • Stored Stroke limits Definition an area on a CNC lathe or a on a \0 work within, can be stored machining center that is as a control system sTored stroke limit. These stored stroke are designed to a collimachine tool sion between the cutting tool and a fixture, or the part. The area (2D) or the cube (3D) can be defined as either enabled for cutler entry or disabled for the cutor, if ler entry. It can set manually on the able, by a program input. Some controls allow only one area or cube to be defined, others allow more. unit a When this option is in effect and the motion in (he program that takes place within the forbidden zone, an error condition results and the machining is interrupted. A typical applications may include zones occupied by a tuilstock, a fixture, a chuck. a rotary table, even an unusually shaped part. • Drawing Dimensions Input An option that seems somewhat is the programming method by using input of dimensions from an engineering drawing. The ability to input known coordinates, radii, chamfers and given angles directly from the drawing makes it an attractive option. This ability is somewhat by poor program portability. Such an option must be installed on all in the shop, in order \0 use the programmed features efficiently. • Machining Cvcles Both the milling and the turning controls offer a variety of machining cycles. Typical machining for milling operations are calJedfixed cycles, also known as the canned cycles. They simplify simple poinl-Io-point machining operations such as drilling, reaming, boring, backboring and CNC cycles for face ing, pocket milling, patterns, etc. CNC lathes have many machining cycles available to remove material by roughing, profile finishing, facing, taper cutting, grooving and threading. Fanuc conlrols call cycles Multiple Repetitive Cycles. Allihese are designed for programming and faster dlanges at the machine. They are built in Ihe conlrol and cannot be changed. Programmer supplies the cutting by using approduring the program priate cycle call command. All the processi ng is done automatically, by the CNC system. Of course, there will always special programming that cannol use any cycles and have to be programmed manually or with the use of an external computer. • Cutting Tool Animation Many of the graphic tool path displays delined earl icr, are represented by simple lines and arcs. The currenltool posiline or arc endpoinl on tion is usually the location of screen. Although this method of displaying the motion of the CUlling tool graphically is certainly useful, there are two to il. The of lhe cutting tool and the material being removed cannot be seen on the screen and a 1001 path simulation may help a bit. Many modern controls incorporate a feature called CUllillg Tool Allima~ lion. If on the il shows Ihe blank of the part, the mounting device and the tool shape. As the program is executed, the operator has a very accurate visual aid in program proving. Each graphic element is by a different color, for even a better blank the mounting device and preset for exact proportions and a variety tool shapes can be stored for repetitive use. This option is a good example of CAD/CAM-like features built into a stand-alone control system. • Connection to External Devices The CNC computer Caft be connected to an external usually another computer, Every CNC unit has one or to more connectors, specifically designed for peripheral The most common is RS-232 (EIA standard), designed for communications between two computers. Setting up the connection with external is a specialized application. The CNC operator uses such a connection to transfer programs and other seltings between two computers, usually for slorage and backup purposes. PROGRAM PLANNING The development of any CNC program begins with a very carefully planned process. Such a process starts with ng drawing (technical print) of the required part released for production. Before the part is machined. several have (0 be considered and carefully evaluated. The more effort is put inlo stage of the program, the results may be at the drawing The initial part information is not limited to and the material - it also conditions not covered in the drawing, as pre- and machining, grinding allowances, features, requirements for hardening, next machine setup, and others. Collecting all this information provides enough (0 start planning the program. STEPS IN PROGRAM PLANNING MACHINE TOOLS fEATURES The required in program planning are decided by the nature of the work. There is no useful fonnula for all jobs, but some basic should considered: No amount initial information is useful if CNC is nOI suitable for job. program nlng, programmer concentrates on a parlieu/ar machine a particular Each part has to be tool, (he machine has LO large to handle the of the part, the pan should nOl be heavier than the maximum weight allowed. control system must be capable to provide the needed path, so on. o Initial information / Machine tools features o Part complexity o Manual programming / .nfTmllr... programming o Typical programming procedure drawing / CJ o data Methods sheet / Material specifications o Machining sequence o Tooling selection o Part o Technological decisions o Work sketch and calculations o Quality considerations in CNC I'IT/'Inflllmrn"nn steps in the list are suggestions only - a guideline. be adapted for job and to the specific conditions the work. are quite tlexible and should INITIAL INFORMATION Most drawings define only shape and of the completed part and nonnally do not specify data about the Initial blank material. For progrnmmi a good knowledge of the is an essential start - mainly in terms of its size, type, shape, condition, han.lness, etc. The and material data are the primary information about the part. At (his point, program can be planned. objective of such a plan is to use the inilial information and establish the most efficient method of machinmg. with all con- mainly part accuracy, productivity, san~ty and converHcnce. In most cases, the CNC equipment is already available in the shop. Very companies go buy a new CNC machine just to suit a particular job. Such cases are rather rare and happen only if moke economic scnse. • Machine Type and Size The most important considerations in planning machine, partIcularly are the type and the size the ils work or work area. Other equally' machine power rating, spindle speed number of 1001 stations, 1001 changing system, accessories. etc. Typically, small CNC mahave higher spindle speeds lower power large machines lower spindle speeds available, their power • Control System The control system is the of a CNC Being familiar wilh all standard and oplional features availableren all controls is a must. This knowledge allows use of a variety of programml as machining subprograms, macros timesaving features a modern CNC system. A programmer not to physically run a CNC machine. Yet, the programs will become better and more with good understanding of the machine and its control system. Program development programknowledge of the CNC machine operation. 31 32 Chapter 6 of the main concerns in program plannin o should be the operator's perception of the . To a la~ge degree, such a perception is quite subjective, in (he sense that operators will express their personal preferences. On the other hand, every operator appreciates an error-free, well documented and professionally part p.rogram, consistently and one after A poorly deof Signed program is disliked by any operator, personal PART COMPLEXITY • Disadvantages There are some disadvantages associated with manual program~ing. Perhaps the most common is the length of reqUIred to actually develop a fully functioning CNC program. The manual calculations, verifications and other related activities in manual programming are very time Other also very high on the list, ~re a large percentage of errors, a lack of tool path verification, (he difficulty in making to a and many others. • Advantages At the drawing, material and the available CNC equipment are the complexity of the ming task become,s much How difficult to program the part manually? What are the capabilities of machines? What are the costs? Many questions have to be before starting the Simple progr(lmming jobs may be assigned to a experienced or the CNC operator. It makes sense from management perspective it is a good way to gain experience. will from a computerDifficult or ized programming 'technologies such as Computer Aided Design (CAD) and Computer Aided Manufacturing (CAM) have been a part of the manufacturing cess for many years. The cost of a CAD/CAM system is only a fraction of what il used to be only a few years ago. small shops now find that the benefits offered bv modern technology are too significant to ignored. programming systems are availahle various computers and can virtually job. For a typical machine shop, a Windows based programming soft ware can very benefiA typical example of this kind of application is the popular and powerful Masfercam™, from CNC Software, Inc., Tolland, are others. On positive side, manual part programming does have qUi,le a few un~atched qualities. Manual programming is so Intense that It requIres the total involvement the CNC programmer and yet offers virtually unlimited freedom in the development of the program structure. Programming it teaches a manually does have some disadvantages, tight discipline in program development. It forces the programmer to understand programming techniques to the lasl detail. In fact, many useful skills learned in manual programming are directly applied to CAD/CAM programmIng. Programmer to know what is happening at all times and why it is happening, Very important is the tn-depth understanding of every detail during the program development. Contrary to many beliefs, a thorough knowledge of manual programming methods is absolutely essential efficient management of CAD/CAM programming, J MANUAL PROGRAMMING Manual programming (without a computer) been the most common method preparing a program for many years. The fatest CNC controls make manual or gramming much easier than ever before by using repetitive machining variable type programming, graphic tool motion simulation, standard mathematical input and other time saving features. manual programming, all calculations are done by hand. with the aid of a pocket no programming i~ used. Programmed data can transferred to the CNC machine via a cable, an inexpensive desktop or a laptop computer. is and more rellable than other methods, Short programs can manually, by keyboard entry; directly at the machine. A punched tape to the popular media of the past but has virtually disappeared machine shops. CAD/CAM AND CNC The nee~ for i efficiency and accuracy in CNC programming has been major reason for development of a variety of methods that use a computer Lo prepare part Computer assisted CNC programming has been around for.many years. in the form of language based programming, such as APyrM or Compact IITM. Since the late 1970's, CAD/CAM has played a significant role by adding the visual aspect to the programming process. The acronym CAD/CAM means Computer Aided Design and Computer Aided Manufacturing. The first three letters (CAD) cover the area of engineering drafting. "' ........ 'u .. '" three (CAM), cover the area crized manufacturing, where programming is only a sman whole subject of CAD/CAM covers much more just design. drafting and programming. It is a part of modern also known as ClM - Computer Integrated Manufacturing. In area of have major role for a long Machine controls have more sophisticated, incorporating latest techni,ques of data tool path graphics, machining can now be prepared with the usc PROGRAM PLANNING computers, using graphical interface. is no an even small machine can afford a systems are also programming system in house. popular because of their flexibility. A typical computerized programming system not have to be dedicated only to programming - all related tasks. often done by the pro""lnr'ln"l'''r can implemented on the same computer. For of example, cuning tool inventory managemenl, part programs, material information sheets, setup sheets and tooling sheets, etc. The same computer could also used for uploading and downloadIng CNC programs. 33 the price, may handle to an absolute If the control system can handle il, manual programming is the way to the ultimate control over such a project, when other methods may not suitable. with a well customized and computerized system, how can the program output be exactly as intended? How can the CNC operator change any part of the program on the machine, without knowing its and • Integration The keyword in the acronym CIM is - integration. It means putting all the elements of manufacturing together work with them as a single unit and more efficiently. The main behind a successful integration is to avoid duplication. One of the most important rules of using a CAD/CAM computer software is: When a drawing is made in a CAD software (such as AutoCAD), then done again in a CAM software (such as Mastercam), there is a duplication. Duplication breeds er- rors. In order to avoid duplication, most of the CAD tems incorporate a transfer method of the design to the seCAM system to be for CNC programming. Typical transfers are achieved through special DXF or lOES files. The DXF stands for Data Exchange Files or Drawing and the IGES abbreviation is a Specification short form of Initial Graphics Once the geometry is transferred from the CAD system to the CAM system, only the tool path related process is needed. a kind of formatter), the computer will prepare a part program, ready to be loaded directly to the CNC machine. • future of Manual Programming It may seem that the manual is on the cline. terms of actual use, this is probably true. il is necessary to keep in perspective that any computerized technology is on already well established melhof manual programming. Manual programming for CNC machines serves as the source new technology - it is (he very concept on which computeropens the programming is door for developmem of more powerful and soft~ ware applications. The manual programming may somewhat frequently today and eventually will be used even less - but knowing it well - really understanding it - is and always will the key (0 control the power of CAM software. are some special computers cannot everything. programming projects that a CAM software, regardless of TYPICAL PROGRAMMING PROCEDURE Planning a CNC program is no different than any other - it must planning - at home, at work, or in a logical methodical The first sion~ relate to what tasks have to be done and what goals have to be reached. The other decisions relate to how to achieve the set goals in an efficient and safe manner. Such a progressive method not only isolates individual problems as they develop, it also forces their solution before the next step can be taken. foHowing items form a fairly common and logical sequence of tasks done in CNC programming. The items are only in a offered for further This order may changed to reflect special conditions or working habits. Some items may be missing or redundant: 1. Study of initial information (drawing and methods) 2. Material stock (blank) evaluation 3. Machine tool specifications 4. Control system features 5. Sequence of machining operations 6. Tooling selection and arrangement of cutting tools 7. Setup of the part 8. Technological data (speeds, feedrates, etc.) 9. Determination of the tool path 10. Working sketches and mathematical calculations 11. Program writing preparation for to CNC 12. Program testing and debugging 13. Program documentation There is only one in CNC program planning and that is the completion all instructions in the form of a prothat will result in an error-free, and efficient CNC machining. suggested procedures some changes for example, should the tooling selected before or after the pall setup is determined? Can the manual the part programming methods efficiently? worki sketches necessary? Do not be afraid to modify any so called ideal procedure either temporarily, for a given job, QT permanently. to reflect a particular CNC prostyle. Remember, there are ItO ideal procedures. 34 Chapter 6 PART DRAWING The parl drawing is the single most important document used in CNC programming. It visually identifies the shape, dimensions, tolerances, tinish and many other requirements for the completed item. Drawings of complex parts often cover many sheets, with different views, details and sections. The programmer first evaluates all the drawdata first, then isolates Ihose that are relevant for the development of a particular Unfortunately, many the actual CNC manufacdrafting methods do not turing They reflect the designer's thinking, rather than the method manufacturing. Such drawings are erally correct in technical sense, but they are harder to study by the and may need to 'interprered'to be of any in CNC programming. Typical examples are of a datum point methods of applying dimensions, that can be used as a program reference point and the view orientation in which the part is drawn. In the CAD/CAM environment, traditional between design, drafting and CNC programming mUSI be eliminated, Just as it helps the programmer to understand designer's intentions, it helps the designer to understand the basics of CNC programming, Both, the designer and the programmer have to understand other's methods and find common ground that makes the whole process of design and manufacturing ,...",,,"',."',.... and title block supvisions. special instructions, etc. Data in ply crucial information for CNC programming can be used for program documentation to make easier cross Not all title block information is needed in programming, but may used for program documentation. Revision dates in a drawing are associated with the title block. They are important to the programmer, as they indicate how carrent is the version. Only the latesl ver" sian of part design is important to manufacturing. • Dimensioning Dimensions on the part drawing are either in metric units. Individual dimensions can be a certain datum point or they can he from the previous dimension. Often, both types of dimensions are mixed in the same drawing. When writing the more to all conprogram. it secutive - or incremental dimensions intO datum - or absolute - dimensions. Most CNC programs benefit from drawings using datum, or absolute Similarly, when developing a subprogram for tool path translation, an incremental method of programming may ,be the right choice - and the choice depends on the application. The mosl common for CNC machines uses the absolute dimensioning method (Figure 6-2), mainly because of the editing ease within the CNC system. ---- • Title Block The title block 6- / - is typical to all professional infordrawings. lts purpose is to collect all mation related to the particular drawing. 170 a 170 By , 110 .- lI bl Dr.: Date: Chk.: Drawing number: App .. 6·1 A title block 8xa'mDIB of an .mn,iflFlF!rinn drawing and contents of a title block coman the eype of manufacturing and internal usually a recl.angular box, positioned in the corner of the drawing, divided into several boxes, The contents of the title block include such items as the pari name and part number. drawing number, material data, rc- 6-2 Program using ABSOLUTE dimensions Only one change in the program is necessary With the absolute system of dimensioning, many program changes can be done by a single modification. Incremental method requires alleast two modifications. differences between the two dimensioning systcms cnn be compared in 6-2, using the absolute dimensioning using the incremental dimenmethod, and in word incremel1tal is more common in sioning CNC. in drafting the equivalent word would be relative. Both illustrations show the a) figure before revision, and the b) figure after revision, PROGRAM PLANNING 35 ---,60 ._",......:I 60 al ." 70! ----.--' 40 ---' 60 --- Figure 6-3 Program using INCREMENTAL dimensions Two (or more) in the program are necessary Fractions Drawings in English units contain fractions, A tional dimension was sometimes used to identify a importam dimensional tolerances (such as :1:,030 inches from the nominal number of digits following (he mal point often indicated a tolerance (the more digits specified, the the tolerance range). methods are not an ISO standard are nO use in programming. Fractional dimensions have to be changed inlo their decimal equivalents, The number of decimal places in the is determined by minimum increment of {he conIroL A dimension of 3-3/4 is as and a dimension of 5-11/64 inches is programmed as 5,1719, its closest rounding. Many companies have upgraded their to the ISO system and to principles of CNC dimensioning. In this respect, drawings usthe metric units are much more practicaL Some dimensioning problems are related (0 an improper designers use of a CAD software. such as AutoCAD. do not change the default setting of the number of decimal dimension ends up with four decimal places (inches) or three decimal (metric), This is a poor practice and should be avoided. The best approach is to for all dimensions require them. and even use Geometric Diflumsioning and Tolerancing standards (GDT) , • e A drawing dimension specifies a hole as 075+0.00/-0.05 mm. What actual dimension should appear in the program? There are some choices. The dimension on the high side mlly be programmed as X75,0 and X74,95 on the low of the A middle value of X74,975 is also a Each selection is mathematically correct A creative programmer looks not only for the mathematical points, but for the technical points as well. cutting of a tool wears out wilh more parts machined. That means the machine operator has to fine-tune the machined size by using the tool wear available on most CNC systems, during machining is Such a manual acceptable. but when done too often, it slows down the production and adds to the overall costs. A particular programming approach can control the frequency of such manual adjustments to a great Consider the mm mentioned If il is an external diameter, the tool edge wear will cause the actual dimension during machining to become larger. In the case of an internal diameter, the actual dimension will become smaller as the CUlling wears out By programming X74,95 for the external (the bottom Iimil) or X75,O for the inlerna] diameter (the top limi!), the wear of the cutting will move into the tolerance range, rather than away it The lool offset adjustment by machine operfrequently. Another apator may still be required, but proach is to select the middle of the tolerance this method will also a positive effect but more manual adjustments may necessary during machining, • Surface finish Precision parts require a certain degree of surface finish quality, Technical drawing indicates the finish for various features (he part drawings indicate the in micro inches, where micro inch =, 00000)", Metric drawings use specifications expressed in microns. where 1 micron:: 0,001 mm, Symbol for a micron is a Greek letter )1. Some drawings use symbols - Figure 6-4, Tolerances For quality machining work, most part have a range of acceptable deviaLion fTom the nominal size, within its system of reference, example, an English of +,0011-,000 will be different from a mel ric tolerance +0.1/-0.0 mm. Dimenmu,<;1 sions of this type are usually critical dimensions be maintained during CNC machining. It may be true thai CNC operator is ultimately responsible maintaining the part within the tolerances (providing Ihe program is correct) - but it is equally true, that the CNC programmer can the operatoro's task Consider the following example for a CNC lathe: Figure 6-4 Surface finish marks in a drawing: English (top) and metric (bottom) 36 6 The most important factors influencing the quality of surface finish are spindle speed, cutting tool radius and amount of material removed. Generally, a larger cuLter radius and slower contribute towards finer surface finishes. The time will be longer but can often be by elimination of any subsequent operations such as grinding, honing or lapping. • Drawing Revisions Another important section the drawing, often overlooked by CNC programmers, shows the ..... ,,<u,!",'''''' (known as revisions) made on the drawing up to a date. or the designer identifies such changes, usually with both the previous and the new value exampl~: REV' • 3 / DIMENSION 5.75 WAS 5. 65 Only the latest are important to the program development. Make sure the program not only reflects the current engineering design, but also is identified some unique way to distinguish it from any previous versions. Many programmers keep a copy of the part ing corresponding to the program in the files, thus preventing a possible misunderstanding later. • Special Instructions METHODS SHEET Some companies have a staff qualified manufacturing for determitechnologists or process planners of the manufacturing process. people dcvc\op a of machining . detailing the route of each part through the manufacturing steps. They allocate the work to individual machines, develop machining seand setup methods, tooling, etc. Their (routing that structions arc written in a methods accompanies the part through all of manufacturing, a is available, typically in a plastic folder. If copy should become a part of the documentation. One of purposes of a methods sheet is to provide CNC programmer with as much information as possible to shorten the turnover between programs. greatest advantage of a methods sheet in programming is its comprehensive covof all required operations, both CNC tional, thus offering a overview the turing process. A good quality methods sheet will save a lot of decisions - it is made by a manufacturing who specializes in work detailing. The ideal is one recommended manufacturing process closely matches establlshed part programming methods. For whatever reason, a large number of CNC machine shops does not use methods sheets, routing sheets or lar documentation. CNC programmer acts as a . . . as well. Such an environment offers a certain degree of flexibility but demands a large degree of knowledge, skills responsibility at same time. H ..' ' - ' ' - ' ' ' " Many drawings also include special instructions and comments that cannot with the traditional drafting symbols and are spelled out mClleoemlenlly, in words. Such instructions are very important for CNC program planning, as they may significantly influence the example, an I"ll"mpn! the part is identified as aground or diameter. drawing dimension always shows thejinished In the program, this dimension muSI be adjusted for any grinding allowance necessary - an allowance by the programmer and written as a special instruction in the proAnother example of a special instruction required in program to machining performed part assembly. example. a certain hole on the drawing should be drilled and tapped and is dimensioned same way as other hole, but a special instruction indicates the drilling and tapping must done when part is during assembly. Operations relating to such a hole are not programmed and if any overlook of a small instruction in unusable pan. such as this, may Many drawing instructions use a special pointer called a Usually it is a line, with an arrow on the pointing towards ar~ that it to. For a leader may be pointing to a with the caption: ~12 - REAM 2 HOLES is a has 12 mm to ream 2 holes with a reamer that MATERIAL SPECIFICATIONS Also important consideration in program planning is evaluation of the malerial stock. Typical material is raw and bar, billet, plate, forging. etc). unmachined Some may already premachined, routed from another machine or operation. It may solid or hollow, with a small or a amount to removed by CNC machining. The shape of the material the setup mounting method. The of malerial (steel, cast iron, brass, will influence not only the of cultools, but cutting conditions for machining as well. • Material Uniformity Another important consideration, often neglected by and alike, is the uniformity material specifications Within a particular batch or from one batch to another. For a ' ordered two suppliers La slightly different PROGRAM PLANNING 37 even A similar example is a macut into sjngl~ pieces on a saw, where the length of varies beyond an acceptable range. This inconsistency between blank parts makes programming more difficult and lime consuming. It also creates potentially unmachining conuiLions. If problems are encounthe best planning is to place emphasis on safety than on time. At worst, there will some air Ctming or needed cutting feed, but no cuts will be too heavy to handle. approach is to non-uniform material groups and make programs for each group, properly identified. The method is to cover all known predictable inconsistencies program control, for using the block skip function. • Machinability Rating IS important aspect of machinability. Charts with SUj;(g<::ste:a feeds for major tooling most common in programming, parwhen an unknown is used, The suggested values are a starting point, and can be optimized later, when the material properties are known. is given in units terms surface feet or CS), periphper minute; constant sUlface speed eml or just surface speed are For metric meters per mindesignation of the machinability ute (m/min) are used. In both cases, spindle speed (r/min) lOol diameter (for a or a given part a lathe) is calculated, common formuI-<n,,,,I1<", system, the spindle can be calcuper minute (r/min): Machinability rating in the English per minute (ftimin). Often MACHINING SEQUENCE Machining sequence Technical skill help in program some common sense sequence of proach is equally must have a logical example. drilling must programmed before roughing operations before second, etc. Within this finishing. first operation order, further of the order of individual motions is required for a particular tooL For example, in turning, a face cut may be on the part first, then roughing all material on wili take place. method is to program a roughing for the meter, then face and with of the diaa center drill for some but in another a drill may be a on which method is CNC programming assignment has to be considered individually, based on Ihe criteria of safety and approach for machining seis the evaluation of all In gen"'''~'''r''''''''' should be planned in a that the cutonce selected, wi1l do as much as possible, a tool On most CNC less time is np.p,(1p('l for positioning the tool than for a tool change. Another is in benefits by programming all heavy first, then the semifinishing or finishing operations. It may mean an extra tool change or two, but this method minimizes any shift of the material in the holding while machining. Another important factor is the current position of a tool when a operation is completed. For example, when a pattern holes in of 1 the next tool as a boring bar, reamer or a tap) should be order of 4-3-2-1 to Figure 6-5. T02::: Drill Hole4 calculation, the For a Hole 4 Figure 6-5 Il3r' where ... r/min 12 1000 fVmin = Revolutions per minute (spindle = meters to millimeters = Peripheral speed in feet per minute mlmin = Peripheral speed in meters per minute value of 3.141593 .... n: (pi) = D ""''''"1''''!'1' may have to be feet to inches (milling) or (turning) - in inches or mm verse tools and the setup method. not be practical in subprograms. Program planning is not an independent dividual - it is a very interdependent and cally coherent approach to achieve a certain re- 6 TOOLING SELECTION tool holders and cutting is another important in planning a CNC category of tooling covers n lot more than Ihe cutting lools and 1001 holders - it includes an extensive line of including nufixlures, chucks, indexing tables, clamps, Cutting lools remany other holding attention, due to variety available In selec- cutting tool itself is tion. It should be selected by two o Efficiency of usage Q Safety in operation Many supervisors responsible CNC programming try to make the existing tooling work at all times. Often they the fact that a suitable new lool may do the job faster and more economically, A knowledge of tooling and its applications is a technical profession - the should know principles of cutcases, a tooling .."' ......&>~'~M tool applications. tive may provide additional assistance. of usage is also a The arrangement of subject of serious in CNC program planning. On CNC lathes, each tool is assigned to a turret station, making sure disTribution of lools is anced between short and tools (such as short tools versus long This is important for of a possible during CUlling or tool Another concern should be the order in which particularly for machines that indexing. Mos:t where the All tool offset and other program be documented in a known as the looling sheel. a document serves as a guide to the operator job resetup. It should include at least the basic lating to the tool. For example, the documentation may include its length and diameter, the number and offset and feed selected and other relevant information. PART SETUP Another in program planning to setup - how to mount the raw or premachined material, how what supponing tools and devices should many operations are required to complete as machining sequences as possible, where (0 select a etc. is necessary and it should be done are designed to more productive. Mulfispmdle '''''~'''III'''~ can handle two or more parts at the same tures, such as barfeeder for a lathe, an or dual setup on the table, added as well. • Setup Sheet At this of program planning, once the setup is demaking a setup sheet is a good A setup sheet can a simple sketch, designed mostly the use at the machine, that shows the part orientation when mounted in a tool offset numbers by the program, idenlificaof course, all Other information in setup sheet to some establ ished planning stages of of clamps, bored jaws 1"I ...n"' ... <" Setup sheet and tooling can source of Information. Most ,"", ..,,,,.~h_ own various versions. TECHNOLOGICAL DECISIONS The next stage of CNC "',." ...... ,,'"" lection of spindle speeds, application, etc. All tors will have their Influence. of spindle speeds is of the cutter and speeds and feeds. the help determine what amount can be removed ~afely, elc. Other factors (he program design mclude tool extensions, setup rigidity, culling tool material and its condition. Not to be overlooked is the proper selection of cutting fluids and lubricants - they, too, are 1ant for the part quality. • Cutter The key factor understanding this principle is to visualize the tool ",,,,,,\.1,,, not (he machine mOllon. most noticeable programming a machining to a lathe is the cutter rotation comIn both cases, the in terms of the cutter .nn,lJ111'U PLANNING 39 require more than roughing and is to isolate the area that tool do both operations? Can all Is the lool wear a problem? the surface finish achieved? When programming ooncutting rapid motions, take the same care as with motions. A particular should be lO minimize tool motions and ensure '-UlIklll'" Figure 6-6 Contouring too! path motion - as intended (lathe or miff) The tool path all profiling tools has to into consideration the cutter radius. either by equidistant path center of the radius or ler radius offset. machines for milling and provided with linear interpolation and lar interpolation, all as features. To more complex paths, as a helical milling motion, a special option has to in the control unit Two of typical tool o Point-to-paint 81so called Positioning o Continuous a/so called Contouring a point location operations, such as drilling, and similar operations; conrinuous path generates a profile (contour). case, the programmed data to the po~ition of the culter when a certain is This position is called the tool 6-7. • Machine Power Rating Machine tools are power. Heavy cuts require more power than cuts, A depth or width of a cut that is too large can tool and stall the machine. Such cases are 1I1"1<~f"f"f'nl must be prevented, The CNC machine specifications the power rating of the motor at the machine rating is in kW (kilowans) or HP (horsepower). Formulas are available for power ratings, calculating removal rate, tool wear faclors, etc. Useful is ofkWandHP on I HP = 550 foot-pounds second): 1 kW= 1.341 HP of in can be comis not always in everyday programming. experience is often a bener teacher than formulas. • Coolants and lubricants When the lool contacts the of Lime, a great amount of overheated. becomes possibilities. a 1 (\End T r" -i:-- ,6 /. for an extended peM.!,;;.l''vU''''vIJ. The cutand may break. To must be used. Water soluble oil is the most common coolant. A propcoolant dissipates the cUlting edge it acts as a lubricant of lubricaremoval easier. lion is to reduce friction and make the flood of the coolant should at cutting edge, with a pipe or through a coolant in the tool. 6-7 Contouring too! path motion with tdefltifil~d contour change points start and end positions profile are identified and so are (he positions fQr contour change. Each tarposition is called the contour change point, which has to be cnIcuiated. The order of locutions in the program is very important. That means the tool position] is the target position commencing at the Start point, position 2 is the target position beginning at point I, position 3 is the from point 2 and so on, until the End is .-.,.,,,,,,,., If the contour is be in X Y axes. In turning, Z axes. operator is responsible for a """""VI" the machine. coolant should r'f'r'f'lIT,m,f'n(lp.t1 proportions. Water to preserve the CNC n"I"\Or~lmYrlpr not. Ceramic nn,r"'CfIl'-Jl'(f dry, without a cast flood coolant, but air blast or oil mist may be allowed. coolant functions vary between machines. so check the machine reference details. 40 Chapter 6 • Identification Methods The of cUlling fluids outweigh their inconveniences. CUHing are often messy, the cutting edge cannot seen, may wet and old all problems recoolant smells. proper lated to coolants can tie controlled. is when to turn the A coolant related programming coolant on in the As the coolant function MOS only turns on tbe pump motor, sure the coolant actually reaches the tool edge contact with work. Programming the coolant on is better than late. A sketch can be done directly in the drawing or on paper, Every is associated with mathematical calculations. Using color or point numbering as identification methods offers and organization. Rather (han writing coordinates at contour change drawing, use point reference numbers and crepain! in ate a coordinate sheet fonn numbers, as illustrated in Figure Position I X axis Yaxis Z axis WORK SKETCH AND CALCULATIONS Manually progTams require some mathematical calculations. part of preparation intimidates programmers but is a necessary Many contours will require more calculations, but not more complex calculations. Almost any math problem in CNC gramming can be solved by the use of algebra and trigonometry. Advanced of mathematics - anageometry, spherical trigonometry, calculus, surface calculations, etc. - are required for programming complex molds, similar In such cases, a CAD/CAM system is necessary. 6-8 Coordinate - blank form Ino data) Such (\ sheet can be used for milling or turning, by filling only the icable The aim is to develop a consistent programming style from one program to another. Fill-in all values, even those that do not A compleled coordinate sheet is a reference 6-9, Lriangle can calThose who can a right of the culations for almost any CNC program. At handbook is an of some common math problems. When working with more difficult contours, it is often not the solution i{selfthat is it is the ability to arrive at the solution, The must have the ability Lo see exactly what triangle to be It is not to do intermediate calculations before the required copoint can be established. any lype often benefit from a pictorial Calculations representation. Such calculations usually need a working should sketch. sketch can done by in an approximate Larger sketch scales are to work with. Scaling sketch has one great advantage - you can immediately see rhe dimensions the others, the relationship should be smaller or larger of individual elements, the ~hape of an extremely small tail, etc. However, you should never use the sketch for: er use a scaled sketch to Scaling a sketch is a and unprofessional that creates more problems than it ness or incompetence. Coordinate sheet example - filled form for milling tool path QUALITY IN CNC PROGRAMMING An important consideration in is a perapproach and attitudes, attitudes a significant influence on the program development. Ask yourself some questions. Are you attentive to detail, well Can a be improved, is it safe, it cient? program quality is more than writing an error program. complexity is only related to your knowledge and wilr to solve problems. It should be a goa! to a program is the Set your standards high! program PART PROGRAM STRUCTURE A program is composed of a series of sequentiaJ instructions related to machining of a parI. Each tion is specified in a format the CNC system can accept, Each· must also conform to terpret and the machine tool specifications. This input method of a procan be defined as an arrangement of machining formal the CNC related inSlrUCliolls. written in tool. and aimed at a particular have a different format. bUI most are differences among manufacturers, even those same control This is common, plac.e upon the demands individual machine control manufacturer 10 accommodate many original machine features. Such variations are usually minor but programming. BASIC PROGRAMMING TERMS field of CNC its own terminology and terms and its jargon. It has its own abbreviations expressions Ihal only the people in the. field lmderstand. CNC programming is only a of the 'zed machining and it has a The majority of them the program. There are fOllr terms used in They appear in professional books, lUres and so on. These words are the key to the CNC Word .... Program A character is the smallest unit of CNC program. It can have one of o Digit o Symbol available for use in a program are used in two modes - one for integer values a point), for real (numbers with a decimal positive or negative values. Numbers can controls, numbers can with or without the decimal pOint. Numbers applied in either mode can only be entered within the range that is allowed by the control system. Letters The 26lelters English alphahet are 1)11 available for programming, at leasl in theory. Most control letters reject others. For example. a accept only CNC la(he control will the letter as Y axis is unique to milling (milling machines and machining centers). Capital letters are normal designation in programming, but some controls accept low case ters with the same meaning as their case equivalent. If in doubt, use CAPITAL letters only! Svmbols Several symbols are used for programming. in addition (0 the digits letters. The most common symbols are the decimal point, minus percent sign, parenthesis and options. • Word • Character Letter There are ten digits, 0 10 to create numbers. The others, depending on the Each term is very common important in programming deserves own detailed explanation. o Digits Characters are combined into meaningful words. This combination of digits, and symbols IS led the alpha-/wmerical program input. A program word is a combination of alpha-numerical creating a single to the sys- tem. Normally, each word begins with a letter that is followed by a number representing a code or the axes position, feevalue. Typical words indicate speed. preparatory misceLlaneous ftmelions and many Olhcr definitions . • Block Just like the word is as a single instruclion to block is used as a multiple instruction. A the control consists individin a logical a sequence or simply a block - is composed one or several words and each word is composed or two or more 41 42 Chapter 7 In the control system, must be allOlhers. iOlhe MDI (Manual II/pur) mode al the control, block (0 end with a cial End-Of Block code (symbol), This is as EOB on the control panel. When preparing the program on a computer, (he EHler key on the keyboard will terminate the block the same result (similar to the old Carriage on typewrirers). When writing a program on paper each block should occupy only a single line on paper. program block contains a series of single instructions that are executed together. • Program The parI program structure varies different controls, but logical approach not one control to A CNC program usually with a program number or similar identification, followed by the blocks Instructions in a logical order. program ends with a SlOp code or a program termination symbol, as the percent sigll %. Internal clocumentation and (he operator be placed in strategic places wi The format has evolved cantly during the formats emerged. PROGRAMMING FORMATS the early days of control, three formalS had become significant in their time. They are listed in the order of their original introduction: NC only no decimal c 6 IF Words F2 7 5'. 0' N15, 011 Block N 5 GO: 1~y - '6 ~~~_L-"!..~_~_ 2J.!' 5 . ~_O: Figure 7·' Typical word address programming format The !cHer in of the word and mllst always is correct, are allowed wlthill a the word, meaning block written is no\. No spaces characters.) but are only allowed before [he numerical assignment. This varies greatly and on the preceding <1UlHC;~.:>. It may represent a sequence number N, a n ...""1"I" . ."'I," .... ' mand a function M, an number D or H. a coordinate word Y or the feed rate function F, the spindle function S, the tool function etc. one word is a series characters (at least two) that define a single instruction to control and the machine. above typical have the following meaning in a o Tab o Fixed NC only· no decimal point G01 PreparaJOI)! comml1J1ti o Word Address Format NC or eNC - decimal point IDO D2S Miscellalleous funCTion Offiel nwnber selecfion mills XS.75 Coordinale word mos Sequence Illlmher(block Illunber) HOI YO Tool length 92500 SpiJuUe speedjuJlctioJl z-s .14 CoordflllJJe word - Jleg(llive value F12.0 Feedmlejunction Tool funclioll . kl1hes TooljilJlClioll- mills Format Only the very' early control use the tab sequential or jixed formats. Both of them disappeared in the early 1970's and arc now They have been replaced by the much more convenient Word Address Formal. WORD ADDRESS FORMAT The word address formal is on a combination of one JeHer and one or more digits - Figure 7-1. In some applications, such a combination can be mented by a symbol,' such as a minus or a point. Each teller, or symbol represents one character in the and Ihe control memory. This unique alcreates l) word, where the letter the address, lowed numerical with or without symbols. The word address \0 a specitic register of the memory. Some arc: GOI M30 D2S Z-S.14 F12.0 XS.75 TOSOS NiOS HOI T05 /MOl YO S2500 B180.0 TOSOS TOS /MO 1 value IIwnber CoordiJlaJe word· zero l/aJue ",:!block skip symbol B180.0 Individual arc instructions grouped together to form sequences of programming code. Each will process a of instructions simullaneously, unit a sequence block or simply a block. The blocks arranged in a logical that is required to machine a complete part or a complete operation is the part program known as a program. PART PROGRAM STRUCTURE 43 The next block position a rapid tool motion to (he X 13.0Y4.6, with a coolant turned on: N25 G90 GOO Xl3.0 Y4.6 MOS t6f' where ... N25 G90 GOO X13.Q Y4.S MOB Sequence or block number Absolute mode motion mode Coordinate location ON function Address X accepts positive or negative data with the maximum of five digits in front of a decimal point and three digits maximum behind the deCImal point - decimal point is allowed. The of a decimal point in the notation means the decimal point is not used; the absence of a plus sign in the notalion means that the value cannot be negative - a lack means a positive value implication. These samples format notalion explain the shorthand: G2 Two digits maximum, no decimal point or sign N5 digits maximum, no decimal point or sign Five digits maximum, no decimal point or The control will process anyone block as a complete unit - never partially. Most controls in a block, as long as the block a random word order lS first fORMAT NOTATION Each word can only written in a specific The number of digits allowed In a word, depending on address and maximum number of decimal places, is set by the control manufacturer. No! all can be Only ters with an assigned meaning can be programmed, except in a comment. Symbols can be used in only some words, and their position in word is Some are in custom macros. Control limitations are imporused tant. Symbols supplement the and letfers and provide with an additional Typical symbols are sign, decimal point, a few others. All symbols are listed in a • Short Forms Control manufacturers often specify the input format in an abbreviated - Figure 7-2. X ± 5 F3.2 Five digits maximum, digits maximum in front of the decimal point, two digits maximum behind the decimal point, point is no sign is used Be careful when evaluating the shorthand notations from a manual. There are no industry standards and not all conmanufacLUrers use the same methods, so the the short forms may vary significantly. list dresses, format and description is listed in the notations based on a following tables. They typical Fanuc control system. • Milling System Format The description for pending on the input units. The table below lists formal descriptions (metric format is in parenthesis, applicable). Listed are format notations for milling units. The column is the format first column is the address, the notation and third column is a description: Address Notation -- Number of digits decimal pOint -- Decimal paint allowed _---.- -----.. A+5.3 degrees· B 8+5.3 Rotary or Indexing axis - unit is - used about the Y axis 0 02 Cutter radius offset number (sometimes uses address H) F F5.3 Feedrate runction - may vary Number of digits decimal point G Positive or negative value possible H number (tool position and/or 1001 length Described address 1+4.4 (1+5.3) Figure 7-2 Word address format notation - X axis format in metric mode shown The full description each would unnecessarily too long. Consider the following complete nnd not abbreviated description of the address X· as a coorin (he metric system: dinate that is Rotary or A 3 4I·-iII-iII-4I-e Description Arc center modifier for X axis Shift amount in fixed (X) Corner vector selection for X axis (old type of controls) Arc center modifier for Y axis J J+4.4 (J+5.3) Shift amount in fixed cycles Corner vector selection for Y axis type of controls) 7 Notation Description ,,~,"~,~ ~"""~"~~'" K K+4.4 (K+S.3) Arc center modifier for Z axis D Fixed cycle repetition count Subprogram repetition COUnt L M " M2 Program number (EIA) Number of divisions in G73 044 Depth of Cul in I and Relief amount in G74 and G75 Depth of first thread in G76 (053) E2.6 Precision feedrate for '''p,>",....~ F F2.6 Feedrale function G G2 Preparatory commands Miscellaneous function Block number or sequence number N 04 or (:4 for ISO) P4 p Subprogram number call Custom macro number call 1+4.4 (1+5.3) Dwell time in milliseconds Arc center modifier for Z axis Taper height in Z for cycles Z axis relief in G73 K Direction of chamfering Motion amount in Z in G75 Thread depth in G76 Depth of peck in fixed cycles Q in fixed cycles Arc radius designation s S5 Spindle T 14 Tool function L L4 Subprogram repetition count M M2 Miscellaneous function N N5 Block number or sequence number o 04 Program number (ErA) or (:4 for ISO) in r/min Subprogram number call Custom macro number call Offset number with G I0 p -----ooi X axis coordinate value designation y Y+4.4 (Y+5.3) z Z+4.4 IZ+5.3} conds value u • Turning System ............. ,'+ Ihis one is for lalhe systems. Similar chart as for same are included only A number of definltions are the met~ for convenience. Notation is in to the address. ric notation is in parenthesis, if Address Notation A A3 c (C I 5.3) C+4.4 Direction of Motion amount in X in G74 G73 and G83 x X axis Arc center modifier Taper height in X for X axis relief in G73 Work offset number - used with G 10 Block number in main program when used with M99 R may vary w x Description input Chamfer for direct input z axis US.3 Dwell function with G04 W+4.4 (W+S.3) Incremental value in Z axis Stock allowance in Z axis X+4.4 (X+5.J) Absolute value in X axis X5.J Dwell function with G04 PART PROG RAM 45 • Multiple Word Addresses One that is in both dance different meanings for some This is a necessary feature of a word address format. After all, there are only 26 in the English but more than that number of commands and functions. As new contTol features are added, even more variations may be necessary. Some the addresses an established meaning (for example, X, Y and Z are coordinate that giving would be confusing. Many them an additional ters, on the other are not used very often and a multimeaning for is quite (addresses I, J, K, for example). In addition, the meaning of varIes the milling and turning systems. The system has to have sam!; means of accepting a particular word with a precisely defined meaning in the In most cases, the preparatory command G will the at other times it will be the or a setting of table lists symbols are only with custom macro option. These symbols cannot used in s(andard programming, as they would cause an error. Typical standard symbols are found on the computer keyboard. Crrl, and All character combinations are not allowed. • Plus and Minus Sign One of the most common - plus or can be either or negative. convenience, virtually all systems allow for an omission of for all values. This IS positive the control Positive lerm i nrlicating an MS\lmed positive value, if no grammed in a word: X+125.0 parameters. must always be programmed. If the (in this case the tool position): In addition to the basic symbols, symbols for applic(ltions. scribes all symbols available on the X-12S.0 Xl2S.0 X+12S.0 Comment Description X125.0 ""''','''ES, the number becomes positive, with an SYMBOLS IN PROGRAMMING Symbol is {he same as Fractional Negative value Posimte value Positive value (-+- sign is ignored) Symbols supplement the and digits and are an integral part the program structure. of a number PROGRAM HEADER Positive value or addition sign in Fanuc macros * Minus sign Negative value or subtraction in Fanuc macros Multiplication Multiplication in Fanllc macros Block skip function symbol or divisioll sign in Fanuc macros / Comments or messages providing are enclosed in of inlernal documentation is to both the programmer and operator. A series of comments at the top is defined as the program where lures are identified. next sample of items that may be used in (FILE m:ME ••.•••.••..••...••••••••• 01234. NC) (LAST VERSION DATE ................ 07-DEC-Ol) VERSION TIME •••••...•••••••••• ,. 19: 43) (PROGRAMMER ...................... PETER (MACHINE ••••••••.••..••••••••••••• OKK - VMC) (CONTROL •••••••••••.•••••••••••••• F.ANOC 15M) !I ;1 SelmiCI)lon I # I Sharp sign Variable definition or call in Fan macros Equality in Fanuc macros (UNITS ••••••.•••.•••.••..••••.••••... (JOB NUMBER •••••••••••••••••••••••••••• 4321) (OPERATION ••.•••••••••••.••.. DRILL-BORE-TAP) (STOCK MATERIAL ...•............ H.R.S. PLATE) SIZE •••••••••••••••••••• 8 X 6 X ".-,J"'"......... ZERO ••••••••••...••• XO - LEFT ( YO - BOTT EDGE) ( ZO - TOP FACE ) (STATUS • • • • . • • • • • • • • • • • . • • • • • •• NOT VERIFIED) 46 Chapter 7 Within the program, each tool identified as well. the X change Y axes. If Ihe absolute position is unknown, block to the incremental verSlon: (*** T03 - 1/4-20 PLUG TAP ***) N88 G91 G28 XO YO Other comments and to the operator can be added La the program as required. If a 1001 has 10 repeated, make sure not 10 include the 1001 change block for the current tool. Many CNC systems TYPICAL PROGRAM STRUCTURE Although iL may be a bit early to show a complete program, it wiH do no harm to look at a typical program structure. Developing a structure is absolutely essential it is going to be lime. Each block of the program is identified with a comment Note - Program blocks use only sample block numbers. Blocks in parentheses are not required for fixed cycles. The XY value in the block N88 should be current position 00701 MAX 15 CHARS) is a machine with The program structure random tool selection mode a typical control system, with some minor changes to be expected, Study flow of the program, rather than its exact contents. Note the tiveness of blocks for lool and note the addition of a blank line (empty block) between individual easier orientation in the program. (PROGRAM NUMBER AND IDl (BRIEF PROGRAM DESCRIPTION) (PROGRAMMER AND DATE OF LAST REVISION) (BLANK LINE) (UNITS SETTING IN A SEPARATE BLOCK) (INITIAL SETTINGS AND CANCELLATIONS) (TOOL TOl INTO ~TING POSITION) (TOl INTO SPINDLE) (TOl RESTART BLOCK - T02 INTO WAITmG POSITION) (TOOL LG OFFSET - CL.E.AR ABOVE WORK - COOLANT ON) (FEED TO Z DEPTH IF NOT A cYCLE) (SAMPLE PROGRAM STRUCTURE) SMID - 07-DEC-01} N1 G20 N2 G17 G40 GSO G49 N3 T01 N4 MOG N5 GSO G54 GOO X.• Y.• S .• MOl T02 NG G43 Z2.0 H01 MOB (N? GOI Z-.. F •. ) (--- will an alarm if the 1001 change command cannot find tool in the the following program example, the lOa! repeat blocks will be NS, N38 and N67. CUTTING MOTIONS WITH TOOL TOl ----) N33 GOO GaO Z2.0 MOS N34 G2S Z2.0 MOS (CLEAR ABOVE PART - COOLANT OFF) (HOME IN Z ONLY-SPINDLE OFF) (OPTIONAL STOP) N3S MOl (-- BLANK LINE --) (TOOL T02 INTO WAITIN'G POSITION - CHECK ONLY) (T02 INTO SPINDLE) (T02 RESTART BLOCK - T03 INTO WAITmG POSITION) (TOOL LG OFFSE.'T - CLEAR ABOVE WORK - COOLANT ON) TO Z DEPTH IF NOT A N36 T02 N37 M06 N38 G90 G54 GOO X.. Y.. S .. MO) T03 N39 G43 Z2.0 H02 MOB (N40 GOl Z- •• F •• ) (-- - CUTTING MOTIONS WITH TOOL TOA ---) N62 GOO GSO Z2.0 M09 N63 G2B Z2.0 MOS N64 MOl N6S T03 N66 M06 , N67 G90 G54 GOO X •• Y •• S .• M03 TOl N6S G43 Z2.0 H03 MOS (N69 G01 Z- .• F .. ) (CLEAR ABOVE PART - COOLANT OFF) (HOME IN Z ONLY - SPINDLE OFF) {OPTIONAL STOP} (-- BLANK LINE --) (TOOL T03 INTO WAITIN'G POSITION - CHECK ONLY) (T03 INTO SPINDLE) (T03 RESTART BLOCK - TOl INTO WAITING POSITION) (TOOL LG OFFSET CLEAR ABOVE WORK - COOLANT ON) (FEED TO Z DEPTH IF NOT A CYCLE) (- -- CUTTING MOTIONS WITH TOOL TO) ----} Na6 GOO GSO Z2.0 M09 NB7 G28 Z2.0 MOS NBS G2S X •. Y .. Na9 M30 % (CLEAR ABOVE PART ~ COOLANT OFF) (HOME IN' Z ONLY - SPINDLE OFF) (HOME IN XY ONLY) (END OF PROGRAM) (STOP CODE - END OF FILE TR.1\NSFER) PREPARATORY COMMANDS The program address G identities a preparClfory command, often called the G code. This address has one and only objective - that is to or to prepare the control system to a certain desired condition, or (0 a certain mode or a state of operation. example, the address GOO prefor machine tool, the address sets a rapid motion G81 the drilling cycle. etc. term preparatory command indicates meaning a G code will prepare the control to accept the programming instructions fol/.owing the G in a specific way. C Example C: N3 G90 GOO N4 NS ••• N6 N7 X13.0 YlO.O C Example 0: N2 G90 DESCRIPTION AND PURPOSE N3 GOO N4 , •• NS .•• A one block example will illustrate the purpose of the commands in the following program entry: N7 X13. 0 Y10.O a look at this block shows that the coordinates X J3.0Y 10.0 relate to the erul position of cutting tool, when the block is executed (i.e., processed by Ihe control). The block does no! indicate whether the coordinates are in the Clbsohl{e or the mode. It not whether the values are in English or the metric units. Neither it indicates whether the motion to this specified target position is a rapid motion or a linear motion. If a look at the block cannot the of the block contents, neither can Ihe control system. The supplied information in such a block is incompleTe, therefore unusable by itself. Some additional for the block are required. in order to make the block N7 a tool destiFor nation in a rapid mode using absolute dimensions, all these instructions - or commands - must be specified before block or within block: C Example A : N7 G90 GOO X13.0 Y10.O C Example B. N3 G90 N4 NS N6 N7 GOO X13.0 Y10.O N6 ••. N7 X13.0 YlO.O All four examples have the same machining result, providing that there is no change of allY G code mode between blocks N4 and N6 in the examples B, C and D. Modal and non-modal will described shortly. Each conlrol has own list available G Many G codes are very common and can be found on virtually all controls. others are unique to the particular control even the machine tooL Because of the nature of machining applications. the of lypical G codes Will different for the milling systems and Ihe turning systems. The same applies for other types of machines. Each group G codes must kept "pn,"'r~IP Check machine documentation for available G codes! APPLICATIONS FOR MILLING The G code table on the next page is a considerably tailed list of the most common preparatory commands for programming CNC milling and CNC machining centers. The listed G codes may not be applicable to a particular machine and control system, so consult the machine control manual to make sure. Some G codes listed are a option that must available on the machine and in the control system. 47 Chapter 8 G code G code GOO Rapid positioning GOl Li near interpolation G02 Circular intcrpolallon clockwise G03 Circular interpolation counterclockwise Local coordinate Work coordinme GlO G55 Work coordinate G56 Work coordinate offset 3 G57 Work coordinale offset 4 G58 Work coordinate offset 5 Gll Data Seni ng mode cancel G59 G15 Polar Coordinate Command cancel GSO G16 Polar Coordinate Command G61 G17 G62 Automatic comer override mode G18 G63 Tappi ng mode G19 G64 CUlling mode G65 Custom macro call G20 English units or input G66 G21 G22 check ON G67 G23 Stored stroke check OFF G68 G25 Spindle fluctuation detection ON G69 G26 Spindle fluctuation detection OFF G73 G27 Machine zero position check G74 Lert hand threading cycle G76 Fine GSO Fixed cycle cancel 2) G31 Skip function G40 Culler radius compensation cancel compensation - eep hole drilling cycle) decrease compensation - double increase G48 G49 Tool length offset cancel Scoling funclion cancel G98 runction G99 Return 10 R level in a fixed PREPARATORY COMMANDS 49 G code Description APPLICATIONS FOR TURNING Fanuc lathe controls use three G code group Lypes - A, B Type A is most common; in this handbook, all examples and explanations are A group, including Types A table below. Only one type can set at a ~nd B. can be sel by a control but lype C IS optIOnal. Generally, mOSl codes arc identical, only a few are different In the A and B types. More details on the G code is listed at the of this G54 and Description G code Work coordinate offset 2 G56 Work coordinate offset 3 G57 Work coordinate offset 4 Work coordinate offset 5 G59 Work coordinate offset 6 G61 stop mode GOO Rapid posilioning G62 GOl Linear illterpolation G64 Circular Work coordinate offset I clockwise G03 Circular interpolation counterclockwise G04 Dwell (as a separate block) G09 Exact Stop check - one block only Gl0 Programmable data input Gll Data Selling mode cancel Custom macro modal call for double turrets cancel Setting) - Z axis direction units of input G23 Stored stroke check G25 Spindle speed fluctuation detection ON G26 s Spindle nuctuation detection OFF (Group type A) Machine zero posilion check G28 Machine zero return (reference poinl I) G90 Absolute command (G roup type B) G29 Return from machine zero G91 Incremental command (Group IYpe B) point 2) G92 Toul pUSilioli - conSlant lead G94 G35 Circular threading CW G94 G36 Circular 895 G40 Tool nose radius offset cancel G41 Tool nOse radius offset lefl G42 CCW osc radius compensation G96 CUlling cycle B (Group type A) fvpe D) Constant surface speed mode Ie per minute 50 8 Most of the preparatory commands are Ul~'i..U::'::'c;u individual applications, for Inrerpolation, G02 and G03 under Interpolation, etc. In this section, G codes are described in general, reof the type of machine or unit. G CO IN A PROGRAM BLOCK Note rapid motion command GOO does it in the program? Just once - in In fact, so is command for absolute reason neither GOO nor G90 has been is v ....... QI.I,)1.both remain active from the moment of their first in the program. The cerm is to this characteristic. Unlike the miscellaneous and described in next cm~ptl:r rator·y commands may be used in a block, providing with each other: they are not in a logical con N25 G90 GOO G54 X6.75 Y10.S This method of program writing is severa! blocks shorter single block tation ~ Example C - modified (as processed I : N3 G90 GOO xso.o Y30.0 N4 G90 GOO XO N5 G90 GOO Y2QO.O N25 G90 N26 GOO N27 054 N28 X6. 75 Yl0.5 Both methods will during a '-v........ .. processing. However, example, when in a single block mode, block will require pressing the Cycle Start key to activate the The shorter method is more practical, not only length, but for the connection between individual commands within block. general considerations rules of application to G codes used with other data in a block. The most of is of modality. • Modality of Earlier, the following C was used to the general placement of G codes into a program block: ~ Example to repeat a example interpre- c· original: N6 G90 GOO XlSO.O Y:220.0 N7 G90 GOO X130.0 YlOO.O program does not have any practical application by from one location to another at a rapid rate, but it the modality commands. The of modal values is to unnecessary duplicaof programming modes. G are used so often. thal tedious. Fortunately. writing them in the program can (he majority of G codes can only once, providing they are modal. In the control specifications, prepaas modal and unmodal. ratory commands are • Conflicting Commands in a Block The purpose of preparatory commands is to select from two or more modes of If the rapid motion command GOO is it command to a tool mn'!,nn [0 have a rapid motion and same time, it is to N3 G90 GOO N4 N5 N6 N7 X13.0 YlO.O If the structure is changed slightly and filled with data, these may be the result: ~ Example C - modified (as programmed) : N3 G90 GOO XS.O Y3.O N4 xo NS Y:2O.O N6 XlS.O Y22.0 N7 Xl3.0 YlO.O N74 GOl GOO X3.S Y6.125 F20.0 In the example. two commands GO 1 and GOO are m conniCL As GOO is the latter one in the block. it will come feedrale is ignored in this block. N74 GOO GOl X3.S Y6.12S F20.0 This is exact of the previous front, therefore the G01 will the GOO is in motion will take place as a of 20.0 in/min. Here. precemotion at PREPARATORY 51 • Word Order in a Block GROUPING OF COMMANDS G codes are normally programmed at Ihe beginning of a other significant data: block, after the block number, N40 G91 GOl Z-O.62S Fa.S This is a traditional order, on that if the the control purpose of the G codes is to to a cenain condition, the ",,..c,,,,,..,,...,I,,,,,,,,, always be placed that only non~conflicting block. Strictly there is to: N40 G91 Z-O.62S Fa.S GOl unusual, but quite correct. next method of positioning a G is nol the case in a block: of conflicting G codes in one forefront. Il makes sense, motion commands as GOO, , G02 and same is not so or€~oarat;orv commands. For example, can the lool command G43 be programmed in the same as cutter offset command G41 or The answer is but leI's look at the reasOn why. two-digit codes in one from the same f1icl with recognizes preparatory commands into arbitrary groups. Each has a Fanuc assigned governing the simple. If two or more G codes the same block, they are in con- N40 Z·O.625 F8.S GOl G9l • Group Numbers Watchfor situations like this! What case IS Ihat cutting motion G01, the depth Z will combined and executed using the current If current mode is absolute, Z executed as an absolute value, not an mcrernell1reason for this exception is values in the same block. can a feature, jf used carefully. A typical correct feature can be illustrated in this example: The G (G20) N45 G90 GOO G54 Xl.O Yl.0 51500 M03 (G90) N46 G43 ZO.l H02 N47 GOl Z~0.25 F5.0 N48 X2. 5 G91 Yl. S (G90 MIXE:D WITH G91) N49 through N47 are all in the aU:'U1Ul\., N48 is executed, the absolute the axes X Y is 1.0,1.0. the target location is "V"'VIUl.... position of X2.5 combined with of 1,5 inches along the Y axis. will be X2.5Y2.5, making a 45" motion. this case, the G91 will remain in effect for all subsequent blocks, unlil the G90 is programmed. Most likely, the block N48 WIll be written in absolute mode: are typically numbered from 00 to different control models, tealtur(~s It can even be higher for the newest controls or more G codes are required. One of one and perhaps the mosl these groups - the most important as well - is the Croup 00. All preparatory commands in the 00 group are not modal, unmodal or non-modal. sometimes using [he They are only active in in which they were proare to be effective in grammed. If unmodal G consecutive they must programmed in those blocks. In majority of unmodal this titian will not pause measured in duration within the no longer. is no need to prodwell in two or more consecutive blocks. After all, what is the benefit of the next three blocks? N56 G04 P2000 NS7 G04 P3000 NS8 G04 PlOOO All three blocks contain the same another. The program can by simply entering the total dwell N48 X2. 5 Y2. S N56 G04 P6000 Normally, is no reason to switch between the two in some unpleasant surprises. modes. It can There are some V""'''......HV. when this special in subprograms. brings benefits. for following groups are typical for the Applications for milling and turning distinguished by the M and T letters column of the table: control Chapter a 52 Type 00 Unmodal G codes Motion Commands, G04 G09 GIO GIl G27 G28 G29 G30 G31 G37 G45 G46 G47 G48 G52 G53 G65 GSl G60 G92 GSO G70 G71 G72 G73 G74 G75 G76 GOO GOI G02 G03 G32 G35 G36 G90 G92 G94 01 Cutting Cycles 02 Selection 03 Dimensioning Mode G90 G91 (U and W for lathes) 04 Stored Strokes G22 G23 05 Feedrate G93 G94 G95 G20 G2l Radius Offset 08 09 Tool Length Offset Cycles from Group 09. In a MIT MIT M G CODE TYPES T T T MIT T T M M T MIT T MIT G40 G41 G42 G43 G44 G49 M G73 G74 G76 GSO G81 G82 Ga3 GB4 Ga5 Ga6 G87 GSS Ga9 M M M M 10 M 11 M T 12 Coordinate System 5 G56 G57 GSa G59 13 Cutting Modes G6l G62 G64 G63 MIT G66 G67 MIT G6a G69 M G96 G97 T 17 byO MIT MIT -----+---1 Gl9 Group 01 is 1101 summary ... M 18 Input GlS GI6 M 24 Speed Fluctuation G25 G26 MIT group relationship makes a perfect sense in all cases. One possible exception is Group aI for Motion Commands and Group 09 for The relationship these two groups is this - if a G code from Group 01 is specified in any ofthe fixed cycle 09, the is immediately but opposite is not true. In words, an active motion command is nO! by a cycle. Fanuc control system a nexible selection of preparatory commands. This fnct distinguishes Fanuc from many other controls. the fact that Fanuc conit only sense to the trols are used standard control configuration to follow established style A typical example is the selection of diof each mensional In Europe, Japan and other counmetric system is the standard. In America, common system of dimensioning still uses {he English both are substantial in the world trade, a clever control manufacturer tries to reach them both. Almost all control manufacturers offer a selection the dimensional But and similar controls also selection programming codes that were in Fanuc reached the worldwide market. The Fanuc controls use is a simple method of paBy the speci fie system parameter, rameter one of two or three 0 types can selected, one is typical a particular geographical user. Although majority of the G codes are same for lype, the most typical iIluslIation are G used English and metric selection of units. Many earlier US controls used 070 for units and G71 for units. tern has 020 and 1 codes for and metric Setting up a parameter, the G type is the most practical can be Such a practice, if done at all. should done only once and only when the conlIol is installed, any programs have been wriuen il. Change of G code type at random is a guaranteed way to create an organizational nightmare. in mind that a of one code meaning will affect the meaoing of another Using units for a lathe, if G70 means an English input of dimensions, you cannot use it to program a roughing Fanuc provides a code. Always with the G code All G this handbook use the default group of Type A, and the most common group. • G Codes and Decimal Point include a G code with a 1 (Rotation copy) or (Parallel copy). Several preparatory commands in this group are related to a particular machine tool or are not typical to described in this handbook. MISCELLANEOUS FUNCTIONS ..'"".... '"'.~., M a CNC neous jUnction, sometimes all a miscellaa functions are related to CNC machine - quite a few are related to the lun'-UIJfI.\ Not of a of itself. The more sui tab Ie term miscellaneous is used throughout this UW1UL'VVr.... DESCRIPTION AND PURPOSE the structure ofa CNe prclgr(!Jlt.progl1lmmers ofcertain aspects of the ten some means of machine operation or controlling flow. Without availability of such means, program would be mcomplete and impossible to run. let's look at the 18neOlIS functions to operation of the ma- the true machinefonctions. All for metal removal by have certain common features and capabilities. For example, can three - and only three ble Q normal rotation o Spindle reverse rotation o Spindle three possibilities, there is a "'''''.,,"', .... orientation, also a machine tion. example is a coolant. Coolant can only controlled as being ON or being OFF. operations are typical to most CNC All with an M function, fonowed by no more although some control allow the M function, Fanuc 16/18, example . • Machino Related Functions spetwo other and Various physical machine must be controlled by the program, to ensure fully automated machining. These functions use the M address and include the following 0 Spindle rotation CW Of CCW 0 Gear range change low 1 Medium 1High 0 Automatic tool change ATC 0 Automatic 0 Caolant operation 0 Tailstock or quill motion or OFF IN or OUT These operations vary be1:'wef~11 machines, due to the different designs by various manufacturers. A machine design, from the point of view, is on a certain primary application. A CNC milling machine will functions related to center or a CNC lathe, A machine than a numerically controlled wire cutting machine will many unique typical to that kind of machining and on no other machine. ........"..&L.......... for the same type of work, Even two for example, two vertical machining center, will each other, if they have a have functions ditterjent ferent CNC SlgOJ.tllCaIltly different I'InlMI'ITHI ferent the same manutactlmer also have functions, even with the same model of the CNC <II'UC!,rpTn • Program Related Functions In addition to the machine some M functions are to control the execution program. An interruption of a program execution an M function, during the change such as a part Another example is a where one proone or more subprograms. In such a case, each to have a program the number of etc, M functions previous "'''''''Ull-''.... ''', ous falls lnto two ular application: o Control of the machine functions o Control of the program execution miscellaneon a partic- TIlls handbook covers only the most common miscellaneous functions, used by the majority controls, Unfortu~ nately, there are many functions that vary between maand the control system. functions are called machine specific junctions. reason, always consult the documentation for the machine model and its control system 54 9 TYPICAL APPLICATIONS learning the functions, note type of activity these functions regardless of whether such activity relates to machine or program. Also nOle Ihe ahundance two way toggle modes, such as ON and OFF, IN OUT, Forward and Backward, etc. Always check your manual - for reasons of consistency, M functions in this hoodbook are based on the following table: :ription """'= MOO Compulsory program stop MOl Optional program stop M02 End of program (usually with reset. no rewind) M04 Spindle rotation reverse MOS Spindle stop M03 ~ rotation normal 6 Automatic lool change (ATC) M07 Coolant mist ON MOS Coolant ON (coolant pump motor ON) M09 Coolant OFF (coolant pump molor OFF) M19 ;pindle orientation M30 Program end (always with reset and rewind) M48 Feedrate override cancel OFF (deactivated) M49 Feedrate override cancel ON (activated) M60 Automatic pallet change (A M78 B axis clamp (nonstandard) M79 B axis unci amp (nonsfandard) M98 Subprogram call M99 end Description MOO Compulsory program stop MOl Optional program stop End of program (usually with reset, no rewind) M03 MOS Spindle stop I MOS Coolant ON (coolant pump molar ON) M09 Coolam OFF (coolant pump motor OFF) Ml0 open Ml1 Chuck close M12 il<;lo{'k quill IN M13 TailSlock quill OUT M17 Turret indexing rurward MIS Turret indexing reverse M19 ;pi M21 Tailstock forward M22 Tailstock backward M23 Thread gradual pull-out ON M24 Thrcad gradual pull-om OFF M30 Program end (always with reset and rewind) M41 Low gear selection M42 Medium gear selection 1 M43 Medium gear selection 2 M44 High gear selection M48 FeedralC override cancel OFF ( deactivated) M49 Feedrate override cancel ON (activated) M9a ;ubprugl"uB call M99 Subprogr{lm end oriental ion (optional} • Special MDI functions • Applications for TurRing M code Spindle rotation reverse Mo;-r Coolant mist ON • Applications for Milling M code M04 Spindle rotation normal '''''IF''"'''' M functions cannot be used in CNC n,..r,or~m at all. This group is in the Manual Data Input mode exclusively (MDl). An example of such a: function is a step by tool for machining for service 'rnr\<'tH" only, never in the program. These functions are outside of the scope of this handbook. • Application Groups The two major categories, described can further into several groups, on the specific of the miscellaneous functions within each group. A (ypical distribution is contained in the following table: be MISCELLANEOUS FUNCTIONS 55 method of programming certain is in a block that contains a tool turning the coolant on and - at the same time the cuuing tool to a certain part location there is no conflict between may look something like this: Typical M-functions Group ..... "·uv,, •.) Program 4 MOS Spindle Tool change M06 Coolant M07 MOB M09 Accessories M10 M11 Ml.2 M13 Ml.7 MiS M21 M22 M78 M79 Threading M23 M24 N56 GOO X12.98S4 Y9.474 MOB or moat this combination - a Z with the program stop function M44 Gear ranges M48 M49 M98 M99 M60 NG19 GOl Z-12.S4S6 F20.0 MOO This is a more situation and two answers are needed. One is what exactly will happen. the other is when exactly it will when the MOO function is activated. and three questions to There are 1. The table does nOI cover aU M functions or even all possible groups. Neither it between machmes. On the other hand, il does indicate types of applications the miscellaneous functions are for in everyday CNC programmIng. The miscellaneous functions used throughout the book. than olhers, reflecting functions that do not l"""",......".·~ ..-.r\nn control system are not However, the concepts for their most control systems In this chapter, only the more general functions are covin significant detail. Remaining are described in the sections covering individual apAt this stage. the stress is on the and of the most common miscellaneous M FUNCTIONS IN A BLOCK If a miscellaneous function is programmed in a block with no other data supplementing it, only itself will be executed. For example, N45 MOl block is correct - an M function entry. Unlike the preparatory comonly one M function is allowed in a block allows multiple M functions in the same error will occur (latest controls only). place immediately, when .""y,,,,U,,,,,, - at the start of the block? 2. Will the place while the tool is on the way - during a motion? 3. Will the program command is One of the Even if a practical apparent at this system interprets miscellaneous function. place when the motion - at the end of the block? - but which one? examples may nol be to know how the control a tool motion and a Each M function is designed logically - it is also designed to make a common sense. The actual startup of a M function is groups - not three: Q M function activates at the start of a (simultaneously with the tool Q M function activates at into two of a (when the tool motion has been cOl1nDl~!ted ""''''",n will be during executhere is no logic to it. What is the logical startup ON function M08 in the block N56 at correct answer is that the coolant will be same time as the tool motion begins. The correct answer the example block N319 is that the MOO function will be activated after the tool ~,., .. ,.". . completed. Makes sense? Yes, but what about functions. how do they behave in a block? them next. Chapter 9 • Startup of M Functions M functions completed in ONE BLOCK ""='"'=~==-==9 Take a look at the list of typical M functions.. Add a tool motion to try to determine the way lhe function is going to behave, based on the previous nOles. A bit of logical thinking provides a good chance to arrive at righ! Com pare) he two following groups to confirm: t. no rewind) Mfunctions activated at the START OF A BLOCK UNTil CANCELED or ALTERED Automatic too! change (ATC) Coolant mist ON Spindle rolation reverse Coolant ON (coolant pump motor ON) M functions activated at the OF A BLOCK lVIUV Compulsory program stop M01 Optional M02 End of program (usually with reset no rewind) M05 Spindle stop M09 Coolant OFF (cool an! pump motor OFF) M30 Program end (always with resel and rewind) M60 Automalic pallet change (APC) SLOp If there is an uncertainty about how the function will interact with the lool motion, safest choice is to program That way the function the M as a separate will always be processed before or after relevant program block. In the majority of applications this will be a SOltllion. • Duration of M Functions Knowledge of when the M function effect is logically followed by the question about how long the function will be active. Some miscellaneous functions are active only in the block they appear. Others will continue to in until canceled by another miscellaneous function. the preparatory G comThis is similar to the modality however the word modal is not usually used with M an example of a function duration, take misfunctions. cellaneous functions MOO or MOl. Either one will active for one block only. The coolant ON function M08, will be until a canceling or an altering function is programmed. anyone of the following functions will cancel the coolant ON mode - MOO, MO l, M02, M09 and M30. Compare these two tables: The classification is quite logical and shows some common sense. There is. no to individual M best place to find functions and exact actlv!tles. out for certain, is to study manuals supplied with the CNC run right on the machine. and watch the PROGRAM fUNCTIONS Miscellaneous functions that control program processing temporarily can used either to interrupt (in Ihe middle of a program) or permanently the end of a program), Several functions are available for Ihis purpose. • Program Stop The MOO function is defined as an unconditional or compulsory program stop. Any time the control system encounters lhis function during program processing, all automatic operations of the machine tool will stop: o Motion of all axes o Rotation of the spindle o Coolant function o Further program execution Thc control will ItO! be reset when the MOO function is prclce:5scQ, All program data currently active are (feedrate. spindle etc.). program processing can only resumed by activating the spindle the Cycle Starr key. The MOO function rotation coolant function they have to be grammed in subsequent blocks. FUNCTIONS MOO function can be as an individual block or in a block commands, usually' motion. If the MOO is programmed together with a motion command, the motion will be completed then (he program stop will effective: c::> MOO programmed after a motion command " N38 GOO X13.5682 N39 MOO c::> MOO programmed with a motion command: N39 GOO X13.5682 MOO In both cases, the motion will first, before the program is executed. The between the two examples is apparent only in a block processing mode (for example, during a trial will be no practical difference in aula mode pro(Single Block switch set to OFF). Practical Usage program stop CNC operator's job common use is a the part is still During the stop, the part sions or the lool condition can be checked. Chips accumulated in a bored or drilled hole can be removed, for example, before another operation can start, as blind hole tapping. program stop function is also necessary to the current setup in the middle of a for to reverse a part. A tool also requires the in the an optional program stop MO I, The control described next. The main rule of using MOO is need of a manual every parl machined. Manual lool change in a qualifies for MOO. part check may oOl if is infreneeds it. A choice. Although quent. MOl will is slight, the actual between the two cycle time can significant for large When usi'ng the MOO function, always inform the operator why the function been used and what purpose is. Make the known to avoid a This intent can be to the operator in two ways: refer to the block that contains MOO describe the manual BLOCK N3 9 •..••. REMOVE CHIPS 57 o In the program itself, issue a comment section with the necessary information. comment section must be enclosed in (three versions shown): [Al 109 MOO (REMmr.E CHIPS) [8] N39 Xl3. 5682 MOO (REMOVE CHIPS) [C] 108 Xl3.5682 MOO (REJM'O'.i'E CHIPS) Anyone of the methods will give Ihe operator the necessary information. From the two options, the second one [B], the comment section in the program, is The built-in can be read directly from the screen control paneL • Optional Program Stop The miscellaneous MO I is an optional or a COIIdirional program stop. It is similar to MOO function, the MOO function, when MOl funcone diffe.rence. lion is encountered in the program, the processing will nOl SlOp, the operator the control panel. The Optional SlOP toggle switch or a button key located on the Clln be set to either ON or in the program is When the setting of will determine will or continues to Optional Stop switch setting Result of MOl ON OFF When the MOl function behaves the MOO function. The motion of coolant and any further execution will be temporarily interrupted. Feedrate, coordinate settings, setting, etc., are . The further prospindle program can only be reactivated by (he Cycle All programming rules for the MOO function also MOl function. is to program MOl function at the end of followed by a blank line with no If the program processing can continue witham Slopping, the Optional Stop switch will be set to and no production time is lost. If there is a need to program temporarily at the end of a tool, the switch will be set to ON and 100i. The lime loss is stops at the end of under the for example, to a dimension or the 58 Chapter 9 • Program End the Percent Sign program must include a of current program. M functions available but a distinct M02 and are two are similar, The M02 function will terwill cause no return to the first minate the program, block at the program top. The function M30 wililerminate the program as well but it will cause a return to the lOp. The word t return' is often replaced by word 'rewind'. It is a leftover the limes when a reel-to-reel tape was common on NC tape had to be rewound when the program has completed for M30 function provided this capability. When the control reads the program end function M02 or M30, it all axis motions, spindle rotation, coolant function usually resets the system to default conditions. On some controls the reset may not be automaTic any programmer should be aware of it. U the program with the M02 function, the control remains at the program end, ready for the next Cycle Stan. On modem CNC equipment there is no need for M02 at all, except for backward compatibility. This function was in addition to M30 those machines (mainly NC had tape without using a short tape. (railer of tape was spliced 10 the tape creating a closed loop. When the program was finished, the start of the was next to the so no rewind was necessary. and M30. Long could not use loops and So for the history or M02 - just percent sign (%) after M30 is a special stop code. This symbol terminates the loading of a from an external It is the • Subprogram End last M a is M99. mary usage is in the subprograms. Typically, the M99 function will a subprogram and return to processing of the previous program, If M99 is in a standard program, it creates a program with no end such a situation is called an endless loop, M99 should be used only not in standard MACHINE FUNCTIONS Miscellaneous functions relating to operation of the tool are of another group. This section the most important of them in detail. • Coolant Functions Most metal removal operations that the cUlting tool is flooded with a suitable coolant In order to control the flow of coolant in program, are three neous functions usually provided for (his purpose: M07 Flood ON Is M02 the Same 8S M30 ? On most controls, a system parameter can be set to make M02 function the same meaning as that of M30, setting can It rewind capabilities, in situations where an old program can be used on a mawith a new without Tn a if the end of is terminated by the M30 function, the rewind performed; if the M02 function is used, the rewind will not be performed. When writing program, make sure the last program contains nothing else but M30 as the end (sequence block is allowed to start the block): N65 . . . N66 G91 G2S xo YO N67 mo % (E:tiID OF PRQGR.ll.M) On some controls, the M30 function can be used together with the axes motion - NOT recommended !: Mist or Flood OFF Misl is combination of a small amount of cutting oil mixed with compressed It depends on machine tool manufacturer whether function is standard for a particular machine tool or not. Some mixture oil and air with air only. or with oil only, etc. In these cases, it is typical that an additional equipment is built into machine. If this option exists on the machine, the most common miscellaneous function to the oil or air is M07. function similar to M07 is M08 - coolant flooding . .This is by far the most common application in CNC programming. It is standard for virtually all machine. The coolant, usually a mixture oil and water, is premixed and in the tank of the machine tool. Flooding cuning edge of tool is important for three reasons: o N65 . . . N66 G91 G28 XO YO M30 % Mis! ON OF PRQGR.ll.M) Heat dissipation o Chip removal o Lubrication FUNCTIONS primary reason La use a coolant flood aimed at the cutting is to dissipate cutting. reason is to remove cutting area, using coolant pressure, Finally, also acts as a lubricant to ease the friction cutting tool and material. Lubrication helps to extend tool life and the surface finish. initial tool approach towards the part or during nal return to the tool change position, the coolant is normally not turn off (he cootant function, use M09 function - coolant off. M09 wi lllurn off the oil mist or supply and nothing else. In reality, the M09 function will shut off (he coolant pump motor. the rhree coolant related functions may in blocks or together with an are subtle but important differences in of the program processing. The explain the differences: A - oil mist is turned ON, if C) N110 M07 a There will be no coolant splashing outside of work area (outside of the machine) a will never be a situation when the coolant reaches a hot edge of the tool IS function is programmed in the an inconvenience. wet area chine may present unsafe working quickly corrected. Even more "Pro""" when the coolant suddenly starts that has already entered the material. perature at the cutting edge may cause damage the part. Carbide tools are by temperature changes than possibility can be prevented the M08 function a few blocks the actual cutting block. Long pipes or insufficient coolant pressure on the flooding. machine may delay the start of • C) Example B - coolant is turned ON : Spindle functions Chapter 12 - Spindle trolling the machine neous functions that are rotation and N340 MOS = Example C - coolant is turned OFF: all aspects of conprogram. Miscellathe spindle control its Most spindles can rotate in NSOO M09 (CW) and C) Example 0 - axis motion and Lion is always relative to a viewpoint is lion along the spindle center lion in such a view is as M04. assuming the ON: N230 GOO Xll.5 Y10.O MOS = Coolant should always be programmed with two lant considerations in mind: E - axis motion and OFF. N4QO GOO Zl.O M09 The examples show cessing. The gen;;ral rules o Coolant ON or OFF in 8 :>e:IJ'I1TClIe: the block in which it is o Coolant ON, when programmed with the axes motion, becomes active simultaneously with the axes motion (Example 0) o Coolant OFF, programmed with the axes motion, becomes effective only upon completion of the axes motion {Example E) pro- The main purpose M08 funclion is to turn the coolant pump motor on. It that the CUlling receives any coolant On large machines with long coolant pipes, or with low coolant pump is to expected before the coolant pump and cutting lOol. clockwise of rota· point of view. The spindle as the towards itsface. CW rotaas M03, CCW direction rotated either way. 0\.L1,llV<.U\J The drilling and milling Lypes of machines use this established convention commonly. The same convention is LO lathes. On a CNC milling machine or a machining center, it is more practical to look towards the part from the spindle side rather than from the horizontal type), the more the tailstock towards the spindle, because that (0 how the CNC machine operator stands in nu.H'l/p, M03 and M04 spindle the same way as for machining cenis the fact that left hand tools are In more than in milling applications. Make an to manual for a machine carefully in 12. Spindle function (0 program a spindle is function will stop the spindle from rotating, the rotation direction. On many machines. neous MOS must also be programmed the spindle rotation: 60 9 M03 <: ••• CW) Machining at the current location .•• :> M05 <:. • • M04 <. . . a tool change ... :> (SPDmLE CCW) at the current location ... :> may also be required on CNC lathes. A spindle SLOP . an axis motion, will take completed. spindle control function is the function M 19, spindle orienTation. Some control call it the spindle key lock function. Regardless of the the M 19 function will cause the spindle to SLOp in position. This function is used mostly during seldom in the program. The spindle must be in two main situations: o Automatic tool change (ATC) o Tool shift during a boring ",",or<>+i,," and boring cycles only) For example, most rougbing " ....",..".i"'.~" the spindle more than the low range is usually a better selection. medium or high range is better, high can be more beneficial to the metal removing distribution of (he miscellaneous functions has entirely on the number of gear ranges the CNC available. Number of ranges IS I, 2, 3 or 4. foJlowi shows typical distribution of the M the actual commands in a machine tool manual. Ranges Gear N/A None programmed 2 available M41 M42 Low range High range 3 M41 M42 M43 Low range Medium range High range M41 M42 M43 M44 law range Medium range 1 Medium range 2 High range thumb is that the higber (he gear range, the is possible and less spindle power is reis also true. Normally, the ."pindle rota be stopped to change a gear, but conanyway. In doubt, stop the spindle the then restart the spindle. sequence and cutting tool holdthe M 19 with the first, is necessary for certain boring on mill To exit a bored hole with a 1001 away from the finished cylindrical wall, the spindle must the tool cutting bit must be aQd then the tool can be from the hole. A similar approach is back boring operations. However, use fixed cycles in the program, where is built in. For more details, Chapter M function • Machine Ar.r.fHrt~n The majority of " .. ,,,"'''',,<.1, functions is used for some physical operation of the tool <.>"'\..""""Ul this group, the more common ready covered, specifically changes. The remaining M scribed in delail elsewhere in description is offered are: chine related M In conclusion. the M 19 gram. It IS aVailable as a ... r~'''''''''''''''' chine operator for M function • Gear Range Selection M06 M60 Description M Automatic M M23 M24 Thread gradual pull-out ON I OFF T M98 M99 Subprogram call J Subprogram SE~UENCE BLOCK Each line in a CNC program is called a block. In terminology established a block was as a CNC system. single instruction processed by A block, a n block is normally one written line in copy, or a line typed in a text and terminated by the Enter key. This line can contain one or more program words - words that result in definition a single i to the machine. Such a program instruction may contain a of commands, coordinate words, (001 functions coolant function, speeds and commands, position registration, offsets of different English, (he contents of one block will kinds, etc. In be as a single unit before the control block. When the whole CNC program is proindividual instructions the system will (blocks) as one complete machine step. Each program consists of a series of necessary to complete a machining process. overall program number of blocks length will always depend on and their BLOCK STRUCTURE As many program words as are allowed in a block. Some controls impose a limit on the number in one is only a maximum Fanuc and controls, in practice. The only restriction is that two or more duplicated words (functions or commands) cannot in the same block of G example, only one (with the miscellaneous M function do exist) or only one coordinate word for the X in a 5i block are al The order of words within a block follows a fairly free required words may be in providing that block (the N address) is written as (he firs! Although order of individual words in a block is allowed to be in order, it is a standard practice to place words in a ora block. ft the CNC to and understand. dependent on block slructure is and the type of the eNC machine. A may conlain the following inslructions, in the Not all data are to be specified every lime. o Block number N o Preparatory commands G a Auxiliary functions M o Axis motion commands XYZABCUVW ... o Words related to axes I J K R Q ... o Speed, or tool function S FT contents of tile program block will between matools of di kinds. but the majority of general rules will be followed, regardless of CNC system or the tool • BuHding the Block Structure program has to built with the same thoughts the same care as any other important structure, for a building. a car, or an It starts with planning. Decisions to be as lO what and what will not of the program block, to a building, car, or other structure. Also, have to as to what order commands instructions - nrc to be established within thc block many other The next few examples compare a typical structure operablocks milling operations and blocks for tions. block is as a separate • Brock Structure for Milling In milling operations. the structure of a typical machining center block will renee! the realities of a or a machine. C Milling block examples: Nll G43 Z2.0 S780 M03 HOl {EXAMPLE N98 GOl X2.1S Y4.575 F13.0 (EXAMPLE 2) The first milling example in block NIl, is an illustration of a 1001 length offset applied with the ndle rotation dIe speed and example in block shows a typical prong instruction for a simple linear CUlling motion. the linear interpolation method and a suitable CUlling 61 62 Chapter 10 <:> Turning block examples: N67 GOO G42 5 ZO.l T0202 MOS N23 G02 X7.5 Z-2.8 RO.5 FO.012 1) (E.XAMPLE 2) rectory more descriptive useful. The program description can be read on display screen provides an easidentification of program stored. If program name is than the characters recommended, no error is generated, hut only the firsl sixteen will be displayed. Make sure 10 avoid names that can ambiguous when displayed. names, they appear 10 be these two In lathe examples. block N67 a rapid motion to an XZ position, as well as a few other ("''''''nm,<ln,'l<: the tool nose offset startup activation of the tool (T0202), the coolant ON function M08. The example in block is a typical circular interpolation block with a OJ.005 (LOWER SUPPORT A.RM: - OP 1) 01006 (LOWER SUPPORT A.RM: - OP 2) PROGRAM IDENTIFICATION the control screen display can show only the siXfeen characters the name, the "'''IV'''!H''''' names will be ambiguous when A CNC can identified by its and, on some controls, also by its name. The identification by number is in order to store more than in the CNC memory. name, if can be used to make a brief description of proreadable on the control screen display. • Program Number The is commonly a Ihecontrol system from the are available for the number - the letter a for formal, colon l : J for ASCII (ISO) formal. In memory operation, the control system always displays program number with the letter The block containing the number is not always necessary to include in the If the program uses program numbers. typical specified within an allowed range. Programs Fanuc controls must be within the range of I - 9999, program zero (00 or 00000) is not allowed. Some not allowed controls allow a 5-digit program number. are decimal poim or a negative sign in the program of leading zeros is - for '-'h<"JJ~J'\;'. I, 0001. 00001 are all entries, in this case for a program number one. • Program Name the latest control systems, the name of Ihc can bc i in addition to program not instead of the program number, The program name (or a brief of the program) can to sixteen long (spaces and symbols are The program name must be on same line (in same block) as the program number: 01001 (DWG. A-124D IT. 2) This has the advantage that when directory of Ihe memory is displayed on the screen, the name of the proappears next to the program making di- 01005 SUPPORT 01006 (LOWER SUPPORT AR) eliminate this problem, use an that is within the characters data: 01005 (LWR SOPP ARM OP1) 01006 (LWR SUPP A.RM: OP2) If a more detailed description is to the description split over one or more comment lines: 01005 (LWR SOPP A.RM: (OPERATION 1 - ROUGHING) The comments in the block or blocks following the screen lislnumber will not appear on but still will be a useful aid to CNC operator. be displayed during the execution and, course, in a hard copy printout. Keep the names short and descriptive - their purpose is to the CNC in of programs in the control memory. The data to in program name are the drawing number or number, parl name. operation, etc. Data not are the name, control mo.del, name, date or company or customer's name and similar descriptions. On many controls, program into the memory, the CNC the numon the the in the CNC program. It can be a that just bappens \0 be available in (he system, or it can be a number that has a unique meaning, perhaps indicating a group (for exall programs that begin with belong to the group associated with a single customer). Subprograms must always stared under number specified by the CNC Innovative use of program numbers may also serve 10 keep track of programs developed for each or part. SEQUENCE 63 • SEQUENCE NUMBERS Individual sequence blocks in the program can be referenced wilh a number for orientation within program. The program address a block number is the leuer followed by up to five digits - from I to 9999 or 99999, depending on the block number be N I to for the older controls and N I Lo for the newer controls. Some rather old accept block in the three only, NI - N999. N address must be the firs! word in the block. an easier orientation in programs that use SUbprograms, there should be no duplication of the between the lwo lypes of For example, a program starting with N I a subprogram also starting with Nl cause a confusing situation. Technically, there is nothing with such a designalion. Refer to for on In • Sequence Block format program input format notation for a using the address N. is N5 for (he more and N4 or even N3 older controls. number is not allowed. neither is a minus a fractional number or a block number using a point. Minimum block increment number must be an integer allowed is one (N 1, N4, N5. etc.). A Increment is allowed its seleclion on the personal programming style or established within the company. The typical sequence block ments then one are: Program 2 N2, N4, N6, NS, 5 N5, N10, N15, N20, .•• 10 N10, N20, N30, N40, .•. 100 N100, N20Q, N300, N400, Sequence Number Command column represents seIn the following table, the quence numbers the way are used normally. second column shows the numbers in a forine control system, as applied to mal acceptable to a CNC program: Increment - . block number I~ - - <- " " " " - « - < 1 N1 2 N2 5 NS 10 N10 50 N50 100 N100 99999 N99999 like to start with of the NIOO, usually programmed in the incremenLS of I 10, or less. There is nothing wrong with this a large start and increment. but the CNC too long, too soon, In all cases of block incremenLS than one, the pur· pose of program is the same - to for additional blocks to be filled-in between blocks, jf a comes, The need may while proving or optimizing the program on the machine, where an addition to the existing II be required. Although new blocks (the ones inserled) will not be in the oruer ur an equal increment, at least they will numerically ascending. For a face cut on a lathe one cut (Example A) was by the operator for two cuts (Example = Example A - one face cut: numbers (block numbers) in a CNC al least one likely several advantages On the positive the block program search greatly simplified repetition on (he machine. They the program to read on CNC display screen copy. That means both or on the programmer the operator benefit On the side, block will the available computer memory of the That means a of programs can stored in the memory, programs may not fit in their entirety. N40 GOO G41 Xl.S zo T0303 Moe NSO GOl X-0.07 FO.Ol N60 GOO WO.l M09 mo G40 Xl. S = Example B - two cuts: N40 GOO G4l Xl.5 ZO.05 T0303 MOS N50 aOl X-O.07 FO.Ol N60 GOO WO.1 N61 X3.5 N62 ZO N63 GOl X-0.07 N64 GOO WO.l M09 mo G40 Xl.S 64 10 """'1"1"''' in N40 and N6l to this handbook is 10 I"Il"f,a!"lOlm if an addition is needed, will have no numbers at all (check if the control system allows block numbers to be omitted, most do), Q Example A - one face cut: N40 GOO G4l X3.5 zo T0303 MOS N41 GOl X-O.07 FO.Ol N42 GOO WO.l N43 G40 X3.S Q Example B . two face cuts: N40 GOO G4l X3.5 zo.os T0303 MOS N41 GOl X-D.07 FO.Ol N4.2 GOO WO. 1 X3.S ZO GOl X-O.07 GOO WO.l N43 G40 X3.5 Note that the program is a lillie smaller and the additional or arc quite visual and noticeable when displayed on the screen. Leading zeros may (and should) be omitted in - for example. NOOOO8 can (he zeros reduce the zeros must always be written, to for sl1ch similnri 8S N08 and N80. use of block numbers in a program is optional, as shown in the earlier example. A program containing is easier to CNC operator, functions in program editing can be used depend on the numu"..... ..,.'" repetitive cycles the significant blocks • Numbering Increment Block numbers in a prog(am can in any physical order - they can also be programming UI..,",<l ..",,,, they are logical numbers in serves no useful purpose neither do duplinumbers. If the program contains dupl icate and a block number is initiated at the control system will only for the first the particular block number, which mayor block required. search will have '""1-"_"'"........ from the string found reason for the in the sequence numbering-is to to the CNC operator the program has into the block sequence number not affect the order of program processing, regardless of the increment. if the blocks are numbered in a or mixed the part will always be sequentially, on the of the block nO! mcnt of 5 or lOis the most to 4 to 9 That should more than sufficient for the program modifications. programmers who use a computer hased programming system, just a few relating to (he gramming of sequence numbers. Although the computer programming allows start number of the block and its to almost any adhere to the start and numbers of on.e (N I, N2, N3, ... ). The is (0 keep an accomputer based \"""""U<X.J,, of the part geometry the cutting tool program is modi manually, the part Ua.'·LlV''''''" is not accurate any more. Any CNC program should al ways be reflected in the source of the program, as well as its result - never in result alone. • long Programs and Block Numbers are always to into a CNC limited capacity. In such cases, the program lenoth may be shortened by omitting the block numbers altog~ther or - even - by programming them only in the significant blocks. The significant blocks are those that have to be numbered for the purpose of search, a (001 repetition, or procedure Lha[ on program numbers, such as a machining cycle or tool In these cases, select of two or the operator's numbers will convenience. limited use of Increase the length, but for reason. rr all block numbers have been omitted in the program, the search on the machine control will ralher difficult. The CNC will have no lion but to search for next occurrence of a particular dress within (l bJock. Y, Z, etc., rather than a sequence block method unnecessarily prolong Of BLOCK CHARACTER of the control specifications, ual sequence blocks must separated by a special characler or by its known as Ihe EOB or E-O-B. most computer ""h~'''''''IP!" is generated by key on the the program is input to control by MDI on the control the EOB the block. The symbol on appears as a semicolon [ ; ]. SEQUENCE BLOCK The semicolon symbol on the screen is only a graphic representation of the end-or-block character and is never entered literally in the CNC program. stances it should be included in the program older control systems have an asterisk [ * J as symbol for the end-of-block, rather then the ... m,,..."'" Many controls use other symbols. that of block, for example, some use the any case, remember the symbol is only the !he end-of-block character, not its actual STARTUP BLOCK OR SAFE BLOCK A startup block (sometimes called a or a slalUS block) is a sequence block. It one Of more (usually preparatory commands of thal the control system into a state. This block is placed at the or even allhe beginning of each is processed duriog a repetition of a program a tool within a program). In the CNC program. the startup block usually precedes any motion block or as well as the tool change or tool index block. to be searched for, if the program or n"""',o,f1 cutting 1001 is to be repeated during a machine opSuch a block will be slightly different for the milland systems, due to the unique requirements of in this handbook, in. the Chapter 5, one covstate of {he control system when the main on, which sets the system default condishould never count on they can be easily changed by without the programmer's knowlsetthe machine who designed the conshould always assume approach and will not programmer will try to preconditions under the program control, rather that ng on the defaults of the CNC system. Such an approach is not only much safer, it will also result in the that are 10 use during the setup, the tool path provi ng and tool repetition due to the tool breakage, dimensional adjustments, etc. It is also very beneficial to the CNC particularly to (hose with limited applications listed, the startup block will not machining cycle time at all. Another block is that the proone machine tool to andefault setting of a par- 65 The name safe block - which is another name for the startup block - does not become nuuie safe. Regardless of name, tain control settings for the program or slart the program in a state. tries that set the initial status are the (English/metric and absolute/incremental), any active cycle, cancellation of the cutter offset mode, the plane selection for milling, the fault selection for lathes, etc. The presented some blocks for both milling and turning 1'1"\">11"1'\1 At the beginning of the program for milling, a startup may be programmed with the following contents: Nl GOO G17 G20 G40 G54 G64 GSO G90 G98 N I block is the first sequence number, GOO rapid mode, G 17 establishes the XY plane selection, selects the English units, G40 cancels any active cutter raoffset, G64 sets a continuous cutting mode, G80 cancels any active fixed cycle, G90 selects the absolute mode, G98 will retract to the initial level in a conditions apply only when the startup as the first major block in the CNC "LlIJ""'I..ILII"'''' program changes will become block in which the change is command is effective by any subsequent cancel the GO I command. of GOO. G02, or a CNC lathe program, the startup G codes: Nl G20 GOO G40 G99 block number, G20 selects the English the rapid mode, 040 cancels any tool nose radius offset, and the G99 selects feed rate per revolulion mode, to Ihe absolute or incremental the controls use system is usually not absolute dimensioning and the addresses X and Z addresses U and W for incremental dimensioning. For lathe controls that do nol U and W addresses, (he standard G91 is values in X and Z axes. As in the of the words programmed in by subsequent change of Some controls """'AM"" the same line. For grammed with other G G codes in separate Nl G20 017 G40 G49 Gao two or more blocks can Nl G20 N2 G17 G40 G49 GSO o or on not be proare not sure, place the 66 10 PROGRAM COMMENTS CONFLICTING WORDS IN A BLOCK Various comments and messages in the program can be blocks, or as parts of an existing block, mostly in cases when the mesis short. In either case, the must enclosed in parenthesis (for ASCIIIISQ included within (he program body as e Example A : NJ30 MOO 'Set the English system of dimensions, also set the system of dimensions and set the XY plane'. 8: N330 MOO (REVERSE PART / CHECK e Example C: N330 MOO PART / CHECK TOOL) of a message or comment the machine operator of a every time the program rpClrn,>" such message ~nr\P<~lrc ;omnlents at a understanding the for documenting the program. IS 11:.'.:>~.al::.\;;':> and comments relate (0 changes, chip removal from a hole, dimencutting tool condition check and others. or a comment block should be only if 1'P-1T11,,"'n task is not clear from the program to what happens in each block. 1Vle~ssages comments should be brief and focused, as a memory in the CNC memory. perspective, a at the drawing information This subject has 7 - here is just a reminder: nrrn,u'PrI 01001 (SHAFT DWG B451) (SHAFT TOOLING - OP 1 - 3 J1U'J CHUCK) (TOl - ROUGH TOOL - 1/32R - 80 DEG) (T02 - FINISH TOOL 1/32R - 55 DEG) (T03 - OD GROOVING TOOL - 0.125 WIDE) (T04 - OD THREADING TOOL - 60 DEG) Nl G20 G99 N2 ••• CNC unit is limited, usi ng comment cal. It will listed in proper required details. Nl G20 G21 G17 What contains is simpJy not logically possible. It instructs the control to: (REVERSE e In a program not impossible. For' the first block of the following words: Definitely not actually happen a statement? The lection of possible, the mensional Fanuc systems unit will words within same the section dealing with the groups have been preparatory commands - G codes, in Chapter 8. If the computer system two or more words that belong to the same group, it will not return an error it will automatically the last word of the group. In the example of conflicting dimensional selection, it will the preparatory G21 of metric sions - thal becomes That not the selection required. than sive luck, program the example illustrating and metric tion, the preparatory command G was used. What would happen if, for example. the address X was used? Consider following example: N120 GOl X11.774 X10.994 Y7.0S0 F1S.O are two X addresses in the same control will not accept the second X value. but it will an alarm (error). Why? Because there is a difference "''''.',,,''',>,.. the programming rules for a G as such and the coordinate system words. allow to as many G codes in the same block as providare not in conflict with each other. But the same """",11"1'\1 system will not allow to program more one coward of the same address for block. rules may also apply. For example, the words io a block may programmed in any providing the N aa(lre~;S is the first one listed. For example, following block is (but very nontraditional in its Nj40 Z-O.75 Yll.56 Fl0.0 x6.S45 GOl SEQUENCE 67 practices, be sure to block in a logical order. word and is usually folaxes in their alphabetical oraxes or modifiers (1.., L, K..), miscellaneous [unctions words. and the feedrate word as the last item. Select only those words needed for the indIvidual block: N340 GOl X6.84S Yl1.S6 Z-O.7S F10.O Two other possibilities tention in programming the following block be that may require a special athow N150 GOl G90 X5.5 G9l Yi.7 F12.0 There is an the absolute and inmodes. Most Fanuc controls wi I] process this exactly the way it is written. X axis target posibut the Y axis will tion will be reached in absolute be an incremental distance, from (he current position of the cutter. It may not approach, but it offers advantages in some cases. - the sequence block following the block N ]50 will in the incremental mode, since G91 is specified command! The other programming block programmed in the dealing with this subject that an arc or a circle can modifiers I, J and K (depending control system is used). It also input, using the address R, can following examples are correct, 1.5 radius: or a turnthat a direct raBoth of the in a 90° arc with a e With I and J arc modifiers: N21 GOl XlS.3S Yll.348 N22 G02 XlS.as Y12.848 11.5 JO N23 GOl ... e With the direct radius R address: N2l GOl X1S.35 Yll.348 N22 G02 Xl6.85 Y12.848 Rl.5 N23 GOl N22 G02 Xlo.85 Y12.848 11.5 JO Rl.S or answer may be surprising - in both cases, the f'("\",lfV'Il the 1and J values and will only the R. order of address definition is irrelevant in case. The address R has a higher control ity I and J addresses, if programmed in same block. All examples assume that the conlrol ports R radius input. MODAL PROGRAMMING VALUES are modal. The word modal is word 'mode' and means that the comin this mode after it has been used in the once. It can be canceled by another modal command of the same group. Without this feature, a using interpolation in absolute mode with a of J 8.0 in/min, would contain the absolute command the linear molion command GO I and the F 18.0 in every block. With modal values, the programming output is much Virtually all controls accept modal two examples illustrate the commands. ferences: e Example A without modal values: Nl2 G90 GOl Xl 5 Y3.4 FIB.O Nl3 G90 Gal XS.O Y3.4 F18.0 N14 G90 GOl XS.O YO.S F1B.O NlS G90 G01 Xl.S Y6.5 F18.0 Nl6 G90 GOl Xl.S Y3.4 F18.0 Nl7 G90 GOO Xl.S Y3.4 Zl.O e Example B - with modal values: Nl2 G90 GOl Xl.S Y3.4 F18.0 Nl3 XS.O N14 YO.S Nl5 X1.5 Nl6 Y3.4 Nl7 GOO Zl. 0 identical result.. , Compare Both examples will corresponding block each block of the the modal commands are of the B not to ..... ,..,"'""'11"/1 in the CNC program. In fact, in everyday programming, program commands used are modal. The exceptions are program Instructions, whose functionality starts and in (he same block (for example dwell, machine zero certain machining instructions, such as tool table. etc.). The M functions behave in a example, if the program contains a machine zero return two consecutive it look like this: blocks (usually for safety N83 G2B Zl.O M09 N84 G28 XS.37S Y4.0 MOS N22 G02 Xl6.85 Y12.848 Rl.5 11.5 JO G28 cannot be removed from command is not N84, because the repeated. 68 Chapter 10 EXECUTION PRIORITY Functions (hat will be executed simultaneously with the cutting tool motion: There are special cases, mentioned earlier, where the order of commands in the block determines the priority in which the commands are executed. To complete the subject of a block, let's look at another situation. M03 Here are two unrelated blocks used as examples: N410 GOO X22.0 Y34.6 S8S0 M03 and NS60 GOO ZS.O MOS In the block N4J 0, the rapid motion is programmed together with two spindle commands. What will actually happen during the program execution? It is very important to know when Ihe spindle will be activated in relationship to the cutting tool motion. On Fanuc and many other controls, the spindle function will take effect simultaneously with the tool motion. In the block N560, a Z axis tool motion is programmed (ZS.O), this lime together with the spindle stop function (M05). Here. the result will be different. The spindle will be stopped only when the motion is one hundred percent completed. Chapter 9 covering Miscellaneous Func/ions explains this subject. Similar situations exist with a number of miscellaneeus functions (M codes), and any programmer should find out exactly how a particular machine and control system handle a motion combined with an M function address in the same block. Here is a refresher in the form of a list of the most common results: M04 M07 MOS Functions that will be executed after the cutting tool motion has been completed: MOO MOl MOS M09 M98 Be careful here - if in doubt, program it safe. Some miscellaneous functions require an additional condition, such as another command or function to be active For example, M03 and M04 will only work if the spindle function S is in effect (spindle is rotating). Other miscellaneous functions should be programmed in separate blocks, many of them for logical or safety reasons: Functions indicating the eod of a program or a subprogram (M02, M30, M99) should stand on their own and not combined with other commands in the same block, except in special cases. Functions relating to a mechanical activity of the machine tool (M06, M 10, Mil, MI9. M60) should be programmed without any motion in effect., for safety. 1n the case of M 19 (spindle orientation), the spindle rotation must be stopped first, otherwise machine may get damaged. Not all M functions are lisled in the examples, but they should provide a good understanding of how they may work, when programmed together with a motion. The chapter describing the miscellaneous functions also covers lhe duration of typical functions within a program block. It never hurts to play it safe and always program these possible troublemakers in a sequence block containing no tool motion. For the mechanical functions, make sure the program is structured in such a way that it provides safe working conditions - these funClions are oriented mainly towards the machine setup. INPUT OF DIMENSIONS Addresses in a CNC program that relate to the tool position at a given moment are called the coordinate words. Coordinate words always take a dimensional value, using the currently selected units, English or metric. Typical coordinate words are X ,Y, Z, L J, K, R, etc. They are the basis of all dimensions in CNC programs. Tens, hundreds, even thousands of values may have to be calculated to make the program do what it is intended to do - to accurately machine a complete part. The dimensions in a program assume two attributes: o Dimensional units ... English Dr Metric D Dimensional references ... Absolute or Incremental The units of dimensions in a program can be of two kinds - metric or English. The reference of dimensions can be either absolute or incremental. Fractional values, for example 1/8, are not allowed in a CNC program. In the metric format, millimeters and mefers are used as units, in the English format it is incites andfeet that are used as units. Regardless of the format selected, the number of decimal places can be controlled, the suppression of leading and trailing zeros can be set and the decimal point can be programed or omitted, as applicable 10 a particular CNC system. ENGLISH AND METRIC UNITS Drawing dimensions can be used in the program in either English or metric units. This handbook uses the combined examples of both the English system, common in the USA, to some extent in Canada and one or two other clluntries. The metric system is common in Europe, Japan and the rest of the world. With the economy reaching global markets, it is imponant to understand both systems. The use of metric system is on the increase even in countries that still use the English units of measurement, mainly the United Slates. Machines that come equipped with Fanuc controls can be programmed in either mode. The initial CNC system selection (known as the default condition) is controlled by a parilmeter setting of the control system, but can be overridden by a preparatory command written in the part program. The default condition is usually set by the machine tool manufacturers or disuibutors (sometimes even by the CNC dealers) and is based on the engineering decisions of the manufacturer, as well as the demands of their customers. During the program development, it is imperative to consider the impact of default conditions of the control system on program execution. The default conditions come into effect the moment the CNC machine tool has been turned on. Once a command is issued in the MDI mode or in a program, the default value may be overwritten and will remain changed from that point on. The dimensional unit selection in the CNC program will change the default value (that is the internal control setting). In other words, if the English unit selection is made, the control system will remain in that mode until a metric selection command is entered. That can be done either through the MOl mode, a program block, or a system parameter. This applies even for situations when the power has been turned offand then on again! To select a specific dimensional input, regardless of the default conditions, a preparatory a command is required at the beginning of the CNC program: G20 Selects English units (inches and feet) G21 Selects metric units (millimeters and meters) Without specifying the preparatory command in the program, control system will default to the status of current parameter setting. Both preparatory command selections are modal. which means the selected a code remains active until [he opposite G code is programmed - so the meuic s~stem is active until the English system replaces it and vIce versa. This reality may suggest a certain freedom of switching between the two units anywhere in the program, almost at random and indiscriminately. This is not true. All controls, including Fanuc, are based on the metric system, partially because of the Japanese influence, but mainly because the metric system is more accurate. Any 'switching' by the use of the G20 or 021 command does not necessarily produce any real conversion of one unit into the other, but merely shifts the decimal point, not the actual digits. At best, only some conversions take place, not all. For example, G20 or G21 selection will convert one measuring unit to another on some - bul not all - offset screens. The following two examples will illustrate the incorrect result of changing G21 to G20 and 020 to 021 WIthin the same program. Read the comments for each block - you may find a few surprises: 69 70 Chapter 11 c::> Example 1 - from metric to G21 GOO X60. 0 units: • Comparable Unit Values are many units available in the metric and In CNC programming, only a very small of them is used. The are based on a milapplication. The Engdepending on for the different IniTial wUt selection (metric) X value ,,. arrPI,,)(p/J Previous value will change into 6.0 incites (real translalion is 60 I'I1m 2.3622047 inches) G20 c::> Example 2 - from English to G20 1niJ.ial unit seleclion GOO X6.0 X value units: G21 Both examples illustrate problem by switching between the two dimensional units in the same program. For this reason, always use only one unit of If the program calls a dimensioning in a subprogram, the rule to subprograms as well: In it is unwise to control system aTe n ..",';.",; system will trol functions will work. fecled by the change Dimensional words (X, Y, Z axes, I, J, K modifiers, etc.) o Constant Surface o Feedrate function o Offset values and tool preset (eSS - for CNC lathes) F Hand 0 offsets for milling a number of rlol"i..,.,,,1 o Screen position o Manual pulse generator· the HANDLE (value of flllIll<;!II'lII1'l. a Some control system parameters dimensional units can The initial selection setting. The control status done by a system turned on is the same as is was at when the power power shut off If neither G20 nor I is the time of the accepts the dimensional units seprogrammed, lecled by a .-.<;>'-""',1"1 ..:J"",,,H.,,,. If G20 or G21 is ""lI.lU\AJ command will always the program, the system parameter "'.... LUIl;"'. ority over - the control ""<:1"""'" mer makes preting them, but it the units setting in a ",,, ... ,,r,,t Always motion, offset selection, or fore any and G54 La G59). nate system produce incorrect results. low this ng unils for different jobs. when frequently mm Meter m Inch in Foot ft Many programming terms use abbreviations. terms between the two mensional systems (older terms are in next table shows the even if the selection of the difference how some confollowing functions will one system of units to the o Millimeter Metric English mlmin (also MPM) ftlmin (also FPM or SFPM) mm/min in/min (also IPM or fpm) mm/rev in/rev {also IPR or ipr} mm/tooth (also IPT or ipt) HP kW ABSOLUTE AND INCREMENTAL MODES A dimension in either input units must have a rn",."h"-", point of reference. example, if X3S.0 In program and the units are millimeters, statement does nol i where the dimension of mm has needs more information to correctly. There are two In o Reference to a common point on the part ... known as the for ABSOLUTE input o Reference to a point on the part ... known as the last tool position for INCREMENTAL input In the example, the dimension X35.0 (and any as well) can from a selected fixed point on the part, called or program zero, or program point - all terms have the same meaning. value can be measured from the tool current position for the next cannot distinguish one two statement alone, so some added to the program. INPUT OF DIMENSIONS 71 All dimensions in a CNC program measured from the common poinl (origin) are absolute dimensions. as illustrated in Figure JJ-J, and al I dimensions ina program measured from the current position (last point) are incremental dimensions, as illustrated in Figure J /-2. 0 2 0 3 , I - 1 cF~ 1r1_ ,/I~ /: / • --- ' I I ORIGIN,I - Preparatory Commands 690 and G91 There are I wo preparatory commands available for the input of dimensional values, G90 and G91. to distinguish between two availabJe modes: G90 Absolute mode of dimensioning G91 Incremental mode of dimensioning --- '4 0 0 - • • It is a good programming practice to always inclurle the required setting in lhe CNC program, not to count on any default setting in the control system. It may come as a surprise that the common default setting of the control system is the incremental mode, rather than the absolute mode. After all. absolute programming has a lot more advantages than incremental programming and is far more popular. In addition, even if the incremental programming is used frequently, the program still starts up in the absolute mode. The question is why the incremental default? The reason is - as in many cases of defaults - the machining safety. Follow this reasoning: Figure 71·1 Absolute dimensioning - measured from part origin G90 command will be used in the program -- -01 ,/L-______________________ Both commands are modal, lherefore they will cancel each other. The control system uses an initial default setting when powered on, which is usually the incremental mode. This setling can be changed by a system parameter that presets the computer at the power startup or a reset. For individual CNC programs, the system setting can be controlled by including the proper preparatory command in the program, using either one of two available commands - the G90 or G91. ~ __ _ =I===:I==I==.! //~/ :J:. :_~:_:_ _ :START AND END Figure 11-2 Incremental dimensioning - measured from the current tool location G91 command will be used in the progrom Absolute dimensions in the program represent the target locations of the cutting tool from origin Incremental dimensions in the program represent the actual amount and direction of the cutting tool motion from the current location Since the dimensional address X in the example, written us X35.0, is programmed the same way for either point of reference, some additional means must be available \0 the programmer. Without them. the control system would use a default selling of a system parameter, not always reflecting the programmer's intentions. The selection of the dimensioning mode is controlled by two modal G commands. Consider a typical start of a new program loaded into the machine control unil. The control had just been turned on, the part is safely mounted, the cutting tool is at the home position, offsets are set and the program is ready to start. Such a program is mosllikely written in the more practical absolute mode. Everything seems fine, except that the absolute G90 command is missing in the program. WhaT will happen at the machine? Think before an answer and think logically_ When the first tool motion command is processed, the chances are that the tool target values will be positive or have small negative values. Because the dimensional input mode is missing in the program, the control system 'assumes'lhe mode as incremental, which is the default value of the system parameter. The lool motion, generally in X and Y axes only, will take place to either the overtravel area, in the case of positive target values, or by a small amOlJnl, in the case of neg<1li ve target values. In either case, the chances are that no damage will be done to the machine or the part. Of course, there is no guarantee, so always program with safety in mind. G91 is the standard default mode for input of dimensions, 72 Chapter 11 • Absolute Data Input - G90 In the absolute programming mode, all are of origin. origin is the promeasured from Ihe gram poinT also known as program zero. The actual the is the di fference bet ween current absolute position the tool and the previous absoposition. The [+] plus or H refer to the quadrant of coordinates, nor direction motion. Positive does not have to written for any address. AI! z.ero values. such as XO. YO or ZO to the at program point, not to the motion itself. The zero value of any axis must written • Combinations in a Single Block many Fanuc the absolute and incremental modes can be combined in a single nrr'O'f':~rn cial programming purposes. This usual, but are significant benefits this advanced is in one mode only plication. Normally. the either in the absolute mode or incremental mode. On controls, for to the opposite mode, the motion command must programmed in a block. do not to program an inSuch controls, for cremental motion along one axis and an absolute motion along other axis in the same block. do allow to program both in the same All that needs to be done is to specify the G90 or the G91 preparatory before the significant address. Most absolute The preparatory command G90 mode remains modal until the command 091 is programmed. the absolute there will no motion for that is omitted in the program. main advantage programming is tbe ease of modification by the programmer or CNC operator. A change of one dimension does not any other menslOns m program. lathes with Fanuc controls, the common repreof the absolute is the axis as X command. Some lathes Fanuc controls. • Incremental Data Input - G91 programmmg, a mode, all program dimensions are as de"'<:l,elln-", distances into a specified direction (equivalent to 'on the control The actual motion of the is the speC! fied amount along with the direction indicated as or negative. rPI,'7TH'P signs + or - specify direction of the tool motion, not the quadrant of rectangular coordinates_ Plus for positive values does not have to be written, but sign must used. All zero input values, such as XO, YO or ZO mean there will be no tool motion aiong that axis, and do not have to written at all. If a zero axis value is programmed in inmode, it will preparatory comincremental is G91 and remains modal until the absolute is programmed. will be no motion for any axis omitted in the block. The main advantage of programs is their portability between individual of a An program can called at different locations of the part, even in different programs. It is mostly when developing or repealing an equal distance. For controlled CNC lathes, the common representation incremental is the axis designation as U and W, without the G91 command. Some lathes use I, but not those with controls. G91 are not For lathe work, where G90 is between the X U axes and the Z and Waxes. The X and Z contain the absolute values. U Ware the incremental values. Both types can be wriuen in the same block without a problem. Here are some typical examples for both applications: C Milling example; N68 GOl G90 X12.5031 G91 Y4.S111 Fle.S The milling shows a motion the cutter has La reach the absolute position of 12.5037 inches and - at the same rime to move Y axis by 177 inches in the Note position commands G90 and G91 in the block - it is Important, but it may not work on all C Turning example: N60 GOl X13.S6 W-2.S FO.013 example a lathe shows a tool motion, where the cutting tool has to reach the diameter of 13.56 inches and - at/he same time to move 2.5 inches into the Z direction. by the neremer tal address W. or G91 is not nonnally the Group A G codes is the most common one ~nd does not G code of dimensional mode selection. is a switch the absolute mode in a CNC program, me programmer must be careful not to remain in the 'wrong' mode man The switch (he modes is Iy temporary, for a specific It may one block or several blocks. thatLhe original selling for (he proRemember that both the absolute and .nf'rp,...,pnt,:; modes are modalremaIn In unby the opposite IN OF DIMENSIONS 73 DIAMETER PROGRAMMING MINIMUM MOTION INCREMENT All dimensions along Minimum increment (also called the leas! increment) is the smallest amount of an a.:ds movement the control syslem is capable supporting. The minimum increment is the smallest amount thai can be programmed within the selected input. Depending on the dimensional Ihe minimum increment is exin millimeters system or in system. on a CNC lathe can be as This approach simplifies programming and Normally, the defauh ler programming. The changed to interpret the X the program to read. controls is system parameter can as a radius inpul: GOO X4. 0 GOO X2. 0 Dia.me/erdimellsioll , .. when sel 17)' {J {Ifl1'ffJl1l'lf'Y R(Jf/ilis ... when set by (j paroJlleler value is rnrrpt·, setting. The diameter is easier to by both the programmer and operator, use the diameter di for cylindrical suring diameters at machine is common. cerlain caution - if the diameter programming is used, all tool wear offsets for X must be treated as applicable to the diameter oJfhe not to il$ single (radius value). 0.001 mm of minimum most com0.0001 inches for metunits respectively. a typical CNC increment for the X axis is also 0.00 I mm or but is measured on the diameter - that means a mm or .00005 inches minimum increment per is much more tlexjble machining the metric than in the English are O.OOl mm Minimum increment Converted equivalent - For example, two sections of the following metric programs are - note Ihal Ihey bOlh starr in the ab~ solute mode and only the diameters different: Q Example 1 - Absolute diameters: .~ 0.001 mm .00003947 inches .0001 inches 0.00254 the metric system system, which less accurale J54% more accarale the English system .. metric system, (ABSOLUTE START) FORMAT OF DIMENSIONAL INPUT year of 1959 is numerical ......."'''''~'"' have taken format of dimensional X116.0 GOO .. Q Example 2 - Incremental diameters: mo.o Metric In the mode, the intended X mOlion will Inlhe U as a distance and be programmed as on n direction to GOO G42 X85.0 Z2.0 T0404 MOS GOl z-24.0 FO.3 Minimum increment .0001 inch Another consideration, very imporLant, is the the absolute or the incremental mode of dimensional input. The diameter programming, represents the part IS where the X much more common in the absolute mode. In those cases. when an incremental is required. that all incremental dimensions in the program must be specified per dial1letel; lIot radius. GOO G42 X8S.0 Z2.0 T0404 MOS GOl Z-24.0 FO.3 X9S.0 Z-40.0 X1l2.0 Z-120.0 Units system considered to be the Since that lime, that intluenced the nrr,ot":lm Even to this day, data can be one of the four possible ways: (ABSOLUTE START) (X95.0) Z-40.0 Q Full address format o leading zeros suppression ill 7 . 0 (Xll.2 • 0) o Z-120.0 U4.0 GOO .. (Xl16.0) o Decimal zeros in 74 Chapter 11 In to understand format back some years may be beneficial. control (mainly the old NC systems as compared to the more modern CNC were nOl able to accept the input of dimensions - the decimal point formal - but the accept all the earlier formats, even decimal format is most common. The reason iscompatjbility with lheexisting programs (old programs). decimal point programming method is latest of available, systems thaI allow point programming can also accept programs written many years earlier (assumed that the control and machine tool are also compatible). The reverse is nor true. Since leading zeros suppression and the trailing zeros suppression are mutually exclusive. which one be programmed for Without a decimal poim? As it depends on setting the control system or (he designation of (he status by the control manufacturer, the actual stnLuS must be known. status determines which zeros can suppressed. It may be the zeroes zeros allhe end of a dimension withallhe beginning or out a decimal poin!. In the extremely unlikely evenl the system is with zero suppression feature as the only programming the decimal point will not be possible. illustrate results of zero suppression. will be earlier is a very imponant issue, knowing how the interprets a number that 110 decimal poim is for all motion commands and Jr the English input .625 inches is to programmed in the leading zero suppression format applied to the X it will in the program as: • fun Address format X6250 The full format of a dimensional English metnotation of +44 in That means ali eight digits have to len for the words X, y, Z, I. J, K, etc. For example, the English of .625, applied to X axis, will be written as: The same dimension rOs suppressed, will inches with the trailing zein Ihe as: X0000625 The metric units input of 0.42 mm, also applied 10 the axis, is written with the lending zeros suppressed as: X00006250 X420 the X axis, dimension of 0.42 mm, written as: when to The same dimension of 0.42 mm with the suppressed will appear in the program a,,\: zeros X00000420 X0000042 full formal programming is applicable only to early control un its, but is correct even today. programmed was usually without the designation, which is determined by position of the dimension within the block. For modern CNC programming. the full format is obsolete and is used here reference format will quite comparison. Yes, modern programs, but don't used it as a standard. • Zero Suppression Zero suppression is a great improvement over full programming It was <ldaptation of a new format that reduced the number of zeros in thedimensional input Many controls still support the method of 7~ro suppression. but only for reasons of compatibility with old and proven programs. Zero suppression means that either leading or trailing zeros of maximum input do not have [0 be written in the CNC The result is a great reduction in program The default has been done by the control manufacturer, although default mode can be optionally set by a parameter. Don 'I allY WiThoul a reason! Although the examples above illustrate only one small ieation, the impression leading zero suppresis more practical than the trailing zero suppression is quite Many older control systems are indeed set (rarily 10 the zero suppression as the default, because its practicality. is the reason why - study it carefully, although today the subject is more trivial than On other hand. if even one decimal point is omitted (forgOlten) in the program, this knowledge becomes very useful and subject is not trivial any more. Preference for Leading Suppression the dimensional input the syslem can accept eight digits, withoUl a decimal point, ranging from 00000001 to 99999999: o Minimum: 0000.0001 inches o Maximum: 9999.9999 inches or 00000.001 mm or 99999.999 mm is nol written. If the program uses zero suppression either type, a comparison of input values should be useful: INPUT OF DIMENSIONS Input Decimal point 75 - inches leading zeros suppression Trailing zeros suppression the I can programmed with the X fo!lowed by the of eight digits, always positive. If control system the decimal point, there is no confusion. If the leading or the trailing zeros have to is very important XO.OOOl Xl XOOOOOOOl XO.OOl XIO XOOOOOOl XO.Ol XIOO XODOOOl XO.l X1000 00001 Xl. 0 XlODOO 0001 a No trailing zeros X000005 XOOl a Decimal point XO.5 or X.5 XOI XI0000000 Xl leading zero suppression is much more common, bebencfits numbcrs with a small parI than a large integer part. the metric input the resulls will a X0000050 a No zeros X500 Note thaI the format is the same dwell as for the words. The programmed formal will always adhere to the notation of the address. dwell is expressed by the dentally, in some P address, which a decimal point at all and the leading zero suppression must be programmed will be equal to P500. mode in effect. • Decimal Point Programming Input value comparison - millimeters point dwell Leading zeros suppression XOOOOOOOl XOOOOOOl XOOOOOl Xl-O XlOOO XOOOOl XIO.O XIOOOO XOOOl XlOO.O XlOOOOO XOOl XlOOO.O X1000000 XOl XIOOOO.O XIOOOOOOO Xl time. important for example, the programmer forgets to point or CNC operator forgets to punch it in? - and common - errors that can be avoided good knowledge. complete the section on zero suppression, let's look at a program input that uses an axis letter but no/ as a nate word. A command will be to explain. Chapter 24 covers the delails relating to the dwell gramming. use the basic format and one second dwell The dwell formal is the dwelling This format tells us that All modem will use the decimal point for dimensional input the decimal point, particularly for program a fractional portion, makes the CNC program much to develop and to read at a later date. From all the available nT"""""'"", used. not all can be The ones that can arc those millimeters or seconds The following two mal point is allowed in controls: thedeciand tum- control programs: X, Y, Z, I, J, K, A, R => Turning control programs: X, Z, U, W, I, K, R, C, F The control system that supports option of programming the decimal point, can also dimensional values without a decimal poin£, to allow with older programs. In such cases, it is the principles of programming and the traiJing zeros. If they are used rrw'r",1'" explanations). there will be no problem to the various dimensional formats to any other old or new. If possible, program the as a standard approach. 76 11 compatibility enables many users to load their old in format), into the new not the other way around usually with or no modifications at all Some units do not have the ability to an paper tape they have no tape convert any tapes that contain good programs, there are two options if - one, have someone to install a tape reader in possible and (probably not). to store the contenls of a tape in the memory computer. much better able software possible. cializing in in the metric system assume 0.00 I mm mInImUm while in the English the increment is .000 I an inch (leading zero suppression mode is in effect as a default); • Input Comparison Differences in the input format for both and metric dimensioning can be seen clearly. One more time, the same examples will shown. as before: Q English Full format No leading zeros No trailing zeros Decimal point input of .625 inches: X00006250 X6250 X0000625 XO.625 or X.625 Q Metric example input of 0.42 mm : Full format No leading zeros No trailing zeros Decimal point X00000420 X420 X0000042 XO.42 or X.42 CALCULATOR TYPE INPUT In some is is Y12 • 56 Y12.56 Yl25 600 ..Jor English units Y12560 .. .jormefriculliis without the decimal the same block: such as woodworking or (especially metric) not require decimal only whole numbers. In these cases, the decimal point would always be followed with a zero. Fanuc provides a solution to such situations by the feature called calculator input. Using this feature can shorten program size. N230 X4.0 Y-10 This may be beneficial extreme conservation of system memory. For X4.0 word WIll fewer characters than the X40000 - on the other hand, the Y-IO is shorter decimal poin! equivalent of y-o.OO I (both examples are in English units). If all before or after the decimal are zeros, (hey do not 10 wriUen: xO.s ::: Y40.0 Z-O.l F12.0 X.5 X40. calculator type input parameter. Once the parameter is the trailing zeros do not to example, will the normally expected selling of a system the decimal point and they will asas X25.0, not H l r . . . ",,, - In case the input value the decimal point, it can written as usually. means the values with a decimal point will be interpreted correctly and numbers withou( decimal point will be treated as major units only or millimeters). Here are some Z-.l ;:; Standard Input F12. RO.125 ::: R.12S ... etc. Any zero value must be written example, XO cannot written as X only. In this all the program examples use the decimal point whenever possible. Many programmers prefer to nrr"',"'!\rT\ zeros as in the left of the example. They memory. but they are for learning. i· Calculator Input X345.0 X345 XL 0 Xl YO.67 YO.67 Z7.4B Z7.48 Normally, the control system is set to the suppression mode and the non-decimal preted as of the smallest units. Z 1000 in I mode will be equivalent to .0 SPINDLE CONTROL machines, machining centers mateuse spindle rotation when removing a rotation may be that of the cutting tool or itself (lathes). In both cases, the. spindle and the working feed rate of the to be strictly controlled by the program. require instructions that relate to the selection of a suitable speed of the machine spindle and a a given job. methods to control the spindle and cutting they all depend mainly on the type of the CNC the current machining application. In this chapter, we look at the spindle control ancl its programming appl '('<lInn,,,,! SPINDLE FUNCTION to spindle speed is conS. The programis usually within the range of point is allowed: 51 10 59999 machines is not unusuaJ to For many high to five digits. in the range have spindle available of I to 99999, within S On CNC lalhes, all three alternatives may on the control system. For the CNC mill' terns, peripheral spindle speed is not applicable, spindle speed code number and the direct spindle speed are. spindle speed selection by special code number is an obsolete concept, no! required on modern controls. I-'..... JJIUllII5 ndle speed designation S is not ",,..,,,,.,,,,,,,,,,,,,,.rl by itself. In addition to the additional are attributes that control is if the spindle programming instruction is not spindle function stands by itself in not include all information {he control for spindle data. A spindle speed example, to 400 r/min or 400 mlmin or 400 on (he machining application), does not information, namely,lhe spindle rotaMost can be rotated in two directions clockwise or counterclockwise, depending on the type and setup of the cutting tool used. The spindle rolation has to be specified in in addition to the spindle speed are two miscellaneous functions provided by that controllhe direction of tile spindle- DIRECTION OF SPINDLE ROTATION 51 to 599999 and left, up and down. clockand similar directional terms, is /lIe relative to some known reference. as clockwise (CW), or as some established and standard this case a reference point of VLa'UUll • Spindle Speed Input The address S relates to and must always the CNC program. are the numeric value (input) of the o Spindle speed code number spindle function, numeric value in alternatives as to what function may be: .. old controls· obsolete o Direct spindle speed .. r/min o Peripheral spindle speed .. ftlmin or mlmin The direction rotation is always relative to the from the spindle side of the poim of view that IS ",;) ••:lUlI',. that contains the spindle. machine. This part a headstock. Looking and is generally called from the machine area the direction along establishes the corspindle center line and towards rect viewpoint for and CCW rotation of the spindle. For CNC CNC machining centers, is quite simple to understand. are exactly the same, and will 77 78 • Chapter 12 Direction for Milling It may be rather impractical to look down along the center line of the spindle, perpendicularly towards the part. The common standard view is from the operator's position, facing the front of a vertical machine. Based on this view, the terms clockwise and counterclockwise can be used accurately, as they relate to the spindle rotation - Figure 12-1. Although the descriptions CW and CCW in the iHustration appear to be opposite to the direction of arrows, they are correcL The reason is that there are two possible points of View, and they are both using the spindle center line as {he viewing axis, Only one of the viewpoints matches the standard definition and is, therefore, correct. The definition of spindle rotation for lathes is exactly the same as for machining centers. To establish spindle rotation as CW and CCW, M04 M03 look from the headstock towards the spindle face. The first and proper method will establish the relative viewpoint starting at the headstock area of the lathe. From this position, looking towards the tailstock area, or into the same general orea, the clockwise and counterclockwise directions are established correctly. The second method of viewing establishes the relative viewpoint starting at the tailstock area, facing the chuck. This is an incorrect view! R/H tool - CCW R/H tool- CW Compare the following two illustrations - Figure 12-3 shows the view from the headstock, Figure 12-4 shows the view from the tailstock and arrows must be reversed. Figure 12-1 Direction of spindle rotation. Front view of a vertical machining center is shown • Direction for Turning A comparable approach would seem logical for the CNC lathes as welL After all, the operator also faces the front of a machine, same as when facing a venical machining center. Figure 12-2 shows a front view of a typical CNC lathe. CW= M03 CCW= M04 Figure 12-3 Spindle rotation direction as viewp.d from the headstock Headstock cw ccw y Tailstock CW= M03 Figure 12-2 Typical view of a slant bed two axis CNC larhe. CWand CCW directions only appear to be reversed CCW= M04 Figure 12-4 Spindle rotation direction as viewed from the taifstock SPINDLE CONTROL • Direction Specification If spindle rotation is clockwise, M03 function is used in the program - if the rotation is counterclockwise, M04 function is used in the program. the spindle speed S in the program is dependent on the spindle rotation function M03 or M04. their ship in a CNC program is important S and spindle function spindle speed M03 or M04 must always accepted by the control system together. One without the other will not mean anything to the control, particularly when the machine is switched on. There are at leasllwo correct ways to program tbe spindle and spindle rotation: o If the spindle speed and rotation are programmed together in the same block, the spindle speed and the spindle rotation will start simultaneously o If the spindle speed and rotation are programmed in separate blocks, the spindle will nat start rotating until both the speed and rotation commands have been processed • Spindle Startup The following examples demonstrate a number of correct starts for the spindle speed and rotation 10 All examples assume that is no active setting of spindle speed either through a previous program or through the Manual DaJa Input (MDI). On machines, there is no or default speed when the machine power turned on. <:> Example A - Milling application: m G20 N'2 G17 G40 GSO NJ G90 GOO G54 X14.0 Y9.S N4 G43 Zl. 0 Hal S600 M03 (SPEE.'O WITH ....".·A·'·' N5 ••• This example is one the preferred for milling applications. Both the spindle speed and spindle rotation are set with the Z axis mOlion towards the Equally motionpopular method is to start the spindle with the in the example: Nl G90 GOO GS4 X14.0 Y9.S S600 M03 Selection is a matter of personal preference. 020 in a separate block in not necessary for Panuc controls. e Example B - Milling application: N1 G20 N'2 Gl' G40 GSO N3 G90 GOO G54 Xl4. 0 Y9. 5 S600 (SPEED ONLY) N4 G43 Zl.O HO 1 MO) (ROTATION STARTS) N5 ... 79 second example B is technical1y correct, but logically flawed. There is no benefit in splitting spindle speed and spindle rotation into two blocks. This makes the program harder to interpret. e C - Milling application: N1 G20 N2 G17 G40 GBO N3 GOO G90 G54 X14.0 Y9.S M03 N4 G43 Zl.O HOl N5 GOl ZO.l FSO.O S600 N6 ••. (ROTATiON SET) (NO ROTATION) (ROTATION STARTS) Again, the C example is not wrong, but it is not tical either. There is no danger. if the machine pewer has been switched on just prior to running this program. On the other hand, M03 will the spindle rotation, if another program was processed earlier. This could create a possibly dangerous situation, so foHow a simple rule: e Example 0 - Turning application with GSO : N1 G20 N2 GSO X13.625 Z4.0 T0100 N3 G96 S420 M03 (SPEED SET - ROTATION STARTS) N4 •.• This is the preferred example for lathes, if the G50 setting method is used. Because spindle is se~ as CSS - Constant Surface Speed, the control system WIll calculate the actual revolutions per minute (r/min) current part based on the CSS value of 420 (ftlmin) and at XI The next example E is correct but not recommended caution box above). e Example E Turning application with G50 . N1 G20 N2 GSO X13.62S Z4.0 TOlOO M03 N3 GOO X6.0 ZO.l (ROTATION SET) (NO ROTATION) N4 G96 GOl ZO FO.04 T010l S420 (ROTAT. STARTS) NS ... Q Example F - Turning application without G50 : N1 G20 T0100 N2 G96 5420 M03 N3 GOO ••• (SPEED SET - ROTATION In more contemporary example (GSO is not used as a position command anymore), the machine spindle speed will be calculated for a tool offset stored in the Work Geometry Offsel register of the control system. system will perform the ca1culation of actual r/min when the block N2 is 80 These examples are only correct methods for a spindle start. All contain rotation at the beginning of a program milling and turning applications. The beginning of a program has been selected intentionally, IJ"'-''"'''''''-' for any first tool in the program. there is no active or rotation in effect (normally carried on from a tool). However, the control unit may still store and rotation from the last tool of the previous Any toolfollowing programmed speed "'-:I<::L"'" tool. If onJy the 31..1'11"":''-' for the next tool, assume the last rotation direction. If only the direction code M03 or M04 is programmed, the speed S will the same as the previous tool. Be careful if a program program stop functions MOO Or MOl, or the function M05. Any one of them will automatically stop the spindle. It means to be absolutely sure as to when rotation will take spindle place and what it will be. speed selection and its rotation the same block and for tool. Both functions are connected and placing within a sing1e block w i l l ' and logical program structure. SPINDLE STOP NormaHy, most work requires a speed. In some cases, a desirable. For example, before change or reverse a part in the middle a program, the spindle must be stopped first. The spindle must also be during a tapping operation and at of proSome miscellaneous functions will stop the spindle rotation automaticaHy (for example, the functions MOO, MOl, M02 and M30). Spindle rotation will during certain fixed cycles. the spindle stop should always Counting on other functions to is a programming practice. in programming, to slop the spindle rotation. use function MOS. the clockwise or the counterclockwise V\(l,lIV'1. Because M05 does not do anything (unlike other functions that also stop the spindle, such as MOO, MOl, M02, M30 and others), it is used for situations, must be stopped without other programmed activities. Some typical in tapping. tool motion to the . ".".,AlI." tion, turret position, or after machine zero depending on the application. Using one of the cellaneous functions that automatically stop the is not required. On tile ......t,nT<;Ifn exactly what is required, in a particular Chapter 12 but it will method may result in a slightly longer easier to read and maintain it, mainly with limited experience. can be asa Nl.20 MaS block containing the tool motion, such as Nl.20 Z1.0 M05 The motion will always be completed first, then the spindle will be This is a safety feature built inlo control remember to program M03 or .,.n .... rlll", rotation, SPINDLE ORIENTATION The last M relates to a spindle activity, is M 19, is most commonly used to set a machine spindle an position. Other M codes may be valid, on the control system. for example M20 on same spindle orientation function is a very specialized seldom appearing in the program itself. MI9 function is used, it is mainly during setup, in the Manual Data Input mode (MDI). This function is exclusive to milling systems, because only specially eqllipped may require it. The function can only be used when spindle is stationary, usually ter the spindle When the control system executes the M 19 function, the following action will The spindle will tum in both clockwise and a short period. the internal activated. In some is audible. The spindle cases, the will be locked in a and rotating it by hand, will not be exact locking position is deterby the machine tool indicated by the setting angle - Figure Figure 12-5 Spindle orientation angle is defined bV the ma,~fll'I'" manufacturer and cannot be changed SPINDLE CONTROL 81 In CNC machine lool operation, the MI9 function enables machine to place a tool into the manually and guarantees a proper 1001 holder orientation. Later chapters will provide more about Ofland applications, example. in point boring SPINDLE SPEED - R/MIN programming CNC machining centers, designate the spindle directly in revolutions per minute (rlmin). A basic that contains spindle speed 200 rlmin, for require this enu-y: N230 S200 M03 CNC centers (oat all) use tool holders that can be placed into magazine only one way. To ~chieve this goal, the 1001 holder has a special notch of the spindle built-in, matches internal Figure In order to find the the holder that has the there is a small dimple on notch side. deis intentional. format is typical to milling controls, nO peripheral speed is used. There is no need to use ~ sp~i~l preparatory command to the rlmin setllng. It IS the a mInimUm control default. The r/min value must crement of one. or values are not allowed the r/min must always within the range of any A few machining centers may be equipped with the option of a spindle selection - direct r/min a peripheral speed. In this case, as as for all gramming, a proper preparatory command is used to. guish which is active. is used penpheral direct of r/min. The distincspeeds, G97 tion between them is discussed next. SPINDLE SPEED - SURFACE Figure 12-6 Built-in notch in 8 tool holder used for correct tool orientation in the spindle - not a/l machines this feature tools with flutes (cutting edges), as drills, end mills, reamers, face mills, etc., the orientation of cutting edge to the spindle is not that important. However, . point . such a~ ing bars, orienlation of cuttmg edge dunng setup lS extremely important, when fixed are used. The two cycles that use the built-in orientation, G76 G87, the retracts from mahole without rotating. In to prevent damage to the finished the tool retraction must controlled. Spindle orientation guarantees that the tool will shift away from the finished bore into a clear direction. An accurate setup is ne1ces,sary Those machines spindle either way still shift when or G87 tool holder the proper setting tools that cycles are programmeu. Programmed spindle speed should be based on the machined material and the cutting tool diameter (machining centers), or part diameter (lathes). rule is that the larger the the slower the spindle r/min must Spindle speed should never guessed - it always be calculated. a calculation will the spindle is directly proportional to the programmed An incorrect spindle speed will have a negative on both the tool and the • Material Machinability spindle speed, each material a sugtool material. This machinability rating for a is either a percentage of some common material, such as mild , or a direct rating in terms periphor sUiface speed. Surface speed is specified in eral feet per minute (ftlmin) in units, in meters system. minute (nt/min) in for jtlmin is FPM, meaning Feet Per Minute. The amounts of speeds indicate level of machining difficulty with a given tool material. The (he surface speed, the more difficult it is LO machine the material. Note the on the words 'given fool material'. To comparisons meaningful fair, they must be with the same type of cutting tool, for tools will much speeds for high speed lower then for cobalt tools and. course, for carbide tools_ Chapter 12 on the surface speed (he cutler diameter (or part diameter for lathes), machine spindle speed can be calculated in revolutions per one mathematical for English units another when are programmed. Itir where ... = Spindle speed in revolutions per minute = Multiplying - meters to mm = Peripheral in mlmin = Constant3.1415927 = Dia.meter in mm (cutter diameter r/min 1000 m/min 1t o or part diameter for • Spindle Speed - English Units peripheral To calculate the spindle the material as well as the type must tool or the part: speed is 30 mlmin meter is 15 mm: = = = (1000 x 30) 636.6 637 r/min I A version of the tive and almost as accurate as the cutting tool .1415 x 15) is an acceptable allemaformula: n",,'I"'('''' Itir where ... rim in Spindle speed in revolutions Multiplying factor - feetto Peripheral speed in 12 ft/min 1t ::: D Constant 3.1415927 Diameter in inches (cutter or part diameter for turning) for milling, is 150 fUmin, Peripheral for the selected and the cutting tool diameter is I ::: (12 x 150) / 327.4 327 r/m.in (3.1415 x L 75) Many applications can use a mula, without losing any significant accuracy: r I min = 3.82 x ft I min D ILl."" .. " . the 3.82 constant may as an easier calculation a units must be applied "'Y'r,nG>rl not be correct. • Spindle Speed - Metric Units When metric previous formula is is in the program, same, but units are Again, by replacing the constant 31 with constant 320 somewhat inaccurate, but within an acceptable most (or even 300), the r/min will CONSTANT SURFACE lathes, the machining is different from process. The turning tool has no diameter to the and the diameter of a boring bar has no It is the part diameter that is spindle used for calculations. As the machined, changes constantly. cut or during roughing operations during a eterchanges in Figure 12-7. the spindle is not practical of the many should be selected to is to use the sUrface r/min? The the lathe is only a half of the To select a The other half is to communicate this selection to trol system. The has to be set to the surface mode, not the rlmin Operations IlS drilling, tapping, etc., are common on a lathe and distinguish between direct r/min in the the choice of face speed or per minute must be This is done with preparatory commands G96 and prior 10 the spindJe function: SPINDLE CONTROL G96 S •• M03 83 o Example 1 : Swface speed selected G97 S •• M03 ""rl-""c> speed is set right after milling. this distinction normally does not GSO (or and spindle speed in rlmin is always assumed. By the G96 for turning boring, the control enters a special known as the ConstaJlt Surface Speed or CSs. In this the spindle revolutions will and diameter cut (curautomatically, depending on rent diameter). automatic Constant Surface Speed is built in systems for most CNC lathes. It is a feature that not only saves programming time, it allows tool to remove constant amount of material at all cutting too) excessive wear "".-/''''"'''' finish. a typical example, a facing cut starts at (06.2), and faces the part to the centerline (or slightly below). G96 was used program. 6000 was the spindle of the coordinate setting, command: N1 G20 GSO X16.0 ZS.O T0100 N3 G96 MOO MOl ~ In this quite common application, the actual spindle speed will be on the current diameter of 16 inches, In r/min in block In some cases, this will be too low. Consider another example: o 2: On large CNC lathes, GSO of the X diameter is quite large, 024.0 the previous example, target diameter the next tool motion was nat important, but in case it is. example: N1 G20 N2 GSO X24.0 ZS.O T0100 N3 G96 S400 M03 ftlmin N4 GOO X20.0 TOIOl MOB 8375 06.20 231 r/min -""'-- 06.00 :::; 239 r/min 6000 r/min :::: 260 r/min max. spindle speed 05.00:: 286 r/min ,~,- 04.50:: 318 r/min ,,'~- 04.00 :::; rIm in :::; 409 r/min - 03.00:::; 477 r/min - - - 02.50 :::; 573 r/min 02.00 :::: r/min 01.50 :::; r/min 01.00:: 1432 r/min - ' ' ' - 00.50 2865 ,!min 00.25 := 5730 r/min ~ 00.00 ::::; 6000 r/min :: spindle max. Figure 12-7 i-IfR1Tlnlll at a cut using constant surface speed mode 696 Althougb only selected diameters are shown in the illustration, along with their revolutions per ute, the updating is constant. Note the sharp increase in r/min as tool moves to machine center When the reaches XO (00.0), the speed will be at its maximum, within the current gear As this speed may be too high in some cases, the control system allows setting of a maximum, described a speed a lathe, options. In following examples, important ones will be examined. The gear tions are omitted for all examples. are most func- In the 2, the 1001 position is at X24.0 the tool motion terminates at X20.0, both values are ters_ translates to an actual motion of only the X24.0, the spindle will rotate at 64 r/min, at X20.0 it will rolate at 76 r/min. The difference is very to warrant any programming. [t is different, however, if the starting position is at a diameter, a tool moves to a much smaller diameter. o Example From initial position of 024.0 . move to a small of 2.0 . the tool will N1 G20 N2 GSO X24.0 ZS.O TOIOO N3 G96 S400 M03 N4 GOO X2.0 TOlOl MOB Spindle speed at the start of program (block N3) will the same as in previous example, at 64 r/min. In the next block (N4), the calculated for inch will 764 rfmin, automatically calculated by the control. This rather in spindle speeds may have an effect large on some What may happen is that cutting tool will reach the 02,0 inch before the spindle speed fully to the 764 rfmin. tool may start removing material at a speed much slower than intended. In order La correct the problem, the CNC program to be modified: 84 12 e Example 3b : The modification in block N3.lnstead speed mode, program gramminga rect rlmin for the inches, based on 400 to calculated first, surface speed. The setting will be .... ,..("~'ml1nprl a subsequent N1 G20 N2 G50 X24.0 Z5.0 TOIOO N3 G97 S764 M03 N4 GOO X2. 0 TOIOl MOe Whenever the mode is active reaches spindle center at XO) the result will LLY"''''........... be the highest spindle possible, within the gear range. It is but that is exactly what will happen. Such when the part is weD mounted, does not chuck or fIXture lOO out, the tool is strong and so on. When is mounted in a special or an eccentric setup is the part has a long or when some other adverse conditions are present, maximum spindle at center line may be too high for operating safety. N5 G96 S400 is a simple solution to this problem, using a and other ""_"rA'~ mode can be highest limit, E>"_'~L~O feature available the example, at the 024.0 (X24.0 in N2), the actual the 02.0 (Xl.O in N4), would be only 64 r/:min. will be 764. The tool may reach X2.0 pobefore the spindle speed accelerated to full 764 if it is not calculated and programmed earlier. CNe lathe does not modern lathes have a to wait before ac- until the spindle fully accelerated. Modern CNC lathes today do not use the G50 setting and In this case, the acuse the Geometry Offset setting diameter at machine zero position is normally tual this case, not known. Some experience can program a short dwell the actual cutting. • Maximum Spindle Speed :t8t[lng CNC lathe operates Constant Suiface the spindle speed is to the curdiameter. The smaller diameter is, the spindle speed will be. natural question is - what happen if the tool diameter is It may seem but there are at impossible to ever program a zero least two cases when that is the case. the first case, zero diameter i~ t'lT'l'1,~,ml'1nl"l1 ter line All drilling, center similar are programmed at (XO). are always n"'(,'C1T~ITT1Tnf"n using 097 con:uru:ma. is controlled directly, not change. "'..."'."4..... case of a zero diameter is when facing off a solid part all the; way to the center is a different diameter situation. all operations at XO, the does not because a direct r/min is proi gramnle<1 During a cutting operation., the aIa1meter V'lX<U1.5"'" the material removal continues center line. No, eX~Ha.:ullea .......... ,,....... Any calculation zero, will result in ~ at the center line tIl . .'".....,. . . . ~ to Figure 12-7 for H'W'UU""~'" mrevolutions per .. _,,~.,~~ spindle ma:u.mlUI11 setting is clamping. Do not position register program function setting is normally G50. called maximum spinthis G50 with its other is an example: 01201 (SPINDLE SPEED c::t.AWP) Nt G20 TOIOO (1500 R/MIN MAX) SPINDLE RANGE) AND 400 Fl' /MIN) N2 G50 X9.0 Z5.0 S1500 N3 M42 N4 G96 8400 M03 NS GOO G41 X5. 5 ZO TOIOl MOB N6 GOl X-O. 07 Fa. 012 ,~._. CENTER L.I.NE) N7 GOO ZO.1 N8 G40 X9.0 Z5.0 TOIOO N9 M01 What actually happens in program 0120 I? Block N 1 se.......0 ....' ... units of measurement. critical block N2 o only the tool coordinate position, as in: GSa X9. 0 ZS. 0 o Also sets the maximum to as GSa X9.0 ZS.O 81500 a During motion, tool nose ant function are activated. The spindle be a formula described ter~ N6 is the actual cut. 0.012 inlrev, the tool tip reality, the end point is spindle center line. The programming must be taken into consideration with the tool nose offset and to the machine center will hapline. A later explains what pen during SPINDLE CONTROL Block N7 moves the tool tip .J 00 inches away from the face, at a rapid rate. ]n the remaining two blocks, the tool will rapid to the indexing position with a cancellation of radius offset in N8 and an optional program stop is provided in block N9. Now, think of what happens in blocks N5 and N6. The spindle will rotate at the speed of 278 rlmin at the 05.5. Since the CSS mode is in effect, as the tool tip faces off the part. the diameter is becoming smaller and smaller while the r/min is constantly increasinJr Wirhout the maximum spindle speed limit in block N2, the spindle speed at the center line will be equivalent \0 the maximum rlmin available within M42 gear range. A typical speed may be 3500 rlmin or higher. With the preset maximum spindle speed limit of 1500 rlmin (GSa S 15(0), the spindle will be constantly increasing its speed, but only until it reaches the 1500 preset rlmin, then it will remain at that speed for the rest of cut. At the control, CNC operator can easi Iy change the maximum limit value, to reflect true setup conditions or to optimize the cutting values. Spindle speed is preset (or clamped) to the maximum Y/min setting, by programming the S [unclion together wilh the GSO preparatory command. If the S function is in a block not containing GSa, the control will interpret it as a new spindle speed (eSS or r/min), active from that block on. This error nwy be very costly! N1S GSO XS.S Z2.5 Single meaning N40 GSO Z4.75 S700 Double meaning From lhese examples. G50 command should be easy to understand. There are two, completely independent, mean~ngs?f the G50 command. Either one can be programmed In a StOgIe block, or they can be separated into two individual blocks. ~f the CNC lathe supports G92 instead of G50, keep in mmd that they have exactly the same meaning and purpose. On lathes, the G50 command is more common than the G92 command but programming method is the same. • Part Diameter Calculation in CSS Often, knowing at what diameter the spindle will actually be c1~mped can be a useful information. Such knowledge may mfluence the preset value of spindle speed clamp. To find oul at what diameter the Constant Surface Speed will remain fixed, the formula that finds the r/min at a given diameter must be reversed: D = I@" where ... o = Diameter where CSS stops (in inches) = Multiplying factor - feet to inches ftlmin = Active surface speed 1t = Constant 3.1415927 r/min = Preset maximum spindle speed 12 Use caution when presetting maximum r/min of the spindle! The maximum spindle speed can be clamped in a separate block or in a block that also includes the current tool coordinate setting. In the example 0120 I, block N2 contains both settings. Typically. the combined setting is useful at the beginning of a tool, the separate block selling is useful if the need arises to change the maximum spindle speed in the middle of a tool, for instance, between facing and turning cuts using the same tool. To program the GSa command as a separate block, anywhere in the program, just issue the preparatory command combined with the spindle speed preset value. Such a block will have no effect whatsoever on any active coordinate setting, it represents just another meaning of GSa command. The following examples are all correct applications of G50 command for both, the coordinate setting and/or the maximum spindle speed preset: N12 GSO X20. 0 Z3. 0 SlSOO Double mealling N38 GSO S1250 SillglemeaniJlg 12 x ft I min 11 x r I min o Example - English units: If the preset value in the program is GSO S 1000 and the surface speed is selected as G96 S350. the CSS will be clamped when it reaches the 01.3369 inches: D :: (12 x 350) / (n x 1000). 1.3369015 01. 3369 The formula may be shortened: D == 3.82 x ft I min r I min For completeness, the formulas based on the English system, can be adapted to a metric environment: D ::= 1000 x m I min 1t x r I min 86 12 If these requirements are met, the most important source data is spindle speed actually used during machining. I1iilf' where ... Diameter Muftiplying stops (in - meters to mm Ac:t:ive surface speed = D 1000 = mlmin = = 1t r/min requirements 3.1415927 maximum spindle speed :::: Just optinrum spindle speed is known, the cutting (eSS) can be calculated and used any other tool the English version, you may shorten met- ric formula as well: In a nutshe14 the whole subject can be quickly up by categorizing it as a - that of Constant Suiface Speed, also as the Cuting Speed (CS), when tool or part diameter the spindle are known. there on, it is a simple matter of IV1..111UllQ. ft I min = - Metric the preset value in the program is S1200 and the surface speed is selected as G96 S165, the ess will be damped when it reaches the mm D = :::: :::: are met e EXAMPLE: drill works very speed in ftlmin? (1000 x 165) / (1t x 1200) 43.767609 043.768 nm : at 756 IS (3.14 x 0.625 x 756) / 12 : 123.64 • CSS Calculation The Constant Suiface (CSS) is required most tunung and boring on a CNe lathe. It is also the cutlnng data, from spindle speed is calculated for all machining center operations. Now - consider a very common scenario - the CNe tor has the current conditions, J.U....'! ..."'W.1J:l; the speed., so they are favorable. Can COlllQl1nOIlS be applied to subsequent jobs? they can - ........'VlF' .." that certain Machine -what part setup are equivalent Q tools are equivalent Q Malerial conditions are equivalent Q well at 1850 is m/min = (3.14 x 7 x 1850) / 1000 = 40.66 will be satisfied: Q requirements C EXAMPLE: Other common conditions are satisfied DeD.em ofusing is a significant respent at the CNC machine, usully required to find and 'fine-tune' or part opttI1lli!:aU()D optirmnn spindle speed during FEEDRATE CONTROL Feedrate is the closest programming companion to the spindle function. While spindle function controls spindle speed and the rotation direction. feedrate controls how fast the move, usually to remove exhandbook, the rapid materiaJ (stock). In tioning, sometimes called a rapid motion or rapid traverse motion, is not considered a true feed rate and be described in Chapter 20. Cutting feed rate is the at which the ing tool removes the m"f"YI~1 bV cutting action. The cutting action be a rotary motion of the (drilling and milling. for example), the molion of part (lathe operations), or other action (flame cutting. cutting, water electric etc.). The feedrale function is in the CNC to select the value. suitable for the o o word in the program is the address F, followed of digits. The number of digits following the F depends on the feedrate mode and the machine tool application. Decimal place is allowed. in CNC ......nil'Y"1:Ilm"" For miHing applications, aJl cutting feedrale in linear and interpolation mode is programmed in inches (in/min) or in millimeters per minute (mmiminJ. of the is the a cutting tool travel in one minute. This value is modal and is only by another F address word. main of the feedrale minute is thai it is not dependent on spindle useful in milling operations, usmakes it ing a large variety of tool diameters. Standard abbreviafeedrate minute are: CJ Inches per minute in/min (or older CJ Millimeters per minute mm/min Feedrate per Feedrate per revolution for The most common of machines. CNC machining centers and lathes, can programmed in either feed rate mode. In practice, it is much more common to use the jeedrale per minute on machining centers and the jeedrate revolution on lathes. There is a significant chining centers and lathes. in G codes for ma- most typical format for feedrate minute is F3.1 English system and F4.1 for metric system. For example, of 1 inches per be programmed as 5.5. In metric system, amount of mm/min will in the F250.0. A different programming expected special machine designs. important item to remember feedrate is tbe feedrate values. feedrate range of the control always that of the machine servo system. example, the feedrate range a Fanuc CNC is between .000 I and 24000.0 jn/min or 0.0001 and 240000.0 mm/min. Note that difference tween two umts IS a decimal point not an actual translation. In programming, only feedrates that specified can be used. Such a belong within feed rate wHi smaller than the control range of the FEED RATE Milling Turning Group A Turning Group B Turning Group C Per minute G94 G98 G94 G94 revolution a • feed rate per Minute FEEDRATE CONTROL Two feed rate types are FEEDRATE FUNCTION G99 G95 In milling, the programming command (0 code) for the per minute is For most it is set autype of a time jeed rate. It is handbook. feedrate is the inverse is not discussed in tomatically, by the written in the default and not have to For lathe operations, feed rate per A, the 0 for seldom. In is G98, Groups Band C it is G94. use primarily jeedraJe per revolution mode. 88 • Feedrate per Revolution o For CI CNC lathe work, the feedrate is not measured terms lime, as the distance the tool in one spindle revolution (rotation). ThisJeedrate per revolution is common on lathes (099 for Group A). Its vaJue is modal and another feed rate cancels it (usually the G98). Lathes can be programmed injeedrate per minute (098), to control the feedrate when the spindle is stationary. standard abbreviations are used for JeedraJe per revolution: a Inches per revolution in/rev ~or older ipr) o Millimeters per revolution mrn/rev feedrate per revolution is four decimal places in thc system three decimal places in the metric system. This format means the feed rate of 0.083333 inJrev wili be applied jn the CNC program as FO.0833 on most The metric example of 0.42937 mrnJrev will be programmed as F0,429 on most controls. Many modern control systems accept fecdratc of up to decimal for English units five for metric careful when rounding feedrate values. For boring operation, reasonably feedrates are quite sufficient. Only in' point threading, the feed rate is critical for a proper thread lead, particularly for long or very can programmed with up to decimal places feedrate precision for threading only. The programming for the feedrate per revolution is G99. For most lathes, this is the system default, so it does not have to written in the unless the opposite command G98 is also It is more common to program a feedrate per minUle (098) for a lathe program, than it is to proafeedrate per revolution (095) in a milling program. reason is that on a CNC lathe, command controls example, the feed rate while the spindle is not rotating. a barfeed operation, a part stopper is used to 'push' the to a position in chuck or a collet, or a pull-put to 'pull' the bar OuL Rapid feed would be too and feedrate revolution is not applicable. per minute is instead. In cases G98 099 commands are used in the lathe program as required. Both commands are modal and one cancels the other. FEEDRATE SELECTION To the feed rate, one that is most suitable a given job, some general knowledge of machining is useful. is an important of process and be done A depends on many factors, most notably on: o speed - in rev/min Tool diameter! M J or the tool nose radius [ T J requirements of o Cutting tool geometry o Machining forces part o Setup of the part o Tool overhang (extension) o Length of the cunlng motion o Amount of material removal or width of cut) o Method of milling (climb or conventional) o Number of flutes in the material (for milling cutters) o considerations The last item is safety, a programming responsibility number one, to assure safety the people and equipment. Safe speeds and are only two aspects of safety awareness in CNC programming. ACCELERATION AND DECELERATION During a contouring operation, the direction of the cutis nothing unting motion is changed quite often. usuaJ about it, with all the intersections, points In contouring, it means that in to and gram a sharp comer on a the tool motion aJong X axis in one block will to into a motion along the Y axis in next make the change one X mocutting motion to another, the control must stop tion first, then start Y motion. Since it is impossible to start at a full instantly, without an acceleration, and equally impossible to stop a feedrate WIthout a deceleration, a possible error may occur. error cause corners on the profile to be cut with an undesirable overshoot, particularly during very high TO"'''''''',," or extremely narrow angles. It only occurs during a cutting motion in 001, 003 modes. not the rapid motion mode 000. During the rapid mOlion, the deceleration is automatic - and from the part. In a routine CNC machining, ever encountering such an error, it will likely within two commands is a small chance of if the error is controls provide problem: Exact stops increase For used on older machines, they may be required in some cases. FEE CONTROL • 89 Command of two commands that control the feedrate machining comers is G09 command - Exact This is an unmodal command and has to be repealed in evit is required. ery block. 0] 30 I, there is no provision That may cause uneven cor- 01304 CUTTING) N13 GOO X1S.0 Y12.0 Nl4 G61 GOl X19.0 F90.0 N15 Y16.0 N16 XlS.O Nl7 Y12.0 Nl8 G64 A'""''''.... ' ... A''' of F90.0 (in/min); in re- 01301 (NORMAL CUTTING) ~3 GOO X1S.0 Y12.0 N14 G01 X19.0 F90.0 N15 Y16.0 N16 Xl5.0 N17 Y12.0 By adding the GOg exact will the motion in that motion in the will start. 01302 (G09 I'"'r'l"I""l'TU':!' ~3 GOO X1S.0 Y12.0 N14 G09 G01 X19.0 F90.0 N15 G09 Y16.0 ~6 G09 X1S.0 N17 Yl2.0 Example 01302 11 comer Ilt all three positions of the part. only one corner is for sharpness, program the G09 command in the block that terminates at that corner (program 0 I 01303 (G09 C'U'I'T1NG N13 GOO X1S.0 Y12.0 N14 G01 X19.0 F90.0 N15 G09 Y16. 0 N16 X15.0 Nl7 Y12.0 The G09 command is useful only if a require the deceleration for a sharp corner. all corners must be the constant the G09 is not very efficient. • Exact Stop Mode Command The second command that corrects an error at ners is G61 - Exact SlOP Mode. It is than G09 and functions identically. The that G61 is a modal command that remains in is canceled by the G64 cutting mode ens the programming time. but not the cycle when the G09 would be too too same program, making it point f\ Target point GOg I G61 USED Figure 13-1 Feedrate control around comer Exact Stop commands The overshoot is for clarity • Automatic Corner Override While a cutter radius is in for a milling cutter, the feed rate at the contour points is normally not overridden. In a case like this, command the cutting feedG62 can be used to automatically rate at the corners of a part. This command is active until the G61 command (exact stop the comG64 (cutting mode) mand (tapping mode), or is programmed. • Tapping Mode 90 Chapter 13 • Cutting Mode When the cutting mode G64 is programmed or is active it represents the normal cutting mode. by system When command is active. exact stop check 061 will not be performed, neither will the automatic corner G62 or the mode G63. That means the acceleration and will be done and the feedrate will be effective. is the most common default for the control The CUlling mode can be (exact stop G62 command corner override mode) or G63 command (tapping mode). The G64 is not usualJy programmed, unless one or more of the other feed rate are used in the same To compare the 064 modes, see il in Figure It is important to understand that the effeclive rawill decrease in for all internal arcs crease in size for arcs. Since the rate does not change automatically during cutter radius it must adjusted in program. Usually. offset this adjustment is not necessary, in cases where the surface finish is of great importance or the culler radius is This consideration applies only to motions. not to linear • Circular Motion feedrates feedrates for circular motions is generally linear feedrates. In fact, most programs do not feed rate for circular tool motions. If the part surface finish is important. the 'normal' must be adjusted or lower. with consideration of (he cutter radius, the radius cutting or arc) and the cutting conditions. The cutter radius, cutting feed rate programmed arcs will more reason some correction, same as In case of arc (after applying cutter may be much larger or much smaller than the arc programmed to drawing dimensions. The for compensated arc motions is on the linear motion Look for a more explanation in 29, with an and First, is (he standard calculating a linear feedrate: G62 USED G64 Figure 13·2 Corner override mode 662 and default 654 cutting mode CONSTANT fEEDRATE In Chapter 29, lEi" where ... feedrate (in/min or mm/min) Spindle speed Feedrate per tooth (cutting edge) Number of cutting edges (flutes or inserts) FI == r/min : : : F. n :::; chapter are explanations wining Q constant cutting feed rate inside and outside arcs, [rom practical of view. At this point, the eus is on the understanding the constant "''''''',n''''''''> than its applicaJion. In programming, normal process is to the coordinate values for all the contour paints, based on the part The cutter produces the center line the tool path is typically disregarded. When gramming arcs to the drawing dimensions, rather than to the center line of the cutter, the feed rate applied to the programmed arc relates to the radius, no' the actual cut at the tool center, the cutter radius is and the path arc is offset the cutter radius, the actual arc radius that is cut can be smaller or larger. depending on the offset value for tool motion. outside arcs, the wards. to a higher lEi" where ... F. F~ R = Outside radius of the part = Cutter radius up- FEEDRATE CONTROL 91 \ ...... \ arcs, the wards, to a lower value: is generally adjusted x (R dOW~ r) R Ilii" where ... F, F, R r = Feedrate for arc Linear feedrate Inside radius of the part Cutter radius MAXIMUM fEEDRATE maximum programmable jeedrate for the CNC mais determined by the machine manufacturer, not manufacturer. For although machine may several times to all but there are addiconsiderations for CNC lathes, where revolution is the main method of programtool. • Maximum feed rate Considerations The maximum cutting feedrate per rp.;:tr./"'tpl1 by the programmed spindle maximum rapid traverse rate of It is quite to the feed rate per revolution too high withit. This problem is most common in sin- A cannot deliver heavier than the maximum it was designed for, the results will not be accurate. results could be unacceptable, When unusually heavy and fast spindle are used in the same progF.dffi, it is advisable to the final feedrate does not exceed the maximum the given It can be drare per revolution, according to fEEDHOlD AND OVERRIDE While running a program, programmed be ~emporarily suspended or changed by using one of two avatlable features of system. One is jeedhold switch. the is a jeedrate override Both switches are standard allow the CNC operator to control the feedrate during program operation panel. They are • Feedhofd Switch FeedhoLd is a push button can be toggled between ON and Feedhold It can be modes. rate revolution. On many not only a cutting feed with 00l, 003 in effectprogram funcstop the rapid motion GOO. will remain active during a feedhold state, i"P,'I'II1.f'l11'l machining operations, the feedhold function is automatically disabled and ineffective. This is tapping and threading, G84 and 074 cycles on machining centers threading operathe 032, 092 and • feed rate Override Switch is nonnally by means of a switch. located on the control panel of the 13-3. 'O~ Q,iJ 100 110 '\~",\ \ I '<0 // ~ Figura 13-3 Typical feedrare override switch Jri" where ... r/min = The Rmtlx is Max. allowed feedrate per revolution in/rev of the maximum feedrate, ' '>I •• I''1'''1'l from the X and the Z in revolutions per minute in in/min or mmlmin. depending on the 38 nre details to input units In feedrate limits for threading, This rotary switch has marked settings or indicating the oj programmed jeedrate, A typical range of a override is 0 to 200%, 0 may be no motion at all or the slowes( motion, depending on the machine. 200% doubles all programmed rates. A programmed of 12.0 in/min (FI is the 100% feedrate. If override switch is set to 80%, the actual cutting will 9.6 in/min, If the 110%, the actual will be 13.2 92 Chapter 13 simple logic to metric "'\f<'I''''f'''n programmed feed rate 300 mmlmin, it ....... rrlm/ An 80% override results in 240 mm/min cutting setting is feed rate and a 110% to 330 mm/min cutting tool. a ", feed rate override switch works equally well forfeedrevolution. example, the programmed feedrate .014 in/rev will in actual feedrate of .0126 in/rev with 90% feed rate and .01 in/rev with 130% override. If a feed rate revolution is required, be the setFor example, programmed is FO.0I2, in revolution. A change by one division on the ,,'"" ....... '1... dial will increase or the programmed by a full 10 Therefore, feedrate etc. In will be .0108 at 90%, .0120 at 100%, .0132 at I feedrate is not required, bUl in will not for exama feedrate of .0 I in/rev, because of fIxed 10% crements on the override switch. rates threading Feedrate ",,"'.......... ,,'" tapping and G74 on single point threading G92 and milling tapping mode is used mand G63, both the feedrate the feedhold functions are disabled - through the program .I UI.:lUL/I/::U. offers two override functions for cutting other than tapping or threading They are M48 and M49. These are programmable functions, may not be for all <"""Ip.rn • feed rate Override functions Although the function uses the address F. two miscellaneous functions M can be used in the On the operagram to set the feed rate override ON or lion panel, a switch is provided for feed rate override. If the CNC decides that programmed feedrate has to be or decreased, this switch is very other hand, during machining handy. On the cutting feed rate must be as programmed, "uj.. ......,'np switch to set to I 00% only. not to any are special tapping operations without A good cycles, using GOl and GOO preparatory commands. Lions M48 and are used precisely for such cancel function is OFF, which means feed rate override is active Feed nil t! M49 Feedrate override cancel function is ON. which means feedrate override is inaclive M48 function the CNC nn,"'"",,'nr to use the rate override switch freely; the function will cause to be of the on the control panel. The two functions is tapping or most common usage of threading without a cycle, where the exact programmed feed rate must be maintained. The following examshows the teChnique: mo 8500 M03 (usnro TAP 12 TPI) N14 GOO X5.0 Y4.0 Moe N15 ZO.25 N16 M49 (DISABLE FEEDRATE OVERRIDE) N17 GOl Z-O.62S F41.0 MOS N18 ZO.25 M04 N19 M48 (ENABLE FEEDRATE OVERRI:DE) mo GOO X.• Y•• M05 N21 MOl The tapping occurs between blocks N 16 and N]9 override is disabled for the E ADDRESS IN THREADING Some older rather lathes use feed rate address E for the more common address F. feed rate function E is similar to the F function. It also thread lead per revolution, in in/rev or in mmJrev, hut it ha.." a decimal place accuracy. control system model 6T, for the e English - Fanuc F 0.0001 E :::: O. 000001 e Metric - Fanuc F '" 0.001 E ::0 0.0001 control: /() 10 50.0000 in/rev 50.000000 control: to 500.000 10 500.0000 rrm/rev models, FS-OII 011 J/1S/16T, the On the newest is no E address), the safest way are similar the available specifications is to lookup control system. The E address is redundant on the newer controls and is retained only compatibility with older programs that be used on machines equipped with newer controls. available feedrate ranges between ferenl control systems, depend on type of feed screw input units in the TOOL FUNCTION ly controlled machine using an automatic must have a special tool functlon (f7ifnc£ion) used in the program. This function controls the of the cutting tool, depending on the Iype of machine tool. are noticeable differences between T on CNC machining centers and those used are also differences between si Ihe same machine type. The normal program.,rlri ..",-.- for {he tool function uses the address T. machining centers. the T function the tool number only. For the indexing to (he tool stalion number. T FUNCTION FOR MACHINING CENTERS All vertical and horizontal CNC machining centers called the All/omalic Tool In the program or MDI mode on uses the function T, where the T tool number selected by the programmer. describe the tool number itself. On with a manual tool change. the tool required al all. a programming for a particular center begins, the type of the (001 selection for that machine must be known. Thert~ are twu major Iypes uf luul selCX:lion in automatic tool change o Fixed type o Random memory type TOOL READY POSITION F;gure 14-1 Typical side view of a 20-tool ma(,aZifle as small as len or on special cenler may machines will or oval (larger It consists of a where the tool holder setup. Each pocket is is important to know for each pocket The during and auloor MOL The number of tools that To understand the is to understand the general tool selection, available for many rnn,nJ>'""" centers. • Tool Storage Magazine A typical CNC machining center is designed with a special 100/ a 1001 carousel), [hat contains all gram. This magazine is not a tools, but many used tools there at all limes, If magazine is illustrated in or horizontal) ""... rn"",nH'<" called by the profor the (he commonly typical 20-tool Within the travel of lion, used Cor aligned with the tool waiting position, tion, or just the lool (,1U11HJ'P is one special posi- position is the tool-ready posi- 93 94 • fixed Tool Selection A machining center that uses a fixed tool selection rethe CNC to place all into that match the tool numbers. example. (001 number I (called as TO I in the must be into the magazine pocket number I, lool 7 (cal~ed as T07 in the program) must be placea-~b.e magazme pocket 7, and so 00. magazine pocket is mounted on a side of the from the work area (work With the fixed selection, the control system no way of determining which 1001 number is in which magazine pocket at any The CNC has to match the numbers with the magazine numbers during setup. This of a tool selection is commonly machining centers, or on some found on many older centers. inexpensive )..."""uu~, usually the lool is easy the T function is used in program, that will the tool number selected during a tool change. example, N67 T04 M06 or N67 M06 T04 or N67 T04 N68 M06 means to bring number 4 into the spindle (the las( is preferred). What will to the (001 that is in the spindle at The M06 cha~ge . will cause the tool to return to the magazme pocket It came from, the new tool will be loaded. the tool takes the way to select new tool, Today, this type of a tool selection is considered impracliand in a long run. There is a significant time during tool because the tool has to wait until the lool is found in magazine and placed into the The programmer can somewhat improve the by selecting and tool numnot necessarily in the order Examin this handbook are based on a more modern type of the random memory. tool selection, • Random Memory Tool Selection This is the most common on modern machining centers. It also stores alltool5 required to machine a part in the tool magazine away machining area. CNC identifies by a T usually in order of usage. Calling the required tool number by program will physically move the tool to the Chapter 14 position the too! This can simultaneously, the machine using another to cut a part. Actual tool change can take place anytime later. The is concept of next tool waiting where the T function to the next tool, not the current tool. In the the next tool can made by simple blocks: (MroCE TOOL 4 READY) T04 <... Mac:i111'unf! wiIh previous 1001 ... > M06 T15 (ACTUAL TOOL CHANGE - T04 m SPDmLE) (MAKE NEXT TOOL <... fVU7r""'I1'" with 10014 - 7D4 ... > first block, the 1'04 tool was called into the walting of the tool while previous was CUlling. When machining been completed, actual tool will take place, where T04 will become the active tool. Immediately, system will for the next tool (TIS in the example) and it into the waiting position, while T04 is cutting. In example illustrates that the T function will not any physicallool change at a!1. For that, the ~utomatic ~ool change junction - M06 - also later In secMn, is needed and must be programmed. Do not confuse the meaning of T with the tool selection the same T used with the random tool The former means the actual number of the pocket, the latter means the tool number of next tool. The call is programmed earlier than it is needed. so the sysl~m can for that tool while another tool is productive work. • Registering 1001 Numbers and CNC in "",,..,.rll can process data quickly and with precision. the CNC work, the required input first, to make the computer work in our . In the to random tool selection method. the CNC operator lS any tool into any magazil1e as long as actual setting is into the unit, in the form control is no need to worry too much about system parameters,just acceplthem as the collection various system Registering tool numits own entry screen. operator will the required tools into writes down the numbers (which tool number is in which pocket number), and the information into the system. Such an operation is a normal of machine tool and various shortcuts can used. TOOL FUNCTION • Programming Format 95 Q Example: Programming format for the T function used on milli~g systems depends on the maximum number of lools aVaIl- N81 TOl able for the CNC machine. Most machining centers have N82 M06 number of available tools under 100, although very large machines will have more tool magazines available (even several hundred~. In the ex~m~l~s, two-digit tool function will used, covenng tools wlthm~ range of TO J to T99. In a typical program, the TOI tool command will call the 1001 identified in the setup sheet or a tooling sheet as tool number 1; T02 will call tool number 2, T20 will call tool number 20, elc. Leading zeros for tool number designation may be omitted, if desired - TOI can be written as Tl, T02 as 1'2, etc. Trailing zeros must always be .written, for exampJe, T20 must be written as T20, otherwIse the system WIll assume the leading zero and call the tool number 2 (T2 equals to T02, not T20). • Empty Tool or Dummy Tool Often, an empty spindle, free of any tool, is required. For Ihis purpose, an empty tool station has to be assigned. Such a tool will also have to be identified by a unique number, even if no physical tool is used. If the magazine pocket or the spindle contains no tool, an empty tool number is necessary for maintaining the continuity of (001 changes from one part to another. This nonexistent tool is often called the dummy tool or the empty tool. The number of an empty tool should be selected as higher than the maximum number of tools. For example, if a machining center has 24 tool pockets, the empty 1001 should be identified as TIS or higher. It is a good practice to identify such a tool by the largest number within the T function formal. For example, with a two digit format, the empty tool should be identified as 1'99, with a three digit format as T999. This number is easy to remember and is visible in the program. As a rule, do not identify the empty tool as TOO - alllools not assign.ed may be registered as TOO. There ~re, howeve.r, machine tools that do allow the use of TOO, WIthout POSSlble complications. TOOL CHANGE FUNCTION - MOS The tool function T, as applied to CNC machining centers, will not cause the actual 1001 change - the miscellaneous function M06 must be used in the program to do thaL The purpose of tool change function, i~ to exc.h.ange the tool in the spindle with the tool in the wallmg pOSItIon. The purpose of the T function for milling systems is La. r?tate th.e magazine and place the selected tool into the wall!n~ POSItion, where the actual tool change can lake place. ThIS next tool search happens while the control processes blocks following the T function call. N83 TO 2 = loaded in the wairi.ng posilion ... brings TO) imD the spiJulJe , .. rnakes 7D2 ready = Irxuled in the wailing position ... Innkes T01 ready The three blocks appear to be simple enough, but let's explore them anyway. In block N81, the tool addressed as TOl in the program will be placed to the waiting position. The next block, N82, will activate the actual tool change tool TO I will be placed into the spindle, ready to be used for machining. Immediately following the actual tool change is T02 in block N83. This block will cause the control system to search for the next (001, T02 in the example, to be placed into the waiting position. The search will ~ake place simultaneously with the program data followmg block N83, usually a too! motion to the culling position at the part. There will be no time lost, on the contrary, this method assures that the tool changing times will be always the same (the so called chip-to-chip time). Some programmers prefer to shorten the program somewhat by programming the tool change command together with the next tool search in the same block. This method saves one block of program for each tool: N81 TOl N82 M06 T02 The results will be identical - the choice is personal. Some machine tools wilJ not accept the shortened two-block version and the three-block version must be programmed. If in doubt, always use the three-block version. • Conditions for Tool Change Before calling the M06 tool change function in the program, always create safe conditions. Most machines have a light located on the control panel for visual confirmation thai the tool is at the tool change position. The safe automatic tool change can take place only if these conditions are established: o The machine axes had been zeroed o The spindle must be fully retracted: ( a) In Z axis at machine zero for vertical machines ( b) In Y axis at machine zero for horizontal machines U The X and Y axis positions of the tool must be selected in a clear area o The next tool must be previously selected by a T function Chapter 14 ---- . - - - - - - A program sample illustrates the tool (ween tools in (he middle of tile program illustrated in Figures 10 MAGAZINE SPIN Q Example for illustrations: N51 N52 E T03 ( • •• T02 IN SPJlNDLE) ( • •• TO 3 READY FOR TOOL c:.Hll1NGl~) (MACHINING WITH (RETRACT FROM ",,,,,,,,,,,,,,,\ N75 GOO Zl. 0 N76 G28 Zl.0 MOS N77 MOl (T02 (OPTIONAL (BLANK LINE BETWEEN N78 T03 (T03 CALL REl?E1!,TElDI N79 M06 OUT - T03 IN THE SPJCNDLE) NBO G90 G54 GOO X-lS.S6 Y14.43 9700 M03 T04 "4 t N81 . . N76 represents the end of machinIt will cause tool T02 to move .. zero ATe same optional program stop lows in the block N77. Front view of the machine 14·2 - Blocks N51 to N78 ATC TOOL MAGAZI (MACHINING WITH T03) SPINDLE In the following block N78, the can for this is not necessary, but may come very tool Block N79 is the actual tool in the spindle will be replaced with T03 that rently in the posluon. in block N80. the rapid motion in X and Y axes first motion of T03. with ON. Note at block end. To save lime. the next tool should placed into the waiting position as soon as possible after (he tool 1'''''''''''''' T02 note that when T02 is """'''1.1'''''' N77. il is still in the spindle! There are who not follow If the tool change is right after block (machine zero return) the MOl it will be more difficult for " . . ..,'.. ot,...... to repeat the tool that just finished working, if it n .. (·r\Tm~'" Front view AUTOMATIC TOOL CHANGER - ATC Figure 14-3 ATC example - Block N79 TOOL MAGAZI SPINDLE references to Automatic were made in some examples. on various machines and to \ / method of programming times quite a bit. The machine will automatically index the proper order. Everything Programmer and operator with the type of ATC on all ' Changer (ATe) designs of from one to say, the 10 under program control. thoroughly familiar centers in the shop . • Typical ATC System Front view of machine Figure 14-4 ATC example - Block NBD (new tool waiting == next tool) A typical Automatic Tool system may have a double swing arm, one the .... I""fYI. tool, another for outgoing tool. IL will on Random Mem01)' selection (described which mean:-.; the next 1001 can be moved to a and be ready for a tool TOOL FUNCTION 97 change, while the current tool works. This machine feature always guarantees the same tool change time. The typical lime for the tool changing cycle can be very fast on modern CNC machines, often measured in fractions of a second. The maximum number of tools thaI C(ln be 10(lded into the tool magazine varies greatly, from as few as IOta as many as 400 or more. A small CNC vertical machining center may have typically 10 to 30 tools. Larger machining centers will have a greater tool capacity. Of~toOI Apart changer features, programmer and machine operator should be also aware of other technical considerations that' may influence the \00\ change under program control. They relate to the physical characteristics of cutting tools when mounted in the tool holder: o Maximum tool diameter o Maximum tool length • Maximum Tool length The tool length in relation to the ATC, is the projection of a cUlling tool from the spindle gauge line towards the part. The longer the tool length, the more important it is to pay attention to the Z axis clearance during the 1001 change. Any physical contact of the tool with the machine, the fixture or the part is extremely undesirable. Such a condition could be very dangerous - there is not much that can be done to interrupt the ATC cycle, except pressing the Emergency Switch, which is usually too late. Figure 14-6 illustrates the concept of the tool length. GAUGE LINE o Maximum tool weight TOOL NGTH • Maximum Tool Diameter The maximum tool diameter that can be used without any special considerations is specified by the machine manufacturer. It assumes that a maximum diameter of a certain size may be used in every pocket of the lool magazine. Many machine manufacturers allow for a slightly larger tool diameter to be used, providing the two adjacent magazi ne pockets are empty (Figure 14-5). J ( I, i OVERSIZE TOOL; \ I / / Empty pocket Figure 14-5 The adjacent pockets must be empty for a large tool diameter. For example, a machine description lists the maximum tool diameter with adjacent lools as 4 inches (100 mm). If both adjacent pockets are empty, the maximum tooJ diameter can be increased to 5.9 inches (150 mm), which may be quite a large increase. By using tools with a larger than recommended diameter, there is a decrease in the actual number of tools that can be placed in the tool magazine. Adjacent pockets must be empty for oversize tools! Figure 14·6 The concept of too/length • Maximum Tool Weight Mosl programmers will usually consider the tool diameter and the tool length, when developing a new program. However, some programmers will easily forget to consider the tool overall weight. Weight of the cutling tool does nol generally makes a difference in programming, because the majority of tools are lighter than the maximum recommended weight. Keep in mind that the ATC is largely a mechanical device, and as such has certain load limitations. The weight of the lool is always the combined weight of the cutting tool and the tool holder, including collets, screws, pull studs and similar parts. Do not exceed the recommended tool weight during setup! For example, a given CNC machining center may have the maximum recommended tool weight specified as 22 pounds or about 10 kg. If even a slightly heavier tool is used, for example 24 lb. (l 0.8 Kg), the ATC should not be used at all- use a manual tool change for that tool only. The machine spindle may be able to withstand a slight weight increase but the tool changer may not. Since the word 'slight' is only relative, the best advice in this case is - do not overdo it! If in doubt, always consult the manufacturer's recommendations. Examples in this chapter illustrate how to program such a unusual Lool change, providing lhe tool weight is safe. 98 .......... -.~~- • ATC Cycle an example, the following is to a typical CNC vertical machining center and may a little different for some machines. Always study individual steps of lh~1:C operalion - often, that knowledge will resolve a problem on lool jam during the tool changing. This is a possible time loss that can be Some machines have a step-by-step cycle with a rotary switch, usually localed near the 100\ magazine. In the following example, a tool changer with a double the cutting (001 from arm swing system is used. It will the waiting position and exchange it with the tool currently in the machine ATC is a process that will execute the following orof steps when the tool change function M06 is programmed. All steps are quite typical, bUI not necessarily standard for CNC machining center. so them only as a close example: 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Spindle orients T00\ pot moves down Arm rotates 60 degrees CCW Tool is unclamped lin the magazine and spindle) Arm moves down Arms rotates 180 degrees CW Arm moves up Tool is clamped Arm rotates 60 degrees CW The rack returns Tool pot moves up example is only presented as general information its logic has 10 adapted to each The instruction manual for the machine usually lists relevant dcabout Ihe ATC. Regardless of the machine 1001 used, two conditions are to perform the ATC correctly: always o The spindle must be stopped (with the M05 function) o The tool changing axis must be at the home position (machine position) For CNC vertical machining centers, the tool changing Z axis. for the horizontal machining centers it is the Y axis. The M06 function will also stop the spindle. never count on it. It is strongly recommended to stop the spindle with the MOS function (spindle stop) before the tool cycle is aXIs IS Chapter 14 • MDI Operation A programmer not have to know every related to the automatic tool changer actual operation. It is not a vital knowledge, although it may quite a useful knowledge in many applications. On the other hand, a CNC operator should know each and eVel) step of the inside oul. 1. ..... Incidentally, step of the tool can usually executed through the MDI (Manual Data Input), usfunctions are only for special M functions. !>ervice via the MDl operation and cannot be used in a program. The benefit of this feature is that a \001 changing problem can be traced to its cause and corrected there. Check instructions for each machine to get details about functions. PROGRAMMING THE ATC A number of possibilities exists in relation to the auto-marie tool Some of the important ones are number of tools used. what tool number is to the spindle (if any) at the start of ajob, whether a manual tool elc. change is required, whether an extra large tool is In (he next several examples. some typical options will be examples can be used directly. if the CNC (001 uses exactly the same formal, or they can be adapled to a particular working environment. For the following examples, some conditions must be established that will help to understand the subject of programming a lOoi change much better. To program ATe successfully, that is needed is programming format for three tools - theftrs! tool the tools used in the middle of the program and the last tool used in the program. make the whole concept even easto understand. examples will use only four tool numbers tool number will represent one of the four available programming formats: o TOl tool designation represents the first tool used in the CNC program o T02 '" tool designation represents any tool in the CNC program between the first and the last tool o T03 o T99 tool designation represents the last tool used in the CNC program ... tool designation an empty tool (dummy tool) as an empty tool pocket identification In all examples, the tools will always used, the empty tool only if required. Hopefully, these examples will illustrate the concept of many possible applicalions. Another situation is in situations only one tool is used in CNC program. • Single Tool Work Certain jobs or special operations may only one tool is generally mounted in the spindle during setup and no tool t:alls Uf 1001 changes are required in the program: 1001 to do the job. In this case, TOOL FUNCTION 01401 (FIRST TOOL B . .,,,,,lo,,~c~k~N=u~m~b~er~'"==T=oO=I~W=.a,.,,i.,,t,i.n..•g..... LT 001 in Spindle N1 G20 I ......... N2 G17 G40 G80 N3 G90 G54 GOO X •• Y •• S •• M03 N4 G43 Z •• HOl MOB < ... TO) working ... :> N26 GOO Z •• M09 N27 G2B Z •• MOS N28 GOO X .• Y •• N29 M30 % (TO 1 MACHINING DONE) (TOl TO Z-li0111E (SAFE Xi!' (END OF PRC)GRAM) fill the table, start from the program top and occurrence of the T address and M06 function. All are irrelevant. In the example 01402, the will filled as a practical sample of usage. • Any Tool in Spindle - Not the first is the most common method of nr/"\"'r'lln1,1"Y1, The operator sets aU tools in the magazine, settings but leaves the last tool measured in the "1-"""" . . . most machines, this tool should not the tool. matches this too! changing method within following example is probably the one that the most useful for everyday work. All are comments. lool is in the way of part changing, it remains "I.u ............ permanently for the job. In • Programming Several Tools using several tools is the most typical work. Each tool is loaded into the spindle various ATe processes. From the viewpoint. the various lool changing meththe cutting section of the program, only the start tool (before machining) or the end of the tool (after machining). 01402 (ANY TOOL IN SPINDLE AT START) (**** NOT THE FIRST TOOL ****) N1 G20 N2 G17 G40 GSO Tal N3 M06 As the required tool can be changed automatically, only if the Z axis is at machine zero (for vertical or the Y axis is at machine zero (for horizontal machining tool position in axes is only important to the safety the is no tool contact with the the are formatted programs use machine of last tool, for example: zero return N393 GOO Z •• M09 N394 G28 Z •• MOS N39S G28 x.. Y •• N396 M30 TOOL WORK DONE) TOOL TO Z HOME) TOOL TO XY HOME) (END OF PROGRAM) N4 G90 GS4 GOO X •• Y •• S.. M03 '1'02 ('1'02 READY) (APPROACH WORK) NS G43 Z•• Hal MaS < ... TO} .. > N26 GOO Z •• M09 N27 G28 Z.. MOS N28 GOO X .• Y •• N29 MOl (TOl MAClUNING OONE) (TOl TO Z HOME) (SAFE XY POSITION) (OPTIONAL STOP) N30 T02 (T02 CALL REPEATED) (T02 TO SPINDLE) N3l M06 N32 G90 GOO GS4 X.. Y •• S.. M03 T03 (T03 READY) N33 G43 Z •• H02 MOS ' .......·rfiJu....'..n WORK) < ... T02 working .. . :> % with this practice, but a large volume of (INCH MODE) (GE.'T TO 1 READY) (TO 1 TO SPINDLE) N46 GOO Z •• M09 NS7 G28 Z .• M05 N48 GOO X •• Y •• N49 MOl MACHINING DONE) TO Z HOME) (SAFE XY N50 '1'03 N51 M06 N52 G90 GOO GS4 X •• Y •• • Keeping Track of Tools If the lool is easy to keep a track of where tool is at moment. In later examples, more complex (00\ will (ake place. Keeping a track which tool waiting and which tool is in the spindle can with a 3 column table with block number, 1001 waiting and tool in the spindle. N53 G43 Z .. H03 MOS < ... 7rJ3 working .. . :> N66 GOO Z.. M09 N67 G28 Z •• MaS N68 GOO X •. Y •• N69 % mo (T03~ ('1'03 TO Z XY POSITION) (END OF PRCiGRAM) 100 Chapter 14 The filled-in table below shows the status of tools for the first part only. '?' represents any 1001 number. Block Number Tool Waiting Nl ? ? N2 Tal ? N3 ? TOl N4 T02 TOl in Spindle - A few comments to the 01402 example. Always program MO I optional S!OP before a tool change - it will be easier to repeat the tool, if necessary. Also note beginning of each tool, containing the next tool search. The tool in the block containing (he first motion has already been called compare block N4 with N30 and bluck N32 with N50, The repetition of the (001 search at the start of each tool has lwo reasons. It makes the program easier to read (tool is coming imo the spindle will be known) and it allows a repetition of the tool, regardless of which tool is currently in the spindle. T01 WORKING • First Tool in the Spindle N30 T02 TOI N31 TOl T02 N32 T03 T02 T02 WORKING N50 T03 T02 N51 T02 T03 N52 TOl T03 T03 WORKING When the second part is machined and any other part after that, the tools tracking is simplified and consistent. Compare the next table with the previous one - there are no question marks. The table shows where each tool is. Block Number Tool Waiting Tool in Spindle ~ Nl TOl T03 N2 Tal T03 N3 T03 TOl N4 T02 T01 Program may also start with the first tool in the spindle. This is a common practice for the ATC programming. The fIrst tool in the program must be loaded into the spindle during setup. In the program, the first tool is called to the waiting station (ready position) during the last tool - not the first tool. Then, a tool change will be required in one of the last blocks in the program. The first tool in the program must be firs! for all parts within the job batch. 01403 (FIRST TOOL IN SPINDLE AT START) N1 G20 (INCH MODE) N2 G17 G40 GSa TO::! (GET T02 READY) N3 G90 G54 GOO X .• Y •. S •• M03 N4 G43 Z.. HOI MOB (APPROACH WORK) < ... Wl working ... > N26 GOO Z •• M09 N27 G28 Z.. MOS N2S GOO X •. 'l .. N29 MOl (Tal MACHINING OONE) (Tal TO Z HOME) (SAFE XY POSITION) (OPTIONAL STOP) mo T02 (T02 CALL REPEATED) N31 M06 (T02 TO SPINDLE) N32 G90 G54 GOO X .. Y .• S •• M03 T03(T03 READY) N33 G43 Z.. H02 MaS (APPROACH WORK) TOl WORKING < ... m2 working .. _> N30 T02 TOl N31 TOl T02 N32 T03 T02 T02 WORKING N50 T03 T02 N51 T02 T03 N52 TOI T03 N46 N47 N4S N49 MOl (T02 MACHINING OONE) (T02 TO Z HOME) (SAFE XY POSITION) (OPTIONAL STOP) NSO T03 (TO 3 CALL REJr"EATED ) N51 M06 (T03 TO SPINDLE) NS2 G90 G54 GOO X •• Y.. S •• M03 TOl (TOl READY) N53 G43 Z.. H03 MO] (APPROACH WORK) < .. " m3 working . .. > T03 WORKING Examples shown here use this method as is or slightly modified. For most jobs, there is no need to make a tool change at XY safe position, if the work area is clear of obstacles. Study this method before the others. It wiJl help to see the logic of some more advanced methods a lot easier. GOO Z.. M09 G28 Z •• MaS GOO X •. Y •• N66 GOO Z •. Ma9 N67 G28 Z .. MOS N68 GOO x .. Y •• N69 Ma6 mo IDO % (T03 MACHINING OONE) (T03 TO Z HOME) (SAFE XY POSITION) (TOl TO SPINDLE) (END OF PROGRAM) FUNCTION 101 ",,,u.,,,,,,. Since there is method is not without a a tool in the spindle, it or part changing. in such a way that part setup (spindle "",,.'nIT'" an obstacle dur': is lO program the is no IDol in the spindle condition). • No Tool in the Spindle {NO TOOL IN SPINDLE AT {INCH {GET TOl N2 Gl7 G40 GSO TOl (TOl TO SPJlNDLE) N3 M06 N4 G90 GS4 GOO X •• Y.... Sit.. M03 T02 (T02 DVJ\"",,r\ N5 843 Z.. HOI MOS (APPROACH < ... 10) working, .. > N26 GOO Z •• M09 N27 G2B Z •• M05 N28 GOO X •• Y •• N29 MOl (TOl MAcmNING DONE) (Tal TO Z HOME) (SAFE XY POSITION) STOP) NJO T02 NJl M06 N32 G90 G54 GOO X •• Y •. NJ3 G43 Z •• NO.2 M08 (T02 CALL REPEATED) <. ""7D2 working (T02 TO S •• M03 T03(T03 READY) (APPROACH WORK) > N46 GOO Z •• Mag N47 G28 Z •• MOS N48 GOO X •• Y •• N49 MOl NSO T03 N5l M06 In the next example, dIe tool in the program may 100 heavy or too through the ATe must tool change can be done by gram supports manual tool cl1tmf!e. spindle at the start and end of each machined productive than with the first tool in the eXlr;1 Ihe cycle time. An empty spindle at start used if the programto recover space above mer has a valid reason, the part that would otherwise occupied by recovered space may be for removing the with a crane or a programming from the previous exsituation is not much ample - except that there is an extra tool change at the program. This tool brings the first tool into the spindle, for of each program run. 01404 N1 G20 • first Tool in the Spindle with Manual Change (T02 MACHINING OONE) (T02 TO Z HOME) (SAFE XY POSITION) (OP"l'I(JN.!!,L STOP) (TOl CALL REPEATED) (T03 TO SPJlNDLE) N52 G90 G54 GOO X.. Y •• S .. M03 T99 (T99 READY) \.n.t:",t"J:\,.JJ:'i.....n WORK) N53 G43 Z .. HO) MOS to use MOO program scribing the reason good selection - MOO is a the machine without carefully, to understand how a Follow the next tool change can perfonned when the firsllOoJ is in the 1'02 in example will be changed manually by the CNC 01405 TOOL IN SPINDLE AT START) (INCH MODE) N1 G20 N2 G17 G40 GBO T99 (GET T99 READY) NJ G90 G54 GOO X .• Y •• S .• M03 N4 G43 Z •• HOI MOS (APPROACH WORK) < ... 1D J working . .. > N26 GOO Z •• Ma9 N27 Gl8 Z.. MOS N2e GOO X •• Y •• N29 MOl (TOl MAanNING OONE) (TOI TO Z HOME) (SAFE XY (OPTIONAL STOP) (T99 CALL REI)Rl\,TTi:l)) (T99 TO SPINDLE) NJO T99 N31 M06 N32 TO) READY) NJ3 MOO (STOP AND LOAD T02 MANUALLY) N34 G90 G54 GOO X .• Y.. S .• M03 N3S G43 Z.. HO:;! MOS <, T02 (NO NEXT TOOL) WORK) > (T02 MAan:NING DONE) N46 GOO Z.. M09 TO Z N47 G28 Z •• MOS (SAFE XY POSITION) N48 GOO X •• Y •• (SPINDLE ORIENTATION) N49 MI9 (STOP AND UNLOAD TOl MANOALLY) N50 MOO (TO) CALL REPEATED) N51 TO) (T03 TO SPINDLE) N52 M06 N53 G90 GS4 GOO X .• Y •• S.. M03 TOl (TOI READY) (APPROACH WORK) N54 G43 Z.. H03 MOB < . 103 working, . , > < ... 103 working .. " > N66 GOO Z •• M09 N67 G28 Z •• M05 N6S GOO X •• Y •• N69 M06 mo ICO % (T03 MACHINING OONE) TO Z-HOME) (SAFE XY' POSITION) (T99 TO SPJlNDLE) OF PROGRAM) N66 GOO Z •• M09 N67 G2S Z.. MOS N68 GOO X •• Y •• MACHINING DONE) (T03 TO Z HOME) (SAFE XY POSITION) N69 MOl (OPTIONAL STOP) (TOl TO SPINDLE) NIl M30 % (END OF PR.OGRAM) mo M06 1 Chapter 14 Note the M19 function in block N49. miscellaneous function will orient the spindle to exactly the same were used. position as if the automatic tool changing The CNC operator can then replace the current tool with next tool and still maintain the tool position orientation. This consideration is mostly important for certain boring cycles, where the tool bit cutting has to be positioned away from the machined surface. a boring bar is used. it is to Its cutting tip. • No Tool in the Spindle with Manual Change The following program is a variation on the previous example, except that there is no tool in the spindle when the program starts. (NO TOOL IN SPINDLE AT START) 01406 (INCH MODE) N1. G20 (GET TOl READY) N2 G17 G40 G80 TOl (TOl TO SPINDLE) N3 M06 N4 G90 G54 GOO X. _ Y.. S •• M03 T99 (T99 READY) (APPROACH WORK) N5 G43 Z.o HOl Moa < ... 7rJl (TOl MACHINING DONE) (Tal TO Z (SAFE XY POSITION) (OPTIO:N1\L STOP) (T99 CALL REPEATED) (T99 TO SPINDLE) (T03 READY) N32 T03 (STOP AND LOAD T02 MANUALLY) N33 MOO N34 G90 G54 GOO X •• Y •• S •• M03 (NO NEXT TOOL) N35 G43 Z .• H02 MOB (APPROACH WORK) N30 T99 N3l MU6 < ... 7rJ2 worJdng ... > N46 N47 N48 N49 GOO Z .• M09 G28 Z •• MOS GOO X •• Y •• MJ.9 NSO MOO Sometimes it is necessary to use a little larger tool than the machine specifications allow. In that case, the oversize 1001 must return to same pocket in the tool it came from and two adjacent magazine must empty. Do not use a tool that is too heavy! In [he example 01407, the large tool is 01407 (FIRST TOOL IN SPINDLE AT START) (INar MODE) N1. G20 N2 G17 040 GBO T99 (GET '1'99 RE1IDY) N3 G90 G54 GOO X .• Y •• S •• MU3 N4 G43 Z •. HOl MOB (APPROACH WORK) < ... 7rJJ working . .. > N26 GOO Z •• M09 N27 G28 Z .. MaS N28 GOO X •• Y •• N29 MOl (TOl MACHINING DONE) (TOl TO Z HOME) (SAFE XY POSITION) (OPTIONAL STOP) N30 T99 (T99 CALL REPEATED) TO SPINDLE) N32 T02 ('1'02 READY) N33 M06 (T02 TO SPINDLE) N34 G90 G54 GOO X •• Y.. S •• M03 (NO NEXT TOOL) N3S 043 Z.. H02 M08 (APPROACH WORK) 001 MOG ... > N26 GOO Z •• M09 N27 G28 Z •• M05 N28 GOO X •• Y •• N29 Mal • First Tool in the Spindle and an Oversize Tool (T02 MACHINING DONE) (T02 TO Z HOME) (SAFE XY (SPINDLE ORIENTATION) (STOP AND UNLOAD '1'02 MANUALLY) ('1'03 CALL REPEATED) NSl '1'03 (T03 TO SPINDLE) NS2 M06 N53 G90 GS4 GOO X .. Y •. S •• M03 T99(T99 READY) (APPROACH WORK) N54 G43 Z •• HOJ MOS < ... 7rJ2 working .. . > N46 N47 N48 N49 GOO Z •• MU9 G28 Z •• M05 GOO X •• Y •. Mal ('1'02 MACHINING OONE) (T02 TO Z HOME) (SAFE XY POSITION) (OPTIO:N1\L STOP) N50 MOG (T02 OUT OF SPINDLE TO THE SAME POT) N5l T03 (T03 READY) NS2 M06 (T03 TO SPIND1..E) N53 G90 G54 GOO X •• Y •• S .. M03 Tal ('1'01 READY) N54 G43 Z •• H03 MOB (APPROAOi WORK) < .. . workiJlg .. . > N66 GOO Z •• M09 N67 G2B Z •• MOS N68 GOO X.. Y .• N69 MOl mo M06 N7l lOa % (T03 MACHINING DONE) (T03 TO Z HOME) (SAFE XY POSITION) (OPTIONAL STOP) (TOl TO SPINDLE) (END OF PROGRAM) < ... 7rJ3 working . .. > • No Tool in the Spindle and an Oversize Tool N66 GOO Z •• M09 N67 G28 Z •. MaS N68 GOO X •. Y •• N69 M01 N70 M06 N71 M30 % ('1'03 MACHINING DONE) (T03 TO Z HOME) (SAFE XY POSITION) (OPTIONAL STOP) ('1'99 TO SPINDLE) (END OF PROGRAM) This is another tool change version. It assumes no tool in the spindle at the program start. It also assumes the next 1001 is target" than the maximum recommended diameter, within reason. In this case, the oversize tool must return to exactly the same pocket it came from. It is important that the adjacent pocket.,;; are both empty. TOOL FUNCTION 103 • lathe Tool Station In (he 01408 example, the tool. 01408 (NO TOOL m SPINDLE AT START) (INCH MODE) N1 G20 (GET Tal READY) N2 G17 G40 GSO TOl (1'01 TO SPINDLE) N3 M06 N4 G90 G54 GOO X •• Y •• S •. M03 1'99 (1'99 READY) (APPROACH WORK) NS G43 Z.. Hal MOB A slant bed uses a polygonal turret holding all external and internal cutting tools in special holders. These tool stations are similar to a tool on a madesign 8, 10, 12 or more cutchining center. ting tools - Figure 14-7. < ... TOI wor/dng .. . > N26 GOO Z •• M09 N27 G28 z.. MaS N2e GOO X •. Y •. N29 Mal (TOI MACIaNING DONE) (Tal TO Z HOME) (SAFE XY POSITION) (OPTIONAL STOP) (T99 CALL REPEATED) N30 1'99 (T99 TO SPINDLE) N3l M06 READY) N32 1'02 (T02 TO SPINDLE) N33 M06 N34 G90 GS4 GOO X.. Y.. S.. MO) (NO NEXT TOOL) (APPROACH WORK) N3S G43 Z.. H02 MO 8 Figure 14-7 Typical view of an octagonal lathe turret < ... T02 working.. > N46 GOO N47 G28 N48 GOO X .• Y •. N49 MOl Many MACHINING (T02 TO Z HOME) (SAFE XY POSITION) (OPTIONAL STOP) (1'02 OUT OF SPINDLE TO THE SAME NSO M06 (T03 READY) N51 T03 N52 MOo (1'03 TO SPINDLE) READY) N53 G90 G54 GOO X •• Y.. S •• M03 1'99 (APPROACH WORK) NS4 G43 Z •• HOJ MOS type tools available CNC lathe models start adopting the tool to with many more away from work area. Since all tools are held in a single turret, the one selected cutting will always carry along all other tools into the work area. This may be a design whose has but il is still commonly used in industry. cause a possible between a tool and the maor part, care must be taken not only of the active cutall orher tools mounted in turret, ting tool. but collision for ail < ... T03 working .. . > • Tool rndexing N66 GOO Z .• M09 (TO 3 MACHINING DONE) N67 G2B Z •• MOS (1'03 TO Z HOME) XY POSITION) N68 GOO X .. Y •• N69 MOl (OPTIONAL STOP) NiO M06 Nil M30 % (1'99 TO SPINDLE) {END OF PROGRAM} To program a tool change, or rather to index the cutting tool into the position, the T function must be programmed according to its proper formal. For the CNC lathe. this format calls for the address followed four digits - Figure 14-8. illustrate some of ATe programming methods. The is not difficult once the tool changing mechanics of the machining center are known. Tool number is tool WEAR number T fUNCTION fOR LATH r•••• _ _ __ So rhe tool function was as it applied to the CNC machining centers. CNC lathes use the tool function T, but with a completely different structure. Tool station number is GEOMETRY offset number Figure 14·8 Structure of a 4-digit tool number for eNC lathes 104 Chapter 14 It is important to understand this function well. Think about the four digits as two pairs of ralher than four single digits. Leading zeros within omitted. Each pair has its own meaning: The first pair (the first and the second digits). control the 1001 index station and the geometry offset. display of a typical Fanuc control, there is a two screens, both very in appearance. One is called the Geometry Offset screen, the other is called lhe Wear Offset screen. Figure 14-9 and Figure 14-10 show examples of both screens, with typical (Le., reasonable) sample entries. ~ Example: TOl xx - selects the tool mounted in position one and activates geometry oHset number one The second pair (the third and the fourth digits), control the tool wear offset used with the selected tool. ~ Example. Txx01 - "''''P'''.'' wear offset register number one It is customary, not arbitrary. La the pairs, if ble. For example, tool function TO 10 I will select 1001 station number one, geometry number one and the assotool wear offset number one. This format is easy 10 remember and be used every time, if only one number is assigned to the tool number. Figure 74·9 Example af rhe GEOMETRY offset screen display OFFSET - WEAR If two or more different wear ~l!sets~e used for the same Lool, it is not possible to malch Ihe pairs:In such a case, two or more different wear offset numbers must be grammed the same 1001 Q Example: T0101 for turret station , geometry offset 01 and wear offset 01 Q Example: T0111 for turret station 01, geometry offset 01 and wear offset 11 The first pair is always tool station number and the geometry offset number. The examples assumed that tool wear offset 11 is not by another tool. If tool ! 1 is ~with the offset II, another suitable wear offset number must be selected, for example 2J, and program it as TOI2l. Most controls have 32 or more offset for and another wear olfsets registers. offset can be applied to the CNC by registering value into the TOOL OffSET REGISTERS word offset has been mentioned already several times with two adjectives - with the expression geometry offset and the expression wear offset. What exactly is an offset? What is the difference between one offset and the Olher? figure 14-10 Example of the WEAR offset screen dispfay • Geometry Offset Geometry the same as the turret operator measures and fills-in the gestation number. ometry for all tools used in the program. The from the zero position will the distance from the tool reference point to the part refer14- J 1 shows a typical measurement tool. applied to a common All X values will normally have diameter values and are a typical rear lathe of the slant bed stored as type. The axis values will normally be (positive are but impractical). How to actually measure the geometry offset is a subject of CNC machine lOol operation training, not Figure} 4- 12 shows a lypical measurement of the geometry offset applied to a common internal tool. TOOL FUNCTION 105 tty relating to the geometry off13. It shows geometry offset on the spindle center line (at XO center drills, drills, taps, will always be the same. Tool tip • Wear Offset if-r---' TO 101 ,, Geometry offset X (0) tr(:JnmJ'>f,rvofiset for external (turning) tools program, the same are used as in the finished drawing. For examof 3.0000 is programmed as not reflect any implied dimensional X3.0, X3.00, X3.000 and X3.0000 same result. What is needed to maintain particularly when they are to be done with a worn out tool that is still good to cut a few more parts? The answer is that the propath must be adjusted,fine-tuned, to match the machining conditions. The program itself will not be but a wear offset for the selected tool is difference between the measured size of the part. J4- 14 ill ustrales the principle of the tool wear the tip detail is exaggerated for prnnn<l,"" ! I Geometry offset X (0) II 1/ 14·12 geometry offset for internal (boring) tools I I J 1/ ;- PATH I PROGRAM Figure 14-14 / Programmed tool path and tool path with wear offset Tool tip The wear offset only one purpose - il compensates between the programmed value, for example of the 3.0 the as measured The differential register. This is of the (001 Geometry X (0) figure 14-13 Typical geometry offset for center line (drilling) tools 1 • Wear Offset Adjustment illustrate the concept offset adjustment on a rear lathe, T0404 in the program will be used as an examThe is to achieve an outside diameter of 3.0 inches and tolerance ±.OOOS. starting value the wear offset in the Txx04 will be zero. The relevant section {he program look something like this: N31 MOl The principle of the wear offset adjustment is logical. If the machined diameter IS larger then the drawing dimen(he wear is changed the minus direction, towards the spindle center line, and versa. This principle applies equally to external and internal The only practical difference is an external internal diameter can be recut (see diameter and the lable above). Chapter 34 presents several practical examples using the wear offset creatively, • The Rand T Settings N32 T0400 M42 N33 G96 S450 M03 The last items are N34 GOO G42 X3.0 ZO.! T0404 Moa N35 GOl Z-l.S FO.Ol2 R T columns (Geometry and Wear). The offset screen columns are only useful during The R column is (he radius column. the T column is the (001 tip orientation column (Figure 14- N36 ••• When the machined part is inspected (measured), it can have only one of possible inspection results: i m o o dimension Q Undersize dimension If the part is measured on is no need to inlerfere. The tool setup and program are working correctly. If the is oversize. it can usually be recut for machining an outside diameter. an inside diameTer. the exact oppofinish, will apply. recut may damage the a concern. If (he part is undersize, it bewhich could comes a The aim is to prevent all subsequenl parts from being as well. The following table shows Inspection results all existing possibilities: Measurement External diameter Internal diameter ON size Size OK Size OK OVER size SCRAP UNDER size Recut possible Let's go a little further. Whether the pan will be or...JJJldersized, something has to be done to prevent this from happening again. The action to take is adjusting the wear offset value. Again, the emphasis is (hal this is an example of an outside diameter. The diameter X3,0 in the example may result in 3,004 diameter That means il is 0.004 oversize - on diameter. The operator, who is in charge of the offset adjustments, will change the current 0.0000 value in the X register of the wear 04 to -0,0040. The subsequent cut should result in the part that will be measured within specified tolerances. If the part in the example is undersize, say at 2.9990 inches. the wear offset must adjusted by +,0010 in the X part is a positive direction. The RADIUS Figure 14-15 Arbitrary tool tip orientation numbers used with tool nose radius compensation (G41 or G42 mode) The rule of R T columns is (hat they are only effective in a tool nose radius offset mode. If no G4] or G42 is programmed, values in these columns are irrelevant. If G411G42 command is used, non-zero values for that tool must be set in both columns, R column requires the tool nose radius the cutting loot the T column the tool tip orientation number of the tool. Both are described in Chapter 30, in more detail. most common tool nose radii for turning and boring are: 1/64 of an inch =: .01 or 0,4 mm 1/32 of an inch == .0313 or 0,8 mm 3/64 of an inch == .0469 or 1,2 mm tool lip numbers are arbitrary and indicate the tool orientation number used to calculate the nose tool setting in the turret. of REFERENCE POINTS environment, importance. are three major "'.\\Ilrrm an established mathematical n1o""",",,n that Machine tool + Control system (CNC unit) Workpiece + Drawing + Material environment two. If the relationship (he sources of each ,..n'Jlrrm + Cutting tool maiep!~nOent of the other right away, consider a MACHINE TOOL is made by a company specializing in machine tools, usually not or cutting tools ... this ellvironment is combined with . .. a CONTROL SYSTEM is made by a company specializing in the application of electronics to machine tools. do not normally manufacture machine tools or cutting o PART {workpu~cells a engineering design developed in a company that does not manufacture machine tools, control systems, or cutting and holders. a environments . They have to purposes, these relationships and interactions are based on one common denominator of each en- a reference point. A Relationship Tool The common point here is that all cannot useful without some 'leam they have to interact. work CUTTING TOOLS are a specialty of tooling companies, which mayor may not make cutting tool holders. These companies do not manufacture machine tools or CNC C:\J<::rl>nH: is a fixed or "''''"",,",,,,,.,, arbitrary location machine, on the rool A fixed referis a precise location two or more axes, deduring manufacturing reference are established by the during the progralmrmnlg process. In these three refpoint for each of erence points are needed - one available groups: a Machine reference point .. Machine zero or Home a Part reference point .. Program zero or Part zero a or Command point In a typical language of a shop. these reference have somewhat more meamng. Home posior a machine zero are terms for machine reference point. A program zero, are terms commonly used reference point. And name tool tip or a tool command point are commonly used {he tool reference point. REFERENCE POINT GROUPS The for short. the control CNC machine tool H ......... ""'" ratings, etc. a table or mounted into a or other work holding of numbers to consider. The parr size, its height, diameter, shape, Finally, the third group of numtools. Each CUlling tool its indias features that are with the meet when a customer buys a \hese sources engineering design (part). must CNC machine. A 1001 from one manufacturer, using machined on a manufacturer. tools a control and 1001 from yet another sources are similar to a fourth source. who never played .~"'_ ... _, tet of first is a need to create a harmony. both cases By itself, environment is not very useful. A machine withoultools will not yield any profit; a 1001 that cannot be is not going to benefit manufacused on any turing cannot be machined without tools. .. Tool Tool reference point All have a - they are they are actual values programto work with individually as well as 107 108 Chapter 15 • Reference Point Groups Relationship The key 10 any successful CNC program is (0 make all to work in a coordinated way. This goal can achieved by understanding principles of ence points and how Ihey work. reference point can have two o Fixed reference o Flexible. or floating reference point A point is set by the machine Lurer as part of hardware design cannot be physically by the user. A CNC machine has at fixed point. When it comes to ence points for the part or the cutting tool, programmer of freedom. A reference point (program is a flexible point, actual silion is in programmer's hands. The point for the cutting tool can either or flexible, depending on machine design. MACHINE REFERENCE POINT The machine zero point, often called the machine zero, home or a machine position, is the of machine coordinale location this may between the manufacturers, but most obvious is individual machine types, namely the vertical and horizontal models. In general terms, a CNC machine two, or more axes, depending on the type and model. has a maximum range of travel that is fixed by manufacturer. range is usually for If the CNC erator exceeds the range on an error condition known as over/ravel will occur. Not a serious problem, but one that could be During setup, particularly after the power has been turned on, the position of all axes has to preset to be the same, from day to day, from one part to another. On older this prois done by setting a grid, on machines, by performing a machine zero return command. Fanuc and m~flY control systems prevent automatic operation of a machine tool, unless the machine zero return command been performed at least once - when the power to the has been on. A safety feature. On all CNC machines that use typical coordinate system, end of each the machine zero is located at the For a lypical vertical machining center, at the pan in the plane, is straight down from the tool position (tool tip). Also look into the XZ plane (operator's front of the machine), or into YZ plane (operator's right-side view of the three planes are perpendicular to other and together creale su t:alled work cube or work space - Figure 15-1. Figure 15-1 Machine and axes orientation for a vertical machine The cubical shape shown is useful only for understanding the work area. programming and the majority of work is done with one or two axes at a time. To understand the work area and machine zero point in a at the machine the top (XZ machine (YZ plane). Figures plane) and from Ihe J5-2 J5·3 illustrate both views. MACHINE view 15·2 Top view of a vertical machine as viewed towards the table Spindle /'0 ...." 0 .. 1 Gauge line FRONT view Figure 15-3 front view of a vertical machine as viewed from the front the two views. In top view, the the spindle center line shown in right corfront view. REFERENCE POINTS Also note that in front there is a dashed idenlias the gauge line. This is an imaginary for the proper fit of the holder tapered body and is set by the machine The inside spindle is a taper that tool holder with Any (001 holder in the spindle will In the same position. Z motion illustrated will shortened by the tool projection. subject of tool referencing is later in this 109 This vital reference point will be used in a ....,."IT,.".." the relationship with reference ence point of {he and the drawing dimensions. The part is commonly known as a program zero or a part zero. Because the coordinate point that selected by the represents program zero can anywhere, it is not a fixed point, but ajloQling this point is more details can covprogrammer who part zero. - after all, it is • Return'to Machine Zero In manual mode, the operator physically moves the axes to the machine zero position. The operator IS to register inlo the control if necessary. turn power to the while the are at or very close to the machine zero pomachine Silion. too close will make manual machine zero return more difficult later, power had reA clearance 1.0 inch (25.0 mm) or more each machine zero is usually sufficient. A typical proto physically the machine zero position will follow these 1. 2. 3, 4. 5. 6. 7, Turn power on and control} Select machine zero return mode the first to move (usually Z axis) Repeat for the all axes Check the in-position indicators Check the position screen display display to zero, if necessary • Program Selection ng the program zero, often in the comfort of is that will office, a the efficiency setup and its machining in the shop. Always allenlive (0 all are for and against a zero selection in a zero point may be selected IS not much of an advice, although true in terms. Within practical restrictions the mach.ine operations, only the most advantageous possibilities should be considered. Three such considerations of program zero: should govern [) Accuracy of machining o Convenience of setup and operation o Safety of working conditions Machitli"q Accuracy safety reasons, the selected axis should machining centers and the X In bolh cases, either axis will be moving away work, into the clear area. When the axis has reached machine zero position, a small indicator light on control panel turns on to confirm that axis actually machine zero. The machine is now at its reference position, at the machine zero, or at the machine point, or at homeever term is used in the The indicator light is confirmation for each the machine is ready for use, a good will go one step further. On the posilion display screen, Ule actual position should be set to roreach axis, as a standard practice, ifil is not to zero automatically by control. The butcontrol panel the position screen PART REfERENCE POINT A part for machining is within the machine motion \lmils. Every must mounted in a that IS suitable for required operation and not change position other part of the job run. The fixed location of the very important for consistent results and It is also very important to guarantee thaI of the job lS set the same way as the first is established, part reference can Machining accuracy is paramount all parts must be maexactly to the same specifications. is also important repeatability. All the in the balch must the same and all subsequent jobs must be the same as well. Convenience of Setup Bnd Dperation Operating setup can only be considered once (he machining accuracy is assured. Working desire. An experienced CNC nrl".O'r~imrnl"r think of the has in Defining program zero that difficult to set on the machine or difficult to check is not convenient. It slows down the setup process even Working Safety is always important to whatever we do machine has a and part setup are no different. Program zero lot to do with the We look allhe lypical considerations of program zero severtical centers and lathes ally. Differences in part influence the zero selections as well. 110 • Chapter 15 Program Zero - Machining Centers CNC machining centers allow a variety of methods. Depending on the type of work, some most common setup methods usc vises, chucks, subplates hundreds of special fixtures. In addition. CNC milling systems allow a setup, increasing available options. In to select a program zero, all machine axes must considered. Machining centers with additional axes require zero point each of these axes as well, for the or rotary axes. What are the most common setup methods? Most machining is done clamped on table, in a or a fixture mounted on Ihe table. These basic methods can be adapted to more complex applications. programmer the setup method for any given perhaps in cooperation with machine tor. programmer selects the program zero protion for each program. The process of selecting zero starts with drawing evaluation, but two steps to be first: Step 1. Study how drawing is dimensioned, which dimensions are critical and which are not Step 2. Decide on the method of part setup and holding Program zero almost presents ilselfin the any make sure all critical dimensions and tolerances are from one part to another. dimensions are usually not critical. on a machine table involves simplest the part, some clamps and surfaces. run and ing surfaces must be fixed during measured from. The most typical setup of this kind is on pin Two pins form a single row the third pin is offset away at a right creating a setup corner as two locating surfaces - Figure 15-4. MACHI PART part are both parallello machine axes and perpendicular zero (part is at (he intersection edges. IJvr\<Tr"' ...... two The concepl is common for virtually all setups, actual If a part is mounted in a vise jaws must be parallel to or perpendicular with machine axes the fi;ced location must be established with a stopper or other fixed Since a machine most common work holding device parts, use it as a practical example of how to program zero. Figure 15-5 illustrates a lypical simple engineering drawing, with all the expected dimendescriptions material 3 1210 75 . \ THRU 1.0 r-~ --.... ! 4.0 1020 Figure 15·5 Sample x 0.5 used lor selecting program zero """::,,.... nltJ When selecting a zero, study the The designer's dimensioning style flaws, but it still is the engineering drawing. In the example, dimensioning alJ holes is the lower left corner of the work. the program zero of the part itself? For this example, should be no question about programming the point except at lower left corner the part. the drawing origin and it will become the part origin as well. It also satisfies Step 1 of the program zero selection The 2, dealing is next. A typical setup with work holding device CNC machine vise could be the one iIlust.rated 15-6. N LOCATORS Figure 15·4 Three-pin concept 01 a parr setup (all pins have the same diameter) Since part touches only one point on each pin, the setup is very accurate. Clamping is usually done with top clamps and The left and bottom of the In the setup identified as Version 1, the part has positioned the vise a left pan stopper. The part orientation is the same as drawing. so all drawing will appear in the program using these drawing dimensions. It seems that this is a winning setup - yet, this is actually poor. in the IS any of What is the actual size of The drawing specifies a rectangular stock of 5.00 x 3.50. The~e are open dimen10 or more and be acceptable. sions they can vary REFERENCE POINTS 111 If the choice is between Version J and 2, select Version 2 and make sure all negative signs are programmed correctly. FIXED JAW Is there another method? In most cases there is. The final Version 3 will offer the best of both worlds. Part program will have all dimensions in the first quadrant, as per drawing. Also, the part reference edge wiU be against the fix.ed jaw! What is the solution? Rotate the vise 900 and position the part as shown - Figure 15-8) if possible. o o 0 MOVING JAW y l ~ ~ <: -:I I --x <: -:I (!) 0 LU Figure 15-6 A sample part mounted in a machine vise· Version 1 X u.. Combine any acceptable tolerance with the vise design, where one jaw is a fixed jaw and the other one is a moving jaw, and the problem can be seen easily. The critical Yaxis Z 0 ,'" 0 > 0 0 ::E y i ! reference is against a moving jawl The program zero edge should be the fixed jaw - a jaw that does not move. Many programmers incorrectly use a moving jaw as the reference edge. The benefit of programming in the first quadrant (al! absolute values are positive) is attractive, but can produce inaccurate machining results, unless the blank material is 100% percent identical for all parts (usually not a normal case). VersiOIl 1 setup can be improved significantly by rotating the part 1800 and aligning the part stopper to the opposite side - Figure J5-7. FIXED JAW o --x Figure 15-8 A sample part mounted in a machine vise - Version 3 To select a program zero for the Z axis. the common practice is to select the top face of the finished part. That will make the Z axis positive above the face and negative below the face. Another method is to select the bottom face of the part, where it IS located in the fixture. Special fixtures can also be used for a part setup. In order to hold a complex part. a fixture can be custom made. In many applications of special fixtures, the program zero position may be built into the fixture, away from the part. Selecting a program zero for round parts or paHerns (bolt circles, circular pockets). the most useful program zero is at the center of (he circle - Figure J5-9. 0 o ) nr--9--~ MOVING JAW x:..; I ' (2) ~ ,----- PROGRAM ZERO f I ~ -Q- -.-- ·¢-----~--cB· - y 1 --x figure 15-7 A sample part mounted in a machine vise - Version 2 In Version 2, results are consistent with the drawing. Part orientation by 1800 has introduced another problem - the part is located in the third quadranti All X and Y values will be negative. Drawing dimensions can be used in the program, but as negative. Just don', forget the minus signs. h\! ~_¢_0 0 Figure 15-9 Common program zero for round objects is the center point Chapter 40 describes the G52 command that may solve many problems associated with program zero at the center. 112 Chapter 15 • Program -lathes is setting program zero on the This is not a perfect selection other advantages. The only disadvanthere is no finished face. Many opface to the setup or cut a On zero selection is simple, are only two axes to consider - the vertical X axis and the horizontal Z axis. Because of the lathe design, the X axis program zero is always the spindle center line. On eNC lathes, the program zero for the X axis MUST be on the center rine of the spindle z three popular methods are used: o Chuck o o .. , main face of the chuck , ., locating face of the jaws , ., front of the finished part Stock ,_[tp __l / '. , _. - - - -...1 X J --- What are the zero at the front One is that many dimensions along Z axis can be directly into program, normally with value. A depends on the of cases, the CNC programmer probably the most important, is a a tool motion indicates the work area, a is in the clear area. During program devel· opment It IS to forget a minus sign for the Z cutan error, ifnotcaught in time, will positool away from part, with the tails tack as a possible obstacle. It is a wrong position, but a better one than hilling pari. Examples in this handbook use program zero at thefrontfinishedface, unless otherwise specified. . -- -- --- CHUCK Stock x ~ Stock - - • - < - - - _.' -~ )",,~ ~ referenc~ point is related to the lOol. In milling • JAW --- TOOL REFERENCE POINT X ! operations, the reference point of tool is the intersection of the tool centerline the culting lip (edge). turning and boring, the most common (001 point is an imaginary tool point of the cutting cause most tools have a cutting with a built-in For tools such as drills and other point-to-point tools in milling or lurning. the reference point is Ireme tip the tool, as measured along Z 15-1 J shows some common tool tip points. - - P,ART Common program lero options for 8 eNC lathe· center line is XD a chuck with the On a negaadditional drawing Jawor fixture face presents more face can also be touched with tool all parts. This location may shapes, such as castings, Many lathe pariS During the first operation, material operation must always be added to Z value. is the main reason why CNC programmers away from program in special cases. zero located on jaw or fixture tool reference All toofs are connected. An error on another. The to understand REGISTER COMMANDS reference points CNC programcorrectly. Havharmonized to rPt,"'rPlnrppoints for program zero) and tool (i.e.• tool tip) there has to be some to fit them together. means to associate them must be some means LO 'teU'the control syslem exactly where each tool is physically within the mawork area, before it can oldest method to do all lhis is to register the current of the control system .", .. 'nr.n r,'{"wlt ..p'n a • Position Register Definition A little more verbose defi could be of the position rell~ISli:::r way: Position register location as FROM the program zero, TO ..• the tool current position, measured along the axes Note that the definition does not mention the machine zero at all - instead, it mentions POSITION REGISTER COMMAND The command for the tool position register is 092 for machining centers and lathes: ition register command (used in milling) ilion regisler command in turning) lalhe5: also lise G92 but lathes supplied with and similar controls normally use G50 command instead. In practical applications, both 092 and G50 have identical meaning and the following discussion to both commands In the first part of this the focus will applications using command, lathe using G50 command will explained later. by a much more and called the Work Offsets to U59), described in Chapter 18, and the Tool Length OffseT (G43), described in Chapter 19. However, there are still quite a few older machine tools in shops that do not the ury of the of commands. There are many but still compames developed years running on equipment. In cases, registration command is an standing the skill. This been one some grammers and found a little difficult to stand. In reality, is a very simple command. First, a look at some more detailed definition this command. A typical description only specifIes Position Register Command, which by itself is not very current tool position. is a very important distinction. The current tool position may be at machine zero, it may within travel limits of axes. note the emphasis on from-to By definidistance is unidirectional. between the program direction is always the current tool location. zero, 10 lool never reversed. In a correct sign of each value (positive, negaor zero) is always required. !-'v" .. " " , register is only applicable in the absolute mode programming, while G90 command is jn effect. It has no use in the incremental G91. In programmmg, do begin in toullocation. • Programming Format As the name (he command suggests, data associated with the G92 command will (i. e., stored) into control system memory. The format command is as In all cases, the of each axis specifies zero to the tool reference point (tool tip). Programmer provides all coordinates based on the reference point (program discussed earlier. ditional axis will also have to be registered with the indexing table on example the B axis chining centers. from the 113 114 Chapter 16 • Tool Position Setting MACHINE ZERO only purpose of command is to register the current 1001 posilion imo the control memory - nothing can be seen on the absolute position effect of screen display. AI all the position display some values for each They could zero or any other values. When G92 command is current values of the display will with the values fied with G92. H an axis was not specified with there will no change of display for that At the machine. the has a major responsibility - to match the actual specified in the command. tool seHing with the MACHINING CENTERS APPLICATION In programming for CNC machining centers without the Work Coordinate SysTem feature (also known as Work Offsets), the Register must be for each axis and each lOol. There are two methods: o The tool position is set at machine zero 18-1 Current tool position (only XY axes shown) machine zero Fig ure 16-/ a G92 setup on tool sel at machine zero position. method of starting program at machine zero is useful. There could be an advantage, for example, if a special fixture is permanently attached to the machine A subplate with a grid is a common example. Permanently set one or more vises may also benefit. There are numerous variations on this lype of setup. o The tool position is set away from machine zero Which method is better? We look at both them. • Tool Set at Machine Zero The first method requires that the machine zero position be tool change position for all axes. This is not will necessary and definitely very impractical. Consider il for a moment and think why it is impractical. A program is usually done away from the machine. but the part position on the tabJe must be speci • Tool Set Away from Machine Zero second method eliminates the difficulty of the ous It allows the programmer to sel XY 1001 anywhere within the machine travel limits (considering safety first) and use that position as the lool position for XY axes. there is no for machine zero itself. the CNC operator can setup the part anywhere on the table. in any reasonable position, within limits of the machine axes. Figure 16-2 shows an a set at a live X axis and a positive Y axis. G92 X12.0 Y7.5 ZS.375 Numbers in the example look innocent enough. But conCNC al the machine, trying 10 setup part (without a fixture), to 12.0 inches away from machine zero in the X axis. the same lime, the operator must the same exactly inches away from machine zero Y axis. The same effort has to be done for the Z axis as well. without some speIt is an almosl impossible task, at cial fixtures. It is definitely an extremely unproductive There is no need those numbers. they are strictly X 12.0 could have easily been 12.5. with no benefit All this difficulty is encountered has chosen the machine zero only tool change position (mainly in the X reference poi nt andY IN1TIAL TOOL POSITION MACHINE ZERO Figure 18·2 Current tool position (only XY axes shown) set away (rom machine zero REGISTER 115 In order to place tool into the change position, the operator physically moves the 1001 from the pro· gram zero by amounts in statement. This is a lot easier job and also much more that jng setup to the machine zero. Once the lool change posilion is the program will return to this position a The Z axis automatic tool change position on chining centers musl be programmed at the only automatic tool change really applies 10 XY axes only. tion, the 092 selling will be the same for all [here is a good reason to change it. The only major disadvantage of this method is new tool change position is only system while the power is on. When the power to chine is turned off. the tool change position is lost. nprlpn,~p.n CNC operators solve this problem by finding the actual distance from the machine zero to tool position. register it once for particular then move the tool by that distance for example, at the start of a new day. • Programming Example To illustrate how to use the position a part program for vertical have to be followed: o The cutting tool should be changed first o G92 must be established before any tool motions o Tool must return to the G92 position when all the cutting is completed All three rules are followed in a 01601 N1 G20 N.2 G17 G40 GBO G90 TOl N3 M06 (TOOL 1 TO SPJCNDLE) (SE.'T CURRENT XY) N5 GO 0 XL 0 YO. S S800 M03 (MOVE TO No ZO.l NOS (MOVE TO CLEAR ABOVE) N'7 GOl Z-0.55 F5.0 (FEED TO DEPTH) N8 X).O Y4.0 F7.0 (CUT A SLOT) ~ GOO Z11.0 N09 (RAPID TO Z MACHINE ZERO) N4 G92 X9.7S Y6.S Z11.0 NlO X9. 7 5 Y6. 5 MaS Nll NOl • Position Register in Z Axis a typical vertical machine, the Z axis must be fully re[0 the machine zero, in order to make (he automatic tool change. The position register value is measured from the zero of the Z axis (usually the top of finished to the tool reference lip, while the Z axis is at mazero position. There is no other option. Normally, each tool will have a different Z value of the command, assuming the tool length is different for tool. a rule. the XY settings will not change. for 092 command along shows a typical o 1601 ill ustrates the concept. (PROGRAM NUbmElR) (SET ENGLISH ) (GE.'T TOOL 1 READY) (RAPID TO XY SET POSITION) (OPTIONAL STOP FOR TOOL 1) example to write but more difficult to setDon't worry about unknown program explanations should be at In setting position must always It not maHer the tool is made, at machine zero or away from it - the prosame, of the values will Only one but normally, each Z value as the position register, length. LATHE APPLICATION with Fanuc and similar controls. 050 092 command: the MACHI If 092 is a the command is similar: same definition and program Figure 76-3 machine zero fDr the Z axis 8 different setting) 116 Commands G50 and are identical, except that they belong to two different G groups. Fanuc actually offers three G code for lathe controls. Based on history,typical Japanese made controls use GSO, whereby typical US made controls G92. A cooperative US and Japanese venture known as Fonuc (General Electric and Fonuc) produces controls that are the most common in North American' the G50 command. for lathe applications is very similar to that for the mills. However, due to design of CNC lathes, where all tools are mounted in turret, the projection from the turret holder must possible interference must be mounted inaclive one that is used for tools move cutting. In all are safely out of placed in a tool magazine. Several new designs of lathes are available, where tool on the lathe resembles the milling type. • Tool Setup The most important work relates to the tions to select from, some are .....,..,C"" .. " lathe op- Probably the most to have the tool change to the machine zero position. POSIto move the turret 10, just control panel The position registcr to machine zcro /00 far for have one major disadvantage it most jobs, particularly on larger lathes the Z axis. imagine a tool motion ono inches or more the Z only to index the turret and than (he same 30 inch mobuck to continue the cutting cycle. It is not efficient at is a solution, however. Much more efficient method is to select tool indexing position position as close lO the part as possible. should always be based on the longest tool mounted in the turret (usually internal tools), whether the tool is in the or not. If there is enough clearance the IV"!:;'-"" will also be enough clearance • Three-Tool Setup Groups On a typical slant bed CNC lathe, equipped with a Iygonal turret (6 to 14 stations), all cutting individual stations of the turret. During tool the tool is in the active station. the used for CNC lathe three groups normally do: o Tools lAtn'''''tn on the part center line Q Tools working externally on the part Q Tools working internally on the part for each group is understood well, it to any tool within a group, tools used. • Center line Tools Setup as center line tools are typically standard twist drills, carreamers, and so on. Even an end mill can center line. All tools in this group have a common denominator, whereby the tool tip is always on spindle cenler line, while they cut These must be setup exactly at 900 to the work face (parallel to The position value in the X axis is from the spindle center line to the center line of the tool. For the Z axis, the position value is measured from program Iy, the center line tools will have zero Lo the tool a fairly large that means their GSO value the Z axis wm small, when compared to external tools, which generally do not project too much. Figure 16-4 a using an indexable drill as an for center line tools. TOOL of two position at the X not too distant) and JUS! On a lathe, do not forget to keep in mind layout of all tools in the turret, to prevent a collision with the chuck, or the machine. are other, but less common, methods to the GSO command. a tool 16-4 Typical 550 setting for center line lathe tools COMMANDS REG 117 • External Tools Setup TOOL external machining operations such as diameters, taper cutting, threading, part-off and and approaches zero to register value is tool tip of the this chapter). In case of tools tool, G50 amuunl is usually the insert, for safety reasons, 16-5 illustrates a typical position tool (turning tool shown in example). for AT TOOL CHANGE POSITION Figure 16·6 Typical G50 for internal lathe tools For reasons, no 1001 should extend from a turret into the Z minus zone that is to the left of part front a fairly long travel beyond Z Many lathes zero (about I inches or 25-50 mm). times, this zone can entered to make a safe tool for very tools. (his is a more advanced strict safety COI1Sllaer'an,ons no extended zone for the X axis above (only about .02 inches or in the sure to G5D setting for external farhe tools • Internal Tool Internal tools are core or other inside of a part, in a premachined Typically, we may first a boring bar, but can be used as well for various internal operations. For exand i nlemal threading are comample, an internal mon operations on a setup rules Ihe Z axis apply in the same way for internal tools as for external lools of the same position register setting must Along the X axis, the tip the insert. Figure J6-6 be made to the setup for an internal 1001 shows a typical example). (boring bar shown in 16-4, 16-5 and /6-6) All three iIIuslrations operations (drill - tum a possible order Note that the turret position is for a typical position. not necessarily as identified as a tool That means G50 may be set machine zero of the machine, even at the mawhere within chine zero. concern relating to long tools is {"lp~r~lnt'p area, mcluding chuck those tools where the • Corner Tip Detail Typical turning tool contains an indexable with a strength and surface finish When command is used for a Lool that a built-in, the programmer has to know (and also tell operator), which edge corresponds to, In cases, the choice is simple. value is meaintersection of program zero to the X and Z tool shape and in the will vary. Figure next page shows settings for the a corner radius, most common orientations of a including two grooving tools. • Programming Example The example showing how to use a position register command G50 on a lathe will be very similar to that of a machining center. First, the tool change is made, followed with G50 setting for the tool. When the machining is with (ha( tool, it to return to the same absolute position as specified in the The following simplified example is two the fir.sl 1001 is proor",mnC'lPt1 to cut a the tool is programmed to cut a 2.5 inch diameter: 118 Figure 16-7 Position Chapter 16 setting G50 for common tool tip orientations - the heavy dot indicates XZ coordinates set by GSO X. Z. for the tool above 01602 N1 TOlOO N2 GSO X?4S ZS.5 N3 G96 S400 M03 N4 GOO X2.? ZO TOlOl MOB N5 GOl X-O.01 FO.OO? N6 GOO ZO.l M09 N7 X7.4S ZS.5 TOlOO NB MOl N9 T0200 NlO GSO XB.3 Z4.B Nll G96 S425 M03 Nl2 GOO X2.S ZO.l T0202 MOB Nl3 Z-1.75 FO.OOS N14 GOO X2. 7 H09 N15 X8.3 Z4.B T0200 N16 !rOO % Note blocks N2 and N7 first tool, and N 10 and the second tool. For tool. pairs of are exactly same. What program is the system here is that block N2 only registers the current tool position, but block N7 actuaJly returns that tool to the same posilion it came from. For second tool. block NIO registers the current tool position, block N15 forces the tool to return there. N 15 important blocks to together are the blocks N7 and N 10. Block N7 is the tool change position for the tool. block NIO is the tool register for toot - both tool are at the same physical position the of file turret! The difference in the XZ values reflects the of each tool from the difference in the projection turret station. All that is done G50 command is telling the control where currenr is from program zero always that in mjnd~ POSITION COMPENSATION In this handbook, programming are expressed as than not, these numbers, well before the actual part programming, many are exactly, others are known approximately and there known diare also many that are not known at all mensions are subject to variations Without it will facility available to (he almost impossible to setup precisely and efficiently. Fortunately, modem controls offer many features to both programming and machine an easier, and more precise activity. A coordinate offsets and compensations are typical support in programming for can also be used for a Like screens, and similar controls. there are four preparatory available to program position com- increase in the programmed direction compensation amount It is only one of several The maIn purpose compensation is to correct any difference between machine zero and program zero 1001 positions. In it is in those cases, where the distance between the two reference points is subject to vanations or is not known at all. For example, when working with castings, the zero taken from the cast surface will be subject to change. Using position the need to make constant compensation will program of the fixture setup. mally, the part in a fixture on the table whole setup is this reason, the position compensation is called fixture offset or an offset and a cornlJ(!ns:aoffset. The lion is often and for any practical purposes, (Wo terms are sami!. IJV~"LJ\.)" compensation is that requires mput the CNC maspecifies the number, the operator enters machine, using appropriate setup. • Programming Commands decrease in the 1pro,gn,lmrne( the programmer and machine '- DESCRIPTION limited replacement of the culler is not covered at all for its obsoleswill be on positioning of the t~"."r,"~ the part. D .. An ..."' ..... ,.,,.," .. One of the oldest programming l""".IJlIl ..... U~~;) available in is called a position As the name suggests, using position functions, the actual tool position is compensated to its Iheorelior assumed position, methods available to On modern CNC systems, this method is still compatibility with older programs. Today, this technique is not really needed. It been replaced by the much more flexible Work Offsets (Work Coordin.ate Syslem), in the next chapter handbook. The current chapter'describes some can benefit from ustypical programming ing the old-fashioned method. term is used in the same meaning as the majority of users interpret it. Ppsition compensation pensation amount G47 Double increase in the Iprogr~lmrne( by double the compensation amount G48 Double decrease in the programmed direclio1n by double the compensation amount I definilions are based on stored in the control meaning of all are inverted. None of is and are which they appear. If required in \;;~";Lll\;;,U in any subsequent block, if • Programming Format Each G code (G45 to G48) is with a unique position compensation number, programmed with the adH. The H address points to the memory area storage of the control system. On most Fanuc control systems. the programmed leuercan be D, with exactly the same meaning. Whether the H or D is used in the program, depends on the of a control system parameter. 120 A typical programming format for position compensation function is: G91 GOO G45 X •• H .. or G9l GOO G45 X •• D .. where the appropriate G code (G45 through G48). is followed by the target position and number of the memory storage area (using H or D address). Note that the example uses incremental and rapid mOlion modes and only one axis. Normally, the compensation has to be applied to bolh X and Y axes. However, only a single measured amount can be stored under either H or D number. Since it is most probable that the compensation value will be different for each axis, it must be specified on separate blocks, with two different offset numbers H (or offset numbers D), for example: x .. H31 (illl STORES THE X VALUE) (H32 STORES THE Y VALUE) G91 GOO·G45 X .• D31 G45 Y •• D32 (D31 STORES THE X VALUE) (D32 STORES THE Y VALOE) G91 GOO G45 G45 Y •. H32 or For the record, the H address is also used with another type of compensation, known as the tool length offser (or tool length compensation), described in Chapter 19. The D address is also used with another type of compensation, known as the cutter radius offset (or cutter radius compensation). described in Chapter 30. The applicable preparatory G code will determine how the address H or address D will be interpreted. In the examples. more common address H will be used - Figure 17-J. TABLE 1 '-.... 11111--_ _ H31--- MACHINE ZERO T H32 .\ J"'" PROGRAM ZERO _. _ _ ~ _ J \ PART figure 17- 7 Position compensation - general concept • Incremental Mode The question may arise why the compensated motion [s in the incremental mode, Remember that the main purpose of position compensation is to allow a correction of the distance between machine zero and program zero. The normal use is when starting the tooJ motion from machine zero position. By default, and without any offsets, coordinate settings or active compensations. the machine zero [s the absolute zero, it is the only zero the machine control system 'knows' allhe time, Take the following example of severa! blocks, typically programmed at the beginning of a program with position compensation: N1 G20 N2 G17 GSa Tal N3 M06 N4 G90 GOO G45 XO H31 N5 G45 YO H32 (NO x MOTION) (NO Y MOTION) N6 This example illustrates a motion from machine zero (the current tool position), to program zero, which is the target position, along XY axes, Note the absolute mode setting 090 in block N4. Assume that the control system is set (0 H31 =-12.0000 inches. The control will evaluate the block and interpret it as programmer's intention to go to the absolute zero, specified by G90. It checks the current position, finds it is at the absolute zero already and does nothing. There will be no motion, regardless of the compensation value setting, if the absolute motion is programmed to eIther XO or YO target position. If the G90 is changed to 091, from absolute to incremental mode, there will be a motion along the negative direction of X axis, by the distance of exactly 12 inches and there will be a similar motion along Y axis, in block N5. The conclusion? Use position compensation commands in the incremental mode G9 J only. • Motion length Calculation Let's look a little closer at how the control system interprets a position compensation block. Interpreting the way how the control unit manipulates numbers is important for understanding how a particular offset or compensation works. Earlier definition has stated that a single increase is programmed with G45 command and a single decrease with 046 command. Both G47 and G48 commands are of no consequence at the moment. Since both commands are tied up with a particular axis and with a unique H address, all possible combinations available must be evaluated: o Either an increase or a decrease is programmed (G45 or G46) o Axis target can have a lero value, or a positive value, or a negative value o Compensation amount may have a lero value, or a positive value, or a negative value POSITION COMPENSATION 121 In programming. it is important to set cenain standards and consistently abide by them. example, on vertical machiningcenlers, the compensation is measured/rom mane zero to program zero. means a negative result is a lion from the operator's viewpoint. decision 10 set as It is cruc1al to understand how the control interprets information in a block. In compensation, it evaluin memory called by address H (or ales Ihe value D). If the value is zero. no compensation place. If the value of H is stored as a negative it adds this 10 the the axis position and the is the motion length and direction. example, assume the memory I stores value of -15.0 inches. and machine current location is at zero position and setting on Ihecontrol is also set to zero. Then the will be interpreted as -15.0 + 0 = -15.0000 the Iota I motion of negative \5.0 inches along value of axis target the same formula is a non-zero and 17 l 13 , "j,-- .' --15 ;-'" 17-2 Figure 1 shows for the following example 701, The applies to the X and Y axes exactly (he same way. In written in metric units and has tested on [ I M, the H address would the same way). The compensation values and H99 were set to: the X and Y axes respectively. The modal were not repealed interpreted as 01701 AND G46 TEST} Nl G21 G17 N2 G92 XO YO ZO N3 G90 GOO G45 XO H98 N4 G46 YO H99 NS G28 XO YO -15.0 + 1.5 = -13.5000 However, '-1 H98 H99 = -150.000 G91 GOO G45 Xl.S H31 will r H99 Position compensation applied to different target locations: zero, positive and negative - see 01701 program Pll::l'mn/I'! G91 GOO G45 xo H31 resulting the X axis. 9 next example is 1/01 correct: G91 GOO G4S X-l.5 H31 (ABS (ABS xo TARGET) YO TARGET) the motion will try 10 the X axis direction and result will be overtravel. Since [he value of X is G45 command cannol be used and G46 command must instead: N6 G91 GOO G45 XO H98 N7 G46 YO H99 N8 G28 XO YO (INC' XO TARGET) (INC' YO TARGET) G91 GOO G46 X-l.S H31 N9 G90 GOO G45 X9.0 H98 NlO G46 Y17.0 H99 Nl1 G28 XO YO (ABS X+ (ABS Y+ will be r",'or,,'/] as -15.0 + (-1.5) '" -15.0000 - 1.S G45 TARGET) TARGET) 16.5000 in the ....."" .. ":1',..... value could been value. could be quite confusing and but it would work quite well. To see the possibiliprogram 0 J70! is not dOl ng very much, exCCrl moving from machine zero 10 different positions and back to machine zero (G28 command refers 10 a machine zero return and is explained separately in Chapter 2/ ). N12 G91 GOO G4S X9.0 H98 N13 G46 Y17.0 H99 Nl4 G28 XO YO X+ (INC' Y+ TARGET) NlS G90 GOO G45 X-1S.O 898 Nl6 G46 Y-13.0 H99 N17 G28 XO YO (AES X- Nle G91 GOO G4S X-1S.0 H98 Nl9 G46 Y-13.0 H99 N20 G28 XO YO N21 M30 % (INC' X- TARGET) (INCY-TARGET) TARGET) Y- TARGET) 122 17 control syslem will the way it was (symbol orr means an the and direction of each motion block or the wrong way condition, preceded WiLh method is described in Chapter 19 of the handbook. If the Z axis is programmed with G45 or G46 commands, i( will also be affected. • Using G41 and G48 N3 G90 G90 Gn G9l -> -> -> -> N9 G90 NlO G90 N12 G91 Nl3 G9l -> -> -> -> Nl5 G90 Nl6 G90 N1e G9l Nl9 G91 -> -> -> -> N4 N6 N7 • G45 G46 G45 G46 G45 G46 G4S G46 G4.5 G46 G45 G46 -> -> -> -> 0 0 0 no motion no motion X-2S0.0 Y+ OIT -> -> -> -> + + + + X-241.0 Y+ OjT X-241. 0 Y+ -> -> -> -> 0 X+ Y-163.0 X+ OjT Y-163.0 Position Compensation Along the Z axis Position compensalion usually appl to the X Y axes and will nol normally be used with the In most cases, the Z to be controlled by another of compensation known as the too/length This In the examples, compensation feature was used only between the zero and program zero, as a method exactly is the part on the table. The single mClrea~;e using G45 and the were used, because crease using G46 the only commands npPflP{"I Commands G47 (double increase) and G48 (double de~ crease) are only for a very simplified cutter radius olfsel and are not covered in this handbook of their obsOlescence. However, they can still used. • Face In a later (Chapter 28), milli ng wi II be explained in more detail. In thai chapter is a very good example of how to apply position to offset the face mill in a regardThis is probably the only use of less of its G45 and 046 commands in contemporary programming. WORK OFFSETS In position compensation, to switch machining part to another within the same setup. the n1"I'''',,-';'rn contain a different compensation number zero of the previous part. Using the work program zeros are measured from the machine zero lion, normally up to six. but more are The six work coordinate systems are available on Fanuc control lowing preparatory commands: When the control unit is is normally "'lU~I.n''-'' rl,r;.c{'nhlf'c the most modem methods to coor- relationship between machine zero reference the program zero reference point. We will use Work Coordinate System feature of any modern control whether it is called the Work Coordinate System or the Work Offsets. lalter term seems to be more popular because it is a little shorter. Think of the work offsets as an alignment bctwcen two or more coordinate systems. Basically, the work ent work areas as a the unit are to independvalues input into measured from the maare up to six work zero positions can be relationships, using [X] WORK AREAS AVAILABLE MACHINE ZERO some more detailed descriptions can be covered, just what is a work coordinate system - or a work offset? Work offset is a method that allows the CNC programmer to a part away from the CNC machine, without is a knowing its exact position on the machine table. very SImIlar approach as in the position compensation method, but much more advanced and flexible. In work system, up to six parts may be set up on the machine each having a different work offset number. can move the tool from one part to with aV"Vluc,-, ease. To achieve this goal, a preparatory for the active work offset is needed in control system will do rest. will automatically make any adjustment for between the two part locations. Un1ike the position cmnOlens:aU'OI more axes may be offsets. although the Z controlled independently, offset commands. Commands are fully described in the next AXES MOTION LIMITS Figure 18·1 Basic relationships of the work offset method The same relationships illustrated for the def~ult apply exactly the same way for the other able work offsets 055 to G59. The values siored in the control system are always physically measured from the rnazero position 10 the program zero of the as determined hy lhe CNC programmer. 12 124 Chapter 18 The distance from machine zero to program zero of each work area is measured separately along the X and Y axes and input into the appropriate work offset register of the control unit. Note that the measurement direction is from machine zero to program zero, never the other way around. If the direction is negative, the minus sign must be entered in the offset screen. For comparison with the position register command G92, Figure J 8-2 shows the same part set with t.he older method of G92 {lnd m{lchine zem a<; a ~tart point. Note the opposite arrows designation. indicating (he direction of measurement - from program zero to machine zero. ;---- G92 [ X ) ~ MACHINE ZERO t >- Part position on the machine table is usually unknown during the programming process. The main purpose of work offset is to synchronize the actual position of the part as it relates to the machine zero position. • Additional Work Offsets The standard number of six work coordinate offsets is usually enough for most types of work. However. there are jobs that may require machining with more program reference points, for example, a multi-~irlerl part on a horizonttll machining table. What options do exist, if the job requires ten work coordinate systems, for example? Fanuc offers - as an option - up to 48 additional work offsets, for the total of 54 (6+48). If this option is available on the CNC system, anyone of the 48 work offsets can be accessed by programming a special G code: GS4.1 P.. Selection of additional work offset, where P = I 1048 N 0) o (!) PART l PROGRAM\ ZERO \. AXES MOTION UMITS Figure 18-2 Basic relationships of the Position Register cDmmand G92 For work offsets G54 to G59, a typical entry into the coordinate offset position register will be the X axis as a negative value. the Y axis as a negative value and the Z axis as a zero value, for the majority of vertical machining centers. This is done by the CNC operator at the machine. Figure 18-3 shows an example of a typical control system entry. 01 (GS4) X -12.5543 Y - 7.4462 Z 0.0000 Figure 18·3 Typical data entry for the G54 work coordinate system By using the G54 to G59 settings in the program, the control system selects the stored measured distances and the CUlling tool may be moved to any position within the selected work offset simultaneously in both the X and Y axes, whenever desired. Q G54.1 P.. example: G54.1 Pl G54.1 P2 GS4.1 P3 G54 1 Px.. G54.1 P48 Selection of additional work offset 1 Selection of additional work offset 2 Selection of additional work cffset 3 Selection of additional work offset x.. Selection of additional work offset 48 The utilization of additional work offsets in the program is exactly the same as that of the standard commands: N2 G90 GOO GS4.i Pi XS.S Y3.1 SlOOO M03 Most Fanuc controls will allow omission of the decimal ponion of the G54.1 command. There should be no problem programming: N2 G90 GOO G54 Pl X5.S Y3.1 S1000 M03 The presence of PI to P48 function within a block will select an w.1Ji/ional work offset. If tbe PI to P48 parameter is missing, the default work offset command G54 will be selected by the control system. WORK OffSET DEfAULT AND STARTUP If no work offset is specified in the program and the control system supports work offsets. the control will automatically select G54 - that is the normal default selection. In programming, it is always a good practice to program the work offset command and other default functions. even if the default G54 is used constantly from one program to another. The machine operator will have a better feel for the CNC program. Keep in mind that the control still has to have accurate work coordinates stored in the G54 register. WORK OFFSETS 125 In the program, the work offset may be established in two ways - either as a separate block, with no additional information, as in this example: N1 G54 The work offset can also be programmed as part of a startup block, usually at the head of program or at the beginning of each tool: N1 G17 G40 GBO G54 The most common application is to program the appropriate work offset G code in the same block as the first cutting tool motion: N40 GOO G90 G54 X5.5 Y3.1 SlSOO M03 Figure J8-4 illustrates this concept. In (he above block N40, the absolute position of the tool has been established as XS.5Y3.1, within the GS4 work offset. What will actually happen when this block is processed? .all x = -12.5543 + 5.5 = -7.0543 Y = -7.4462 + 3.1 = -4.3462 These calculations are absolutely unnecessary in everyday programming - they are only useful to the thorough understanding of how the control unit interprets given data. The whole calculation is so consistent, il can be assigned into a simple fonnula. For simplicity, the seuings of the EXT (external or common) offset are not included in the formula. but are explained separately. later in the chapter: II3f' where ... A == Actual motion length (distance-to-go displayed) M = Measured distance from machine zero P == Programmed absolute target position (axis value) Be very careful when adding a negative value - mathematically, the double signs are handled according to the standard rules: G54 [X]--' PLUS and PLUS becomes a + (+ b) == a + b PLUS PLUS and MINUS becomes 0--r I a + (- b) = a - b MINUS 3. 1 WoJ+------'-----I _t 1-- -5.5 --1 Figure 18-4 Direct too/ motion to a given location using G54 work Dffset Note thaI there are no X or Y values associated with the G54 command in the illustration. There is no need for them. The CNC operator places the part in any suitable 10calion on the machine table, squares it up, finds how far is the program zero away from machine zero and enters these values into the control register, under the G54 heading. The entry could be either manual or automatic. Assume for a moment, that after setup, the measured distances from machine zero to program zero were X-12.5543 and Y-7 .4462. The computer will determine (he actual motion by a simple calculation - it will always add the programmed target value X to the measured value X, and the programmed target value Y to the measured value Y. The actual tool motion in'the block N40 will be: MINUS and PLUS becomes b) == a - b a - (-I- a - (- b) MINUS MINUS and MINUS becomes ::: a -I- b PLUS In the example, plus and minus combination creates a negative calculation: -10 + (-12) = -10 - 12 = -22 If any other work offset is programmed, it will be automatically replaced by the new one, before the actual tool motion takes place. • Work Offset Change A single CNC program may use one, two, or all work offsets available. In all mulli-offset cases, the work offset setting stores the distance/rom the machine zero to the program zero 0/ the each part in the setup. 126 Chapter 18 For example, if there are three parts mounted on the table, each individual part will have its own program zero posilion associated with one work offset G code. r--,... G56 X G55X G54X - I i Figure 18-5 Using multiple work offsets in one setup and one program. Three parts shown in the example, Compare all possibJe motions in Figure 18-5: G90 GOO G54 xO YO ... will rapid from the current tool position, to the program zero position of theftrst part. G90 GOO GSS XO YO ... will rapid from the current tool position. to the program zero position of the second part. G90 GOO GS6 XO YO ... will rapid from the current tool position, to the program zero position of the third part. Of course, the target position does not have to be part zero (program zero) as shown in the exampJe - nOr1liaJly, the tool will be moved to the first cutting position right away, to save the cycle time. The following program exampJe will illustrate that concept. In the example, a single hole will be spot drilled on each of the three parts to the calculated depth of Z-0.14 (program 01801). Study the simplicity of transition from one work offset to another - there are no cancellations - just a new G code, new work offset. The control will do the rest OlSOl Nl G20 Nt G56 XS.5 Y3.1 NB GBO ZI.0 M09 N9 G9I G54 G2a ZO MOS NlO MOl (SWITCH TO GS6) (SWITCH TO GS4) Blocks N3 through N5 relate to the tirst part, within the G54 work offset. The block N6 will spot drill the hole of the second part of the same setup, within the G55 work offset and the block N7 will spot drill the hole of the third part of the same setup, within the G56 work offset. Note the return to the G54 work offset in block N9. Return to the default coordinate system is not required - it is only a suggested good practice when the tool operation is completed, The work offset selection is modal - take care of the transitions between tools from one work offset to another. Bringing back the default offset G54 may always be helpful at the end of each tool. If all these blocks are in the same program, the control unit will automatically determine the difference between the current too! position and the same tool position within the next work offset. This is the greatest advantage of using work offsets - an advantage over the position compensation and the position register alternatives. All mounted parts may be identical or different from each other, as long as (hey are in the same positions for the whole setup. • Z Axis Application So far, there was a conspicuous absence of the Z axis from aU discussions relating to the work offset. That was no accident - it was intentional. Although any selected work offset can apply to the Z axis as well, and with exactly the same logic as for X and Y axes, there is a better way of controlling the Z axis, The method used for Z axis is in the form of G43 and GM commands that relate speci fically to the too/length compensation, more commonly known as the tool length offset. This important subject is discussed separately in the next chapler. In the majority of programming applications, the work offset is used only within the Xy plane. This is a typicaJ control system selling and may be represented by the following setup example of the stored values within the control register: (G54) X-S.76l Y-7.819 ZO (GSS) X-1S.387 Y-14.122 zo (GS6) X-22.733 Y-8.3S2 zo (GS7) The ZO offset entry is very important in the examples and in the machine control. The specified ZO means that the coordinate setting for the Z amount (representing the height of the part) does not change from one part to another, even if the XY setting does. N2 G17 G40 GSO N3 G90 GS4 GOO XS.5 Y3.1 S1000 M03 (G54 USED) N4 G43 ZO.l HOl ~8 NS G99 GB2 RO.l Z-O.14 P100 FB.O N6 G55 X5. 5 Y3. 1 (SWITCH TO GSS) The only time there is a need to consider Z axis within the work offset setting is in those cases, where the height of each part in the setup is different. So far, only the X Y posi~ tions were considered, as they had been the ones changing. WORK OFFSETS 127 If the 2 amouot changes as well, that change must be con~_ sidered by modifying the coordinate register selling of the control. This is the responsibility of the CNC operator, but the programmer can learn an important lesson as well. ~:!'~-:-Dr;c ,...----, - r , G56 " _ _ M. -- G54 ........ .. ................. "" HORIZONTAL MACHINE APPLICATION Machining several parts in a single setup is done quite frequently on CNC vertical machining centers. The multiple work offset concept is especially useful for CNC horizontal machi ning centers or boring mills, where many part faces may have to be machined during a single setup. Machining two, three, four, or more faces of the part on a CNC horizontal machining center is a typical everyday work in many companies. For this purpose, the work offset selection is a welcome tool. For example, the program zero at the pivot point of the indexing table can be set for the X and Y axes. Program selling of the Z axis may be in the same position (the pivot point of the indexing table) or it can be on the face of each indexed position - either choice is acceptable. The work offset handles this application very nicely, up to six faces with a standard range of the G codes. . . . . ., TABLE Figure 18-6 Setting of work offsets {Dr a variable part height Figure 18-6 shows some typicaJ and common possibilities used for special parts that have a variable height within the same tool setup. The difference between part heights has to be always known, either from the part drawing specifications or from actual measurements at the machine. If the previous multi-offset example for XY setting are also adapted for the Z axis, the work offset can be set up for parts within the same setup, but with variable heights. This variable height is controlled by the Z axis. The result of the setting will reflect the difference in height between the measured Z axis surfacc for one part and thc mcasured 2 axis surface for the other parts. Based on the data in the previous example, combined with the 2 values shown in Figure 18-6, the control system settings may look like this: (054) X-S.761 Y-7.819 ZO (GSS) X-lS.387 Y-14.122 Z-O.40S (056) X-22.733 Y-S.3S2 ZO.356 The important thing to know about the control of the Z axis within the selected work offset is that It works in very close conjunction with the tool length offset, discussed in the next chapler (Chapter 19). Stored amount of the Z axis setting within a work offset will be applied to the actual tool motion and used to adjust this malian, according (0 the setting of the tool length offset. An example may help. For instance, if the tool length offset of a particular cutting tool is measured as 2-10.0, the actual motion of such a tool to the program zero along Z axis will be -10.0 Inches within the 054 work offset, -10.408 within the G55 work offset. and -9.644 within the 056 offset - all using the examples in the previous illustration, shown in Figure J8-6. There is no significant difference in the programming approach - the switch from one work offset to another is programmed exactly the same way as for the vertical machining applications. The only change is that the 2 axis will be retracted (0 a clear position and the table indexing will usually be programmed between the work offset change. Figure 18-71l1ustrates a typical setting for four faces of a part, where 20 is at the top of each part face. There could be as many faces as there are table indexing positions. In either case, Ihe programming approach would be similar if 20 were at the center of indexing table, which is also quite a common setup application. See Chapter 46 for more details relating to horizontal machining. 8180 ~~8~,g -...j i 0, - I t:O A 1""._ _-""-,""""--,-""-,"""""" 80 Figure 18-7 Example of work offsets applied fo a horizontal machining center 128 Chapter 18 EXTERNAL WORK OFFSETS A careful look at a typical work screen display reveals one offset that is identified by one of the following work offsets, as well as any additional will be by the values set in the external offset, based on the setting . all programmable coordinate systems will name for special offset is Work or more often, the External Work Offset. o 00 o 00 LATHE APPLICATIONS (EXT) (COM) The two zeros - 00 that this work offset is not one of the standard six G54-G59. offsets are identified by numbers 0 I 06. The designation also implies that this is nol a programmable at least not by using the CNC program~ing . Fanuc Macro B option allow programming thIS The abbreviation EXT means External, the abbreviation COM means Common. machine will have one or the other but not both. a maHer of curiosity, the COM designation is found on older UJ!'!'''I"I-'r\v the EXT designation is more recent. The With computer market, COM abbreviation become facto standard abbreviation for the word communications. Fanuc also supseveral communication methods, including the conwith a personal computer, some time ago, COM designation has replaced with the designation EXT, to prevent possible confusion between the two viations in computing. to the same and has the Either ahhreviation same purpose. On screen this special is usually located before or above for G54. example, as illustrated in Figure 18-8: Originally, work coordinate ~ystem was designed f~r CNC machining centers only. It did not take to apply It to CNC lathes as well. The operation, logically and physiis identical to that for machining centers. work offsets CNC lathes eliminates awkward use or (;92 and makes the lathe setup operation much and • Types of Offsets main difference in applying work offsets on a is that seldom will there a need for more than one offset. work offsets are a possibility, three or more are used for some special and complex G54 to commands are available on all modern lathes customary to ignore the work in program, more !han one offset is means the CNC lathe programmer on the G54 setting as a rule. Two special offset features found on the control Wear offsets, on the systems nre (he Geometry same screen dispJay, or on screens, depending on the control model. • Geometry Offset 01 (G54) 00 (EXT) X Y t:){tlll/ul/:: 0.0000 0.0000 0.0000 of an X -12.5543 Y 7.4462 Z 0.0000 feXl'emi~IJ work offset display (EXT ::::: COM) difference between an or common is that it is not programmable with any particuwork G code. ly set to zero for all axes. Any nOll-zero work offset in a very important way: Geomerry is the equivalent of a known from milling controls. It rpl"lf"PCf'ntc tool reference poinllo program zero, measured from the zero along a selected Typically, on a bed CNC lathes, with the tool turret above the spindle centerline, the geometry offset both X and Z axes will be negative. Figure /8-9 illustrates reasonable geometry values for a drill, turning tool and bar (TO I , T03). GEOMETRY OFFSET _. _TIP' _ ...1 No.. X 01 . 02' -8.6470 -9,0720 04 0.0000 05 0.0000 0.0000 0.0469 0.0313 0,0000 0.0000 18·9 Typical data emries for a lathe tool GEOMETRY offset 0 3 2 0 a WORK OFFSETS 129 • Wear Offset TOOL SETUP The wear offset is also known and used on milling controls, but only for the tool length offset and the cutter radius offset, not for the work coordinate system (work offset). On the CNC lathes, the purpose of the wear ofrsel is identical to that for machining centers. This offset compensates for the tool wear and is also used to make fine adjustments to the geometry offsets. As a rule, once the geometry offset for a given tool is set, lhat setting should be Jeft unchanged. Any adjuslments and fine lunillg of actual pan dimensions should be done by the wear offset only. WEAR OFFSET No.j X OFFSET. Z OFFSET 01 02 03 04 05 0.0000 -0.0060 0.0000 0.0000 0.0000 0.0000 0.0000 0.0040 0.0000 0.0000 RADIUS TIP _M··t 0.0000 0.0469 0.0313 0.0000 0.0000 0 3 2 0 0 Figure 18- 70 Typical data entries for a lathe tool WEAR offset Figure J8-10 shows some reasonable sample entries in the wear offset registers. The tool radius and tip number seHings appear in both displays and the display in both screens is automalic after the oifset value input. The tool nose radius and the tool tip orientation number are unique to CNC lathe controls. • Tool and Offset Numbers Just like tools on CNC machining centers have numbers, they have numbers on CNC lathes as well. Usually, only one coordinate offset is used, but different tool numbers. Remember, the tool number for a lathe has four digits, for example, 1'0404: o o The first two digits select the tool indexing station (turret station) and the geometry offset number. There is no choice here. Tool in station 4, for example, will also use geometry offset number 4. The second two digits are for the wear offset register number only. They do not have to be the same as the tool number, but it makes sense to match the numbers, if possible. Depending on the control model and the display screen size. the tool offset register may have a separate screen display (page) for (he geometry and wear offsets, or both offset types may be shown on the same screen display. The work offset values (work coordinates) are always placed in the Geometry offset column. In the next three illustrations is a very similar layout as that shown in Chapter 16, describing the use of GSO register method (position register command used in the program). Compare the TWO illustrations! The setup of the CNC lathe is identical in both cases, except for the method and purpose of the posicion measuring. All illustrations in the applications also match the reasonable data entered In the too! geometry and the tool wear offset screens of the control. Typical values along the X axis are always negative (as shown in illustrations), lypical values along the Z axis are usually negative. A positive value is also possible, but thaI means the tool is above work and tool changing can be very dangerous. Watch OUf for such situations'! The actual selling procedures are subject of a CNC machine operation training and not practical to cover in a programming handbook. There are additional methods, also part of machine training, that allow faster tool setting, using one tool as a master and setting all the remaining tools relative to the mas/er tool. • Center line Tools Tools that work on the spindle center line are tools that have their tool tip located on the center line during machining. This area covers all center drills, spot drills, various drills, reamers, laps, even end mills used for flat bottom holes. At the same time, it disqualifies all boring bars, since their tool tip does not normally lie on the spindle center line during machining. Center line tools are always measured from the center tine of the tool to the center I ine of the spindle along the X axis and from the tool tip to the program zero along the Z axis. Figure 18-11 illustrates a typical setting for center line tools. TURRET AT TOOL CHANGE POSITION T01 GEOM (Z) ~ o ~ ~ o LU (!) - ,, --- - --<; Figure 18-1 7 Typical geometry offset setting for CENTER liNE tools 130 Chapter 18 • Turning Tools • Boring Tools Turning tools - or program zero, imaginary tool tip to a negative diameter) and along the Z ative as well. Keep in if the culling tool sen (for turning or boring) is changed from one radius to another radius in the same Lool holder, the setup change marginal, change is enough to cause a scrap, so a good care is For turning, be extra careful for a tool nose thaLchanges from a larger to a smaller for example, from 3/64 (RO.0469) to lJ32 (RO.03l TURRET AT CHANGE POSITION Figure 18·12 geometry offset setting for EXTERNAL tools Boring tools - or tools - are measured the imaginary tip to program zero, along the X axis (typically as a diameter) along the Z axis, typically as a value as well. In majority of cases. the X value of a boring tool will that for a turning or other boring operations, same as for turning operations, also be extra for a lool nose that changes from a larger to a smaller It is (he same as a turning 1001. The scrap can be made very easily. • Command Point and Tool Work Offset various reasons, it is quite common to ting insert in the of work. primarily to favorable CULLing conditions and to keep dimensional tolerances within drawing specifications. Cutting inserts are (0 very high but a certain anee devialion should be expected between inserts obtained from different sources. If changing an it is to adjust the wear for precision work. in order to prevem the part. Tool inserlS of same shape and but with a different nose radius. Always cautious when rean insert with an that has a tool nose radius. to be by the proper amount. -1~- 0.0016 ··0.0016 Figure 18-12 a typical geometry for a turning (external) tool and Figure 18-13 illustrates a typical geometry setting a boring (internal) tool. RO.0156 RO.0313 TOOL b I GEOM (2) 0.0136 0.01 J Figure 18·14 Setting error caused by a different insert radius in the same holder example in Figure for a 1/32 ( .0313) nose radius (middle). and the error for a radius that is (left) and one that is larger (right). The dimensions the amount in the example. ular Figure 18·13 Typica/g8ometry offset setting for INTERNAL tools for the partic- TOOL LENGTH OFFSET far. we have looked at two methods of compensation for the actual position of the cutting tool in relation to the machine reference point. One method was the type, position compensation, the other was the contemporary work coordinate system method (work offset). In both cases, the emphasis was only on the X and Y axes, not on the Z axis. Although the Z axis could have been included with method, would not have been very practical. main reason is the nature of CNC work. decides on setup of a part in the fixture appropriate location of XYZ program z.ero (part reference point or part zero). When usIng work offsets, XY axes are always measured from the machine reference point to the zero position. By a The strict definition, the same rule applies (0 the Z is that the measured values will remajor main unchanged for all tools, whether there is one tool used or one hundred tools. That is not the case with the Z The reason? tool has a different length. GENERAL PRINCIPLES The length of cutting tool has to be accounted for in every program for a CNC machinIng center. Since (he earliest applications of numerical control, various tech~ niques of programming tool length have They belong into one of two basic groups: o Actual tool length is known a Actual tool length is unknown out, the rest is hidden in the holder. tool holder is mounted in by means of a standardized tooling Tool designations. such as the common sizes HSK63, HSKlOO, BT40 and are examples of established European Any tool within its category will fit any machine tool designed for that category. This isjust one more precision feature built inlo the CNC machine. length of a tool for the purposes CNC programming must always be associated wilh the tool holder and in relation to machine design. For that purpose, manufacturers build a precision reference position into the spindle, called the gauge line. • Gauge Une When the 1001 holder with the cutting lool is mounted in the spindle of a CNC machine, own taper is mounted against an opposite taper in the spindle and held in tightly by a pullbar. The precision manufacturing allows for a constant location of the tool holder (any tool holder) in spindle. position is used for reference and is comthe name it is an called the gauge line. line for Figure 19-1. GAUGE LINE AT MACHINE « I.L t Needless to say, each group requires its own unique programming technique. To understand concept of tool length in CNC programming, it is important to understand length. This length is meaning of the phrase actual known as the physical tool length or just tool length and has a very specific meaning in CNC programming and setup. • Actual T001 length tool By holding a typical physical length with a measuring drill, we can device. In human terms, a six inch long drill has a length of to the other. In CNC inches, measured from one programming that is still true, but not quite as relevant. A of her cutting 1001 - is normally mounted in a drill - or tool holder and only a portion of the actual tool projects w () W . SPINDLE MOTION .J co « I-;I Fjgure 19-1 Typical front view CNC vertical machining center We use the gauge line for accurate measuring of lOa! length and tool mali on along the Z axis. Gauge is by machine manufacturer is closely related to another precision face, called the machine rabIe, actually, the table top face. The gauge Ii ne is one of a that is with another plane table 131. 132 Chapter 19 • labia lop Face is also a convenient block to add coolant function Every machining center a built-in machine taon which the fixture and part are mounted. Top of the table is precision to flatness and for located In addition, the table is located a certain fixed distance from the gauge line. like the position of tool holder in the spindle cannot be changed, the position of table for a removable table using a palette system) cannot be of the table creates another line and parallel reference plane that is related to the to il as well. This arrangement allows to accurately program a tool motion along the Z The tool length offset (compensation) can be defined: in CNC The most significant benefit of tool length programmer to design a programming is that it enables complete program. using as many tools as necessary. without actually knowing the actual length of any TOOL lENGTH OFFSET COMMANDS Fanuc systems and several other machine controls offer three commands relating to the tool length offset - all are G commands: All three commands are only applicable to the Z Unlike the work offset commands G54-G59, G43 or G44 cannot without a further specification. They can only be used wilh an offset number designated by the dress The address H mUSI be followed by up 10 three digits, on the number of offsets available within the G43 G44 offset G49 HOD offset cancel H.. Tool length offset number selection MOS for the current tool: N66 043 Zl.O H04 MUS The resulting motion in the example will be to 1.0 inch above part zero. The control system will calculate the distance to go, based on the value of H offset stored by the operator during setup. /9-2 shows a Lypical screen for the tool length TOOL OFFSET (LENGTH) No. GEOMETRY WEAR 001 002 003 004 005 006 -6.7430 8970 -7.4700 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 Figure 79·2 Typical too/length offset entry screen set entry. Note that the actual display will vary from one and the wear offset may not be control to on some controls. The wear offset (if available) is only used adjustments to tMllength as a separate screen entry. 044 command is hardly ever used in a program - in fact. it has the dubious distinction of being the least used commands of all Fanuc G codes. Its comparison with G43 is described later in this chapter. Many CNC programmers and operators may not reaJize that the Z axis setting in a work offset (054-G59) is vel)' important for the tool offset. The reason why will be clear in the coming descriptions of different methods of 1001 length setting. programming manuals suggest the or G46 commands can also used for tool length offset. Although this is still (rue Loday and may have had some in the early days, il is best to avoid them. First, the position commands are not used very much anymore and, second. they can be used with the X and Y axes and do not truly represent the Z axis • Distance-lo-Go in Z Axis Tool length offset should always programmed in the absolute mode G90. A typical program entry will be the 043 or 044 command, followed by the Z axis number: tion and the H N66 G43 Zl.O H04 In order to interpret how the CNC system uses tool length command, the programmer or operator should able 10 calculate distance-fo-go the cutting tool. The logic behind the tool length is simple: TOOL LENGTH 1 The value of the H offset will be added \0 the target Z position if G43 is used, because G43 is defined as the positive tool length offset a o The value of the Hoffset will subtracted from the target Z position if G44 is used, negative tool length offset G44 is defined as the G43 z-O. 625 H07 ..... 054 along Z is set to 0.0500, Z axis target is -0.625 the H07 is -8.28. The distance-to-go calculation uses the same fonnula. but with values: Za cases is the absolute Z target position in COOirQulate in the prognun. Z setting of the (G54-G59), the H value, the Z axis target are all ,_ ....distance-to-go. can accurately calculated. control system will use Zd :::: Wz + +H z ..... where: G54 Z is set to lO, Z axis '"''"'"..........'... is 0.1 and HO 1 is set to then the distance-to-go will == ::::: 0 + (+0.1) + (-6.743) o + 0.1 - 6.743 -6.643 The distance-lo-go will be In options require involvement of two people, or at least two professional skills - the CNe programmer and the CNe operator. The question narrows down to who is going to do what when. To be fair, both have to do something. programmer has to •__ ~~, tools their number (the T address) the H adoffset for G43 or dress operator to physically set the register the measured values of H CNC system memory, sure the fomru1a is always correct, try to T e Example Wr = 0.0200: In this ,,"'..... i}, ....., the program contains • On-Machine Tool length Setting G43 Zl. 0 H03 ..... where: Z is set to 0.0200, Z axis value of H03 is ~ is = = (+0.02) + (+1.0) + (-7.41) 0 . 02 + 1.0 - 7.47 "'" -6.45 the bulk: of on-machine .0 and the CNe operator. Typically, a negative target IJU"......'-,.u is e Example - W 0.0500: The program contalns a negative Z coordinate: z re- places a tool spindle and measures the d1S~t.an(~e tool travels from machine zero to part 'Zero (nf',nor~m This work can only done between jobs definItely nonproductive. It can justified under stances, jobbing shops and jobs or for with very few people. Although the number of tools will take longer setting of a than setting a tools, there are setup methods available to the CNe that allow reasonably speedy on-mach ine tool setup, namely using the master tool method, descnbed in this section. The one major benefit of this it does not require additional a skilled person to op.:!ralte The result is ",.., ...."""l"1t the tool will travel towards the distance-to-go will In the last and can be used of a tool used for (consisting of the and the tool holder), can be set directly on the U"\.,~1.J.J.L'" or away from it. These setup options are ofon-machine or off-machine tool length setups. an advantage and it corresponding relationship to the disadvantage. They both share a as it applies to the tool or its proto two setup options are and often cause (or at progrnmsome friendly disagreements) each setup option its advandisadvantages. Which one appears to be will depend on many factors as well. e Example - W = 0: ~ -8.855 TOOL lENGTH SETUP Work coordinate value position in Z (Z coordinate) of the applied H offset number G43 ZO.l H01 == Again., the fonnula works = Distance-to-go along Zaxis H (+0.05) + (-0. + (-8.28) 0 . 05 - O. 625 - 8 ~ 28 = any distance-to-go calculation along the Z axis. '"'yr.....n_ mentmlg with other settings may be useful. S' where ... ~ == -' \ 1 Chapter 19 • Off-Machine Tool length Setting In technical terms~ the off-machine requires the work of a skilled tool setter or a CNC operator. Since the seltln o is done away from the machine, a special equipment is req~ired, adding to overall cost of manufacturing. This equipment can a simple fixture with a height gage (even made or a more expensive, commercially available digital display device. • Tool Length Offset Value Register Whichever method the tool length setting is used, it U\JI., ....... '" a value that represents the length the selected lOol. This value is by and must be somehow supplied to the program, before the job is machined. The must register meusured value into the system, the heading on the control panel. The figure a common setup a CNC vertical machining center, looking from the front of the machine, a typical operator's viewpoint. column is located a1 machine zero position. This limit switch tion positive Z axis travel and is necessary for the autotool change on vil1ually all machining centers. All four illustrated dimensions are either known, can found in various instruction or service manuals, or can be physically They are always considered as known or dimensions and used as critical for uceurate machine Distance between the tool gauge line and Q the tool cutting point ... dimension A in the illustration Distance between the tool cutting point and the ZO Q (program zero of the part) The control syslem contains a special registry for the tool usually under of tool setlength o.{fset, toollenglh compensation off of the exact heading, the sellmg procedure measured length is entered into Ihe control, so it can by the program. The is always well within Z aXIs travel limits of the machine. yet still allows for clearances for the part and the tool Chan2,f:S. To the tool length offset, try to fully stand theZ motion geometry orthe machine first. On vertical and horizontal machining centers, look at 1he XZ plane, which is the top part for both. The will be on the pies are identical, but chining center layout. Z AXIS RELATIONSHIPS To understand the general principles of tool length let's look at the schematic illustration of a typical a vertical machining center - Figure 'i 1- r LINE MACHINE ZERO A 0 I B for '" dimension B in the illustration of the part (distance between the table and ZO of part) Q ... dimension C in fhe iJlustration Q Total of all three previous dimensions (distance between the tool gauge line and the table top} ... dimension Din the illustration It is rather rare that the programmer or the operator would always know all four dimensions. Even If that were possible, some calculations would not be worthwhile The reality is that only some dimensions are known or can be found out relatively easily. In the illustration, the dimension D is known, cause it is distance determined by the machme manufacturer. It not possible to know the C (height of part with clearances), but with planning common setup, this dimension can be known as well. That leaves A - the between the (001 gauge line and the tool cutting point. There is no ~ther method to find this dimension, but to actually measure It. In earller of numerical control, this A had to always known embedded in the program. D<;;;""a'J""" of the inconvenIences involved in finding this dimension, Olher methods have later. Today, three methods are considered in programming length setup, including the original method: Preset tool method is the original method Q ... it is based on an external tool setting device Touch-off method is the most common method Q "-..Y' Figure 19-3 Z axis relationships of the machine, cutting tool, table top and the height o it is on the measurement at the ma,r.mfle Master tool method is the most efficient method ... it is based to the length of the longest tool OFFSET TOOL 1 benefits. The CNC programmer conand chooses one method over these methods and operations do not process directly - they are methsetup on the machine only. For proper unsubject CNC programmers, they DIe of which setting method t",...,,,,v,,,, to the selected setting in the a comment or message . the tool length measurement "" ..",,..,,,,,0" cutting tip of the Lool to the gauge line is accudetermined - Figure 19-4. Preset tools will the by already mounted in a tool holder, number of the tool and with the list of measured to do, is to set retool lengths. All the CNC operator tools into the magazine and register each tool length offset register, using the proper offset number. • Preset Tool length to preset the length of cutting tools rather than during the machine setup. This the method of setting tool lengths. There are some in this approach - the most notable is the elimination of nonproductive time spenl durapplies to horizontal machining ing setup. Another to the center of centers, where zero is the rotary or table. are disadvantages as well. tool length external 04 05 06 8.5000 .. T001 length by Touch Off cutting are set at the exmachine runs a production machine when jobs do IS no change. All the operator values into the offset setup can be done tional G I 0 command is to enter the measured that portion of the by using the op- This melhod also a person responsible number of small and for presetting the cutting tools, A medium users with vertical laClnmln~ centers cannot afford the additional of the culting tools during the part Ihe louch-off when method. This method may IS small job runs are machined. scribed in the next secnon. The tool length that uses the touch-off method is very common, jn spite some loss during setup. As the illustration in Figure each tool is assigned an H number (similar to example), called the tool length offset number: GAUGE UNE- GAUGE UNE- Figure 19·5 Touch-off method of the too/length offset T___- - -, PART 19-4 Tool len pleset away from the machine WOlk at (G54-G59) must be used is to machine zero poThis distance corresponding H menu of the system, The important notion is that the Z axis settings for any work offset and the common offset are normally set to ZO.oooo. • Using a Master Tool length Using the touch-off method to measure tool length can be a significantly speeded up by using a special method I1Ulster tool, usually the longest tool. This tool can a real or just a long bar with a tip, permanently mounted in a tool holder. Within the Z travel, this new '(001' usually extend out more anticipated too) that be used. and the work norcontain theZ set to 0.0, when the part touch-off is used. This setting will change for master tool length The master tool length measurement is very efficient requires the following setup It vides suggested steps may need some modification: Figure 19-8 the master tool with setting of the master tool and place it in the spindle. 2. lero the l axis and make sure the read-out on the relative screen is lO.OOO or lO.OOOO. 3. Measure the tool length the master tool, using the touch-off method described previously. After touching the measured the tool in that position! The greatest benefit of this seuing method is shortened setup If certain tools are for of jobs, only the length of the master tool needs to be redefined for any new pan height while all other tools unchanged. They are related to the master tool 4. Instead of registering the measured value to the tool length offset number, register it into the common work offset or one of the G54-G59 work offsets under the 1 setting! It will be 8 negative value, 5. While the master set the relative l is touching the measured face, read-out to zero! '6, Measure every other tool, using the touch-off method. The will be from machine zero. master tool tip, not from 7. Enter the measured under the H number, in the tool length offset screen. It will always be a negative value for any tool shorter than the master tool. e Note: • 643-G44 Difference Initial a.t the beginning of chapter indicates that Fanuc and similar CNC systems offer two commands that activate the tool offset. two are and G44. Most programmers use G43 command exclusively in the program and may have some I.Hlliculty to interpret the meaning of G44 command, they have never used it. is a good reason why G44 IS a dormant command - not quite dead but would to know how barely breathing. and when - or even to use one over the other. is an attempt at explanation. First, a look at the definitions found in various CNC reference books and manufacturers' specifications In different versions of these publications, the following are - all are quoted literally and all typical are correct: Choosing tool as master tool, the procedure is logically same, except (he H offset entries will be positive for any tool that is than the master and they will neRative any tool is shorter master. In rare case where the measured tool will have exactly the offset entry for that tool same length as master too), will be zero. Illustration in 19-6 shows the concept of master tool setting. Arter master tool into axis of work offset, enter distance the tool new tool to the tool tip of the master tool, and in appropriate H offset If the tool is an actual tool, rather a plain used for H offset value must be always set to 0.0. G43 Plus offset G44 Minus offset G43 G44 Tool length offset Tool offset ~:I""_""" G43 G44 Minus direction Plus direction These definitions are correct only if within the context their meaning into consideration, That context is not clear from of these Plus to where? of what? (he context, think about use of the toollenglh on a CNC machine. What is the purpose of the tool length LENGTH 1 main and most important purpose of any tool length is to allow a CNC program to be away from the machine, away from tooling and fix\uring, and without knowing the cutting tool length prodevelopment. process has two - one is in the at the machine. program, either together with or 044 command is the programmer. Al number - that lS done tool length offset can be set on or off the is measured and ther way. the tool is entered into control - that is the job the operalor. It is the machine that has a number of variations of only two G LINE exactly the same not the tool length ming method). Program will command (043 or 044), followed by the target position along the Z axis and the H number: 043 Z1.0 H06 or 044 Zl.O H06 The system cannot any benefits, until the offset registers. measured value for H06 is if the H06 has been as 7.6385, it will as a negative value, is used, and as a positive value, ifG44 is used (1001 motions will be identical): G43 Zl.O H06 .....• H06 = 7.6385 G44 Zl.O H06 ...... H06 +7.6385 {hat the It is actual Z axis is culated. USing G43, the H value will be added (+) in the calculation. Using 044, the H offset value will The a~avel motion will be: "'/U"bn (-). 043: 044: Figure 19-7 Less common method of Work offset (typically Z + H06 Z - H06 : + (-7.6385) :::: -6.6385 (1.0) - (+7.6385) = -6.6385 (1.0) (oollenglh machine with negative (touch-off) will result in The selup process can automatically input all the offset as negative. That is reason why 043 is the standard command to program tool length offset. G44 is just flOt practical for everyday work. the tool length offset must be set as well. Figure 19-7 illustrates one of two ITlF'.r"v" to sel a length command - 054 or other work must be used. GAUGE LINE f PROGRAMMING fORMATS Programming format for 1001 length is very and has been illustrated many times. the following examples are some general applications of various methods. The fLfst one will show programming method if no tool length offset is available. Understanding the development of tool length over the years it easier to apply it in the Other example a comparison of for the programming mru1p1m G54 to 059 The last example shows the to method appl1ed (Q a simple program using three tools, a typical way of programming today . • Tool length Offset not Available Figure 19-8 More common method of using the tool length offset. No work offset setting is required and 643 is the preferred choice. illustrates the other, and much more comIn this case, all work offset com.!lli!nds will normally have a Z value set to 0.0. In the early days of programming, tool length offset and work were not available. G92 position register command was G the current tool position. programmer had to every mension specifled by the machine manufacturer and dimension of (he job specifically ZfJ to the tool distance 138 Chapter 19 --i""iII---- G45X.. H31 _ _ _--'.!., Block N3 ......I - -_ _ G45X .. H31 _ _ _~..;., Block N3 G92X3.4Y2.8 G92X3.4Y2.8 Y2.8 Y2.8 GAUGE GAUGE LINE LINE G92Z9.0 (Block N6) Figure 19·9 Setting too/length without too/length offset· program 01901 This early program reqUIred the position compensation in XY axes and the position register command G45 or command G92 in XYZ axes. Each must start at machine zero - Figure 19-9: 01901 m G20 (meR MODE SEL.ECI'ED) N2 G92 XO YO ZO (MAonNE ZERO POSITION) N3 a90 GOO G4S Xl.4 H31 (X POSITION COMP) N4 G45 Y2. B H32 (Y POSITION COMP) N5 a92 X3. 4 Y2. 8 No G92 Z9. 0 N7 S850 MOl N8 GOl ZO.l F1S.0 M08 N9 Z-O.89 F7.0 GOO ZO.l M09 Nll Z9. 0 mo (TOOL pas REGISTER (TOOL POS REGISTER Z) (SPINDLE COMMANDS) (Z APPROACH MOTION) (Z CUTTING MOTION) RAPID "-"' .• ......,.'" (Ml\.CHDl'E ZIi:RO RBTORN z) Nl2 X-.2 • 0 Yl0. 0 N13 M30 % POSITION (END OF PROGRAM) • T001 length Offset and G92 When the tool length became available, programming became The position compensation G45JG46 was SliH in use at the and had (0 be set for both X Y axes. However, G92 setting for the Z axis was replaced by or 044 command, with an assi~led H offset number - Figure 10. Today, this method position tian G45/G46 tool offset G43JG44 is obsolete, or alleast quile old-fa<;hionecL Only (he in programming, with the position. Setting tool length with G43 tZl and G92 (XYj • mnr''''ITn In an improved program. the tool plied 10 Ihe firs! mOl ion command of IS 01902 Nl G20 (INCH MODE SE:'.LECTED) N2 G92 XO YO ZO (MACHINE ZERO POSITION) N3 G90 GOO G45 JO.4 101 (x POSITION COMP) N4 G45 Y2.8 832 N5 G92 X3. 4 Y2. 8 (Y POSITION COMP) (TOOL POSITION R.:IOOIIS~rER N6 G43 Zl.0 HOI LENGTH COMP Z) N7 S850 MO) CClMMANDS) N8 GOI ZO.l F1S.0 MOS N9 Z-O.89 F7.0 NlO GOO ZO.l M09 Nll G28 X3. 4 Y2. 8 Zl.O N12 G49 DOO HOO Nl3 M3 0 (Z APPROACH MOTION) (Z CUTTING MOTION) RAPID RETRACT) (MAC.HJliIB ZERO R.E'I'lJlm) (OFFSETS CANCELLATI~ (END OF PROGRAM) % When a program is developed using blocks N6 and N7 can be joined together for convenience. if N6 G43 Zl.0 S850 MOl HOI NI method has no effect on the tool length offset, only on the moment at which the spindle starts rotating. Position and the 1001 length cannot programmed in the same block. Note that position compensation is still in effect in due to the lack work coordinate of 139 • Tool length Offset and G54-G59 most programming has many and functions available and G54-G59 series is one The has been replaced with work offset sysand, optionally, more. Normally, 092 is not same program that contains any work offset sethrough 059 or the extended series. example of using the tool length work environment: .... rr..."."fTI 01903 N1 G20 N2 G90 GOO G54 Xl.4 Y2.S N3 G43 Zl.0 H01 N4 saso M03 N5 G01 ZO.l F15.0 Moa N6 Z-0.89 F7.0 N7 GOO ZO.l M09 N8 G28 Xl.4 Y2.S Zl.0 N9 G49 DOD HOO NlO M30 % (meR MODE "''''''"....'''' .......... (XY TARGET LOCATION) (TOOL LENGTH COMP Z) (SPINDLE caaM1iNDS) (Z APPROACH MO'lr:r:Ol~l (Z ClJI'TmG MOTION) (z RAPID (MACHINE ZERO (OFFSETS crua:LLl~TION) (END OF Iff.N..NIU!<.to.W} • Tool length Offset and Multiple Tools of CNC programs include more than one most jobs will require many different tools. (independent of the previous drawings) enters a common method how the three tools. holes need to spot-drilled, drilled and tapped. or explanation of the is not . just concentrate on now It is the program structure that is note is no change in the program structure tool, only in the programmed 01904 Nl G20 N2 G17 G40 GBO TOl N3 M06 N4 G90 GOO G54 Xl.O Yl.5 S1800 MOl T02 NS G43 ZO.S HOl MOB (TOOL LG OFFSET FOR N6 G99 G82 RO.l Z-O.145 P200 FS.O N7 X2.0 Y2.S N8 Xl.O Yl.5 N9 GSO zo.s M09 NlO G2B ZO.S MOS Nl1 MOl G54X .. Block N2 X3.4 N12 T02 Nl3 M06 Nl4 G90 GOO G54 Xl.O Yl.5 S1600 Mal TOl Nl5 G43 ZO.S H02 MOB LG OFFSET FOR T02) Nl6 G99 G81 RO.l Z-O.89 F7.0 Nl? JU.O Y2. 5 Nl8 Xl-O Yl. S Nl9 GSO ZO.S M09 N20 G28 ZO.S M05 N2l MOl GAUGE LlNE N22 T03 N23 M06 N24 G90 GOO GS4 Xl.a Yl.5 S740 MOl TOl N2S G43 Zl.O H03 MOB (TOOL LG OFFSET FOR T03) N26 G99 GB4 RQ.S Z-l.O F37.0 N27 X2. 0 Y2. S N28 Xl.O Yl.S N29 GBO Zl.O M09 mo G2B Zl.O 14'05 N31 M30 % Figure 19-11 Setting too/length with 643 (Zl and 1.:1'!)~f-U~" (XY) • program 01903 In this example. Figure 19through 059, (he blocks N2, N3 gether without a problem, N2 G90 GOO work offsets G54 can be joined toup processing: G54 G43 Xl.4 Y2.B Zl.0 S850 M3 HOl N3 ... The command will affect only the Z axes, 043 with HO I must move in the clear. Also note that is no tool offset cancellation. Cancellation will also explained later in this chapter. 140 Chapter 19 CHANGING TOOL lENGTH OFFSET vast majority of programming only a tool offset command tool. Based we have identified 1) with tool offset H02, I , Tool 2 (T02) with tool the tool some special may to be the same tooL In two or more tool length applications, there for one tool. . 0.1 L C ! 007 H07 H27 I An example of a single tool length that uses two or more axis. Figure /9-/2 '11"Nr~.!"'(" groove dimensioned by its depth location bottom (groove width of .220 is implied). Figure 19· 13 - 4.0 of two length offsets for a single tool. The dIftS"8ni~8 between H07 and H27 offsets is the widih of slot (.125 r Note words - the boltom edge versus fOP edge of the slot milL Which edge is programmed as a reference for the tool length? The one at the bottom or the top? /3 ~hows that two ...",f.o.,..".,,,,..,, position~ are used two 4.0 LOa I / •"",,, . . 007 is cutter radius offset, and .125 is the un.., .....' ... mill width. ~- 1213.5 ,. ,H.,,VH. methods of programming can calculating the difference manually, multiple tool length offsets is Lo allow fine groove width example - program for exammethod usduring maIt is shown I 01905 (TWO TOOL LENGTH OFFSETS FOR ONE TOOL) Figure 19·12 Example of programming more than one tool length offset for a single tool· program 01905 Based on the illustration, we to decide on the l..UlIllIl)t:. method flISl (premachiril~g the 03.000 hole is assumed). A .125 wide slot mill will be a good choice to file the circle, milling method for a fuJI (see Chapter 29). program can be shortened by subprogram method Chapter 39). Because the groove width is caner, more than one cut is needed - two in the first cut, the tool is lioned at the per drawing) and first cut at the bottom groove. The bottom tool will depth. For the <>"'....'v.. u cut, the top edge of the slotting mill is and the tool profile for the second groove first groove) at the depth of ally, it will (again. as Nl G20 N2 G17 G40 G80 N3 G90 GOO G54 XO YO S600 M03 JOB CY...EARANCE) N4 G43 Zl.0 HO? MOS ~~~ EDGE - BOTTOM) NS G01 Z-0.65 F20.0 N6 M98 P7000 """""""""'"IY"I GROOVE AT Z- 0.65) EDGE - TOP) N7 G43 Z-O.43 827 NS M98 P7000 GROOVE AT Z-O.43) N9 GOO Zl. 0 Ma9 NlO G28 Zl.O MOS Nll M30 % 07000 (SUBPROORAM FOR GROOVE IN 0190 Nl G01 041 XO.875 Y-O.B75 D07 F1S.0 N2 G03 Xl.75 YO RO.S75 FlO.O N3 I-1. 7S N4 XO.875 YO.a7S RO.875 F1S.O N5 G01 G40 XO YO N6 M99 % TOOL LENGTH 1 R1.750 f4- G54Z(NEGATIVE)- .. G43H .. N3 N2 ( Figure 19·14 Full circle milling - subprogram 07000. Start and finish of cutting is at the center of the groove. H07 is used botmill and H27 is the ~,~ ..'''' ... mill. D07 is for cutter radius only. Figure 14 shows the tool motions in subprogram 07000. Figure 19-16 Typical tool length offset setting fOf a Program zero is at the face 0/ the tool. example, tool tom reference edge of the The two illustrations show typIcal setup of the tool length offset for preseltools on a horizontal machining zero at the cen ter cen (er. Fig lire ) 9- J5 shows the of the table. 19-16 shows program zero at the face of the HORIZONTAL MACHINE APPLICATION TOOL lENGTH OFFSET CANCEL were aimed towards a cenler. Although the logic of applies equally to any machining center, reof the Z axis orientation, there are some noticeable in (he practical applications on horizontal macenters (Chapter 46). A machining cenler allows programming of a lool on several faces of each has a different distance from the tool (along the Z axis), the for each It is common to tool work different tool face. In programming. a well organized approach is always important. That means, a program that is turned on when should also be turned not needed anymore. Tool length offset commands are no exception. cancellation The tool program. There is a special preparatory available lha( cancels method of the 1001 length offset, command to Ihe 1001 length either G43 or offset in the program (or via MDl) is G49: One method of a single block - G54Z(N ison returning to the zerom Z .. 10 Nl76 G49 Nl77 G91 G28 ZO ',: A method the offset N53 G9l G28 ZO HOD Figure 19-15 offset setting lor a (he center of the tool. In this case, the is coupled with an H offset number zero - Hoo. Note, Ihere is no G49 in the block for and HOG does the job of cancellation. There is no Hoo on the control. It means cancellation tool length offset. . 142 A program command safety line Chapter 19 also be started with the length offset (under program contra!), usually In the block or initial The is simple programmer take advantage of this rule and does not need to specifically the tool if the machi ne returns to the tool change posilength is all with an automatic examples This approach is illustrated in eluded in this handbook. N1 G20 G17 040 GSO 049 .. , or a variaf;on of the same block: N1 G20 N2 G17 040 Gao 049 is one more way to tlot program it at all. the tool rule is quite explicit - any 028 or 030 com{both execute the tool return to the will cancel the tool length automatically. The offset -do A strange suggestion, perhaps, but founded. command at examples in this handbook do not use Why What happens at the end of each tool? Anyone of the methods will that active tool will canceled. may be some differlength manufacturers and consulting ences between ma:crlme manual will be the approach. RAPID POSITIONING • GOO Command A CNC machine tool does not chips. From the moment the in a program. it goes through a (lons - some are productive (cutting), (positioning). ""I"'I,p...,/ Positioning motions are necessary but nonproductive. Unfortunately, these motions cannol be eliminated to be managed as efficiently as For this the CNC system provides a called the traverse motion. Its main objective is to shorten the time between operations. where tool is not in contact with Rapid motion operations usually involve four motion: Q From the tool change position towards Q From the part towards the tool o Motions to bypass obstacles Q Motions between different positions on the part part Preparatory command is required in CNC program to initiate the Peed rate function P is not required if programmed, will be ignored during the GOO Such a feed rate will be effective beginning with the first occurrence of any motion (G01. G02, G03, etc.), unless 11 new P function is cutting motion: o Example A: N21 GOO X24.5 F30.0 N22 Y12.0 N23 GOl X30.0 RAPID TRAVERSE MOTION Rapid traverse mOlion, called a positioning is a method of the cutting tool from one position to another position at a rQle of the machine. The maximum rapid rate is by the CNC mawithin the travel limits common rapid rate CNC machines IS about 450 in/min (I 1430 modem offer a rapid motion up to ! (38100 even more, particularly machines. The rale rapid molion manufacturer determines of the machine axes. motion rate can be the same for each axis or it can be A different rapid rate is usually assigned to the Z axis, while the X and Y axes have the same rapid motion rate. Rapid molion can as a single axis motion. or as a compound motion of (wo or more axes simultaneously. It can be programmed in the absolute or incremental mode of dimensioning 11 can used whether the IS rotating or stationary. During program execution, operator interrupt the rapid motion pressing the on the control panel, or even set~ ting the feedrate switch to zero or a rate. Another kind rate control can be achieved by dry nm function, during setup. o B: N21 GOO X24.5 FlO.O N22 Y12.0 N23 G01 X30.0 F20.0 N21, the GOO command mains in until it is canceled same group. In the example N23 The rapid traverse motion is modal and reanother command of the GOl command in changes the feed rate is reproat block N23. used. It is in current units traveled ill one minute in in/min or mmlmin). The maximum rate is set by the machine manufacturer, never by the control or the program. A typical limit set by the machine is a rate between 300 and 1500 in/min (7620 and [00 mm/min), and even Since motion per is independent of the spindJe rotation, it can be applied at regardless of the last spindle rotation function M04. M05). 143 144 Depending on the machine design, motion rale can be the same for a[l axes, or each axis can have its maximum rapId rates for a typical 1181 inlmin (30000 mrnlmin) for in/min (24000 mm/min) lathe, the rates are somewhat for example I in/min (5000 mm/min) the X and 394 in/min (10000 mm/min) the Z The rapid rates can be for modern Every motion in the GOO mode is a, rapid non-circular motion cannot normally be made at the actual linear mOlion of the tool between two points is not ne(:es~;an the path in the form of a Programmed tool and the resulting actual will be different, on several factors: o The number of axes programmed simultaneously o The actual o The rapid traverse rate of each axis • Single Axis Motion Any motion programmed specifically for only one at a time is always a straight line along the selected In words, motion that is parallel to one available axes, must progTammed In a rale block, The resulting is equivalent 10 distance between start and end - Figure 20-1. Since the of the rapid is saving the unproductive (motion from the current tool position to the targellool the tool path is irrelevant to the shape of parl. Always aware of the actual rapid motion (001 path for reasons safelY, particulnrly when lWO or more axes are at the same No must in the way of the tool If there is an path, the obslacle control for one of detecting an obstacle. It is programmer's responsibility to assure that any lool mali on (rapid motion included) occurs without any obstacles in its way. "-- examples of physical obstacles that can intool motion are: o FOR MACHINING CENTERS: o cycles G81 to 089,073, G74 During a rapid motion, the tool path is much less predictable than during cutting motions. Keep in mind that only purpose of rapid from one part to another location motion is to fast - but not necessarily straight. of motion for each axis Clamps, fixtures, rotary or machine part itself, etc. on a lathe), during rapid motions GOO, In to bypass obstacles still assure a safe motion in the program at all limes. let's (ake a closer look at (he options while a rapid RAPID MOTION TOOL PATH Some terfere lions in towards a table. FOR LA THES : Tailstock quill and body, chuck, steadyrest, face plate, fix1ure, other tool, part itself, etc. x POSITIVE 1 ! e e X axis NEGATIVE y N POSITION Single axis motion for a ma,r:mllina center application (XY shown) Several consecutive program blocks. each containing to only a single axis motion, can be included in the obstacles to machining. This method programis preferable in cases where only the exact or approximate position of (such as or fixtures) is known during program preparation. • Multiaxis Motion We have already that the cuning tool is moved at a rapid rale using the GOO command. If this molion is a motion of two or more axes simultaneously, the programmed path the rapid palh of the tool are not always the same. resulting compound motion can be from theoretical proand often is grammed motion RAPID POSITIONING 145 In theory, two axes is equivalent to a straight diagonal motion. real mOlion, however, may diagonal tool path at all. Consider in Figure 20-2. '8- -------..,....: 9.452 o both axes, quired to the ._ .. ,"' __ _ position. After target position ! .02 seconds left to The target must be rcacm~a continues along to reach the final Another example, Figure 20-2, different for coordinates in with the rapid rate 11.812 0.91 1...-_ _ _ _ _ _ _ _ _ _ _ _.:.../ _ _ _ _--1 sketch for rapid motion examples current tool position (the start point) is at X2.36 coordinate location. The tool motion terminates at 1.812 location. In the terms of i IIcremental IIlOtool has to travel 9.452 inches along (he X along the Y axis. If rate for both axes is the same (XY rapid mosuch as 394 in/min, il will take rates usually PROGRAMMED MOTION ACTUAL MOTION x ::: 394 in/m in Y::: 315 in/min (9.452 x 60) / 394 = 1.44 seconds to complete the X axis motion - but only (2.753 x 60) / 394 = 0.42 seconds is required to complete (he Y axis motion. Since motion is not completed until both axes reach (he end point, it . that the actual tool path will be different from tool path. 1-0.425 1.025 .-,- .-, . .- deviation· different rapid rate for each axis not so common example, the X axis rate is set to (10000 mm/min) and tbe Y axis rate is set to (8000 mm/min). It will than take (9.452 x 60) / 394 = 1.44 seconds to complete the X axis motion - but only .753 x 60) / 315 = 0.525 seconds to complete the Y axis motion. In this case, the resulting motion will also include an angular departure, but not at • because of the different rating of rapid traverse rate axis. During the 0.525 seconds (which is the common time to both axes), the X axis motion will travel 0.525 / 60 x 394 = 3.448 inches MOTION ACTUAL MOTION x y Figure 20-3 Rapid motion deviation - same rapid rate for each axes Figure 20-3 shows a combination of an a straight motion as the actual tool path. at the rate of 394 in/min (10000 mm/min) simultaneously in but the Y axis motion will be only .525 / 60 x 315 = 2.753 inches resulting motion is at 38.605" and a slight rounding applied. The actual departure angle is not always to be known, but it helps to calculate it for rapid some very tight areas of the part. It only trigonometric to make sure of path, the rate is known. Chapter 20 """"<~""""<----~~~««««««< Both of above examples illustrate an angular motion along two axes, followed by a straight single axis motion in the remaining graphical expression of motions is a bent resembling a hockey stick or a dog leg which are also very common terms applied to a Calculation of the actua! motion shape, as we done is only seldom Taking some prewithcautions, the rapid motion can be out any calculations. If no is within the work area imaginary rectangle by the diagonally posiis no danger of collision tioned slar! and end point), to the diverted rapid tool path. On CNC milling sysrectangly"of tems, the third axis can also used. above example will enhanced by the third difnension and a three dimensional space must be considered. In this case, no should be chis same rules apply a rapid motion along three axes as a two-axis simultaneous motion. Note that the rapid rale for Z axis on machining centers is usually lower than the rapid rate for the X and Y axes. This consideration is more important In turning appJ lions than in . due to the nature of programming for (wo In turning, approach motion may be first, to avoid a collision with the tailstock, and then along the X The reverse motion axis first, then along Z axis moshould along tion, in order to the same safety when returnto the tool A typical application of this programming technique may be useful after using a machining (such as turning. the starting facing, elc.), also its point. • Straight Angular Motion In some uncommon circumstances, the theoretical rapid tool path correspond to the actual tool path (with no bent line as a result). This will If the simultaneous tool motion has the same length in each axis and the rapid rales all axes are identical Such an occurrence is rare, although not impossible. Some manufactur~ ers provide this feature as a standard and machining center does should know situation the resulting feature or not. is a straight angle, is when the rapid rating for each axis, but the required length of motion just 'falls' into the that results in a straight angular ml'llflf'ln Both of these occurrences are rare or less a case of good luck) in actual programming will seldom happen. To be on safe side, never take any chances - it is always more practical to program the rapid motion without the accalculation the tool path but with safety as a primary consideration. Figure 20-5 Typical of a reversed rapid motion on a eNC lathe, used to bypass for example, a tai/stock As Figure than programming a motion fTOm the turret to the cutting position be fTOm point A to point the tool motion (which was spliL approach towards the will be in the order of A to B Lo C, at a rate. point C to poillt D, the cutting takes When cutting is completed, will rapid the reverse order, back to the Rapid motion will from D to C (0 B to A. a necessary precaution to bypass a potential obstacle, for example, the tllilstock. TYPE OF MOTION & TIME COMPARISON • Reverse Rapid Motion Any rapid motion must be considered in terms of approach towards a and the return to the tool changing position. is the way a cutting is normally programmed - we start at a certain position and then return cUlling activity for the tool is completed. It there, when is not a mandatory method, but it is an organized method, it is consislent, and it makes programming much lechnique of programming each separately in individual blocks of the program, is recommended only for the possible during {he (001 path strictly This method of programming requires a Slightly longer cycle than the simultaneous multiaxis rapid motion. To the cona three motion, as a typical tool proach in milling. a rapid molion an actual the 1001 position. a rapid is required to position, As an example, the rapid rate is at 394 in/min (10000 mmJmin) for each The motion takes place between the coordinate of X2.36 YO.787 ZO.2 (slart poinL) XI1.812 ZI.O(endpoint). So we have cut, starting from the tool cutting . return RAPID POSITIONING The required lime for easily calculated: I:l X along each time: «11.812 - 2.36) x 60) / 394 I:l can 1.440 sec. Y axis time: «3.54 - .7B7) x 60) / 394 ~ 0.420 sec. I:l Z axis time: Figure 20·6 Rapid motion override switch set to 100% of rapid rate «1.0 - .2) x 60) / 394 - 0.121 sec. If all three axes are simultaneously, the total for positioning is 1.44 "...'-,...1,,1..1<>. which is the longest time required any to reach end point. The program U be: GOO X11.812 Y3.S4 Zl.0 actual production, after the program been and optimized the tool performance productivity, the override switch should be set to the ! 00% pointer, to shorten the cycle this motion were to be into program blocks, the total time would be vidual added together: RAPID MOTION FORMULAS 1.44 + 0.42 + 0.121 = 1.991 seconds which is about 37.5% longer. percentage will vary, depending on the rapid motion rale and rapid travel length, measured each machine The program blocks will be written separately: GOO Xl1.812 Y3.54 Zl.O The configuration of rapid override switch varies tween machines from On some machines, rapid motion may stopped altogether, on others, the tool will move at the slowest percentage and cannot stopped the override switch alone. calculations relating to the rapid tool motion can be expressed as used quickJy at any time by stituting the known parameters. Relationships between the rapid traverse ra1e, length the motion and the elapsed time can be in the following three formulas: \ Note that the modality of GOO rapid motion command does nol require repetition in the subsequent REDUCTION OF RAPID MOTION RATE a part setup or while proving a new program on the CNC operator has an option to a slower rapid traverse rate than the established by the machine manufacturer. ~is adjustment is done by means of a special override switch, located on control panel. switch has typically four selectable positions, depending on the machine brand and the type of control - Figure The second, third and fourth positions on the rapid motion override are as oj the acrapid rate - 25%, 50%,100% respectively. are set by the machine manufacturer. first setting, typically identified by FO (or FI) is a motion rate set through a control system parameter. FO (FI) setting should always be Slower than any other setting, typically than lowest setting of25%. T == Required time in seconds R == Rapid traverse rate per minute for the selected axis - in/min or mm/min L = Length of motion - inches or mm applied to the formulas must always be within the selected system of measurement in the program. Inches and inches per minute (in/min) must used with (he English Millimeters millimeters per minute (mmlmin) must be in the system. any calculation relatmg to rapid traverse time, the measuring units cannot be 1 Chapter 20 APPROACH TO THE PART it might be a reasonable compromise to split motion into two separate motions: 20-5 had an illustration to a CNC lathe. For CNC of part approach should be with equal care. in mind that the general motion have (0 be considered for any machine. at a rapid rate, the cycle time can by keeping the part clearances to minimum. Let's have a look at some po- NJ14 G90 GS4 GOO XlO.O YS.O 51200 M03 NJ15 G43 ZO.S HOI NGl6 GOl ZO.05 FIOO.O N317 Z-l.S F12.0 In this method, the rapid motion has first to a much more comfortable position above the part (N315). Then, the motion continued LO cutting start point. using the linear I in block N316. Since this is still a .-n"""" not productive, a relatively heavy As may be expected in is a In the following example, an approach to the part is made along the Z with a clearance of .05 inches (1.27 mm) in block N315: was slightly increased, at the has been given an opportuoverride switch for testing the first in a block mode). Once the prodebugged, the heavy feedrale in the will speed up the operation and at the an extra safety clearance. The program motion can always be optimized not be the besl approach for repetitive is always 'new' for any repctition at a it be very useful when thousands, for example). N314 G90 G54 GO 0 X10. 0 Y8. 0 S1200 M03 N31S G43 ZO.OS Hal NG16 GOl Z-l.S F12.0 a melhoel of "'r"r,<1-Y,n"'L set and part as it should he. allows very little On the other hand, an inmay not quite comfortable particularly during the early operator's convenience is considered to the overall productiv- ( \ , Zaxis MACHINE ZERO RETURN a control system to return a cutting tool machine position is a all modern CNC systems. Programmers term mLlchine reference posiwith home posi(ion or machine is the position all machine slides at extreme limits of each axis. The exact posiby the machine manufacturer and is not h'.lrH'rt'>rI during the machine working life. Return is automatic, on request from the control or via the program. LlV~"""''-'H to Z:::: UP (TOP) I XV:;;; RIGHT i y- WORK ,,~ MACHINE REfERENCE POSITION rpt,3r?lnrp position is for referIn order the CNC machine is accuwe need more than just the high quality components, some unique location (hat can be considered the point of machine - a zero position - a home tion. Machine position is exactly such a 21·1 Machine zero of a CNC vert} to the Z axis in the description was machine zero position for a The Z center is always where the Automatic place. This is a built-in location, distance from the machine table and most machines, the standard machine centers is at the extreme travel in the positive direction, There are excepexpected, t",r,""'/""'" Machine zero is a fixed position on a CNC machine that can reached repeatedly, on request, through the control panel, MOL or program code execution, • Machining Centers Although the design of CNC machining centers models, there are only four possible locations for zero, within the XY view: o Lower left corner of the machine o Upper left corner of the machine o lower right corner of the machine o comer ot the machine i MACHINE ZERO POSITION The most common and standard machine r",t''',,''''nr.,. tion for vertical machining centers is at ner of the machine, looking XY plane - Figure 21-1. ~j <' Z:::: UP (TOP) Z- - X + ......... XV '" UPPER LEFT I~ y- ' ~ ! WORKAREA It is a new from also necessary to make a lion and return there pleted. So. several of the convenient for setup of the part on removal when the machining is n located at the upper right XY comer ma,cnlflma center , Figure 21-2 Machine lero position located at the upper left XY comer CNC vertical machining center 21-2 illustrates. someCNC vertical machining the machine zero position at the upper left corXY plane. 1 150 Chapter 21 In both illustrations, the arrows indicate the tool motion direction towards the work area. Moving the tool from machine zero into the opposite direction will result in a condition known as overtravel - compare the two possibilities: o Tool motion from machine zero, if machine zero is located at the upper right corner: x + Y+ Z+ ... tool motion will overtravel o Tool motion from machine zero, if machine zero is located at the upper left corner: x- y+ Z+ ... tool motion will overtravel The other two comers (lower left and lower right of the XY view) are not used as machine zero. o Tool motion from machine zero of a typicalrear lathe: x+ Z+ ... tool motion. will overtravel • Setting the Machine Axes From the previous sections, remember that there is a direet relationship between the CNC machine, the cutting tool and the part itself. The work reference point (program zero or part zero) is always determined by the CNC programmer, the tool reference point is determined by the tool length at the cutting edge. also by the programmer. Only the machine reference point (home position) is determined by the manufacturer of the machine and is located at afixed position. This is a very important consideration. • lathes Fixed machine zero means that all other references are dependent on this location. The machine reference position for two axis CNC lathes is logically no different from the reference position of the machining centers. An easy access by the CNC operator 10 the mounted part is the main detennining factor. Both, the X and the Z axes have their machine reference position at the furthest distance from the rotating part, which means away from the headstock area, consisting of the chuck, collet, face plate, etc. For the X axis. the machine zero reference position is always at the extreme limit of the travel away from the spindle center line. For the Z axis. the machine reference position is always at the extreme travel away from the machine headstock. In both cases, it normally means a positive direction towards the machine zero, the same as for the machining centers. The illustration in Figure 21-3 shows a machine zero for a typical CNC lathe. In order to physically reach the machine reference position (home) and set the machine axes, for example, during the parlor fixture setup, there are three methods available to the CNC operator: o The machine operator will use the XYZ (machining centers) or the XZ (lathes) switches or buttons available for that purpose. One or more machine axes can be activated Simultaneously, depending on the control unit. o I X- l figure 21-3 Machine zero position for a typical eNC lathe (rear type) In the illustration. the arrows indicate the lool motion direction towards the work area. Moving the tool from the machine zero into the opposite direction will result in overtravel in the particular axis: Using the MDt- Manual Data Input mode This method also uses the control panel. tn this case, the machine operator sets the MOl mode and actually programs the tool motion, using the suitable program commands (G28, G30). o MACHINE ZERO POSITION Manually - using the control panel of the system In the CNC program - during a cycle operation Using the same program commands as for the MOl operation, the CNC programmer, n.ot the machine operator, includes machine zero return command (or commands) in the program, at desired places. When the operator has performed the actual machine zero return, it is always a good idea to set the relative and absolute positions to zero on the display screen. Keep in mind that the relative display can only be set to zero from the control panel and the absolute display can only be changed through a work offset, MDI mode, or the part program. This topic normally a parI of CNC machine operation training, directly at the machine. For the last two methods of a machine zero return, the CNC system offers specific preparatory commands. MACHINE ZERO RETURN 151 • Program Commands are four preparatory commands relating to chine zero position: For ma- N67 1328 shows G28 programmed by itself in G27 Machine zero reference position return check G28 Return 10 the primary machine zero reference position G29 Return/rom the machine zero reference position G30 reference pOSii Return to secondary machine zero (more than one is possible) the listed G28 is used almost sively in two and three axis CNC programming. Its only purpose is to return the current tool to the machine zero position and do it along the one or more axes in G28 program block. • Command Group All four preparatory commands to G30 belong to the group 00 of the standard Fanuc designation that describes the non modal or one-shot G codes. In designation, each G code of the 00 group must be repeated in every example, when G28 command is block it is used in. used in one block the Z axis and then it is in the next block for the and Y axes, it has to be repeated in each block as "pp,rjpr! N230 1328 Z.. N231 1328 X •• Y.-. (MACH:INE ZERO R.E'I'ORN Z AXIS) ZERO REI'URN XY AXES) The G28 in block N23! must be If the command is omitted, last motion command programmed will be effective, for example, GOO or GO]! RETURN TO PRIMARY MACHINE ZERO Any CNC machine may have more one machine zero reference point (home position), depending on its design. For example, many centers with a pallet changer have a secondary machine reference position. that is often used to align both the left and right pallets during pallet most common machine tool design is the one that uses ~ly a position. reach this primary home p6s[lion, the preparatory command G28 is used in the program and can also be used during the MDI control The command moves the specified axis or axes LO the home position, always at a rapid traverse rale. That means GOO command is assumed and not have to programmed. The or axes of the desired motion (with a be programmed. Only the value) must axes will affected. block - this is an incomplete instruction. At least one axis must be specified with the G28 command, for example, No7 1328 Y •• which only send the Y axis to the machine zero reference position, or ... N67 G28 Z •. will only send the Z axis to the machine zerO reference position, and ... N67 G28 x .. Y •• Z .. will send alJ three specified axes to the machtne zero erence position. multiaxis requires caution watch for the infamous 'hockey stick' motion. • Intermediate Point One of the elementary requirements of programming is the alpha numerical composition of a word. In the program, followed by one or more digits. The every letter must question is what values will the axes in G28 have? They will be the intermediate point for machine zero return motion. concepl the intermediate motion in G28 or G30 is one of the most misunderstood programming features. Commands G28 and G30 must always contain the interpoint (tool position). By Fanuc design and tion, the G28/G30 commands have a built-in motion to an intermediate point, on the way to machine zero. An ogy can made to an airplane flight from Los Angeles, USA to Paris, France, thallemporarily stops over in New York City. It may not be the most direct route, but it serves a certain specific purpose, example, to refuel ",prHII'" The coordinate values of the axes associated with G28 and G30 commands always indicate an intermediate point. of the intermediate or pOSitIon, is to shorten the program, normally by one block. reduction is so marginal that the philosophy behind the may debated. is how concept the ate point (position) works. When the or G30 IS used in the program, at least one axis must be specified in the block. The value of that axis is the intermediate point, as interpreted by the eonsystem. Absolute and incremental modes G90 and I make a great difference in interpretation the G28 or G10 behavior, and will be described shortly. 1 Chapter 21 MACHINE / / I ! / make the equal to zero and move cutting 1001 to the zero directly. This is done by specifying (he errne<jlaile point as identical to the current (001 position in absolute mode - or - by specifying a zero lool motion in incremental mode. • Absolute and Incremental Mode I / ........ - , Y4.0 There is a in programming the zero return command or G30 in the absolute incremental Remember the b<lsic di fference between two statements: POINT G90 GOO XO YO ZO 27-4 Intermediate puifll lor machine zero return· XY axes shown G9l GOO XO YO ZO Each statement XOYOZO is control differently. To review, an 'v;>.> a zero, for example XC, means position at the point, if the mode is absolute, command. If the mode is incremental, the XO word means no motion for the L ..... ' .. The tool motion in Figure 2J-4 is from the central hole of During sueh a motion, the tool can collide with the upper right clamp on its way to zero, if the motion to the home position were directly. Only the X and Y axes are An intermediate point can be location, without making the program any program without an intermediate point can be lathes use (he U and Waxes incremental on absolute X and Z axes respectively), with same applications. Absolute axes coordinates interpreted as the programmed indicate the nrt:HIT,rlmFIlP'n G90 GOO xs.o Y4.0 G2B X5.0 Y4.0 (MACHINED HOLE) 1t"la1...rL\.N,c, ZERO MOTION) The same program with an intermediate point at a safe 10will change slightly: G90 GOO X5.0 Y4.0 G28 Xl2.0 Y4.0 (MACHINED HOLE) (MACHINE ZERO MOTION) Comp,are the two program are identical in terms ( -,. G28 USED IN THE ABSOLUTE G90 Nl2 GOl Z-O.7S F4.0 MOS N25 GOl X9.5 Y4.874 N26 G28 Z-O.7S Ma9 (- Earlier examples shown reason behind this ble motion. It is - only to save a single program block - that is all. purpose is to use onc block program to achieve two motions. that would otherwise require two blocks. A could also be: - they are the tool motion: ~> IN ABSOLUTE MODE) G28 USED IN THE INCR:EMENTAL MODE) G90 Nl2 GOl Z-O.75 F4.0 M08 N25 GOl X9.S Y4.874 N26 G9l G2B ZO M09 (G2a IN INC:REMENTAL MODE) G90 GOO XS.O Y4.0 X12.0 G28 Xl2.0 Y4.0 La produce same (MACHINED (SAFE LOCATION) (MACHmE ZERO RE'lL'URlN'1 result, but with an extra For example, the intermediate position, the tool can be programmed to an obstacle on the to chine zero. rnn,,.,.,.·t1 whh care, the tion may be useful. Normally, it is more Which method is better? both methods produce on a given situation or identical results, the choice is personal preference. To switch to the incremental mode has its benefit, because the current tool location may not always known. The disadvantage this method is that G91 is most likely a temporary setting only and must be reset back (0 G90 mode, used by the majority of the program. A failure to reinstate the "mS;(]IU'IB mode may result in an expensive and serious error. MACHINE RETURN Absolute mode of programming speci ties the currenltool at all times. position from program zero - always Many examples use the absolute ming mode - after all, this is - or it should - the programming mode, for the majority of 1 above example can be so the intermediate as the current tool posimotion is eliminated or intermediate motion can never eliminated, but tioll. it can programmed as a physical zero distance. 090 There is one incremental mode of mazero return some very It happens in those cases when the current tool position is not known to the programmer. Such a situation typically happens when using subprograms. where mode is used repeatedly to move the incrementally (0 different locations. For instance - where exactly is the cutting tool when drilling cycle is completed in the N35 block the following example? G90 N32 G99 GSl Xl.S Y2.25 RO.l Z-O.163 F12.0 (REPEAT 7 TIMES) N33 G9l XO.3874 YO.6482 L7 (CANCEL N34 G90 GSO Zl.O M09 (UNKNOWN ~n~T'~Tf~T\ N35 G2S (X???? Y????) Zl.0 Is it worth the extra effort to find the absolute location at Probably no!. Let's look at some other examples. coordinate While in the absolute mode 090, the intermediate point locatioll. When incremental the mode 091 is programmed, the coordinate values actual and direction the intermediate motion. In both cases, intermediate tool motion be performed first. Then - and only final return to the machine zero reference position will take Y 1.0 the current lOol position as position). the program, XY values of G28 command that follows the position block are important: G90 N12 GOO X5.0 Yl.O Nl3 G28 XO YO Nl2 GOO XS.O Yl.O Nl3 G28 XS.O Yl.O By this the imermediate poinl in direct motion to the machine zero. reason is that intermediate tool posiwith the current tool position. This r'\r("\, ..... r~....,.'has to do with values axes. In the part program, 1.0 in the block N 13 must repeated, while the absolute 090 is in effect current tool position, which In cases when current tool position is not known, the zero return to be in incremental mode. in this case, change temporarily to mode gram a zero length motion for each axis: G90 Nl2 GOO XS.O Yl.O Nl3 G91 G2B xo YO Nl4 G90 Again, an important is in place here - always remember to back to absolute as soon as in order to avoid misinterpreting the consecutive program data. [n a brief the imermediate point cannot be minated from the G28/G30 block. If situation demands a zero without going a separate return to termediale point, use a zero tool motion towards the n"I"'';'''''' point. method on the 090 or G91 mode at the o In example, the G28 command that the CUlting tool should the machine zero position· identified as XOYO in the N 13. Since G28 command relates to the zero only, it ~ould to assume that the XOYO relates to lhe~machine zero, rather than the part zero. That is 110t con·eel. XOYO to the point through which tool will the machine zero positioll. That is the detined point already known to be the intermediate position for the machine zero return command. This intermediate point is assigned coordinates relating to pan (in absolute In the example, the cuuing tool will move \0 program zero to the mach i ne zero, resu Itin a single definition of two 1001 motions. This, of the intended motion. course, is not likely to C In G90 absolute mode motion to machine zero, the current tool coordinate location must be repeated for each axis specified with G28 command. o In G9l motion to machine zero, the current tool motion must be equal to zero for each axis ·specified with the G28 command. • Return from the Z Depth Position One common example of the intermediate tool in a program hlock, is the return from a cavity to the machine zero. In the following solely the purpose of better explanation, motions are used rather than a drilling to retract tool from the hole depth. In the example, the current XY position is X9.5Y 4.874. and a drilling operation will simulated in 1 21 N24 GOO Z-0.43 N25 GOl Z-O.75 N26 GOO ZO.l M09 N27 a28 ZO.l MOS N2Q G29 X9.5 Y4.B?4 N29 Mal N2l G90 GOO GS4 X9.S Y4.B74 S900 MOl N22 G43 ZO.l HOl MOB N23 GOl Z-O.4S F10.O N24 GOO Z-0.43 N2S GOl Z-O.75 In block N25, the tool is at current tool position of X9.5 absolute COOfthe cutting is done and the tool has to be returned home in axes. reasons, the Z axis must retract first Several but three of them are the most common: o Retract the Z axis above work in one block, then return XYZ axes to machine zero o Retract the Z axis all the way to machine zero, then return the XV axes in the next block Q 2 To retract the Z axis all (he way \0 then return the XY axes in the next Option 1. return the Z axis to zero: N26 G28 Z-O.7S M09 return the XY axes to zero as weJl: N27 G28 X9.S Y4.9?4 complete program for Option 2 o Return XYZ axes to machine zero directly from the current tool position The Figure 21-5 shows the the depth) options. xv MACHINE ZERO POSITION r-------+ ~I zi 0, ~t ~I /' /' NI J Hole location in XY axes is X9.5 Y4.874 /' /' /' INTERMEDIATE POINT CURRENT POSITION N26 G28 X9.5 Y4.874 ZO.l M09 Hole location jn XY axes is X9.5 Y4.B74 Figure 21-5 Machine zero return from a hole depth - milling This is the intended method of programming, as Faouc controls are Some programmers may with Fanuc on but that is how it works. Here is Q Option 1 To retract the Z work in one block return the XYZ axes to the machine zero position, commonly used: the 'normal' N26 GOO ZO.l MOS This block must lion, along the Z e Option 3 To return all three axes from the current tool position the tool is still aL the hole full depth), only one zero return block will be needed: /' /' N2l G90 GOO G54 X9.S Y4.B?4 S900 MOl N22 G43 ZO.l Hal MOS N23 GOl Z-O.4S F10.D N24 GOO Z-O.43 N25 GOl Z-O.7S N26 G2B Z-O.7S M09 N27 G2B X9.5 Y4.874 MOS N28 MOl followed by a return LO the N27 G28 ZO.l MaS The complete program for Option J will N2l G90 GOO GS4 X9.S Y4.874 S900 MOl N22 G43 ZO.l HOl MOS N23 Gal Z 0.45 F10.O posi- for Option 3: N2l G90 GOO GS4 X9.S Y4.874 S900 M03 N22 G43 ZO. 1 HOl MOS N23 GOl Z-O.45 F10.O N24 GOO Z-O.43 N25 GOl Z-O.75 M09 N26 G28 X9.5 Y4.874 ZO.l MOS N27 MOl The molion La 1<1'-"11:'<;; zero will take LWO Step 1: Z axis will rapid to ZO.l position Step 2: All axes will return to machine zero Also note rearrangements ofM09 neous Turning the coolant tical than stopping the spindle. miscella- MACHINE ZERO RETURN 5 Although this is a matter of opinion, the choice of many is to move the tool out of a cavity or hole first, caB the machine zero return command. If there is any ,',-,'A",-'" for this preference, it is the perceived safety the programmer puts into the program design. To be there is nbsolutely nothing wrong with the alternate memoo, if it is with care. Comparing' opwith other does some valuable o OPTION 1 ... ... is only reasonably safe, of cycle time. may within the ,nrla",_,."", o OPTION 2 ... cffil'i"!nt than the previa us option, but one of all Return for CNC lathes • work, setup. zero return is also ends at the machine zero true the X axis but not of the away on some lathe Typically, a CNC lathe program will a way, thaI machining of the will start machine zero, but any subsequent pan will from a safe tool change position. This tical if the program uses geometry offset, older 050 setting. The most common method of zero return on the lathes is the direct method, without an termcdiate point, because no G91 i s ' an error is more difficult LO make: N78 G28 UO N79 G28 wo is the most any error in in terms of program cycle time, could result in a collision. • Axes Return Required for the ATC that purpose. a axis is required to zero return is to make an axes must be moved for only the Z G91 G28 ZO M06 Horizontal machining centers reach its reference position For safety extra grarruned as well, along Wilh sian with an adjo.cent tool in the These two blocks win return the cutting tool to chine zero in incremental mode. there is no motion applied. It is safer La move the incremental mode U, then the Z using the incremental mode W. If the work area is clear (watch for [he tailslock), both X and Z axes can be returned to the machine zero at the same time: N78 G28 UO wo Figure 21-6 illustrates a typical withdrawal a from a hole, when the machining is completed. MACHINE ZERO POSITION G91 G28 YO ZO MOo In both examples, the tool cn.an~:e he effective, until the been physically reached. grammed in a separate · (\ I ndexmg onrotary axes point and are used with ear axes. For example, a B will return to the zero reference position in the following G91 G28 BO If it is safe, the B axis may be programmed ously with another axis: G91 G28 xo BO Absolute mode designation follows the same rules for a rotary or indexing axis, as for the linear axes. 21·6 Machine zero return (rom a hole depth. turning application When using position register command G50, the XZ must always be known for this command. In this rules for machine zero return are Assuming that the machine zero position is at the coordinate position XlO.O Z3.0, the program for the tool can be wriuen in two ways - one without using command, the other one with the 028 command. 156 Q Example 1 : The first example does not use 028 machine zero return command at all: Chapter 21 The format for G27 command is: G27 x .. Y .. Z .. where al least one axis must be specified. N1 G20 (EXAMPLE 1) - N58 G50 X10. 0 Z3. 0 S1000 (OLDER METHOD ONLY) N59 GOO T0300 M42 N60 G96 5400 M03 N61 GOO G41 X4.0 ZO.lS T0303 MOS N62 GOl Z-2.45 FO.012 N63 X3.8 M09 N64 GOO G40 X3.5 ZO.lS MOS N65 X10.0 Z3.0 T0300 N66 MOl Q Example 2: The second example will use 028 machine zero reference command. to achieve the same target position: N1 G20 (EXAMPLE 2) N58 GSO XIO.O Z3.0 SlOOO (OLDER METHOD ONLY) N59 GOO T0300 M42 N60 G96 S400 M03 N61 GOO G4l X4.0 ZO.l5 T0303 MOS N62 GOl Z-2.45 FO.012 N63 G40 X3.S M09 N64 G28 X3.S ZO.15 MOS T0300 N65 MOl When used in the program. the cutling tool will automatically rapid (no GOO necessary) to the position as specified by the axes in the 027 block. The motion can be either in the absolute or incremental mode. Note that no G28 command is used. Nl G20 N2 GSO r7. 85 Z2. 0 N3 GOO T0400 M42 N4 G96 S350 M03 (OLDER METHOD ONLY) N5 GOO G42 X4.l25 ZO.! T0404 MOa N6 GOl Z-1.75 FO.012 N7 UO. 2 FO. 04 NS G27 G40 X7.85 Z2.0 T0400 M09 N9 MOl In the example. block N8 contains G27, but no GOO or G28. This block instructs the CNC machine to return to the position X7.85 Z2,0 and check, upon arrival to the target position, if that position is the machine zero in all specified axes (two axes in the example). A confirmation light will turn on, if the machine zero position is confirmed. If the position is not confirmed, the program will not proceed any further until the cause (misposition) is eliminated. Most CNC programmers will likely feel more comfortable with the ftrst example and saving one program block program will not likely be compelling enough to change their programming style. The second example (Example 2) can be programmed in the incremental mode as well, using the U and W addresses. but it would not be too practical. Compare the starting position in block N2 and the return position in block N8. Assuming that this position is at machine zero reference point in both the X and Z axes, the above example will confirm OK position in the N8 block. Now, suppose that a small error has been made while writing block N8, and the X value was entered as X7.58 rather than the expected X7.85: RETURN POSITION CHECK COMMAND N8 G27 G40 X7.58 Z2.0 T0400 M09 The less common preparalory command G27 performs a checking function - and nothing else. Its only purpose is to check (which means to ~lIfirm)\ if the programmed position in the block cO'1taining G27 is at the machine zero reference point or noL H it is. the control panel indicator light for each axis that has reached the position will go on. If the reached position is not at the machme zero, the program processing is interrupted by an error condition displayed on the screen as an alarm. In this case, the control system will return an error condition. The error is displayed automatically on the control screen (as an alarm). The system will no! process the remainder of the program, until the error is corrected. The light indicating Cycle Scarr condition will turn off and the source of the problem has to be found, When looking for the source of the problem, always check both positions, the start position block, as well as the end position block. The error is quite easy to make in either block. Also note that any axis not specified in the block will not be checked for its actual position. If the tool starling position is programmed at the machine zcro reference (home), it is il good practice to return there as well, when Ihe machining with that CUlling tool is completed. This is quite commonly done for CNC lathes, where the tool change (indexing) normally takes place in the same position, although this position does not always have [0 be the machine zero. Usually, it is a safe position near the machined pan. Another important poim is the cancellation of the cutter radius offset and the tool offset The G27 preparatory com· mand should always be programmed with the G40 command and the TuOO in effect (G49 or HOO). If the tool offset or the culler radius offset is still in effect. the checking CarlllOI be dOlle properly, because the 1001 reference point is displaced by the offset value. MACHINE ZERO RETURN 157 Here is how the FLTst (Example J) listed G27 command. Note that the can be modified to accept will only move to the coordinates specified, 1101 La any or point. Block will become the aci tual check block. The control system will move the machine axes to X 10.0 Y3.0 and checks this position is in fact machine zero reference point This is the reason Example J could modified, but not the seciond Example 2. N1 G20 N58 GSO XlO. 0 Z3. 0 91000 (OLDER METHOD ONLY) N59 GOO TOlOO M42 N60 G96 9400 M03 (LATHE EXAMPLE) T0303 G2S U5.0 W3.0 G29 U-4.0 ~.l75 command should always be In of both cutter radius (G40) cycles (080), jf either is employed in the program. (he standard cancellation 0 codes - G40 to cancel CUlter radius offset GSO to a fixed before the G29 command is issued in the program. The celed A schematic sketch the tool rnc,,,rm is illustrated in N61 GOO G4l X4.0 ZO.15 T0303 MaS N62 GOI Z-2.4S FO.012 N63 X3.0 Ma9 N64 GOO G40 X3.5 ZO.lS MaS N65 G27 X10.0 Zl.O TOlOO N66 MOl machine point return check can be in either the absolute or incremental mode. The absolute sta· tement in block N65 (in the example) can replaced with the version: , I / I / N65 G27 U6.5 ~.85 TOlOO IS a Lo this command. A small price Lo pay when this checking command is a slight cycle the deceleration of tool motion is built time loss. into the command by the control system, about one to G27 command is seconds be lost number of tools use This be a significant loss if a check in every program. The G27 command tp seldom used with geometry offset setting of the tools, wl1ich is the current modern method. The G50 command i:0llder and not anymore on newest lathes, but many lathes are slill used in try that do need the setting. RETURN FROM MACHINE ZERO POINT The preparatory command G29 is exact opposite G28 or command. While G28 will automatically reto machine zero position, comturn the cuning mand will return the tool to its original position - again, via an intermediate point. In normal programming usage, the command 029 usualJy follows G28 or 030 cOIllmanu. The rules relating to the absolute and are for in exactly same respect as to the G28 All programmed axes are moved at the rapid traverse rate to the by the preceding G28 or intermediate position firsl, 030 command block. An example for a application lustrates the concept: 6.80--'-- 7.62 G28 G29 Figure 21-7 AutDmatic return from machine lero position The illustration shows a tool motion from point A to point B first, then to point C, back to point B, to point D. point A is the starting point of the motion, point B is the intermediate point, point C is the machine zero point, and point D is the final point to the target position. curequivalent program commands, starting at rent [001 pOSition, which is point and resulting in the A to B to C (0 B to D lool path are quite simple: G28 018.6 W6.8 G29 U-14.86 W7.62 Of course, there would be some appropriate action programmed the two blocks. for a tool activity. change or some other Similar to G27 command, there is only a weak support comamong CNC programmers. It is one of virtumands that can be very useful in some rare cases, ally unnecessary for everyday work. However, it is always to know 'tools of trade' are available in 1'\"",<n""~.M"Irnlno- They come 158 21 RETURN TO SECONDARY MACHINE ZERO G28 machine zero command, specific machines also have the G30 command. In ler, and handbook generally. many examples apply equally to G28 and G30 commands and were sometimes tn identified as G28/G30 to cover both. So what is G30 and why is this command needed it in the first i& where ... G30 In addition to By definition, preparatory command is a machine zero return cummand tu the machine zero posilion. That position must available on the machine at the lime of purchase. Note the descriptive word is secondary, not second. In virtually all G30 is identical to the G28, except thaI it refers to a secondary program zero. zero can be the physical third, or even point, as specified by the mamanufacturer. Not every CNC machine a secondmachine zero position, and not every mflchine machine even one. Thi~ ence point serves only some very special purposes, mainly for horiwntal machining centers. programming format for G30 command is similar to the G28 command, with an addition of the P address: P :::: indicates the selection of a secondary reference position :::: can be P2, P3 and P4 to identify XVZ :::: is the the (2-4) point definition (one axis minimum must be specified) The most common use of a secondary machine zero erence point in CNe programming is for pallet In the control unit parameter distance of secondary reference point is set from primary reference point and is not normally changed during the working life of the machine and the pallet To distinguish between multiple secondary machine zero positions, address P is added in the G30 block (there is no P "t1rl .... '~'" used If the machine has only a sinsecondary machine position, the Pis not required in the program, PI is assumed in G30 IS x.. Y .. same as G30 Pl x .. Y •• In this case, the selling of the second point is within the of the control system. In to other programming considerations, the G30 command is in exactly the same way as the much more common machine zero return command. ) LINEAR INTERPOLATION Linear interpolation is closely related to the rapid positioning motion. Wbile the rapid tool motion is meant to be used from one position of the work area to withour curling, linear interpolation is u ....... "" ......... for actual material removal. such as contouring, pOj:Ke~ung, face milling cutLing motions. is used in part programming to from the start position 0 f the cut LO uses the shortest cutmotion programmed in is a straight line, the points. this mode, the cutter moves contour start from one position to another by the shortest distance between the is a very important nrr\OT~~m_ ming feature, in contouring and angular motion (such as chamfers, bevels, angles, in this mode to be accurate. etc.) must be can be generated in the linear Three types polation mode: Cl Horizontal motion • Start and End of the linear Motion Linear motion, other motion in CNC ming, is a motion two end points of the conLour. It position. Any start position has a start position is often called position, rhe end position is often called the target The start of a linear motion is defined by the current position, the end is defined by the target coordinates current block. It is easy to see !.hat the end position one motion will become the start position of the next motion, as the tool moves along part, through all contour points. • Single Axis linear Interpolation The programmed tool motion along single axis is ala motion parallel ta that of the motion or mode will result Programming in in the same nrF~H'T"", but at different feedFigure 22-1 for ... single axis only o Vertical motion o Angular y Motian from XOYO axes means that the control thousands of intermediate coordinate points between start point and end point of the cut. The result of this calculation is rhe shortest path tween the two p~nts. All calculations are automatic - the control system constantly and adjusts the feedrate for all cutt~axes, normally two or three. LINEAR COMMAND to X7.0 Y4.0 5 4 -+--'--+--+3 2 ~~~~~~~-i~ -~~--,.f- 1 a x 1 :nml1;!f1<:l'lfl In GOl mode, the function F must be in effect. linear interpolation first program block that starts mode must have a feed rate in otherwise an alarm will occur during the first run, power on. Command Gal and feedrate F are modal, which means they may be omiued in all subsequent I blocks, once they have been designated and the feedrate reunchanged. Only a location is required for the axis designation in a along two or dition to a single axis motion, a simultaneously. three axes be also 2 3 4 5 6 7 8 of the rapid mode and the linear irrt8rpo/ation mode machmmg centers and the tool motions (hat are parallel to table motions. On the CNC lathes. as facing, drilling, tapping are In all cases, a single or the ho.rizonral within the current (working) plane. A singJe axis motion can never be motion, which requires two, three, or more axes. axis name for a motion rhat is parallel to a horizontaf or vertical only. 159 1 22 y Motion from X2.0 Y1.0 to X2.0 Y3.0 and to 5 4 X6.0 Y3.0 3 2 1 O~·~--·--~···~·····~·····~-·~·········~-·X gramming method is not enough. Such n .. ming projects more an investment into a computer based system, such as powerful and Mastercam TM, that IS based on modern computer combined with machinknow-how. This programming is using desktop by virtually all machine shops. and is Computer based programming is not a subject of this handbook, btl[ its genera! concepts are discussed briefly in chapter of the handbook 53). F' ......" ....... o 1 234 567 8 three-axis (XYZ) '''" ..... " .... in Figure 22·4, 22-2 ( Single lJxis linear interpolation motion j nterpolation linear motion is 4 the Y axis. • Axes linear Interpolation A motion can also be along two axes simultaoeously. This is a very common situation when lhe start pOint of the linear motion and point have at least (WO coordinates [hal are each other, while in linear interpolation mode GO I. result of two-axis motion is a straighltool at an angle. The will always be the shortest between in a slraightline the end point and at an by the control y Motion from j. X2.0 Y1.0 to X6.0 Y3.0 5 Figure 22·4 Three axes 4 3 linear interpolation motion PROGRAMMING FORMAT 2 1 x a o 1 234 5 6 7 8 In order to a lool motion in the interpolacommand GOI along with one, Lool maLian, as well as a feed- two, or axes rate (F address) suitable for the job at hand: Figure 22-3 Two axes simultaneous linear interpolation motion GOI x .. Y.. Z.. F •. • Three All enLncs in the linear motion block are to be only if they are new or the block instruction (word) that is affected by needs to be included in the program block, Interpolation A linear that takes place along axis linear same time, IS simultaneous linear motion along three axes is possible on virtually all CNC machining centers. Programming a linear is not always easy, particularly when motion of this working with complex parts. Due to many difficult lions involved in this type of tool motion, the manual pro- Depending on which programming melhod is """ . . "'I.vU. motion may be absolute or n".·"'''''''' lory commands for milling and W for the linear· LINEAR 161 • Individual Axis feed rate LINEAR fEEDRATE The actual be programmed In two a defined tool motion can o ... per time mm/min or in/min o mm/rev or in/rev ... per spindle revolution machine type and dimenThe selection depends on ,,,,,,,,,,,,,,,~centers, drills, £lanaI units used. Typically, protilers, wire EDM, etc., mms, routers, flame lathes and turning centers lypiuse feed rate per time. cally use feed rate per • Feedrate Range only within in milling applicais 0.0001 \ as in/min, typical " ..""un,,,, or deglmin. The lowest for linear interpoin turning is dependent on the minimum increment of the coordinate axes XZ. The following two tables point out typical ranges a normal CNC system can support. The is for All first table is for milling, the second units used in pan programming are rpXlrp.<:PfI tf>P,rlr<ltp a certain Minimum motion increment MILLING 0.001 mm 0.0001 ·240000.00 mm/min 0.001 degree deg/min subject of actual cutting feed rate per is not eruin programming al all, It is included here for matically oriented and interested individuals only. There is no to know the following calculations at all system will do them every time. all the automatically. On the other hand. here it is as motion unit must always calculate individually. Depending on the motion (its angular value), the cornup' one and 'hold back' the other ax is and it will do it constantly during the cut The result is a between !.he start and end points of (he linear contour. Strictly speaking, it is not a straight I with edges so diminutive in that hne but a they are Iy Impossible to see, even under magnification. For all practical the result is a straight line. The calculations are to the following the CNC system, according in Figure 22-5. END POINT /"--r , END POINT .0001 inch ,-. '- Minimum motion increment TURNING 0.001 mm .==. 0.00001 - 500.00000 mm/min 0.001 degree 0.00001 - 500.00000 deg/min .0001 inch .000001 - 50.000000 in/min lhall!!t: maximum feeurate thaI can high. For actual cutting, that is true. that ranges are to the control The will feed rate, according to the macapabilities. Control system only prorange, that is more for the benefit or than the actual user. in case is to allow the machine manufacturers flexibilIty within current technological advances. As technology control system manufacturers will have to rechanges as well, by increasing the ranges. Figure 22-5 Oal8 fDr the calculation of individual axis linear feedrate GOO XlO.O Y6.0 GOl X14.S Yi.25 F12.0 linear motion takes place between two end points, point at X 10.0 Y 6.0 to the end at Y7.25 - the feed rate is programmed at 12 in/min as That means the actual travel motion is either known or it can be calculated: Xc 14.5 = 7.25 - Zt 10.0 = 4.5 6~O = 1.25 0 tool total mali on (as illustrated) is motion, and can be calculated by Theorem: 162 22 y above formula is root of the total sum value of 4.6703854 as 5 ~~+.~...~~...+-.-.~~~~~~~.+ common, based on the square sides, that win travel length in the + 4 3 2 1 control system will internally apply the and calculate the actual motion along we X axis (4.25), as well the Y (1 plus the length of motion il(4.6703854). values, the system will calculate the X feed rate - there no motion that takes place 0 -.... X o 1 2 3 4 5 6 7 8 Figure 22-6 Example illustration for a simple linear interpolation I-V<l, ...... "Jo 1. (CLOOK.WJ:SE DIRECTION FROM Fx = 4.5 I 4.6703854 x l2 = 11.562215 Fx = 1.25 I 4.6703854 x 12 3.2117263 G90 ••• G01 Xl.O Y3.0 F ••• X3.0 Y4.0 X4.5 X6.S Y'3.0 X7.5 Yl.S X4.5 YO.S Xl.O n.o e Fx = 0 I 4.6703854 x 12 = 0.0 (ABSOL'!J'TE MODE) (Pl TO (P2 TO (3) (P3 TO P4) (P4 TO !;IS) (PS TO (6) (P6 TO P7) (P7 TO (8) (pa TO 2: (COUNTERCLOCKWISE DIRECTION FROM PI) G90 ••• In this example, there is no Z axis motion. If Z axis were part of the lool motion, for a simultaneous three dimensional linear motion, procedure will be logically identical, with the inclusion of Z axis in the calculations. PROGRAMMING EXAMPLE In order to illustrate the .... ~._ .. _~, use of interpolation mode a CNC program, is a simple example, shown in 22-6. For even more comprehensive understanding, we example will presented twice. One tool motion will start and end at the P I location and will programmed in the c1ockthe other will start at will in the counterclockwise direction. GOl X4.S YO.S F ... X7.S Yl.S Y3.0 X6.5 X4.5 Y4.Q X3.0 X1.0 Y3. 0 Y1.0 (ABSOLUTE MODE) (P1 TO TO P7) TO PO) TO P5) \, TO TO TO (2) TO (1) Linear interpolation means of programming all orthogonal (i.e., horizontal) molions, as well as angular tool motions as the shortest Hnear distance between two points. CUlling must be in this mode, for proper m~lal Note coordinate location that has not changed from one point to the next one block to the next is not repeated in subsequent block or blocks. BLO-CK SKIP FUNCTION In many control manuals, the block skip function is also called the block delete function. The expression 'block delete' offers rather a misleading description, since no progTam blocks will actually be deleted but only skipped during progTam processing. For this good reason, the more accurate description of the function is the block skip function, a term used in the handbook. This function is a standard feature of virtually all CNC controls. Its main purpose is to offer the programmer some additionaJ flexibility in designing a program for no more than nvo conflicting possibilities. In the absence of a block skip function, the only alternative is to develop two individual part progTams, each covering one unique possibility. TYPICAL APPLICATIONS To understand the idea of two connicting possibilities, consider this programming application. The assignment is to write a program for a facing cut. The problem is that the blank material for parts delivered to the CNC machine is not consistent in size. Some blanks are slightly smaller in size and can be faced with a single cut. Others are larger and will require two facing cuts. This is not nn uncommon occurrence in CNC shops and is not always handled efficiently. Making two inefficient programs is always an option, but a single program that covers both options is a better choice - but only if the block skip function is used in such a program. BLOCK SKIP SYMBOL To identify the block skip function in a program, a special programming symbol is required. This block skip function symbol is represented by a forward slash [ / ]. The system will recognize the slash as a code for the block skip. For most of CNC programming applications, the slash symbol is placed as the first character in a block: ~ Example 1 : Nl N2 N3 (ALWAYS PROCESSED) (ALWAYS PROCESSED) (ALWAYS PROCESSED) (PROCESSED IF BLOCK SKIP IS OFF) (PROCESSED IF BLOCK SKIP IS OFF) (PROCESSED IF BLOCK SKIP IS OFF) (ALWAYS PROCESSED) (ALWAYS PROCESSED) / N4 I N5 ••• I N6 ••• N7 .•. N8 ••• On some control systems, the block skip code can also be used selectively for certain addresses within a block, rather Ihan at its beginning. Check the manual if such a technique can be used - it can be very powerful: Q Example 2: N6 N7 GOO XSO.O N8 GOl ••. I MOB -" This challenge illustrates a situation, where two connicting options are required in a program at the same time. The In those cases, when the control system does allow the most obvious solution would be to prepare two separate block skip within a programmed block, aJl instructions beprograms, each properly identified as to its purpose. Such a fore the slash code will be executed, regardless of the block skip toggle setting. If the block skip function is turned ON task can be done quite easily, but it will be a tedious, time consuming and definitely an inefficient process. The only (block skip function is active), only the instructionsfollowother solution is to write a single program, with tool mo- / ' ing the slash code, will be skipped. In the Example 2, the tions covering facing cuts for both possibilities. To avoid coolant function M08 (block N7) will be skipped. If the block skip function is turned OFF (block skip function is air cutting for those parts that require only one cut, a block not active), the whole block will be executed in Example 2, skip function will be provided in the program and applied to all blocks relating to the first facing cut. The 'second' cut including the coolant function. will always be needed! Other common applications of the block skip function indude a selt!Clive ON/OFF sLalus LOggle, sUl:h illi the coolant function, optional program stop, pfOgTam reset, etc. Also useful are applications for bypassing a certain program operation, applying or not applying a selected tool 10 a part contour and others. Any programming deciSion that requires a choice from two predetermined options is a good candidate for the block skip function. CONTROL UNIT SETTING Regardless of the slash code position within a block, the program will be processed in two ways. Either in its entirety, or the instruction foHowing the slash will be skipped (ignored). The final decision whether or not to use the block skip function is made during actuaJ machining, by 164 Chapter 23 the operator, depending on the of this purpose, a push button key, a switch, or a menu item . control panel the CNC unit. selection is provided on Selection of the mode can be either as (ON) - or inactive (OFF). programs will not require any skip codes. In such cases, the setting mode for the block skip function on the control panel is irrelevant, but OFF mode is strongly switch setting important, recommended. if the program contains even a single block containing the slash symboL active ON will cause instruccode to be ignored durtions in a block following the ing The setting will cause contralto ignore the code and process all instructions written in the program. A simple programming solution to this potential problem is available. Just repeat all modal commands in the program thal will not affected by block skip function. = two Example A - Modal commands are not repeated: NS GOO XlO.O YS.O Z2.0 / N6 GOl ZO.l F30.0 MaS N7 Z-l.O Fl2.0 (GOl AND Moa N8 ••• C Example B - Modal commands are repeated: NS GOO X10.0 YS.O Z2.0 / N6 Gal ZO.l F30.0 M08 N7 Gal Z-l.O Fl2.0 M08 N8 ••• ""u",; llisled earlier, the contents of N4, be if block function is ON. They will be processed, if the swilch IS The 2, also listed a slash in block slqsh symbol is preceding miscellaneous function M08 (coolant ON). If skip funcrion switch is ON, the coolant wi!! be if it is OFF, the coolant funclion will application may be useful in <I dry run mode, to bypass the coolant flood during verification, if no manual override is available. ....o\, ... LJ",,""fHUlI" BLOCK SKIP AND MODAL COMMANDS In examples A B. the program block containing position as slash code indicates an intermediate Z I. This position may only certain cases during machining will decide whether to use it or not, and also when to use it. The block, identified in the as N6, contai ns several modal functions. The commands GO 1, ZO.1. F30.0 and MOS will all remain in effect, unless they are canceled or changed in following block. From block N7 it is apparent that Z coordinate position and the cutling [eedrale value changed. However. the I M08 commands are not repeated in the example A will not in effect, if the block skip switch is set ON. Both examples A and B will identical results, but only if block skip function i~ in the (OFF) mode. The control will then execute the instructions in all blocks, in the of ....,.n"',.""n'\ The processing result To understand the way how modal values work with skipped blocks, that modal commands can be tied only once in the program, in the block they occur first. Modal commands are nol repeated in quent as long as they unchanged. In programs where the block skip function is not at all. there is nothing to do. When the block function is used, watch carefully all modal commands. Remember that a command established in a block using the slash code will not always be in effect. It on the setting block skip switch. Any modal that to be carried over from a section with slash codes to the section without codes may lost if the block skip funclion is Overlooking modal when programming block in a program with serious errors. skip function can be different each programexample shown. If the block skip function is active (ON) block instructions following the will not be next example A yields an unacceptable result, with a fairly possible collision. The example B uses careful thoughtful approach with very extra work. are the when block N6 is skipped: C Example A - Modal commands are nat repeated: NS GOO X10.O YS.O Z2.0 , ............."" MOTION) N7 Z-l. 0 F12. 0 N8 ••• (RAPID MOTION) C Example B Modal commands are ron,""'Tl'" NS GOO X10.0 YS.O Z2.0 N7 GOl Z-l.O F12.0 MOS N8 ... (RAPID MOTION) (FEEDRATE MOTION) BLOCK SKIP FUNCTION Note that the motion I, the F30.0 and the M08 are all skipped in the example The X and Y axes have not updated in either example and will remain unchanged. conclusion is that the example motion in two consecutive A will result a Z axis In the blocks, causing a potemially dangerous correct version, listed as B, the programmed repetilion all commands - GO 1, F 12.0 and M08 - assures the nrr' .... "'''""' will be run as intended. In next section this chapter we will look at principles of program design for different practical applications. In the summary, there is one basic developing programs with blocks using the block skip function: Always program a/l the instructions. even if it means repeating some program values and commands that have to be preserved. slash symbol can be into the nT"e,r"n. nrr,""'"rn has been designed for bOfh options. in those blocks that define the optional skip lected blocks. Always check program! a way that there is only If the program is designed in cut, problems may oceur during Programming TWO cuts all parts a program, but will be inefficient parts with a minimum stock. There will too many tool motions as 'cutting , when the is minimal. c:> Example - Variable stock face: A cutting a that in sIze is a common problem in CNC work. A suitable solution is for turning milling - the should include tool motions for two cuts and the skip function will be on all blocks relating to theftrs1 cut is a lathe face cut, the facing siock varies mill) and .275 (7 mm). After considering several machining options, the programdY~'" that the maximum stock that can CUI will (3.5 mm) Figure 23-J. '-' ....... CHANGE Any eNC program containing block skip function should be checked at least twice. X3.35 I result of this double check must be always satisfactory, whether the block skip in or without it. an error is even a very minor error. correct it After the correction. check the program at twice again, covering both types of processing. The check is that a correction made for reason for the one type of processing may cause a different error for the other type of processing. N9 I 0 I I ~. co h~ I z I N111 I I N7 I X-O.OS PROGRAMMING EXAMPLES block skip function is simple, often neglected, yet, it is a powerful programming tool. Many programs can benefit a creative use of this The type of and some thinking ingenuity are the only criteria for successful implementation. In the following examples, some of the skip function are shown. the examples as start points for a general program design or when covering similar machining applications. • Variable Stock R'moval Removal of excessive material is during a rough cutting. When machining irregular (castbe difforgings, etc.) or rough facing on lathes, it ficult to determine number of cuts. example, some castings a given job may have only the minimum excessuffimaterial, so one roughing or facing cut will Other for same job may larger and two roughing or cuts arc nceded. Figure 23-1 Variable stock for fBcing in 8 turning I!JOfJ'ilCOtion - program 02301 02301 (TURNING) (v:ARIABLE FACE STOCK) N1. G20 G40 G99 N2 GSQ S2000 N1 GOO TQ200 M42 N4 G96 S400 M03 NS G41 X3.35 ZO.135 T0202 MOS I N6 GOl X-O.OS FO.Ol I N7 GOO ZO • .25 I NS X3.35 N9 GOl ZO FO.OS N1.0 X-O.OS FO.Ol N1.1 GOO ZO.l N12 X3.S N13 G40 Xl2.0 Z2.0 T0200 N1.4 MJO % 166 ...........••• ~----------~ NS contains initiallool approach motion. tool next three blocks are preceded by a slash. In N6, front at ZD.l N7 moves the tool away cuts off to initial face, block N8 is a rapid diameter. There are no other blocks to skipped after to the fronl block N8. N9 contains a cutting motion, Nil is the N lOis the front motion, followed by standard final blocks. Evaluate the example not once least twice - it shows what exactly happens. During the first evaluation, read all blocks and the block skip function. the second time, ignore all blocks containing slash will be identical results when compared with the first the number of actual uation. The only difference will is very cuts - one, not two. In miiling,lhe An for a milling application uses a inch face material to faced varies bemill. The (ween .120 and .3! 5. largest reasonable depth cut selected will be .177 (4.5 mm) - Figure 23-2. FIRST X-3.0 Y4.0 CUT X11.0 Y4.0 Chapter 23 ........------.-------~~.........~~~----...:... Block does not need a for a reason - it will be either FIS.O or FIS.O, depending on whether blocks N6 to N8 were skipped or not. The is very important block 10. Such a repetition guarantees the required rate in the block, when actual cutting takes Both lathe and mill examples should offer at least some logic used in program developbasic understanding of menl, using the block function. Exactly the same logical approach can be for more than two cuts and can also be applied to operations other Ihan face cutting. • Machining Pattern Change Another application. where the block function may be efficiently. is a simple programming. The term family programming means a programming situation bewhere there a slight difference in tween two or more parts. Such a variation between similar is often a prospect for block skip function. A minor deviation in a machining pattern one adapted in a single program usdrawing to another can ing the block skip function. Following two examples show typical possibilities of programming a change of the path. In one the emphasis is on a skipped machini ng location. In the other example, the emphasis is on the pattern change itself. Both are In illustrate a simple operation. the lathe example, Figure 23-3 is related to program 02303. 23-2 Variable stock for facing in 8 ml1ling application· program 02302 02302 (MILLING) (VARIABLE FACE STOCK) N1 G20 N2 GI? G40 G49 Geo N3 GSO GOO GS4 XlI.0 Y4.0 N4 G43 Zl.O S550 MO) Hal N5 GOl ZO.1?7 F15.0 Mn8 / N6 X-3.0 FIB.O / N7 ZO.375 / N'8 GOO Xl!. 0 N9 GOl ZO NlO x-J.a F1B.O Nll GOO Zl.O M09 Nl2 G2S X-l.O Y4.0 Zl.O M13 M30 % Block N5 in the example contains the Z axis approach to the first cut, at 177 level. The next blocks can be if necessary. In the N6 block, the mill actually cuts at ZOo I position, N7 is the tool motion after cut, and N8 returns the tool to initial X position. There are no other blocks to be skipped block N8. X43.0 -"L-;.I---X35.0 Figure 23-3 Variable maj:/If~lina pattern - turning application upper picture shows result with block skip lion set ON. the lower picture shows the result with block the -"arne skip function set OFF, 02303 Nl G21 Nl2 GSO SleOO Nl3 GOO T0600 M42 Nl4 G96 S100 MD3 BLOCK SKIP FUNCTION 167 N15 X43.0 Z-20.0 T0606 MOS N16 G01 XJS.O FO.13 N17 GOO X43.0 / Nle Z-50.0 / Nl9 GOl X3S.0 / mo GOO X43.0 ml X400.0 Z4S.0 T0600 MOl Both variations of program 02304 machine a hole pattern with 6 or 4 holes. Block skip function has been used to make a single program covering both patterns. The top of Figure 23-4 shows the hole pattern when block skip function is set OFF, the bottom shows the hole pattern when block skip mode is set ON. Program 02303 demonstrates a single program for two parts with similar characteristics. One part requires a single groove, the other requires two grooves on the same diameler. In the example, both grooves are identical - they have the same width and depth and are machined with the same tool. The only difference between the two examples is the number of grooves and the second groove position. Machining the part will require the block skip function set ON or OFF, depending on the grove to be machined. 02304 (MI.LL.ING EXAMPLE) Evaluate the more important blocks in the program example. The N15 block is the initial tool motion to the start of the first groove at Z-20.0. In the next two blocks. Nl6 and N 17, the groove will be cut and the tool returns to the clearance diameter. The foHowing three blocks will cut the second groove, if it is required. That is the reason for the block skip code. In the block N 18, the tool moves to the initial position of groove 2 at Z-50.0, in N19 the groove is cut In the block N20, the tool retracts from the groove to a clearance position. N24 GSO G28 X30.0 Y7S.0 Z2S.0 The milling example shown in Figure 23-4, also in metric, is represented in program 02304. The program handles two similar patterns that have four identical holes for both parts and two missjng holes in the second pari only. This is a good example of similar parts program, using block skip. a a M LO ci uj N1 G21 N16 G90 GOO G54 X30.0 Y2S.0 MOS N17 G43 Z2S.0 S1200 M03 H04 N18 G99 GS1 R2.5 Z-4.0 F100.0 N19 XI05.0 mo Y75.0 I N21 XSO.O Y50.0 / m2 X55.0 m3 G98 X30.0 Y7S.0 0 X X X >< >< $ I I $-+- Y75.0 I"'i"'\ . 0 r....: <0 uj X J I I <it I -$- 4 $- I - Y75.0 3 t Y54.0 - Y25.0 47 447 -$ 3 Y75.0 -$. Y25.0 f!1 2 0 a ...... X 5- 3 w -$ - + - Y50.0 5 4 <B- '-- -$ - I - Y25.0 1 --"""""~~~"""" a 0C"') X $ 6 -$1 a 0 I.() 0 0 X X ...... M $- Y75.0 $- - Y25.0 I- 3 0 r....: <0 X a ..0 0 ..... >< 5' 2 Figure 23-4 Program 02304 - variable machining pattem for a milling application - result with block skip OFF (top) and ON (bottom) 6) A variation of this application is in the program 02305. There arefive hole positions. but the block skip function is used within a block, to control only the Y position of the hole. Top of Figure 23-5 shows the pattern when block skip function is OFF, the bottom shows the pattern when skip function has been set ON. The middle hole will have a different Y axis position, depending on the setting of the block skip function at the machine. a (") 6 5) Blocks NI8 to N20 will drill holes 1,2 and 3. Hole 4 in N2! and hole 5 in N22 will be drilled only if the block skip function is set to inactive mode (OFF), but neither one will not be drilled when the block skip setting is active (ON). Block N23 will always drill hole number 6. a I 1) 2) 3) 4) N25 MOl a Lri 0 a co ...... I (HOLE (HOLE (HOLE (HOLE (HOLE (HOLE 1 t - Figure 23-5 Program ()2305 - variable machining pattern for a milling application . result with block skip OFF (top) and ON (borlom) 168 Chapter 23 02305 (MILLING EXAMPLE) Nl G21 N16 G90 GOO G54 X30.0 Y25.0 MOS N17 G43 Z25.0 S1200 M03 H04 N1e G99 Gal R2.5 Z-4.0 F100.O N19 n05. a mo Y7S.0 N2l X67.0 / YS4.0 m2 G98 X30.0 Y7S.0 N23 GSO G28 X30.0 Y75.0 Z25.0 j--X3.0 (HOLE l) (HOLE 2) (HOLE 3) (HOLE (HOLE 5) /' ,/ ,/ I ~~~=t~- X2.0 N24 MOl X1.67S hole 4 In block N21 will drilled at the location of X67.0 Y7S.0, if the block skip mode is The address Y54.0 in N21, will not processed. If the block the hole 4 will drilted at coordinate mode is .0 position from tion of X67.0 Y54.0. that case, the the block N20 will overridden. to the proper drilling at position 5, the block N22 must written. If it is omitted. the Y54.0 from block N22 will precedence in block skip mode. Using the block skip feature is the simplest way of dea family of parts. applications arc the function but they the fundamentals of a powerful programming technique and an example of logical thinking. Many detailed explanations and examples of programming complex families of parts can be found in a special Custom Macro option Fanuc fers on most control • Trial Cut for Measuring Another application of the block is to the machine operator with means of measuring the part before any final machining on the part been done. Due to dimensional the cutting tool comwith other factors, the part may slightly outside of the required tolerance range. following method of programming is very useful for parts very tolerances. It is a method lhose parts, part is difficult to measure after allinachining is for The same me.tho? ex.ample shapes, such as is also quite for parts cycle Indlviduallool is relatively long and all the offsets have to be fine be/ore machining. approach to part programming is more efficient. as it a recut. increases finish, and can even prevent a scrap. In either case, a trial cut programming method that employs the skip is used Setting the skip mode the machine operator checks the trial dimension, the individual offset, if necessary, with block set ON. general equally applicable to X2.0563 described in example are and milling - Figure 23-6. Figure 23-6 Application of 8 trial cut for ml!l;~~lJ,rm{'J on a lathe - program 02305 02306 (TRIAL COT - N1 G20 NlO GSO SHOO Nll GOO T0600 M43 Nl2 G96 SoOO M03 / Nl3 Gt2 X2.0563 ZO.l T0606 MOS / Nl4 GOl Z-O.4 FO.OOS / Nl5 X2.3 FO.03 / N16 GOO G40 X).O Z2.0 T0600 MOO / (TRIAL Dn IS :2.0563 DlCHES) / N17 G96 S600 M03 NlB GOO G42 Xl.67S ZO.l T0606 MOS N19 GOl Xl.O Z-O.062S FO.007 mo Z-l. 75 ml X3.5 FO.Ol N22 GOO Gto XlO.O Z2.0 TOSOO m3 MOL When program 02306 is processed the block set all blocks will executed, including the trial cut and finish profile. With the block set ON, the only op.....""lIn" executed will be the to size, the cut. In this case, significant instructions are retained by repetition the key commands (NI8 and NI9). Such a repetition is very crucial successful in both modes of block skip function. MOO in N16 stops the machine and enables a dimensional Selecting trial of in the example may be questioned. What is the logic it? The trial diameter can be other size, That would leave a .025 stock per for the cut. It is true a different diameter could have selected. four decimal numwas only selected for one reason - to psychologically ",n'Y"",.."e,.. the to maintain accurate offset settings. - programmers may a three or aeC:lmal number - the BLOCK SKIP FUNCTION 169 In the next trial cut will also the actual machining, but for a di reason - Figure 7. ..- ci N 02308 (TRIAL CUT FOR TAPER. / X4.37S· (T02 TR.IAI.. COT DIA IS 4.46 INCHES) GSO S1750 T0400 M43 / N9 G96 S550 M03 / NlO GOO G42 X4.428 ZO.I T0404 MOa / N1l GOl Z-O.4 FO.OOa / Nl2 UO.2 FO.03 / N13 GOO G40 X10.0 Z5.0 T0400 MOO / NS - X3.87S / 23-7 Trial cut for 8 taper cutting on a lathe program 02307 In program 02307. the a feature difficult to measure the tool offset in a error is not the right a an area of the solid a straight enables the operator to trial dimension comfortably and to adjust the offset before cutting the finished 02307 (TRIAL CUT FOR TAPER. - ONE Nl G20 G99 G40 N2 G50 S1750 T0200 M42 N3 G96 S500 M03 / N4 GOO G42 X4.428 ZO.l T0202 MOB / NS G01 Z-0.4 FO.OOB / N6 UO.2 FO.03 / N7 GOO G40 X10.0 Z5.0 T0200 MOO / '!WO TOOLS) N1 G20 G99 G40 N2 GSa 51750 T0200 M42 N3 G96 S500 Mal / N4 GOO G42 X4.46 ZO.l T0202 MOB / N5 GOl Z-0.4 FO.OOa / N6 UO.2 FO.03 / N7 GOO GtO XIO.O Z5.0 T0200 MnO (TRIAL CUT DIA IS 4. 428 m:::H:E~S / NS G96 5500 M03 N9 GOO G42 X4.6 ZO.l T0202 MOS,-NlO G7l Pl1 Q13 UO.06 WO.OOS D1500 FO.Ol Nll GOO X-J.875 N12 GOl X4.375 Z-0.73 FO.008 Nl3 X4.6 FO.012 Nl4 S550 M43 Nl5 G70 PH Nl6 GOO G40 XlO.O Z5.0 T0200 MOl a common where a cutting tool is used for both roughing and finishing operations. It a logical way of the block skip function, a form. In most applications, <'''' ....,''y"t''' tools for roughing and finishing may be depending on the of required accuracy. When two cutting for tools, the trial cut dimension is usually more the finishing than for the roughing 02308, the block skip function is illustrated is for roughing, T04 is ting (ools ous is used. TRIAL COT DIA IS 4..428 / N14 GSO 51750 T0200 M42 / Nl5 G96 S500 M03 N16 GOO G42 X4.6 ZO.l T0202 MOB N17 G71 PIS Q20 UO.06 WO.OOS D1500 FO.Ol N18 GOO XJ.B75 N19 GOl X4.375 Z-0.73 FO.OOS N20 X4.6 FO.012 N21 GOO G40 XlO.O Z5.0 T0200 Mal N22 GSa 51750 T0400 M43 N23 G96 5550 M03 N24 GOO G42 Xl22.0 Z3.0 T0404 MOB N25 G70 P18 Q20 N26 GOO G40 XlO.O Z5.0 T0400 M09 N27 M30 % 02308 can be improved further by includcontrol of taper on the width, for example. Programming a trial cut is useful but often a neglected technique, although it does present many applications. • Program Proving can to check it limited experience easy to run a for the first time. common concerns of operators is the towards a particularly when the The rapid motion rate of many modern be very high. over 1500 in/min. At the rapid approach to the cutting position on not add to the operator's confidence, approach is \0 the close lenal. most controls, the operator can set ride rate to 100%, and slower. On the rate cannot be done. The next two 02309 and 02310, show a typical method to eliminate the problem during mosetup and program proving, yet maintain the full tion rate during operations for productivity. 170 Chapter 23 Block function in examples a less usual - it is used for a section of a block, rather than the block itself, if the control supports such a method. For machining, the block ON or position and function is set to the in this mode the whole program. If the ON seuing is required for one section of the 02309 (TURNING EXAMPLE) Nl G20 G40 G9S N2 GSO S2000 N3 GOO T0200 M42 N4 G96 S400 MOl NS G41 X2.75 ZO T0202 M08 N6 GOl X .. FO.004 • Numbered Block Skip but not for another, the operator to be usually in program comments. This changing block mode in of a program can unsafe and create problems. r" ................ FO.l N7 ••• 02310 Nl G20 G17 G40 GSo N2 G90 GOO G54 X219.0 Y7S.0 MOS Nl G4l Z-1.0 8600 M03 H01 FlO.O N4 GOl X.. F12.0 NS ... [n both examples, the block skip is used within a single of two block. design of both programs lakes conflicting commands within the same block. If two conflicting commands in a single block, the falter command used in block will become effective. In both examples. the first command is GOO, second L Normally, the GOI motion will a pnonty. the slash the control will accept GOO. if block skip is set ON, but it will GOI, if the block mode is both skip is set OFF. When the block motion commands will be read second in that block effective (GOI overrides GOO). Watch for one possibility, already emphasized: An optional feature on some controls is a selective or a numbered block skip function. This option allows the operator to select which portions of the required the ON setting and wbich portions OFF setting. the Cycle SIart key to seuings can be done before initialize the program. This also uses slash symbol, but followed by an within the range of I to 9. The selection mode is on the control screen (Setrings), LInder matching switch number, example. a program may tmee groups, each expecting a different setting of skip function. the switch the symbol, are clearly and all operator must do is to match the control seuings with the activity. Nl •.• N2 .. Nl n N4 N16 ••• N1? /2 Nl8 12 N19 During the firs! machine run l the operator should set the block skip making GO I command The tool will be slower in the rapid but much Also, the feedrate switch control system will become effective, offering additional flexibility. When the program proving is and the tool approach is confirmed, the block skip can be set ON, to prevent the GO I motion from processed. Both 02309 and 10 are typical of breaking with tradition to a specific result. • Barfeeder Application On a lathe, the block skip function can in barfeeding, for a continuously running machining. If the n'>rr.,,"nPT allows it, tbe techniques is quite The typiprogram will actually have n.vo ends one will use M99 function. the end will use M30 function. block will preceded by block skip symbol and will be placed before the M30 code in the part program. This technique is in 44. SKIP GROUP 1) (BLOCK. SKIP GROUP 1) (BLOCK SKIP GROUP 2) \"""-"'-"-'" SKIP GROUP 2) (BI,ocK SKIP GROUP .:2) N29 ••• NlO /3 Nll (BLOCK SKIP GROUP 3) (BLOCK SKIP GROUP 3) N4S ... rules apply skip function as for normal version. Incidentally, the II selection is same as a plam slash only, so blocks N3 and N4 above, could have also writte~ (his INl I N4 Numbered block skip function is not i:lVCllll:lDle on all controls. Programs the selective skip function can be very clever and even efficient, but they may place quite a on the machine For the majority of jobs, be a plenty of programming available by the standard block skip function. DWELL COMMAND Dwell is another name a pause in program - It IS an intentional delay applied during program ....l"rl('''''~c In this period of specified in a CNC - any motion is while all program commands functions unaffected. When time expires, the control resumes processing the program with the block immediately following the block that contains the dwell. • Applications for Accessories quite useful second common application the dwell command certain miscellaneous functions - M functions. Several such functions are to control a of CNC as a barfeeder,·tailstock, quill, machine accessories, part catcher, custom features, and others. programmed dwell time will allow full completion of a certain as the operation of a tailstock. The machine spindle may be stationary or rotating in cases. Since there will no contact of the tool with part category, It IS not important the mamaterial in chine spindle rotates or not. Each application is equally important to programmers, although the two are not used simultaneously. On some CNC the command may also be required when spindle speed, usually after a range This is used mainly on CNC lathes. In cases, guidance as to how and to program a dwell time is to follow the recommendation of the CNC machine manufacturer. Typical examples of a dwell lathe are described in Chaprer44, covsubject. PROGRAMMING APPLICATIONS Programming a dwell is in two applications: o o and can During actual when the tool is in contact with material For operation of machine accl~sso when no cutting takes • Applications for Cutting is DWEll COMMAND When cutting tool is removing material, it is contact with the machined part. A dwell can be applied during machining a number reasons. If spindle is the spindle rotation is very important a cut is practice. the application of a dwell mainly used breaking chips while drilling, counterboring. grooving or parting-off. Dwell may al.so be used while turning or boring, in order to eliminate physical left on the by end of the 1001. This, IS attributed to the tool during cutting. many other applications, the dwell function is useful to control deceleration of the cutting feed on a corner during feedrales. example. This use of dwell could be parfor older systems. both cases, ticularly machining operation to dwell command 'forces' fu.lly completed in one block, before the next block,can be I'>"<,!""t,,,r/ The still to supply the exact peof time for the This time to be sufficient - neither too short nor too long. common preparatory command for dwell is G04. other G commands, G04 used by itself only will do nothing, It must always another address, in this case specifying the amount of time to dwell (pause). The correct addresses dwell are X, P or U (address U can only used for a lathe). The time specified by the address is either in milliseconds, or in seconds, depending on address. Some control systems use a different address for purpose as dwell but the gramming methods remain identical. fixed eycles machining centers also use dwell. dwell is programmed together with the cycle not in a separate block. Only fixed that a dwell time can use it in the same all applications, the dwell command must programmed as an independelll block. It will remain for that block only and does over to the next block. is a only one block uO(~tlOin and is not modal. dwell execution, curis unchanged. but the rent status of cycle 171 172 Chapter • Dwell Command Structure The structure - or format - for the function is: X5 • 3 AU machines, excludingJlXed cycles us . 3 l£JJhes ... Allmtlchines. illcludingjix.edcyc/es P53 In any case, typical representation is five digits before and three digits after decimal point, although that vary on different control systems. Since milliseconds or seconds can be used as units of dwell, the relationship can be established: The control unit interprets such a command as a dwell, of the preparatory command 004, which establishes meaning of the address that follows it. If using the X or U address for dwell not feel comfortable, use the third alternative the address P. Keep in mind, the address P dues nat accept lhe decimal point, so the dwel1 is programmed directly as the number of milliseconds to control the pause duration. One millisecond is l/lOOOlh of a second, therefore one second is equivalent to 1000 milliseconds. not as a axis mOlion. This is because of the aU,"IlC~'i:>"',) X and U can also seconds, without a decimal point - 1304 X2.0 1s = 1000ms lms = O.OOls s = ms pl0 POOIO second millisecond Ploa P01DO G04 X2. 0 1304 P2 000 1304 U2. 0 POOOl .. Examples of practical application of the dwell fonnat are: pYt[ferredfor long dwells n. pnd"erred for short or memwn dwells ... l(jJhe in seconds p' In example, the dwell is 2 seconds or 2000 milliseconds. All are shown. The nexi example is similar: 1304 XO.S G04 P500 1304 UO.5 ... I m.iJ.Jisecond .. 10 milliseconds .•. TOO milliseconds Depending on the programming for dwell. the format using range of programmable time varies. For digits in front of a decimal point and three oigils follOWing it, the is 0.001 of a and up to mInI99999.999 presents a range from mum of l/lOOOth of a second, up to hours, 46 minutes and 39.999 '''TI''lIH- Dwell programming applications are identical to both machining centers and lathes, but U address can only of either or used in lathe programs. The English dimensional units has no effect on the dwell funcis not dimensional. tion whatsoever, as DWELL TIME SELECTION example illustrates a dwell of 500 milliseconds, or one half of a Again, all three formats are shown. a CNC program, the dwell function may appear in the dwell as a separate block: following way - note N21 1301 Z-l. 5 F12.0 N22 1304 XO.3 N23 Z-2.7 F8.0 1304 DODO Leading zero suppression is assumed in the format withpoinl (trailing zeros are out the Pl II:~ where is equal to (DWELL COMMAND O. 3 SEC) Programs using X or U addresses may cause a possible The X and U confusion, particularly to new may incorrectly be interpreted as an motion. This will never be the case. By definition, the X axis and its is the dwelling axis. X axis is lathe application, the U common to all CNC machines. the only Seldom ever the dwell lime will exceed more than just a seconds, most often much less than only one second. Dwell is a nonproductive lime it should selected as the shortest time needed to accomplish the required action. The time delay for completion of a particular machine operation or a special machine accessory is usually by machine manufacturer. Selecting redwell time for CUlling purposes is al ways sponsibility. Unfortunately, some programmers often overthe dwell duration. After all. one second seems short but think about this example: In one block of program. a dwell function is assigned The speed is set to for the duration of one 480 rlmin and the dwell is applied at locatjons on the part. perhaps during a operation. That means the dwell, cycle lime for each part 50 seconds longer with without dwell. Fifty seconds may not then it would DWELL COMMAND 173 ~ee~ too unreasonable, but are they really necessary? Give Jl a Itnle thought or - even better calculate it If the dweU· must used at all, sure to calculate mlllllnum dwell that can do the job. It is easy to the dwell arbiby and without much thinking. In example, the minimum dwell required is only 0.125 seconds: 60 I 480 = 0.125 This minimum dwell is eight less than programmed dwell of one second. If minimum dwell is used rather estimated dwelL the wlll crease by only 6.25 seconds, than 50 sec- a significant improvement in programming effion the machine. and productivity Minimum dwell calculation and other issues related to it are shortly. MINIMUM DWEll During a cut, is for operations where cuttino tool is contact with the machined part, tion is important, but selting or number of revolutions). minimum d:ell definiis unimportant (time Minimum dwell is the time to complete one revolution of the spindle, Minimum dwell, programmed lated, a simple Minimum dwell (sec) seconds, can = calcu- 60 r /min C Example: SETTING MODE AND DWEll Most programs machining centers will use feedrate per lime (programmed in inches per minute - in/min - or millimeters minute - mrn/min). applications are normally programmed in per revolution, as revolution - in/rev - or millimeters per revolution mmlrev. On many Fanuc controls. a parameter setting allows programming a in the elapsed in seconds or milliseconds - or the number ofspindle revolutions. Each has practical uses and benefits. pending on parameter setting, the dwell comwill assume a different meaning with setting: • Time Setting To calculate minimum dwell in seconds for spindle rotarlmin into sixty (there are 60 tion of 420 r/min, divide in one minute): 60 I 420 = 0.143 seconds dwell The format selection of dwell block in the program will depending on the machine type used and a programming All following examples represent same dwell time of 0.143 of a ;)",,",'uuu G04 XO.143 G04 P143 G04 UO.143 Regardless which formal is used, all dwell values in specify dwell time of 143 which is a second. It is allowed to m one program, but such a practice not represent consistent slyle. G04 PlOOO ... represents mi lliseconds. \ dwell of one second, to 1000 • Number of Revolutions Setting For the of spindle revolutions the dwell is expressed as the number of the spindle rotates, within the of()'OOI to 99999.999 revolutions, for example: G04 P1000 ... represents the dwell of the spindle. the duration one revolution practical dwell applications in a program, calculated minimum dwell is only mathematically correct not be most practical value to use. It is always and better to round off the calculated value of the minimum example. the G04 XO.I may dwell slightly upwards. become 004 XO.2, or - if a double value is used - then G04 XO.143 wlll G04 XO.286, or even G04 XO.3 LO round off the reasoning for this takes inlO considerIt is quite normal that the ation some machining CNC may be running 11 certain job with the perhaps even set at its speed in an override at 50%. Since 50% spindle speed override is minimum on most CNC controls, the double mini· mum will at least one complete of production lime. revolution, without 174 24 NUMBER Of REVOLUTIONS In the other dwell mode (selected the format only to the same, but be much different. In some appJicafor a certain desirable to program a revolutions, rather than for a In a lathe tion programmed to groov i ng tool to to clean up time in secomlS ~ where ... 60 : : : Number of minutes (translation factor) n :::: Required number of spindle revolutions r/min:::: Current spindle speed (revolutions per minute) C) Example: To calculate die revolutions, at can be applied: Dwell~ in seconds for full three of 420 rfmin, the formula = 60 x 3 / 420 = 0.429 The program block die revolutions in terms of following forms: • System Setting G04 XO.429 If the control G04 P429 G04 UO.429 is set to accept the dwell as the number of spindle revolutions, rather than as time in or is very straightforward. All milliseconds, the that is needed is to the dwell command 004, followed by the number of "-u"''' I "U G04 >3.0 the required three spintime will take one of It a good to backwards and ca1cuthe equivalent ofdwell time, represented as the number of spindle revolutions. Usually, result will not be an innumber and will rounding to the nearest value upwards. The above formula can easily reversed: G04 P3000 G04 m.o Each format same result - adwell in the durevolutions. How can we tell from ration of three means time or revolutions? the program whether the We cannol. We have to know the control settings. The only input values of the dwell input. clue may be the rather 3.0 revolutions are shorter than 3.0 secon(]s of dwell. Note that the point is still written, to allow fractions of a such as one half or one quarter of a revolution, for • Time Equivalent The two modes cannot in one program deliberately and even between the mix is difficult. system parameter can set to only one dwell mode at a time. Since control are normally set for the rather than the dwell exdwell in seconds or mil spindle revolutions, the equivapressed by the number lenllime must be calculated. spindle speed (in rlmin) must always be known in a case. "<>''''''"'''1'1 number formula: to be equal to the follow- Example: confirm that the formula is t'f\MrPI"I use the value of of the previous example the number of revolutions for a d well of 0.429 "".rny",." at 420 rfmin: """"=....",,,,,, = 420 x 0.429 / 60 3 . 003 revoluJions confirms the formula is correct. It is more than that the calculation will start with a dwell that js alrounded, for example, to one half of a ""W''''''''"rev '" 420 x 0.5 / 60 .. 3.5 re\l()f.UIj'IJ11S based on a revoluCNC especially slow spindle A slow spindle nOl have the latitude and does a error in the dwell Keep in not allow mind that the goal is to get ar least one complete part rotation in order to achieve desired Otherwhy program dwell at all? Consider DWELL COMMAND Dwell is programmed for one half of a second duration, with spindle rotation set to 80 r/min. The for one half a second ao x 0.5 I 60 = 0.6666667 which is less than one complete spindle revolution. The reason for programming the dwell function in place is not honored and the lime has to creased. of 0.5 seconds is therefore not sufficient. The dwell has La calculated, the formula presented earlier: 60 x 1 I 80 = 0.75 seconds Generally, there is not much use type of calculations - most programming assignments can be handled very well with the standard dwell per time calculations. LONG DWELL TIME For machining purposes on CNC machines, an unusually long dwell is neither Does that mean long dwell times are not is the programmed time that is well A long dwell above the established average for most normal Lions. Seldom ever there is a need to dwell time during a part machining in excess of one, two, three, or four seconds. The range available on the system (over 27 hours) more important to the nl(lintl'nat1a pnthan to programmer. A~ an example of a typical application when a long dwel1 may,be beneficial, is a program developed by maintenance technicians testing the spindle functionality. carefully the following actual situation common to machine - a spindle of the CNC machine has repaired must be before the machine can baqk to production. The will consist of running the at various for a certain period time of selection. In a typical the maintenance department rea small program, In the machine "'1.1' II,,",".. will rotate 10 minutes aL 100 r/min, then for minutes at r/min. followed by the spindle rotalion at highest rate of 1500 r/min additional 30 minutes. program development is not an absolute since the maintenance technician may do the test by manual methmanual approach will not be very but it serve the purpose of the maintenance test. cases is to Slore testing proceA better choice in dure as a program, directly into CNC memory. maintenance (service) program wi)) be a little different for machining centers than for but the objectives will remain the same. 175 e:> Example - Machining Centers Spindle test: S100 'M03 G04 X600.0 SSOO G04 X1200.0 S1S00 G04 X1800.0 MOS (100 R/MIN mITIAL SPEED) (600 SECONDS IS 10 MINUTES) (SPEED INCREASED TO 500 R/MIN) (1200 SECONDS IS 20 MINUTES) (SPEED INCREASED TO 1500 R/MIN) (1800 SECONDS IS 30 (SPINDI..:E: The example for machining centers starts with the initial spindle rotation of 100 rim in. That selection is followed by the dwell of 600 seconds, guarantees a 10 minute constant run. spindle speed is then increased to 500 r/min the dwell lime to 1200 for minutes. last selection is 1500 spindle speed running far 1800 seconds. or 30 minutes, before the spindle stops. e:> Example - lathes - Spindle test: M43 G97 S100 M03 G04 X600.0 SSOO G04 X1200.0 S1S00 004 X1800.0 (GEAR RANGE SELECTION) (100 R/MIN mITIAL (600 SECONDS IS ~o MINUTES) (SPEED DlCREASED TO 500 R/MIN) (1200 SECONDS IS 20 MINUTES) (SPEED DlCREASED TO 1500 R/MIN) (1800 SECONDS IS 30 MINUTES) MOS (SPlNDLE is very similar to one for a mafirst The initial spindle speed range for example. M43. spindle been set to 100 r/min. The of follows,leaving the spindle rotating for full Ja minutes. Then the speed is increased to 500 r/min and remains that for another minutes (1200 seconds). fore the is stopped, one more is done - the spindle speed increases to 1500 r/min and remains at that for another 30 minutes (1800 seconds). • Machine WarmaUp A similar program (typically a subprogram) that uses a long dwell time is favored by many CNC programmers and CNC operators, to 'warm-up' the machine before running a critical job. This warming activity takes place typically at the start of a morning shift during winter months or in a cold shop. This aImachine to a ambient t",n'lT\Pr",tl before any precisian components are machined. same approach can also be used to gradually the maximum spindle speed for high-speed machining (5000 r/min and up). As usually, all safety considerations must have a high priority in all cases. 1 24 • X Axis is the Dwelling Axis control display screen shows how much time is still the dwell time expires. can by lV'-'!·'.H,,o:. at the X display of the (position) screen of a typical will be as X. regardless of P or are programmed. Why the ,,"',,_ ......._u as the dwelling axis and not any is a reason - because the X axis is the only common to all machine tools - i.e., machines, mills, machining centers. flame cutters, and so on. They all use XYZ axes. (there is no Y axis) and wire EDM uses no Z machines are similar. • Safety and Dwell reminders have a great degree of caution dwell limes. particularly or '1"1""""''''''' The CNC machine should never be unattended. In case of long for warning signs should be prominently posted to prevent a potentially unsafe situation. If are not someone else should chine serviced, ,,"YPTr'''''''' fiXED CYCLES AND DWELL Chapter of handbook covers the subject of fixed cycles for CNC mach in i ng centers and dri lis in a detail. In-deplh descriptions of all cycles can this For purpose of the current topic, are just some comments relative to the subject of dwell, this time, as the dwell to fixed cycles. Several fixed o Normally, o Also cycles program control! GSB,GS9 and G84, only by parameter setting cycles is always P, to avoid duin the same block. The address U and the command are never programmed in a cycle - the dwell function is 'built' into all fixed cycles thal allow the dwell (technically all cycles do). dwell time remain the same rules for fixed cycles, as for any machining application. The dwell Q Example. N9 GB2 Xl.2 YO.o RO.2 Z-O.7 P300 F12.0 live upon motion), but tool or sel1 inspection, lubrication, etc., must if absolutely necessary gram execution ~ as a manual operation, never can be programmed with a - 0.3 dwell will become motion along the Z axis (actual rapid return motion. If a 004 P.. is programmed as a separate block in a fixed cycle mode, for example between the G82 block and the in that block and the block, no cycle will be definition is not updated. On value of P in the fixed the/latest controls, a system setting enables or disables this usage. If this is used, the command G04 P.. will be active tool rapid motion from location just completed. function will always is out of a hole, in the clear executed while the cutting This feature is seldom Y~""'lIr~'fl FIXED CYCLES Machining holes is probably the most common tion, mainly done on CNC milling machines and iog centers. Even in the traditionaJly known for their complex parts, and aerospace components manufacturing, instrumentation, optical holes is a vital part or mold making industries, of the manufacturing nr-r,rp.,~<.: When we think of what machining holes means, we probably think first of such operations as center drilling, spot drilling and standard drilling, using common tools. However, this category is wider. Other related tions also belong to the category of machining holes. standard center drilling, spot drilling and drilling are together with related as tapping. point boring. tools, countersinking even backboring. Machimng one simple hole may only one tool but and complex hole several tools to be Number of holes a given job is important for selection of proper ,..,,.,..,. . . rJ:l'mnnl approach. holes machined with having the same they may even be at combinations are Illd'lUlIl~ one hole may be a ::.111111111;;' many different hole a well planned anu In of programming applications. hole operaa great number of similarities from one job to another. Hole machining is a reasonably predictable operation and operation that is is an ideal subject to be very efficiently by a For this reason, virtually aU CNC control manufacturers have incorpoingenious for in their control use so the or - morecnmmnnly - Ihefixed cycles. POINT-TO-POINT MACHINING method of point-to-point machining for holes is a method of controlling the of a cutting tool in X Y axes at a rapid rate, and in the Z at a cutting feed rate. Some motions along Z axis may also include rapid motions. All this means is that there is no cutting along XY axes for operations. When the tool completes al [ motions the Z axis and returns from the hole to the position, motions to a new X Y axes resume and the Z are repeated. Usually, this of motions occurs at locations. The hole and is by cutting tool Ihe cutting depth is controlled by the part program. method of machining is Iypical to fixed cycles for reaming, tapping, boring and related operations. elementary structure for point-topoint machining can four general (typical drilling sequence shown in example): Rapid motion to the hole location ... along the Xand/or Yaxis a Step 1: a 2: Rapid motion to ... along the Z axis o 3: Feedrate motion to the spe:ClTIl90 depth ... along the Zaxis o 4: Return to a clear position ... along the Zaxis point of the cut four also I'pn,r.,<:"nr required to program a programming method, without is only one or two holes a is more a program length is of no imporis not the common case - normally, there are in a part and several tools to be used to hole to engineering specifications. Such a difficult Lo inLerprogram could be extremely loug and pret and In fact, it may even too long to fit into the memory. Machining holes is generally not a very sophisticated procedure. There is no contouring required and there is no multi axis motion. The only when actual is along a single - virtually always cutting lype of machining is commonly known as the Z axis. point-to-point machining. 177 178 25 • Single Tool Motions VS. Fixed Cycles following two compare programming a hole pattern in individual where each of the tool must be as a ~ingle motion and same pattern using a cycle (02502). No explanations lO the programs are at this stage comparison is only a visual Lration between two distinct programming methods, It shows an application of a 03116 standard drill Ihat is used inches. Only holes are to cut a full blind depth of lf1 programmed in the example, NS G99 GS2 RO.I Z-O.6813 P200 F4.5 N6 X3. S7 Y3. 4 N7 X2. 047 N8 GSa G28 X2.047 Y3.4 ZI.O M09 N9 M30 % 02501 required the total of 18 blocks, even cycles, three only. In program 02502, only nine blocks were needed. shorter program 02502 is also easier to there are no repetitious blocks. The moditications, updates and olher changes can be much whenever required. use cymachining holes, even if a single is machined. FIXED CYCLE SELECTION Y3.40 ->-1--+----' 25·1 Simple hale Y1.89 - programs 02501 and 02502 02501 (EXAMPLE 1) (PROGRAM USES INDIVIDUAL BLOCKS) Nl G20 N2 Gl'7 G40 GSa N3 G90 G54 GOO X5.9 Yi.89 S900 M03 N4 G43 Zl.0 HOl MOB N5 ZO.l MOB N6 GOl Z-O.6S13 F4.5 N7 G04 P200 ,_ NS GOO ZO.l N9 X3. 8'7 Y3.4 NlO GOl Z-O.6B13 Nll G04 P200 Nl2 GOO ZO.l Nl3 X2.047 Nl4 GOl Z-O.6813 Nl5 G04 P200 Nl6 GOO ZO.l MOg Nl7 G28 X2.04'7 Y3.4 Zl.0 NlS IDO fixed cycles by control turers to eliminate in manual programming and allow an easy program data changes at machine. For a number of identical holes same starling point, the same depth, the same same dwell. etc. X and Y axes locations are ent each hole of pattern. The the des is to for programming once - for (he first hole of the pattern. The become modal for the duration of the cycle Lo repeated, and until one or more change. This is usually for location new but other may be for any hole at lime, for more complex holes. A fixed is called in program a ratory G command. Fanuc and similar control the following fixed cycles: High speed peck drilling cycle G74 Left-hand tapping cycle G76 cycle) GSO Gal G82 Drilling cycle with dwell G83 Peck drilling cycle G87 Back boring cycle GSB Boring cycle Ga9 Boring % The second hole pattern, but uses same efficiency. , , L. " J L 02502 (EXAMPLE 2) (PROGRAM USES FIXED CYCLE) Nl G20 N2 Gl1 G40 GSO N3 G90 Gs4 GOO XS.9 Yl.89 S900 M03 N4 G43 Zl.O HOl MOB FIXED CYCLES 179 The list is only generaJ and indicates the most common use of each cycle, not always the only use. For example, certain boring cycles may be quite suitable for reaming, although there is no reaming cycle directly specified. The next section describes programming format and details of each cyde and uffers suggesliuns fur their proper applications. Think of fixed cycles in terms of their built-in capabilities, not their general description. PROGRAMMING fORMAT Z = Z axis end position = Z depth o Position at which the reedrate ends The Z depth position can have an absolute value ot an incrementaJ value. P = Dwell time o General format for a fixed cycle is a series of parameter values specified by a unique address (not all parameters are available for every available cycle): IN .. G.. G.. X.. Y.. R.o Z.. P.. Q.. 1.. J.. F.. L.. (or K.. ) The dwell time is practically applicable only to G76, G82, G88 and G89 fixed cycles. It may also apply to G74, G84 and other fixed cycles, depending on the control parameter setting. o Dwell time can be in the range of 0.001 to 99999.999 seconds, programmed as Pl to P99999999 Explanation of the addresses used in fixed cycles (in the order of the usual block appearance): ___________N __=__ BI_o_ck__n_um __b_e_r__________~ . '- I Within the range of Nl to N9999 or Nl to N99999, depending on the control system G (first G command) = G98 or G99 o G9a returns tool to the initial Z position o G99 returns tool to the point specified by the address R o Q= Address Q has two meanings I'----------------------------------~ 0 When used with cycles G73 or G83, it means a depth of each peck o When used with cycles G76 or G87, it means the amou nt of shift for bo ring The addresses I and J may be used instead of address Q. depending on the control parameter setting. I = Shift amount G (second G command) = Cycle number o 0.9IY one of the following G commands can be selected: The I shift may be used instead of Q ~ see above. G73 Ge4 G74 Gas G76 Gel G86~. GS7 Ge2 GSS Must include the X axis shift direction for boring cycles G76 or G87 Ge3 Gag J x = Hole position in X axis '--________ Y_=__H_O_le__ p_OS_j_tio_n__in__ Y_a_X_is________ = Shift amount Must include the Y axis shift direction for o boring cycles G76 or G87 The J shift may be used instead of the Q - see above. X value can be an absolute or incremental value ~1 1~ Y value can be an absolute or incremental value R = Z axis start position = R level o Programmed in milliseconds (1 second = 1000 ms) ________ o Applies to the cutting motion only ThiS value is expressed in in/min or mmlmin, depending on the dimensional input selection. Position at which the cuning feedrate is activated The R level position can have an absolute value or an incremental value. s_pe_c_if_i~__t_io_n________~ F_=__F_ee_d_r_a_te__ L (or K) = Number of cycle repetitions Q Must be within the range of LO - L9999 (KO - K9999) II (Kl) is the default condition 180 Chapter 25 GENERAL tions, discipline - it means there are jimitaprogramming is not a a lot with it. We talk are language programming but about a Fanuc or gramming, a Milsubishi or example. Fixed cycles are a GOO Gal x .. Y.. R .. Z .. P .. Q.. L •• F .. fixed cycle is processed, while in Gal GOO X.. Y.. R.. Z.. P .. Q.. L .• F •• fixed cycle is JIot processed, but be performed; other values will tion of the F feedrate value, which is Consider fixed cycles as a set ules - modules that contain a grammed machining instructions. 'fixed" because their internal format cannot These program instructions relate LO predictable tool motion that rpn,""'lc sic rules and restrictions to summed up in the following items: a Caution: In case of command .and a motion command of Group in same block, the order of programming those commands is important Absolute or incremental mode of established before a fixed cycle is anytime within the fixed cycle uations at all costs! In this chapter, lhe individua1 fixed cycles are in detail and each cycle has an illustration of can or structure. illustrations use shorthand graphic symbols. each with meaning. In Figure 25-2, the meaning of all symused in the illustrations is described. ---"l> Rapid motion and direction Cutting motion and direction G90 must be programmed to select the absolute G91 command is required to select the incremental Manual motion and direction a Both G9D and G91 modes are modal! Boring bar shift and direction a If one of the X and Yaxes is omitted in the mode, the cycle will be executed at the .",,,,,,,tu.1'I 1/'lI~l'Il'I/'n of one axis and the current location of the o If both X and Y axes are omitted in the fixed cycle the cycle will be executed at the current tool position. a If neither G98 nor G99 command is programmed for a fixed cycle, the control system will select the default command as set by a system parameter (usually the G98 command). o Address P for Ule dwell time designation cannot use a decimal point (G04 is not used) - dwell is always programmed in millisecon~s. SymbOts and abbreviations used in fixed cvcles illustrations \ o a If LO is programmed in a fix'ed cycle block, the control system will store the data of the block for a later use, but will not execute them at the current coordinate location. ABSOLUTE AND VALUES The command GaO will always cancel any active fixed cycle and will cause a rapid motion tor any subsequent tool motion command. No fixed cycle will be processed in a block containing GSO. ~ Example: GSO Z1.125 Gao GOO Zl.125 is the SOJ11eGS or GOO Zl.12S 01, namely GOO, G01, are the main motion comany fix.ed cycle. method lated to the point of origin program zero, menIal method, the XY position of one hole is from the XY position of the previous the distance from {he last Z value, one established calling the cycle, to the position where vated. The Z depth value is the and the termination of feed rate motion. At fixed cycle, [001 motion 10 the R will rapid mode, FIXED CYCLES 181 INITIAL LEVEL INITIAL LEVEL /--/ --->t R - R LEVEL lO--+- From the practical point of view. always select this posilion as the safe level - not just anywhere and not without some prior thoughts. It is important that the level to which the tool retracts when G98 command is in effect is physically above all obstacles. Use the initial level with other precautions. to prevent n collision of the cutting tool during rapid motions. A collision occurs when the cutting tool is in an undesirable contact with the part, the holding fixture, or the machine itself. ~ Example of the initial level programming: Figure 25-3 Absolute and incremental input values for fixed cycles The following program segment is a typical example of programming the initiaJ level position: NQl G90 G54 GOO XlO.O Y4.S Sl200 M03 NQ2 G43 Z2. 0 HO 1 MO B (INITIAL LEVEL AT Z2. 0) Nl3 G98 GBl XlO.O Y4.S RO.1 Z-O.82 F5.0 INITIAL LEVEL SELECTION Nl4 There are two preparatory commands controlling the Z axis tool return (retract) when a fixed cycle is completed. G98 .. , will cause the cUlling 1001 10 retract to the inilial position = Z address designation G99 ... will cause the cUlling tool to retract to the R level position R address designatioll = G98 and G99 codes are used for fixed cycles only. Their main function is to bypass obstacles between holes within a machined pattern. Obstacles may include clamps. holding fixtures. protruding sections of the part, unmachined areas, accessories, etc. Without these commands, the cycle would have to be canceled and the tool moved to a safe positIon. The cycle could then be resumed. With the G98 and G99 comm\1nds, such obstacles can be bypassed without canceling the1ixed cycle, for more efficient programming. InitiaJ level is, by definition~e absolute value of the last Z axis coordinate in the program - before a fixed cycle is called· Figure 25-4. INITIAL LEVEL R LEVEL ---++--'-- lO (Z DEPTH) Figure 25-4 Initial level selection for fixed cycles N20 GBO The fixed cycle (G8! in the example) is called in block N 13. The last Z axis value preceding this block is programmed in block NI2 as Z2.0. This is setting of the initial position - lwO inches above ZO level of the part. The Z level can be selected at a standard general height, if the programs are consistent, or it may be different from one program to another. Safety is the determining issue here. Once a fixed cycle is applied, the initial Z level cannot be changed, unless the cycle is canceled first with G80. Then, the initial Z level can be changed and the required cycle be called. The initial Z level is programmed as an absolute value, in the G90 mode. R LEVEL SELECTION The cutting Lool position from which the feed rate begins is also specified along the Z axis. That means a fixed cycle block requires two positions relating to lhe Z axis - one for the start point at which the cutting begins, and another for the end point indicating the hole depth. Basic programming rules do not allow the same axis to be programmed more than once in a single block. Therefore, some adjustment in the control design must be made to accommodate both Z values required for a fixed cycle. The obvious solution is that one of them must be replaced with a different address. Since the Z axis is closely associated with depth, it retains this meaning in all cycles. The replacement address is used for the 1001 Z position from which the cutting feed rate is applied. This address uses the letter R. A simplified term of reference to this position is the R level. Think of the R level in terms of 'Rapid to star! point', where the emphasis is Of! the phrase 'Rapid to' and the letter 'R' - see Figure 25-5. 182 Chapter 25 Z DEPTH CALCULATIONS fixed cycle must include a depth of cut. is the at which the cutting tool stops feeding into the maleDepth is programmed by the Z address in the block. The point for the depth cut is programmed as a Z value, normally lower the R level the initial level. Again, 087 cycle is an exception. (Z DEPTH) Figure 25-5 R level selection for fixed of cutting .£>"",... .. ".'" it is also the Z to which cutting tool will retract upon cycle completion, if preparatory command G99 was programmed. If G98 was programmed, retract will to the level. Later, the G87 back boring cycle will described as an exception, due to its purpose, This cycle not use G99 retract mode, only G98! However, all the R level must be selected carefully. The most common values are .04-.20 of an inch (I mm) above the part ZOo Part setnp has 10 considered as well, and justments to the setting if necessary. L.VL..u."I. or four R level usually increases about tapping operations cycles G74 G84, to feedrate acceleration 10 reach maximum. To achieve a of a high quality, always make a cffort to program the calculated Zdepth accuratelyexactly, without guessing its value or even rounding it off. It may tempting to round-off the depth .6979 to .6980 or even to - avoid it! It is not a question of triviality or whether one can away with it. It is a malter of principle programming consislem.:y. With this apand it will be so easier to retrace the cause of a problem, should one develop later. .:>vv........ for the c::> Example of Alevel programming: N29 G90 GOO GS4 X6. 7 YB. a S850 M03 N30 G43 Z1.0 H04 MOB (INITIAL LEVEL IS 1. a) N31 G99 G8S RO.l Z-1.6 F9.0 ® LEVEL IS 0.1) N32 N45 Gao initial level in the example is in N30, set to .0. The R is set in block N3) (cycle block) as ,100 inches. same block, the G99 command is programmed during the That means the tool will above pan zero at the stall and end of When the tool moves from one hole to the next, it moves along the XY axes only at this Z height level .100 above work. pO.'\ilion is normally lnwPr Ihe initial The R level position. If these two levels coincide, the start and end points are equivalent to initial position. The R is commonly programmed as an value, in but into an incremental mode I. if the application from such a change. Z depth calculation is Q Dimension of on the following criteria: hole in the drawing (diameter and depth) o Absolute or incremental programming method o Type of cutting tool used + Added tool point length Q Material thickness or full depth of the hole o Selected clearances above and below material (below material clearance for through holes) On machining the ZfJ is programmed as top of finished part face. In case, the of Z address will always be programmed as absolute a negative value, Recall the absence of a sign in an axis address means a positive value of that This has one strong advantage. In case programmer to write the !l.lgn, the depth value will automatically .--'·".....'A a positive value. In that case, the tool will the part, area. The move away easily corpart program win not be rected, with only a loss c::> of Z depth calculation: illustrate a practical example Z depth We will use a 0.75 consider the hole detail in Figure inch drill to a hole, with a full depth a standard drill is the tuullip consideration. Its design has a typical 1 to 1200 point and we have (0 add an additional .225 inches 10 the depth: .3 x .75 .225 2.25 + .225 = 2.475 total Z depth of 2.475 G99 G83 can X9.0 Y-4.0 RO.1 Z-2.47S Q1.125 F12.0 FIXED 81 RO.1 Z0 """""'7"777"7i--t7:'177""'7'7'7 - _.."J~<,~~~-,;'-- Z-2.25 ~</7"/,fnL/C:/c","- ABSOLUTE INCREMENTAL Figure 25-6 Z depth calculation for a drilling fixed cycle A peck drilling cycle machining, although for G81, G82 or G73 tion is described in --++--i-- 20 z- 2.4 75 25-7 G81 fixed is used in the example for best Z would be the same tool point length calculain Chapter 26. lVVII~I:IIIV used for drilling • Ga2· Spot-Drilling Cycle DESCRIPTION- OF FIXED CYCLES Description of Ga2 cycle motion to XY position In order to understand how each fixed cycle works, it is structure of each cycle important to understand the and details of its programming format. In the following descriptions. each fixed will be evaluated in detail. The cycle heading' programming format of the cycle, followed by the explanation the exact operaof each cycle will tional sequences. Common also be described. All these details are important a help in understanding the nature of each as well as cycle to select for the best machining As a bonus, the knowledge of the internal structure wiB help in deIn area of cussigning any unique cycles, tom macro programming. • G81 - Drilling Cycle WHEN TO Drilling with a dwell tool pauses at the hole bottom. Used for center drilling, spot drilling, spotfacing, countersinking, etc. anytime a smooth is at bottom of hole. Often used when slow spindle needs to be programmed. If used for boring, the G82 cycle will produce a scratch mark on the hole cylinder during retract. -<~ G98 (G99) G81 X.. Y.. R.. Step! 5 . , G82 Description of GBl Cycle "C"",,'"'''' 1 I Rapid motion LO XV position 2 I Rapid motion to R Level 3 I reedrate motion to Z depth 4 I Rapid retract to initial level (with G98) or Rapjd retract to R level (with G99) DWELL WHEN TO USE 681 CYCLE - Figure 25-7 . Mainly for drilling and center Z depth is not If used for produce a on the hole a dwell at the G81 cycle will during retract. Figure 25-8 G82 fixed cycle - typically used for spot drilling 184 Chapter 25 • GSJ - Deep Hole Drilling Cycle - Standard Step 1 2 Rapid motion to R level 3 Feedrale motion \0 Z deplh by the amount of Q value 4 retract by a clearance value (clearance value is set by a system parameter) 5 Feedrate motion in Z axis by the Q amount plus clearance 6 Items 4, and 5 repeal until the programmed Z depth is reached 7 Rapid retract to iniliallevel (with 098) or Rapid retract to R level (with 099) WHEN TO USE G73 CYCLE· Figure Rapid motion to the depth less a clearance (clearance is set by a system parameter) 6 Items 3, 4, and 5 repeat until the Z depth is reached 7 Rapid retract to initial level (with 098) or Rapid retract 10 R level (with G99) WHEN TO 10: For deep hole drilling, also known as peck drilling, where the chip breaking is more important than the retract of the drill from the hole. The G73 cycle is often used for a long series drills, when a retract is not very important. The G73 fixed cycle is slightly faster than the cycle, the name 'high speed', because at the time saved by not retracting to the R level after peck. Compare this cycle with the standard deep hole drilling cycle G83, G83 CYCLE - Figure 25-9 : For deep hole drilling, also known as peck drilling, where the drill has to be retracted above the part (to a clearance position) after drilling to a certain depth. Compare this cycle with the high speed deep hole drilling cycle G73. G99 G83 Q G98 Q Q - - - - - - - - - " -.. . .- .....~ Z DEPTH ·:::=d Figure 25-10 G73 fixed cycle - typically used far deep hole driJling (this cycle does not retract to R level after each peck) -,0--- Z'DEPTH Number of pecks calculation Figure 25-9 G83 fixed cycle - typically used for deep hole drilling (this cycle retracts to R level after each • 613 - Deep Hole Drilling Cycle· High-Speed Description of G73 motion to XY position 2 Rapid motion to R level 3 Feedrate mOlion to Z depth by the amount of Q value When using G83 and G73 in the always have at least a reasonable idea about how many pecks will the tool in each hole. Unnecessary drilling of will accumulate total hundreds or thousands of can very significant. Try 10 avoid lost time. which can too many pecks hole. For predictable results, the number of number of pecks calculation applies equally to both fixed cycles. Calculation the number of in G83 and G73 is on the of the Q <>/""I,.lrp"", and the distance between the R level and Z depth not from the top of part! Dividing this distance the Q value will a number of tool will make at hole location. The number of in a cycle must an integer and fractional calculamust always rounded upwards: G83 and FIXED 185 Q Example 1 - English data: G90 G98 GS3 x .. Y •. RO.1 Z-L4567 QO.45 F .• In the example, depth is 1.5567 of pecks can be between the R the Q value is .450, so the and Z 1.5567 I .45 = 3.4593333 The result has too used as is, because most places for English units units. The result must The result of the must be rounded to 18.667 or 18.666. Although it looks that only on.e (0.00] mm) is at it will make a big difference way the rounding is If only three pecks are round off upwards, (0 Q I CUt 1 CUt :2 CUt 3 l8.667 18.667 lS.666 Total 56 mm If the result is rounded to Q I 8.666, the numof pecks will be four and practically no cutting will take during the last peck: is four, so each hole will reThe nearest higher quire four pecks. The cannot be changed, so only other available to change the number of is to change the R level the depth of each peck. The to top face of part as is practiR level is usually as cal, so there is not much can be done there. That leaves peck. By increasmg this the Q value, the depth of the total number of will be fewer, by ing the Q value, the total number of pecks will be higher. CUt 1 CUt 2 CUt 3 18.666 18.666 18.666 CUt 4 0.002 Total 56 mm 4 • English In this example, the distance is inches and four Q Example 2 - Metric G90 G99 G73 x.. Y.. R2,S Z-42.S Q15.0 F .. Q : 2.5 I 4 = .625 example, the between the R level and Z depth is exactly 45 mm and the Q value is ]5 mm. The suit jn exactly four pecks. each of number of pecks will be 45 exact value of 3. No of pecks executed per by 15, which equals to and the num- In order to increase change the current Q R level and Z are required: case, no rounding is uO;;;.... O;;;:>:><11 QO.625 will redepth. drilling value of Q hole - all pecks in a cannot be changed will have an equal the possible exception peck. If the amount is greater than the remaining distance to Zdepth. only that will be drilled. In order to decrease the number of pecks. change the current Q value to a number. if it is actually cala precise numthe R level The result :><;;,l\:; .... L~~U number of Q value can be manipUlated in (he Q value skillfully, as an exact position of penetration, This method is IS necessary, the number of pecks may nc','",,,,,P any cycle time benefits. Q Example 3 the distance between R level and Z IS mm. and exactly three pecks are required. The calculation of each peck depth is simple: 56 / 3 = 18.666667 part fixturing, of material and other tool can withstand. depth of peck~ consider the overfor the job. The setup rigidity, the of cutting tool, the machinability contribute to what the The goal in gram under That means n .. (\l'f"'~1"n deepest Q amoum thal is reasonable and practical Always jeep in mind that particular job and its are two fixed the standard G84 and the ten neglected 186 • 684 - Tapping Cycle - Standard Description of G74 cycle G98 (G99) motion to XV position The sequence of G84 fixed is based on the normal initial spindle rotation <>1-", ........."'.... by M03. The tap design must be G84 cycle with M03 "'1-'''-'->\......" Step motion to R level hand design for the in effect. Description of G84 cycle 1 Rapid motion to XV !JV~'l"\.'ll 2 Rapid motion to R 6 7 eedrate motion to Z pindle rotation stop Spindle rotation reverse (M04) and retract to initial level (with 098) or remain at the R level (with G99) WHEN TO 5 Spindle reverse (M04) and feedrate back to R level 6 Spindle rotation stop 7 Spindle rotation (M03) and retract to initial level (with or remain at the R level (with 099) WHEN TO USE 684 CYCI£ - Figure 25-12 : hand thread. At the start of die Irotation M04 must be in effect. various techniques of hole macnrnH""lUn'u"" notes cover only the most important tapand apply equally to both 11 : Only for tapping a right hand thread. At the start of cycle, the normal spindle rotation M03 must be in G84 Q Q Feedrate selection for the tap is very important. In tappinIL there is a relationship between the spindle speed and the lead of the tap - this relationship must be maintained at all timas. Q The override switches on the control panel used for spindle speed and feedrate, are ineffective G84 or G74 cycle prol:ess.mg. o Tapping motion even if the feSll:lMla is ", ..",s,.. , processing, for safety reasons. G98 ? SPIN Rlevel should in the tapping cycle than in the other cycles to allow for the stabilization of the feedrate, due to acceleration. cw - - - i - f - - - t - - ZO G74 25-11 G84fixed eXC./USII'IBIV used for right hand tapping G98 ccw • The initial The cycle - Tapping Cycle - Reverse of G7 4 fixed cycle is based on rotation - M04. must be of the left hand design for the rotation in effect .:>1-'111 ....."" cw Figure 25-12 G74 fixed cycle - exclusiveJy used for left hand tapping CYCLES • - Boring Cycle WHEN TO USE 686 CYCLE boring rough holes or machining operations. This cycle GB 1. The difference is Step USE G85 CYCLE· Figure that require additional cycle is very similar to the spindle stop at the hole bottom. NOTE - Although this cycle is somewhat similar to the G81 cycle, it has characteristics of own. In the standard drilling cycle Gal, the tool retracts while the spindle ofthe machine tool is rotating, but the is stationary in the G86 cycle. Never use the GaS fixed cycle for drilling - for example, to save . since any deposits of material on the drill flutes may damage the drilled surface of the or the drill itself. Rapid motion to XV WHEN 14 : 13: INDLE CW boring cycle is typically used for boring and rPRmlfifi operations. This cycle is used in cases the tool motion into and out of holes should finish, its dimensional tolerances and/or concentricity, roundness, etc. If for boring, keep in that on some parts amount of stock may be removed while the cutting tool This physical is due to the tool pressure during retract If the finish gets worse rather than improves, try another boring cycle. 20 G8S - typically used for rough and semifinish • G81- Backboring Cycle There are two programming r",..,m!;!t<:: available for the backboIing fixed cycle G87 - the one (using Q) is more common than the I and J): Figure 25-13 G85 - typically used and lBi1rlllllU Step • G8G· Boring Cycle 2 Spindle rOlation SLOp Rapid molion to R level 4 Spindle rmarion stop 5 Rapid retract to initial level (with 098) or Rapid retract to R level (with G99) 6 Shift in by the Q value or shift back in the opposite direction of! and J 7 Spindle rotation on (M03) 8 Feedrate motion to Z 188 Chapter 25 9 Spindle rotation stop 10 Spindle orientation 11 Shift out by Q value or shift by the amount and direction of I and J 12 Rapid retract to iniliallevel 13 or shift 14 Spindle rotation on Spindle rotation stop (feedhold condition is and the CNC operator switches 10 manual operation mode and a manual then 10 memory mode). CYCLE START will return to normal cycle 5 Shift ill by the Q value WHEN TO e rotation on in the opposite direction of I and J WHEN TO G87 CYCLE Figure 25-15 : is a special cycle. It can only be used for some (not all) backboring operations Its practical usage is limited, due to the ~pecial tooling and Use the G87 cycle only If the costs can be economically. In most cases, reversal of the part in a secondary operation is an option. CYCLE - 25-16 : T~e GSS cycle is rare. Its u~e is limited to boring operations With speCial tools that require manual interference at the bott~m of a hole. When such a operation is completed, the tool IS moved out of the hole for reasons. This may be used by some tool manufactures for certain operations. .I I G88 NOTE - The boring bar must be set very carefully. It must preset to match the diameter required for backboring. Its bit must set in the spindle oriented mode, facing the opposite direction than the shift direction. ON G99 --~-:~zo -~ Q ~-- _----.1.-4-_,(_ Z DEPTH G98 ONLY ---~-zo 25-16 G88 fixed . used when manual ""'Il>"""'~" is 'HHlI""'" . Z DEPTH , •...SPINDLE START • Ga9· Boring Cycle -- R figure 25-15 G87 cycle - t:}(GIUSI'VBIV used for backboring • GSS - Boring Cycle Step Description of GSB cycle Rapid motion (Q XY position Rapid mOlion to R level 3 Feedrate motion to Z depth 4 Dwell at the depth - in milliseconds (P .. ) 5 6 etract to initial level (with G98) in at R level (with WHEN TO USE G89 CYCLE Figure 25-17 : boring operations, when feedrate is required for the in and the out directions of the machined hole, with a specified dwell at the hole bottom. The dwell is the only value that distinguishes the cycle from G85 cycle. FIXED CYCLES 189 I G89 ---l Q r-- .. ~ G98 [ G99 ----+-~--+---zo DWELL z ~--->--- Z DEPTH 25-17 689 fixed cycle - 'typically used for boring or reaming figure 25-18 676 fixed cycle typically used (Dr high quality boring fiXED CYCLE CANCELLATION • G16 ~ Precision Boring Cycle is a very useful cycle for high quality holes. There are two programming formats available for the precision fixed cycle G76 the first one Q) is much I and 1): more common than the second one Any fixed cycle is active can be canceled with the GSO command. is automatically transferred to a rapid mOltlon GOO: N34 GSO N3S XS.O Y-S.75 Block N35 does not plies it. This is a the rapid motion, it only improgramming practice, but speci- fied GOO as well may be a personal choice, although not necessary: N34 GSO N3S GOO XS.O Y-S.75 milliseconds (P~) (ifused) N34 GBO GOO XS.O Y-S.7S 6 cases, 7 8 Both of the examples will prOiaU(~e identical results. even be a choice. second version of the A combination of the two is a choice: I and J retract to initial level (with or remain at R level (with G99) rather small, but cycles. Althe cycle, it is a though GOO without G80 would poor programming practice that should be avoided. are very important to ------------------~ FIXED CYCLE REPETITION 10 WHEN When a selected frxed cycle is pro,granmrled 676 CYCLE - Figure 25-18 : cycle is processed once at vvJ.J,......... u:v....... tion within a part. This is the the assumption that most holes In the CNC program, there f'r.rnn"\'''nr1 that would indicate cycle. That is true, the cornmana it In fact. the """"'11".,..,,,1"11"'' ' is to be done just once LLVLJLLL<U Boring operations, usually those for hole finishing, where the quality of the completed hole is very important The quality may be determined by the hole dimensional accuracy, its high surface finish, or both. The G16 parallel to is also axes. to holes cylindrical and 190 Normally, the control system will execute a cycle only once at a given location - it this case, there is no need to program the number of executions, since the system defaults to one automatically. To repeat the fixed cycle limes (more than once), program a special command that 'tells' CNC system how many times you want the fixed cycle to be executed. • The L or K Address The command that specifies the number of repetitions (sometimes called loops) is programmed with the address Lor K some controls. The L or K the fixed cycle repetition is to have a value which is equivalent to a program statement LI or LI or Kl address does not have to be specified in the program For example. the sequence, call of the following drilling N33 G90 G99 NJ4 G81 X17.0 Y20.0 RO.1S IDS X22.0 N36 X27.0 N37 X32.0 N38 GBO ••• z-2.4 F12.0 is equivalent to: N33 N34 N3S N36 N37 N38 G90 G99 ••. G81 X17.0 Y20.0 RO.15 Z-2.4 F12.0 Ll (Kl) X22.0 Ll (Kl) X27. 0 Ll (Kl) X32.0 Ll ) G80 ..• examples will provide the control system with instructions for drilling four holes in a straight row - one at the location of X 17.0 Y20.0, the other holes at locations X22.0 Y20.0 and X27.0 Y20.0, and X32.0 Y20.0 respectively - all to the depth of 2.4 Inches. If the L or K in is increased rather added to the first example), for instance. from L I to (or KILO K5). the fixed cycle will be repeated times at hole location! is no need this type ma.chining. By changing the formal only a Htlie, the fixed cycle repetition can be used as a benefit - to make the more powerful N33 G90 G99 ... N34 Gal X17.0 Y20.0 RO.l Z-2.4 F12.0 N35 G91 XS.O L3 (K3) N36 G90 GSO GOO •.. With that change, the advantage of a feature 'hidden' in the first example is emphasized equal increment (ween holes being exactJy inches. By using incremental mode, on a temporary basis in block N35 and employing the power of the repetitive count L or K, the CNC can be shortened dramatically. This method a large number of hole programming is very efficient patterns in a single program. A fwther enhancement is (0 combine the L or K count with or macros. • LO or KO in a Cycle In previous discussions, default for a fixed cycle repetition was specified as Ll or Kl, that does not have to be specified in the program. Any L or K value other than L 1 or K] must always be specified, within the allowable of the Lor K address. Thllt is between LO and or KO and K9999. lowest word is LO or KO - not or KI! Why would we ever program a fixed cycle and then say 'do not do iT>. The address LO or KO means exactly thaL - 'do not execute this cycle '. full benefit of the LOIKO word will apparent in the examples listed under the section for subprograms, in Chapter 39. By programming the LO or in a fixed what we are really saying is not 'do not execute this cycle', but 'do not execute the cycle yet, just remember the cycle las for future use '. most machining, fixed cycles are quite simple to They do, however, have some complex to be in an efficient manner a single hole. ,.MACHINING HOLES good chance that the majority of programs machining centers machining of at least one hole, probably more. From a spot drill to reamIng, and a complex backboring, the field of hole very large. In we at many available machining, and learn a drilling and . and sinThe most common type of hole chining centers is in the area of drilling, A typical and single point may bc to centcr drill or spot drill a drill them, then or bore them. Machining even a single I to 089, hole will the fixed G73, G74 and all described in Ltll.U"'" SINGLE HOLE EVALUATION even a hole on a aJ I reto be programmed. Before that, cutselected, speeds and applied, the best setup and many other must be resolved. Regardless of exact start with a thorough evaluation relates to the drawing data. will usudefine the material to machined, the hole location its dimensional Holes are often described, rather than dimensioned the programmer has to lhe missing details. 26-} shows a medium cornDlexity hole that can be using a CNC machine. , / 1"", . ., . . . . . . . ." How many tools will be needed? What about center drilling to maintain exact location Is the spot drill a What about drilled hole for lapping? What about the hole trdtl'r"'"I'J>(O What about ... ? • Tooling Selection and Applications on the drawing information alone, it may seem only two tools will be needed to program this hole. In reality, the implied information must interpreted - it is not the the drawing to how to machine the hole - only the hole requirements related to functionality and A CNC machinist will most likely four tools machining are selected, tool could be a 90° spot drill, followed up by the tap drill. the through-the-hole drill and finally, tap. A center drill may instead of the spot drill, but an additional tool will be to chamfer the hole at the top. All choices to be sorted. For this example, the following four o Tool 1 • TO 1 • 90 0 spot drill (+ chamfer) o Toal2· T02 - o Tool 3 - T03 LJ Tool 4 - T04 - 7/16·14 UNC tap Utap drill are used: ,VJ .•>UUI 5/16 drill (through the 1'TI,n.,,,',,,,, Tool f - 90 0 Spot Drill Xy 1020 26·1 Evaluation of a single hole - All the relevant information is in the but some is needed. details and hole location X3.SYS.0 was in the drawing, as -mild program will La top face of part. and tapping operaare obvious, but is that all there ta know? L The fust tool will be a 90° spot drill. Its is duaJ - it will act as a drill and starts up at a highly A center drill or a drill are accurate XY more rigid tools than a twist drill and either one the hole, so the drill lhat follows not path (basic are purpose of the spot drill is its chamfering capabilities. The design of this allows a at the top of the hole, the chamfer to spot drill diameter is larger than the chamfer qulred. In this case, a 05/8 spot drill will be to chamfer the 07/16 hole. IJU"~l1""1II1U example 02801 191 192 26 is selected, its cutling calculated, not to chamfer for a tap size 07/16 (0.4375), to be enlarged by .015 (.03 on diameter), to the .4675 chamfer diameter. shows the relationships of the hole to the tool ters and 26-2 what purpose is the tap Not all done the same way. Some jobs a loose fit, others a fit. The fit for the tap is by Ihe of the tap drill. Mosl tapping applications into the 72-77% full thread depth category. In this case, T02 (letter U drill) will yield approximately full thread depth. of the thread found in catalogues all tap manufacturers. for the 7/16-14 tap: these are the ......~ -.....,,....... 00.625 SPOT 0.015x45" 0.2338 or Z-O. 2338 Drill point length is 3/8 .3750 67% v .3770 65% stock, 75 to 80% the bolt by only for the depth of cut will diameter (0 x programmed Z depth the tap drill has to be deep to guarantee the full thread depth of .875. means the full diameter of drill has to reach a little deeper, for example, to That allows the end c.hamfer length of the tap (0 the full lap depth of specified in the shows the lap drill values graphically. .4675 I 2 .4675 x .5 75% thread depth is recommended, for 100%. A thread (hat Figure 26-2 Spot drill operation detail TD 1 in program 02601 or .3680 In genera] terms, for thin 00.4375 TAP :--....,. .~ 00.4675 CHAMFER ii-"--<-'l······ Note, that for a 90° one half of the u .23375 later in this chapter. Tool 2 • Tap Drill (U) will have to be a drill. In the exused the job - one the the other one for lap is - which one first? f I 0.975 II certainly does matter drill is programmed first. The key here is the the two drill diameters. It is a very small only .0555 measured on diameter, in fact. a machining point of view, it makes sense to use the larger drill first, than the smaller drill. The tap drill is larger than the through hole drill, so the will be the lap drill If drill is programmed firs!, the larger drill that produce an inaccurate hole, due to a very small amount material to remove. 1.5 26·3 drill Now comes the question of question is called a tap It is hole of proper size the lap that machining operation detail- T02 in program 02601 In will create a depth) that can be of operations. tapping, it makes a actual programmed depth for the tap drill will have to into consideration one more factor ~ drill poim lenRth. drill or - 1001- point length is abbreviated as or just by the letter P. This Cmlp[(~r MACHINING table showing "" ... r"'1:" mathematical constants to calculate drill point most common constant uses the drill diameter by .300, a 1180 drill point angle: (.975+.111), will provide the 1.086. Adding the two pro.grammed Z TODIJ - most through-hole applications, this value will not be - some extra clearance has to be added, applied to the tool penetration (breakthrough), say fifty (.050). The programmed value for the Lotal drill (absolute Z value in the program) is the sum of nominal hole length, plus the tool point angle length, the clearance. In the program amount the through drill depth will be: UJVIUi)<1' 1.5 + .094 + .05 DrjJJ L 644 or Z-l. 644 iJ!fiJeprognJm The next tool is a tool that drills the hole through the mao teriaJ. In the example, it is 1'03 (tool 3), a 05116 standard drill. As for the cutting depth of through drill. some simple calculations are needed. do the calculations, Ine required hole depth known, which is 1.5 inches in example. Then, the calculated drill can be added to the drill clearance. to be made. Re~ been used to predrill an means a smaller tool of 0.3125 is hole. The drilling can start from than from a clearance above the part. R value is used and selected at R-0.986, 100 above the bottom of the ing hole. 10014· drilling operation are il- The '-.;<lII.,.UIC.ll 6 There is one more tool left to complete this example. It will be for 7/16-14 thread. The thread as specified in is 7116 nominal diameter with 14 threads (1114::::: .0714 pitch). Anytime a tapping tool is in the program, watch the programmed depth along the Z particularly in a blind or semi-blind hole. The a semi-blind hole, because the the tapped hole. If there were through-hole is no through-hole, we would have a blind hole (solid bottom). and if were the same size as the tap drill, we would through hole. = THRU 1.086 1 for the Z depth calA through-hole is culation, closely hy semi-through hole. A blind hole has very little latitude, if any, and has to be programmed with a maximum care. ~. P = 0.094 Figure 26-4 drill operation detail- T03 in program 02601 First, evaluflte the drill point length P It is relationship of two given values - the drill drill pOint angie. For a standard 05116 that has 118 0 drill point angle, the 0.300 constant is used length of the drill point Pis: P .3125 x .300 = .09375 = .0938 the through hole in the example, 1.5 inches calculated depth to the .094 The example drawing for the hole for the tap depth of .875 inches. This is the full depth the thread. Full depth of a thread is the actual distance a screw or a nut must travel before stopping (before programmed depth is, if fact, an exteruled depth, which must be greater than the theoretical depth, in to calculate the length of the chamfer design (its type in the tapping Zdepth is and can be optimized not a calculation but an 'intelligent nOI much that can be done and This completes the section on tooling a typical hole and provides enough data to Some of the procedures used in the now be explained in more detail. • Program Data In the example, only one hole is machined. If more holes the following are needed, they can be added by the program inprogram. For one hole llsed in the cludes all considerations for spindle should be empty at the 02601 <SlNGLE HOLE EXAMPLE) DIA - 90 DEGREE SPOT Nl G20 N:2 G17 G40 GSO '1'01 N3 1406 N4 G90 G54 GOO X3.5 Y5.0 S900 M03 '1'02 N5 G43 ZO.l HOl MOB N6 G99 GS2 RO.l Z-0.2338 P300 F4.0 N7 GSa ZLO M09 N8 G28 ZL 0 MOS N9 MOl ma drilling is a removal of same material removal is (on milling systems) or by turning sysu~rns). In either case, a a application is possible. loose sense word. drilling operations also cover the extended areas of reaming, tapping and single point Many programming principles that apply to drilling lions, can be equally applied to all the related operations. • Types of DriUing Operations The drilling {",\"'~'r':lrl{"'\n is determined by either the By the type of - LE'TTER U DRILL - 0.368 DIA - .... ~~J NlO '1'02 Nll M06 Nl2 G90 G54 GOO X3.5 YS.O S1100 M03 T03 Nl3 G43 ZO.l H02 MOS Nl4 G99 G83 RO.l Z-1.086 00.5 F8.0 Nl5 G80 Zl.O M09 Nl6 G28 Zl.O M05 Nl7 MOl (Tal Nl8 '1'03 By the type of hole: Center drill Through hole Spot drill Chamfered hole Twist drill (HSS, cobalt, etc,) Semi-blind hole Spade drill Carbide indexable drill Special drill DRILL THROUGH - 0.3125 i " .....= Blind hole Premachined hole II ... • Types of Drills N19 M06 N:20 G90 GS4 GOO X3.S YS.O 81150 MO] N:21 G43 ZO.l H03 MOS N:22 G98 G81 R-O.9B6 Z-1.644 FB.O N:23 GBO Zl.O MOg N:24 G28 Zl.O MOS N:2S MOl ('1'04 TAP) N:26 '1'04 N:27 M06 N:28 a90 G54 GOO X3.S Y5.0 S750 MOl '1'01 N:29 G43 ZO.4 H04 M08 NlO G99 G84 RO.4 Z-0.9 F53.57 (F = S x LEAD) Nll GSO GOO Zl.O M09 Nl2 G28 Zl.O M05 N33 GOO X-l.O Y10.O (PART CHANGE POSITION) Nl4 mo and by their oldest most common is aJwist drill, usually made of high Twist drill can also be of cobalt, carbide materials. Other drill deinclude spade drills, center drills, spot drills and indexable insert drills. distinction in size is not only between metric and English drills. but also a finer distinction within the category using English All drills are designated in millimeters. Since the (imperial) dimensioning is based on inches (which is dimensional unit), finer distinctions are dimensions of standard drills in English units are divided groups: Drills are o FRACTIONAL SIZES: % This rather "'.... '''.un,''"' single hole gramming of hole or the rype shows that even a simple and a great deal of DRILLING OPERATIONS 1/64 minimum, in diameter increments of o NUMBER SIZES: Drill o SIZES: Drill a good lIlustration of what The example 02601 kind of programming machining conditions are neceslook at the details of drillsary for a Iypical hole. ing operations in t:Tpnpr"" as they relate 10 various lools. number 80 to drill size number 1 letter A to drill size letter Z Metric do not need any special U''''Ll' ",LJ'U" ,,,,. English a listing of the standard drills and mal equivalents is available from many sources. MACHINING HOLES • 195 Programming Considerations -. A standard drill has, regardless of size, two important features - the diameter and the point angle. The diameter is selected according to the requirements of the drawing, the tool point angle relates to the material hardness. They are both closely connected; since the diameter determines the size of the drilled hole, the tool point angle detennines its depth. A smaller consideration is the number of flutes, which is normally two. • Nominal Drill Diameter The major consideration for a drill is always its diameter. Normally, the drill diameter is selected based on the information in the drawing. If the drawing calls for a hole that needs only drilling and does not need any additional machining, the drill is a standard drill. Its diameter is equivalent to the size specified in the drawing. A drill size of this kind is called a nominaL or 'off-the-shelf' size. Most applications involve holes that require other specifications in addition to their diameter - they include tolerances, surface finish, chamfer, concentricity, etc. In those cases, a single regular drill cannot be used alone and still satisfy all requirements. A nominal drill alone, even if the size is available. will not guarantee a high quality bole, due to machining conditions. Choosing a multitool technique to machine such a hole is a better choice. The normal practice in those cases is to use a drill size a bit smaller than the final hole diameter. then use one or more additional tools, which are capable of finishing the hole to the drawing specifications. These tools cover boring bars, reamers, chamfering tools, end mills and others. Using these tools does mean more work is involved, but the quality of the finished part should never be traded for personal conveniences. During the cut, the drill angular end will be gradually entered into the part, creating an increasingly larger hole diameter, yet still smaller than the drill diameter. At the end, (he largest machined diameter will be equivalent to the effective diameter of the drill used. The effective drill diameter defines the actual bole diameter created within the zone of the drill end point. Typical use of this kind of machining is a spot drilling operation for chamfering. The spindle speed and feed must be calculated according to the effective drill diameter. not the full diameter. The rlmin for the effective diameter will be higher and the feedrate lower than the corresponding values for the nominal drill size. For this kind of jobs, selection of a short drill for rigidity is advised. Drill Point length • The second important consideration is the length of the drill point. This length is very important to establish the cutter depth for the full diameter. With the exception of a flat bottom drill, all twist drills have an angular point whose angle and length must be known in programming. The angles are considerably standard and the length must be calculated rather than estimated. because of its importance to the accurate hole depth - Figure 26-6. --j 00 r- <ttj> j 1 Y QJO ::: Drill diameter A :;;: Tool point angle p ~I p ::: Tool point length Figure 26·6 Tool point length data for a standard twist drill • Effective Drill Diameter In many cases, a drill is used to penetrate its/ull diameter through the part. In many other cases, only a small portion of the drill end point is used - a portion of the angular drill tip - Figure 26-5. NOMINAL DRILL DIAMETER On indexable insert drills this length is different, due to the drill construction. The indexable drill is not flat and its drill point length must also be considered in programming. A tooling catalogue shows the dimensions. The drill poinllength can be found quite easily. providing the diameter of the drill (nominal or effective) and the drill point angle are known. From the following fonnula and the table of constants, the required drill point length for standard drills can be calculated. Basic fonnula is: I J PROGRAMMED DEPTH (P) tan ( 90 - J EFFECTIVE DRILL DIAMETER Figure 26·5 Nominal and effective drill diameters (tvvist drill shown) p == - A 2 2 ~ where ... p A 0 = = = Length of the drill point Included angle of the drill point Diameter of the drill ) x D 1 same formula can be mathematical constant (fixed and used with a drill point angle): P ::::: Drill point length K = Constant (see the following table) o = Drill diameter most common constants are listed in this table: Tool Point Angle (degrees~ Constant 60 ,866025404 82 ,575184204 .575 90 ,500000000 .500 118 30310 .300 120 75135 .289 125 83525 .260 130 53829 135 ,207106781 .207 140 .181985117 .180 145 .157649394 .158 150 133974596 .134 The constant in is value is sufficient all programming value of the constant K value is .300430310. constant value advantage of being easy to memorize and there is no formula to solve. For most johs, only three constants are For 90° (spot drilling materials), 118 0 (standard materials), They are easy to memorize: and 135 0 (hard o 0.500 o 0.300... o 0.200 for a 90 0 drill angle a 118 • 120 drill angle 0 0 for a 135° drill angle • Center Drilling Center drilling is a machining that provides a small, concentric opening for a tailstock or a pilot drill. Chamfering is not recommended hole for a a center 11. because of the 60° of the tool. The most common tool center drilling is a center drill (often called a combined drill and countersink), producing a 60° angle. North American trial standards use a numbering system from #00 to (plain type) or #11 to # 18 (bell type) for center drills. In metric system, center are defined by the pilot for example, a 4 mm center will have the pilot meter of 4 mm. In cases, the higher the number, the the center drill For some at ions. such as a tool with a called a spot drill, is a choice. Many programmers estimate the depth of a center drill, rather than calculate it. Perhaps a calculation is not necessary for a operation. What is a ......"VJJ,.v ..... compromise guessing and calculating is a in Figure 26-7. similar to D D1 Figure 26-7 Standard cemer drill cutting depth table· #1 to #8 plain type L is the of cut for an arbitrary effective diameter D are all dimensions for size center drills. most important of them is cutting depth L. Its calculation been D. on an arbitrary selection of the #5 center drill has the depth value L that is based on an arbitrarily chamfer dia· meter D inches. These values can be modified as or a different table can be A similar table can for metric center • Through Hole Drilling a hole through the common oprequires the Zdepth to materia] thickness, drill poiot length and an extra clearance beyond the drill penetration point, also known as the breakthrough amount. MACHINING HOLES 197 1.25 + (.750 x .300) = 1.4750 part program, the block will F C P N93 GOl Z-1.475 Fo.O or - in case of a fixed N93 G99 GS5 XS.75 Y8.125 RO.1 Z-1.47S F6.0 1 I F I T p Metric holes are treated exactly the same way. example, a 16 mm drill is to full diameter depth of 40 nun. The calculation uses the same constant as the In units: 40 + (16 x .300) = 44.8 The depth Figure 26-8 Drill depth calculation data Through hole (top) and Blind hate (bottom) in the drawing will have to ex- tended by the calculated drill point length. programmed block will have the Z axis value equal to the total of the 40 mm specified depth, plus 4.8 mm calculated point length: In Figure is shown {hat the programmed for a through hole is the stun of the material thickness that is equivalent to full diameter depth F, plus the breakthrough clearance C, plu~ tool point length P N56 GOl Z-44.8 F150.0 example, if material thickness is one inch and standard dril1 diameter D is of an inch, programmed including a .050 clearance, will be: NS6 G99 GSl X21S.0 Y175.0 R2.5 Z-44.8 FlS0.0 1 + .050 + x • 1. 2375 Pay attention to table, vise, leis, fixture, machine table, when programming the tool breakthrough clearance. There is usually a very space below bottom face of parI. • Blind Hole Drilling major difference between drilling a blind hole and a drill does not penetrate the material. through hole is that Blind hole drilling not present any more problems than a through hoJe drilling, but use a peck drilling method for holes. Also a choice of a different drill geometry may the and the hole cleanup may often be necessary as well. In a shop depth of a blind hole is given as thefull diameter depth. The drill point length is not normally considered to be part of the depth - it is in addi· rion to specified depth. In Figure 26-8, the programmed depth a blind hole will the sum of full diameter depth P, plus the point length P. an example, if a drill (0.750) is used to drill a full diameter hole depth of ] .25 of an inch, the prodepth be: If the depth appears in a fixed the same depth value will be used, although in a different format: When machining blind holes, the cutting chips may clog the holes. This may cause a problem, especially if is a operation on the hole, for example, reaming or tapping. Make sure you include a slop code MOO or MO I before this operation. if the program is hole will have to be cleaned every ·-executed. Otherwise, more efficient optionaJ program Slop MOl is sufficient. • flat Bottom Drilling bottom hole is a blind hole a bottom at 90° to drill centerline. are two common methods of programming a hole. A good practice is to use a standard drill to start the hole, use a flat bottom drill of same diameter and the hole to full depth. Also a good choice is to use a slot drill (also known as the center cutting mill), without predrilling. This is best method, but some tool may not be To program a flat bottom hole using a slot drill is quite simple. For example - a 10 mm hole should be mm deep (with a flat bottom). Using a 010 mm slot drill, the program is quite short (tool in spindle is assumed): 02602 (FLAT ~ - 1) N1 G21 N2 G17 G40 GBO N3 G90 G54 GOO X.• Y.. 5850 M03 N4 G43 Z2.5 HOl ~e 198 N5 GOI Z-25.0 F200.0 N6 G04 XO.S N7 GOO Z2.5 M09 NB G28 Z3.0 MOS N9 M30 % A fixed cycle could be used instead and other improvethe is correct as is. ments added as well. next example shows a program for two tools a 112 standard drillllnd a 112 inch flat bottom drill. The required finished depth is Z-0.95 at the flat bottom: 02603 (FLAT BOTTOM - 2) ('1'01 - ~ INCH STANDARD DRILL) Nl. 020 N2 017 G40 G80 '1'01 N3 M06 N4 G90 G54 GOO X .. Y•• S700 M03 T02 N5 043 ZO.1 HOI M08 N6 G01 Z-O.94 F9.0 N7 GOO ZO.l M09 N8 G28 ZO.l N9 MOl ('1'02 - ~ INCH FLAT BOTTC'IM DRILL I END MILL) Nl.0 '1'02 NIl M06 Nll G90 G54 GOO X.. Y.. S700 M03 '1'01 Nl.3 G43 ZO.l HO.2 MOS Nl4 GOl Z-0.74 F15.0 Nl.5 Z-0.95 '1!7.0 NI6 004 XO.S Nl.7 GOO ZO.l Ma9 Nl.B G2B ZO.1 MOS Nl9 mo % are three blocks special in program 02603. first block is N6, indicating the depth of standard The drill stops short the full depth by .010 an inch. Z-0.94 is programmed of the A little experiment as to how short may be worth it. A reason for not drilling to full depth with the standard is to prevent possible mark at the hole center. The other two blocks appear in the second tool of the gram - blocks N] 4 and N 15. In block N 14, the flat bottom drill at a heavier to depth of only .740 inches. That makes sense, as is nothing to cut for the flat bottom drill for almost of an inch. Follow the calculation of the 0.740 intermediate depth from this procedure: From the total depth of .94 cut by the standard drill (TO 1), su blracl the length of the tool point P. That is for a 118 0 drill point angle 0.5 drill. The is .79. the result. subtract .05 for clearance, and the is the Z value of Z-0.74. In the block N15, the flat bottom drill removes the material left by TO I, at a suitable CUIting feedraLe, usually programmed at a slower rate. Chapter 26 From the machining viewpoint, programming a center drill or a spot drill first to open up the hole may be a better choice. This extra operation will guarantee concentricily for both the standard drill and the flat bottom drill. Another possible improvement would to use a suitable end mill instead of a flat bottom drill. An end mill is usually more rigid and can do the job much better. • Indexabla Insert Drilling of great productivity improvement tools in muLlem machining is an indexable insert drill. drill uses carbide inserts, like many tools for milling or It is to drill holes in a solid material. It does not center drilling or spot drilling, it is with high spindle speeds and relatively slow feedrales and is available in a variety of sizes (English and metric). In blind most cases, it is used for through holes, holes can be drilled as well. This type of a drill can even be used some light to medium boring or facing. The of the indexable driB is very precise, assuring constant rool length, as well as elimination of regrinding dull tools. Figure 26-9 sbows the cutting portion of a typical indexable drill. r, D = DRILL DIAMETER H = DRILL POINT LENGTH Figure 26-9 CUffing end of a typical indexable insert drifJ In the illustration, D of drill is the hole produced by the drill. The point length H is defined by the drill manufacturer and amount is listed in the toolcatalogue. example. an indexable drill with the D of 1.25, may have the H tip length .055. The indexable drill can be used for rotary and stationary applications, vertically or horizonlally, on machining centers or lathes. For penormance, coolant should be through the drill, particularly for tough materials, sure The coolant not only long and horizontal disperses the generated heat, it also helps flush out the chips. When using an indexable insen drill, make sure is power at the machine The power requirements at the spindle increase proportionally with indrill diameters. On a machining center, the indexable drill is mounted in the machine spindJe, therefore it becomes a rotating tool. In used in a spindle this the drill should MACHINING HOLES runs true - no more than .0 J0 inch (0.25 mm) (Total Indicator Reading). On spindles that have a quill, try t6 work with the quill spindle, or extend it as little as possible. Coolant provisions may an internal ant, and special adapters are available for through the hole cooling, when drill is on machining centers. On a CNC lathe, the indexable drilling tool is always stationary. correct requires (he drill is tioned on the center and concentric with the spindle centerline. concentricity should nol exceecl JlO') inch (0.127 rom) T.l.R. exercise care when operation starts on a ""rl'",..,. that is not flat. For use 1IIU't;)I.<l.UU::; drills on surfaces that are 90" to the drill axis (flat Within the drill can be used to enter or exit an inclined, uneven, concave, or convex quite successfully. The may to be reduced the duration of interrupted cut. The 26-/0 shows the areas the feed rate should be slower. 199 PECK DRilLING Peck drilling is aJso interrupted cut drilling. It is a drilling operation, using the fixed cycles G83 (standard peck drilling cycle) or G73 speed peck drilling cycle). The difference between two cycles is tool retract method. In the retract each peck will be to the R (usually the hole), in there will only be a relract (between .02 and .04 inches). Peck drilling IS often used for holes that are too deep to drilled with a single tool Peck methods standard several opportunities to improve techniques as well. Here are some possible uses of drilling methods for machining holes: o Oeep drilling o Chip - also used short holes in materials o Cleanup of chips accumulated on the flutes of the drill o Frequent cooling and lubricating of the drill cutting o Controlling the drill penetration through the material In all cases, the drilling motions of the an cut can be nrf'l,n .. ",rrlT1nt>t1 by specifying the Q address value In the peck. value specifies the actual depth the Q the more pecks will generated vice versa. most deep hole dril1ingjobs, the exact number pecks is not important, are cases when the pecking cycle needs to be • Typical Peck Drilling Application Uneven entry or exit surface for indexable drills feedrate: F :::: normal feedrate, F/2 reduced feedrate (Dne half Df F) For majority of drilling applications, the peck drilling depth Q needs to be only a reasonable depth. For a hole (with depth at 1 inches at the tool tip) is drilled with a .250 diameter drill and depth. cycle may programmed like this: Nl37 G99 GS3 x .. Y.. RO.l Z·2.125 QO.6 F8.0 In the illustration, the F identifies area that is cut with the feedrate (normal entry/exit), and the indicates the area that requires a reduced For the feed rate , programming one haJf normal is sufficient In illustration, the a shows a lilted surface (inclined the b shows an uneven surface, the c and d show convex and concave respectively. These programming values are reasonable for the hand - and that is that matters. For most jobs, the is not too • Calculating the Number of Pecks If the number of pecks the G83/G73 cycle will is knowledge of how important, it has to be calculated. Q a given tomany pecks will result with a depth is usually not important. If the program is running efficiently. there is no need for a modification. find out how pecks the G83/G73 will generate, it is important to know total distance the drill travels tween the R level and the Zdepth (as an incrementa! value). It is equally imponant to know the peck depth Q value. Q divided into the travel is the number of pecks: 200 26 result 1.339/3 is -a that to be rounded to the maximum of four decimal places (English units). Mathematically correct rounding to four decimal places will be Follow individual peck depths to see what will happen: Ilir' where ... Pq Td a Peck 1 Peck 2 Peck 3 Peck 4 Number of pecks ::::: Total tool travel distance = Programmed peck depth For example. in following GR1 N73 G99 Ga3 x .. Y•. RO.12S Z-1.225 00.5 F12.0 divided by .$00, distance is 1 pecks can onty Since the which yields positive, the nearest higher integer will be the actual number of pecks, in this case 3. • Selecting the Number of Pecks Much more common is the programming of a If only a certain number of pecks will do number of the job in the most efficient way. Q value has to be calculated Since the Q value specifies·the depth each peck not number pecks, some simple math will be nccd~d to select the depth Q. so it corresponds to the number of For example - we require 3 pecks in the following cyclewhat will the Q depth N14 G99 G83 x •• Y.• RO.l Z-1.238 0 •• F12.0 The total drill travel from the R to the Z depth is 1.338. To calculate the depth Q value, the new one: mula is similar to the .4463 .4463 .4463 .0001 accumulated depth accumulated depth accumulated depth .. . accumulated depth .. . .4463 .8926 1.3389 1.3390 will be four pecks and the last one only cut .0001 - or practically nothing at alL those cases, where the last cut is very small and inefficient, always round the calculated Q upwards, in this case to the minimum of .4464 or even to .447: N14 G99 Gsa x.. Y.. RO.l Z-1.239 00.441 F12.0 Always remember, cutting tool will never go past depth in a very programmed Z depth, but it could reach inefficient way that should be corrected. • Controlfing Breakthrough Depth Less frequent programming method, also very powerful, the breakthrough is to use the peck drilling cycle to of tbe drilllhrough the material, regardless of the drill size or material thickness. Here is some background. In many the tough materials, when the drill starts tom of the part (for a through hole), creates potentially the tendency difficult machining conditions. The drill to push the materia! out rather than cut it This is most common when the drill is a little dull, the material is tough. or the feed rate is fairly adverse conditions are also the lack luthe result of heat generated at the drill brication reaching the drill cutting edge, worn-off flutes and several other factors. The solution to problem is to relieve the pressure when it is about halfway through the hole, but not completely through 26- J I, r- IGi' where a =: Programmed peck depth Td p. ::::: Total tool travel distance Number ofrequ ired pecks Using the above formula, the result I QO.446: Therefore, G83 block Q depth will RO.1 is .446. N14 G99 G83 x .. Y•. RO.l Z-1.238 QO.446 F12.0 No rounding is necessary in this case. Now, look at another situation, where has very slightly: have a distance N14 G99 Gal x .. Y•. RO.l Z-1.239 Q.. F12.0 00.925 0.75 I I 0.05 J .~ . ::::::~¥~~. ;::~ Z-0.825 P =0.15 Figure 26-11 Controlled breakthrough of 8 hole using 683 peck drilling cycle MACHINING Peck drilling cycle G83 is great for it, but the Q depth eulalion is extremely important. The total number of peeks is not important, only the last two are for this with the drill pose. To control the problem tration, only two peck motions are needed. illustration sllOws tile two positions a 0112 dril1 drill through 113/4 thick plate. most jobs, a hole requires no special treatment. Just one ctrt through (using G81 cycle) and no drillLet'S/evaluate Ihe solution to situation. The has point length of .300 x .500 = .1 Take one half (.075) of the drill point length as the first amount, which will bring the drjl\ .075 below the 3/4 thickness, to (he Z depth of Z-0.825. This depth has to be reached with value of{he Q depth. in mind that the from the R Q depth is an incremental value, level, in this case RO. J. That specifies the Q depth as QO.925 (.100 above .825 below ZO). The Z depth is the final drill depth. If .05 added below the plate, the Z depth will be the sum of the plate (.05) and tbe drill point thickness (.75), the (.150), the program value of G99 Ga3 x .. Y.. RO.1 Z-O.9S QO.925 F •. does not only solve a particular job related problem, it also shows how creativity and programming are complementary terms. REAMING The ream operations are very to the drilling operations, at least as far as the programming method is concerned. While a drill is used to make a hole (to open up the hole), D reamer is used to enLarge an existing hole, Reamers are either cylindrical or tapered, usually deof different configurawith more than two tions. of cobalt, carbide with brazed carbide lips. reamer design has its advantages and Carbide reamer, for example, has a resistance to wear, may be not economically justified every hole. A high speed steel reamer is economical, but wears out much that a carbide reamer. Many jobs do nol accept any compromise in the tooling selection and cuning 100\ has to selected correedy for a given job. Sizing and finishing such as a reamer, have to be even more carefully. Reamer is a sizing tool and is not designed for removal of heavy stock. During a reaming operation, an existing hole will be - reamer will an existing hole to close erances add a high quality finish. Reaming will not guarantee concentricity of a hole. holes requiring both high concentricity and tight center drill or spot drill the hole firsl, then drill it the normal then rough bore it and only then finish it with a reamer. 201 A reaming operation will require a coolant to help make a during cutbetter quality finish and to remove ling. Standard coolants are quite suitable, since there is not very much heat generated during reaming. The coolant also serves in an additional role, to flush away chips from the part and to maintain surface finish quality. • Reamer DeSign In terms of design, there are two of a reamer that have a direct relationship to the CNC machining and programming. The consideration is the flute design. Most reamers are designed with a left-hand nute tion. This design is suitable to ream rhrough holes. During the the left-hand flute the to the bottom of the an empty space. holes that have to be reamed, the len-hand type of a reamer may not suitable. other factor of the reamer design is the end chamfer. to enter an existing hole that i5> ~till without a reamer end chamfer, a allowance is required. provides that allowance. Some reamers also have a short the same purpose. The chamfered taper at their is sometimes a 'beveUead'and its chamfer an 'attack angle'. Both have to he considered in programming. In • Spindle Speeds for Reaming Just like for standard drilling and other operations, the spindle speed for must closely of material being Olher factors, such to the as the part setup, its rigidity, its and surface finish of the completed hole, etc., each contributes to spindle rule, thc spindJe speed for will reasonable use a modifying factor .660 (213), based on the speed used for drilllng of the same material. example, if a speed of 500 r/min produced drilling conditions, the two thirds (.660) of that reasonable for r",,,,rn,,..,,,· 500 x .660 = 330 r/min Do not program a reaming motion in the reversed spindle rotation - the cutting may or dull. • Feedrates for Reaming The reaming are programmed higher than those used for drilling. Double or triple are not unusual. The purpose of the high feedrales is to force the reamer to cut, rather than to rub the material. If the is too slow, the reamer wears out rapidly. slow feedrates reamer actually tries to encause heavy pressures as the hole, rather than remove stock. 202 Chapter 26 • Stock Allowance SINGLE POINT BORING material left for must be smaller (undersize) than pre~drillcd or pre-bored hole - a logical requirement. Programmer decides how smaJler. A stock too small reaming causes the premature reamer wear. Too much stock for reaming the and the reamer may break. A hole to be A good is to about 3% of reamer diameter as the stock allowance. This applies to the diameter· not per side. For example, a 3/8 reamer (0.375), will well in most conditions if the hole to be has a diameter close to .364 inches: .375 - (.375 )( 3 / 100) .36375 '" .364 Most often, a drill that can machine the required hole diameter exactly will not be available. That means using a boring to the hole reaming. It also mean an extra cutting tool, more setup program and other disadvantages, but the hole quality will be worth the In cases, for materials some of the the allowance left in the hole is usuaJly decreased. • Other Reaming Considerations general approach for is no different than for other operations. When drilling a blind hole, reaming it, it is inevitable that some chips from drilling remain in the hole and a smooth reaming operation. Using the program stop function MOO before the reaming operation allows the operator to remove all the chips first, for a dear entry of reamer. Another sizing operation on holes is called boring. jng, in the sense of machining is a point-to-point operation along the Z only, typical to CNC milling maand machining centers. It is also known as a 'single " the most common lool is a boring bar that only one CUlling edge. Boring on lathes is considered a contouring operation and is nol covered in """"'V<~' (see Chapters 34-35). Many jobs requiring precision holes that have previously done on a special jig boring cannow done on a machining center, using a point boring (001. modern CNC machine tools are manufactured to very high accuracy, particularly for the positionmg repeatability - a proper tool and its application can produce very high quality holes. • Single Point Boring Tool As for practical purpose, a point ishing, or at a semijinisi1il1g, operation. is to enlarge - or to size - a hole that been drilled, punched or otherwise cored. boring 1001 works on the diameter the hole is to produce the desired hole diameter, within often with a quality surface finish as well. Although is a variety of of boring tools on the market, the single point boring lool is usually designed the cartridge type inserts. These inserts are mounted at end of the holder (i. e., a bar) and have a built-in micro adjustment fine of boring diameter Figure 12. The reamer size is always important. Reamers are often made to produce either a press fit or a slip fit. These terms are nothing more than machine expressions certain tolerance ranges to the reamed hole. Programming a reamer a fixed Which cywill be the most suitable? is no reaming cycle defined Thinking about the traditional machining plications, the most accepted reaming method is the feed-in moandfeed-out method. This method requires a lion to remove the material from the hole, but it rea motion back to the starting position, [0 maintain the hole quality - its and surface finish. It may be tempting to program a rapid motion out of a reamed hole to save cycle lime, but often at the cost of quality. For the best the feed-out of reamed hole is necesSuitable cycle available for the is which permitsJeed-in and feed-out mOlions. cutti ng feedrate of the cycle will the same for both motions. Any feedrate will both motions - in. and out. D ::: EFFECTIVE Figure 26-12 Effective diameter of a single polflt boring too/ same programming techniques are applied to the boring bars of other designs, for example, a block tool. A block (001 is a boring bar with two cutting J 80° If adjusting mechanism for the diameter is not available on the tool holder, the effective boring diameter must preset, using a special equipment, or slow but true tried trial-and-error method. trial and error selup is not that unusual, considering the setup methods that are available for a single boring bar. MACHINING HOLES Just any other cutting tool, a single point boring achieves the best cutting results if it is short, and run'S concentric with spindle centerline. One of the main causes of bored holes is the boring bar deflection, applying equally to milling and turning. TIle 1001 tip (usually a carbide bil), should be properly ground, with suitable cutting CfPr'rnF'I ...... ' and position of the in the spindle or its orientation - is very important many boring operations on machining centers. • Spindle Orientation Any round tool, such as a drill or an end mill, can enter or exit a hole along the Z with IiUle programming considerations for the hole quality. Neither of the tools is holes that high quality finish close tolerances. \Vith boring, the hole surface integrity is very important. Many boring operations that the cutting tool not the hole during retract. retracting from a almost always leaves some marks in the hole, special methods retract must be There is one such method - it uses cycle G76 or G87 with the dIe orientation feature of the a shift boring tool away from the finished surface. feature was already described in Chapter 12, so just a reminder now. The sale purpose of spindJe orientation is (0 replace tool holder in exactly the same position after each tool change. Without orientation, the tool tip will stop at a random position of circumference. Orienting spindle boring purposes is only one half of the solution. The other is setting position of the boring is a responsibility of the operator, since it has to be done setup at the machine. The boring bar cutting must set in such a way that when shift place in fixed cycle or it will into direction away from the finished hole ideally by the vector relative to the angle of the orientation 26-13. When machine is oriented, it must be in a slopped The cannot rotate during any machining operation that requires a spindle shift. Review descriptions of the fine boring fixed cycle G76 the boring cycle G87 Chapter 25. Machine operator must alwnys know which way the spindle and into direction lool shift actually moves. Programming a bored hole that will later and straightness of finished hole. surface finish the bored is not too important If the boring is the last machinmg operation in the hole, the are that the surfinish be very important It is difficult to retract the boring lool without leaving drag marks on the hole cylindrical that case, select a suitable fixed probably the precision boring cycle G76 is the r~"'""';"e the boring bar only to assure the • Block Tools When using a single point boring bar for roughing or semi finishing operations, there is an oplion lhat is more efficient. This option also uses a boring tool, one that has two cutting (180 0 opposite) instead of one - it is called a block tool. Block tools cannot be used fine finishing operations, they cannot shifted. The only way of programming a block lool is within the 'in-and-out' tool motion. Several fixed cycles support this kind motion. All 'in at a specified On way 'out', some motions are feed rates, are rapid, depending on cycle selection. cycles that can used with block tools are G81 G82 (feed-in~rapid-out), as well as and that in and feeds oul while the machine spindle is rotating and another one, G86, when the tool retracts while is not The greatest advantage of a block lool is that can programmed for this tool. jf the feed rate for a single point tool is .007 per flute, a block tool it will be at least double .. 014 inches per flute or more. Block tools are generally available in from about 0.750 inch and CUTIING BIT A BORING WITH A TOOL SHifT There are two fixed cycles that require the tool shift away from the centerline of current bole. These cycles are boring G76 and G87. G76 is by far most useful both are illustrated in 02604. • Precision Boring Cycle G76 Figure 26-13 Single point boring bar and the spindle orientation angle Spindle orientation is factory designed fixed. grammer considers its length and, usually, its direction. The G76 cycle is used for requiring a high quality of the size and surface finish. The boring itself is normal, nn'"JP'lIpr the retract from the hole is special. The bar stops at the bottom of the hole an oriented position, away by the Q value in cycle and retracts back to the starting position, it shifts back to normal position. 204 26 G76 cycle has been described in detail in the previous chapter. In (his chapter is an actual programming exshown as a single hole in Figure 26-/4 mm. 12'27 '\ - - - - + - - CUTTING DIAMETER BODY DIAMETER BACK CLEARANCE - ««<-- Initial level .- 025 r I 30 ~:"""':"~::-==r=:=~~~~«<~. . . .~ R level Figure 26·15 Setup considerations lor a backboring roo/ Figure 26·14 Drawing for 676 and 687 programming example - program 02604 From the drawing. only the mm hole is considered, and the program input will quile simple: N .. G99 G76 xo YO R2.0 Z-31.0 QO.3 F12S.0 A hole bored with G76 cycle will have a high quality. • Backboring Cycle G81 • Programming Example In order to show a complete program. four tools will be used - spot drill (TO I). drill (T02) , standard boring bar (T03) and a back boring (T04). Program is 02604. 02604 (G76 AND GS7 BORING) (TOl 15 MM DIA SPOT DRILL - 90 DEG) Nl G2l N2 Gl? G40 GSO TOl Although backboring cycle some applications, it is not a common fixed cycle. the name suggests, it is a boring cycle that works in the reverse direction than other cycles· from the back oflhe part. Typically, the backboring operation starts at the bottom the hole, which is the 'back of the part', and the boring proceeds from the bottom upwards, in the Z positive direction. N3 MaG The cycle has described in the previous chapter. The Figure also shows a diameter of 27 mm, which will be during the same setup as the mm hole. This larger diameter is at the 'back side of the part' ) and it will be backbored, using the G87 mo TOJ Figure shows the setup of tool that will bore the 27 mm hole, from (he bottom of the hole, upwards. a attention to the descriptions. the diameter of In the illustration, the 01 smaller hole. and 02 the diameter of (he hole to be backbored. is always than 01. Always make sure there is enough clearance the body of the boring bar within hole at the hole bottom. N4 G90 G54 GOO XO YO 51200 M03 T02 NS G43 ZlO.O H01 MOS No G99 G82 R2.0 Z-S.O PlOO FI00.0 N7 GBO Z10.0 M09 N8 G28 Z10.0 MOS N9 MOl. (T02 - 24 MM DIA DRILL) Nll. M06 NlJ G90 G54 GOO XO YO 5650 M03 T03 N13 G43 ZlO.O H02 MOS Nl4 G99 GBl R2.0 Z-39.2 F200.0 Nl5 GSO ZlO.O M09 N16 G28 Zl.O.O MOS Nl7 MOl (T03 - 2S MM DIA STANDARD BORING BAR) NlB T03 Nl9 M06 N20 G90 G54 GOO XO YO S900 M03 T04 N21 G43 ZlO.O H03 MaS N22 G99 G76 R2.0 Z-31.0 QO.3 F125.0 N23 GSO ZlO.O M09 N24 G28 ZlO.O MOS N25 MOl (25 DIA) MACHINING HOLES 205 (T04 - 27 MM DIA BACK BORING BAR) N26 T04 N27 M06 N28 G90 G54 GOO XO YO 5900 MOl Tal ~9 part to accurately seated in hole by a bolt that has to on a nat surrace will require countersinking or spotfacing emtlon. All three operations require a perfect alignment with the hole (concentricity). Programming technique is the same for all three operations, except for the lOa I used. and feeds for these tools are usually than for drills of equivalent Any hole to enlarged must prior to these operations, ,'"p'T""''''' For G43 ZlO.O H04 MOS N30 G98 G87 R-32.0 Z-14.0 Ql.3 F12S.0 {27 DIA} N31 Gao Z10.0 M09 N32 G28 ZlO.O MaS N33 G28 XO YO N34 M30 % Make sure to follow all rules and gramming or setting ajob with or 087 in the 'Many of them are safely nru'nrF'f1 • Precautions in Programming and Setup The precautions for boring with a tool shift relate La a few special considerations thaI are realization the two cycles G76 and The following list sums up the mas! importam precautions: o The through boring must o The first boring cycle must be programmed all the way through the hole, never partially o For the G76 cycle, only a minimum Q value is required 0.3 mm or .012 inches} o For the cycle, the Q value must be greater than one half of the difference the two diameters: (D2·D1)12 == done the backboring == 1, plus the standard minimum Q (0.3 mm) o Always watch for the body of boring bar, so it does not hit the surface during the shift. This can happen with boring bars, small holes, or a large shift amount. o Always watch the body of the boring bar, so it does not hit an obstacle the part. Remember that the tool length o11set is measured to the cutting edge, not to the actual bottom of the boring tool. o G87 is always programmed in G98 never in G99 mode I!! o Always know the shift rllTI',r:ttrln and set the tool properly • Countersinking Countersinking is an operation that enlarges an existing hole in a conical to a depth. Countersinking for holes have to accommodate a conical bolt From all three similar operations, countersinking re, quires the most calculations for precision depth. Typical three o o degrees· the most common angle 90 degrees Other angles are also possible, but frequent. To the programming (lnd the required calculations, the cutting tool used must known first Fig. ure 26~J6 shows a typical countersinking A '- I L 26-16 Typical nomenclature of a countersinking tool ENLARGING HOLES An existing can also the top. enlarge an existing hole at the top, we can use one of three methods thal will an existing hole. These methods are common in every machine shop. They are: o o Countersinking C'SINK or CSINK on drawings Counterboring C'BORE or CaORE on drawings o Spotfacing S.F., or on drawings Ai! three machining methods will enlarge an existing hole, with one common purpose they will allow the fitting In the illustration, d is the countersink body A is countersink angle, F is the diameter of the lool nat (equal to z.ero for a sharp end), I is the body length. requires certain data in the Programming of a drawing. This information is provided through a de(leader/text) in the drawing, for .78 DIA CSINK - 82 OEG 13/32 DRILL THRU Chapter 26 is one challenge a countersink. countersink accurate. That 0.78 in the description. countersink angle is diameter can by carefully calculating lhe Z depth. That should not too difficult, because we can use the constant K for the tool poml length (described earlier in then calculate the culli depth, similar to drills. The problem here is thallhe constant K for a drill point always assumes a sharp poim at tool tip. Counters! tools do not always have a (except for some sizes). Instead, they a diameter of the F, specified in toor catalogues. countersink diameter, flat diameter, e is of the sharp Z-DEPTH is the programmed tool depth. In this case, the angle A is 82", the flat is 3116 (.1875). The diameter F as per the sharp end e can be Figure 26-17 illustrates an quirement, shown in II Iypical e .1875 x .575 e= 1 a re- process of calculation is lhe heighl e, for a given flat constants as applied to a = .866 .575 == .500 In [he illustration, D is A is the countersink Zdepth 0,625 enough. First, deterF. Use the stanlength: (K for 82" = .575) a a Z depth = .78 x .575 end will be: .4485 o Since that depth the height of has to be done to find out the Z depth, is to subtract from (he theoretical Z depth: o Z depth "" . 4485 o o 0.000 0.750 Figure 28-17 Programming <JY"'TJ"'J> of a countersinking operation Figure known and unknown counterdepth of a sinking countersinking o -.....; .1078 '" .3407 This is the programmed Z depth and the for the countersink in drawing may look Ihis: N35 G99 Ga2 XO.75 YO.625 RD.l Z-O.3407 P200 FS.O could be lowered, machined in the previous VIJ''''aUVlll_ Be careful level will most likely ways program the G98 command and a small for example, I: N34 G43 ZO.1 HO) M08 (0.1 IS INITI.JU, LEVEL) N3S G98 Ge2 XD.7S YO.625 R-O.2 Z-O.3407 P200 FB.O A • e Figure 26- 78 for calculating the Z depth of a countersink, D and F and the A Counterboring Counlerborlng is an operation enlarges an existing depth. Counterhole in a cylindrical shape to the for holes that have to accommodate a round It is often used on uneven or rough surfaces. or are not at 90° to boll assembly. As for the selection, use a tool specially defor this type of machining, or a suitable end mill In either case, the uses G82 fixed cycle. is always given) there depth of the are no extra calculations 26-19 a counterboring MACHINING DEEP Handling this programming problem is not difficult, once available options are evaluated. The options are two ,... ..""1"'\" .."1"'.... ' commands 099. used with fixed exclusively. Recall that command will cause the culling tool to return to initialleve!, the 099 comwill cause the cuuing tool to return to the R level. In practical programming. the command is used only in cases an obstacle between to be Figure 26-19 Programming example of a counterboring operation N41 G99 G82 X.. y" RO.l Z-O.2S P300 FS.O In counlerboring, if a relatively slow spindle speed and fairly heavy are make sure the dwell P in G82 cycle is sufficient. The rule of thumb is to program the double value or higher of the minimum dwell. Minimum dwell Dm For example. if spindle speed is programmed as 600 rfmin, the minimum dwell will be 60/600=:0. J. and doubled to 0.2 in the as P200. Doubling the minimum dwell value guarantees that even at 50% override, there will at least one full spindle that cleans the Many programmers to use a slightly for more than one or two revolutions at the REQUIRED 26·20 Tool motion direction between holes at rl.ffll"",.t heights Figure illustrates two programming possibilities, in a symbolic representation. The front of a stepped holes. On part shows direction of tool motion the left. the from one hole to the next cause a collision with the wall and 098 is safety. On the right, with no 098 is not and 099 the initial is usually done a clear where the Z value must tool location above all obstacles. A practical example of this technique is illustrated in Figure 26·2 J nnd 02605. • Spotiacing Spotfacing is virtually identical to (hat the depth of cut is minimal. Often, shallow Its purpose is to enough material to provide a nat surface for a bolt, a washer. or a nul. technique is same as that for I I --003/16 I DRilL THR~ MULTILEVEL DRILLING On many occasions, the same cutting tool will have to down between di to move (steps on a part). a drill will cut the same depth. bul start at different must be two major efficiently (no time (no collision). 0.15 0.50 ......,....,+.,-.,.Y-,.-,--:..~ --~---------- 1.00 Figure 20-21 Multilevel drilling· nmi'lr;:lflr"lmii1fl example 02605 ....... 0.00 0.40 208 Chapter 26 tools are - TO I is a 90° spot drill, cutting to the depth of .108 below each step T02 is a 03/16 drill Ihrough, programmed to the absolute depth of 1.106: 02605 EXAMPLE) (TOl - 0.375 SPOT DRILL - 90 DEG) Nl. G20 N2 GI7 G40 G80 TOI NJ M06 N4 G90 GS4 GOO XO.25 YO.375 5900 M03 T02 NS G43 Zl.O HOI M08 N6 G99 G82 R-O.4 Z-0.60B P200 F8.0 N7 YO.75 NB Y1.12S N9 Gge Yl. 625 NlO G99 XO.87S R-O.OS Z-O.2Sa Nll Yl.125 Nl.2 Gge YO.375 Nl.3 G99 Xl.687S RO.I Z-0.10a Nl.4 YO.7S Nl.5 Yl. 625 Nl.6 X2.437S Yl.12S R-O.3 Z-O.508 Nl.7 YO.375 N1B GSO Zl.0 M09 N19 G28 Zl.0 MOS N20 MOl WEB DRILLING Web drilling is a term for a drilling operation laking place two or more parts, separated by an empty space. The programming challenge is to make slich holes efficiently. It would be La program one motion through all the parts as well as the empty spaces. many inefficjent. holes, this approach would prove to be Evaluate the front view of a web drilling example shown in 2r5-22, Z-1 R-1.575 - . - - - - - Z-2.0 DRILL THRU) N21 T02 N22 M06 N23 G90 G54 GOO X2.4375 YO.375 S1000 M03 TOl N24 G43 Zl.O H02 MOS N25 G99 Ga3 R-O.3 Z-1.106 QO.35 F10.0 N26 G9S Yl.125 N27 G99 Xl. 687S Yl.625 RO.l N2e YO.7S N29 YO.375 NJO XO.a7S R-O.OS NJI Y1.12S N32 Y1.625 N33 XO.25 R-O.4 N34 Y1.125 N3S YO.7S N36 YO.375 N37 GSO ZI,Q M09 N3S G2B ZI.O MOS NJ9 GOO X-2.0 YlO.O N40 :teO % Study the program in detail. Walch the direction of toolsTO I slarts at the left hole and at the right hole hole, in a zigzag motion. T02 starts at the lower and ends at the lower left hole, also in a zigzag motion. Note there are more G98 or G99 changes the first tool than the second tool. In hole machining undersland three areas of program control, used in 02605: o G98 and G99 control o R level control o Zdepth control Tool point length == 0.075 Clearance :: 0.05 Figure 25-22 Web drifling eX8lnPIe (front view) program 02606 In program, X I.OY 1.5 is as the hole position. Drawing will not show R levels or Z depths, they have to be calculated. In the example, above and below each are .05, the first R level (RO.I). The length of the 1/4 drill point is .3 x .25 :::::: 02606 (WEB DRILLING) (T01 - 90-DEG SPOT DRILL - 0.5 DIA) Nl. G20 N2 G17 G40 GBO TOI N3 M06 N4 G90 G54 GOO Xl.O Yl.S 8900 M03 T02 NS G43 Zl.0 HOl MOS N6 G99 Ga2 RO.l Z-O.14 P250 F7.0 N7 GBO Zl. 0 M09 N8 G2a Zl.O MaS N9 MOl (T02 - 1/4 OIA DRILL) Nl.0 T02 N1l M06 N12 G90 G54 GOO Xl.O YI.S S1100 M03 Tal N13 G43 ZI.O H02 MOB N14 G99 GSl RO.l Z~O.375 F6 . 0 (TOP PLATE) (MIDDLE PLATE) NlS R-0.7 Z-1.25 Nl6 Gge R-1.S75 Z-2.0 (BOTTOM PLATE) Nl7 GSO Zl,O M09 Nl8 G28 Zl.O MOS ID9 :teO % MACHINING 209 Sjng~e Note that a program, rather than only one plate in the required three blocks of the usual one. . Also note in block N 16. Only one hole is in the example, so the 098 is not reneeded. cancellation command G80 with a take care of the tool rereturn motion in block N17 tract from hole. However. if more holes are machined, move LoollO the new 080 is proIn this case, 098 is when the drilts penetrates the last plate of the parr. example is nOI a solution to drilting cuts, as there is still some wasted motion. only efficient programming is to use the optional custom macro technique and develop a unique efficient web drilling cycle. TAPPING Tapping is only to drilling as the most common hole operation on machining centers. it is very common to tap on a CNC mill or a center, two tapping fixed cycles are avai lable for programming are the G84 plications on most control systems. for normal (R/H), and cycle for reverse tapping (UH): The higher clearance for the R level allows acceleration of the feed rate 0 to 30 Inches minute to place in the air. the tap contacts the part, cutting feed rate should at programmed value, 1101 less. A good rule of thumb is to program the tapping clearance about two to the normal clearance. This will guarfour antee the feedrate [0 be fully effective when the actual ping begins. Try to a slightly smaller number, to the program more efficient. Another good ojrlIe tap method is to double, triple, or quadruple the and use that value as the above the Whichever method is used, purpose is to eliminate the feedrate associated with motion acceleration. was the amount. The Another high value 30 in/min (F30.0) has also been carefully calculated. Any cutting fecdratc tapping must synchronized with the spindle - the rlmin programmed as the S Keep in mind that the tap is basically aform tool the thread size shape are buill it Later in chapter, the between the spindle speed and the feed rate is explained in more detail. The cutting F in the program example was calculated by mUltiplying the thread leod the spindle given as rlmin: F for righl hand threads 1 / 20 TPI x 600 r/min "" 30. a in/min to calculale feedrate is to divide the spindle the number G74 hand threads with M04 spindle rotation Reverse tapping - for following shows that programming a to other fixed All one hole is motions, including spindle stop and boltom are in the N64 G90 G54 GOO Xl.S Y7.125 S600 M03 T06 NoS G43 Zl.O HOS MOS N66 G99 GB4 RO.4 Z-O.B4 F30.0 N67 GSO Is it possible to tell the tap used? It should In the example, the tap 20 TPI (twenty threads per inch). plug tap. coordinates are missing from the cycle, current tool position has established in block N64. The usual R level is the starting pOSltlon the Z depth is the absolute depth thread. The address in the block is feedrate in inches per minute (in/min), programmed with the F the R ofRO.4 has a value that is somewhat higher than might used for reaming, single the programmed point boring and similar operations. feed rate to be unreasonably high. is a values - (hey are bOlh correct selected reason for intentionally. threads per (TPI): F = 600 r/min / 20 TPI = 30.0 quality of the tapped hole is important, but it is not influenced solely by the correct of feeds, but by other as welL The the tap. its coating, its the flute helix configuration, (he the start-up being cut tap holder itself all have a final quality of tapped hole. profound effect on is mandatory, best results in tapping, a floating unless the CNC machine supports tapping. ing tap holder design gives the tap a 'feel', similar to the feel that is needed for manual tapping. A floating tap holder has is called the tension-compression holder and its applications are the same for both milling and turning tap to be pulled out erations. This type of holder allows of it or pushed it, within The only of the tool (tool oriable difference is the mounting entation) in the machine (either vertical or horizontal). High end floating tap holders also have an adjustable and even which can the feel of the of the tension Tapping applications on CNC are similar to those on machining centers. A tapping a lathe control is not needed, as one tap size can used per part tapping programmed the 032 command and block-by-block method. 210 Chapter 26 I lathe tapping is different but not mo~difficult than tapping for CNC machimng centers. Because it does nol make some common errors. use fixed cycles, This chapter llses examples for tapping on CNC lathes in a _a TAPERED sufficient depth . • Tap Geometry are literally of lap used in CNC programming applications. A book would easily be filledjusr on the topic of tapping tools and their applicalions. For CNC only the core of tap geometry are important. are two considerations in the programming and the o Tap PLUG a BOTTOMING Figure 26·23 Typical tap end - chamfer geometry configuI8lion geometry o Tap chamfer geometry Flute Geometry The flute geometry of a tap is described in tooling catalogues in terms such as 'low helix', 'high helix', 'spiral flute', and These terms basically how the cutting are ground into body of When programming a tapping operation, the effectiveness of (he flute geometry is tied to the spindle Experimenting is limited by tap lead (pitch), with the tapping but (here is a greater latitude with the spindle speed selection. The material and flute geometry of the lap both influence machine spindle speed. almost all designs (not limited to only) are the of corporate policies, engineering decisions and philosophies, various trade names and marketing there is not a one way use tool' or 'use for a CNC program. tooling catalogue of a tool is the best source of technical data, but a catalogue from another supplier provide a solution to a particular Information gathered from a catalogue is a very good starting the data in (he CNC program. Keep in mind that the share some common characteristics. Tap Chamfer Geometry chamfer geometry relates to the end configuration of the For CNC programming, the most important of the tap end point geometry is the tap chamfer. In order to program a hole tap must hole being selected according to the specifications If tapping a blind hole, a different tap is required tapping a hote. are three of taps, divided by their geometry configuration: o Bottoming tap o a Plug tap a Taper tap The major tap chamfer. 26·23 shows how the of the drilled hole wi 11 influence programmed depth of the selected The tap length c is measured as the number of threads. A typical number of threads for a is 8 to ! 0, a tap 3 to 5, for a I The angle chamfer a varies for typically 4-5 0 for the tap, 8-1 the plug tap and 25-35° for the bottoming tap. will almost always require a bottoming tap, A blind in most cases and a taa through hole will require a per in some rarer cases. in different words, the greater depth allowance must the the lap be to each drilled hole. • Tapping Speed and feedrate The relationship of the spindle (r/min) and programmed cutting feedrate is extremely important when programming the cutting motion in feedrate per time mode. Per time mode is programmed as in/min (inches English and mmlmin minute) in programs (millimeters minute) for metric units programming. This per minute mode is typical to CNC milling machines and machining where virtually all work is done For tapping operations, ther in in/min or less of the machine tool. Iltways program the cutting rate as distance muSI during one spindle revolution. This always equivalent to the lead of the which is the same as the tap pitch (for taponly), taps are normally used to cut a only. the feedrate revolution mode, mode tbat is always equivalent to 1alhes, the example, the feed rate. of .050 results in .050 feedrate. or FO.OS in the MACHINING 211 """"I ......'" the typical mode is always per in per minute and thefeedrate is cruculated by one of the following formulas: ~ where ... Pipe are similar in design to long to two groups: A similar formula will produce an identical result: Ft :::: r I min x F, F, == Feedrate per time (per minute) = Spindle speed Feedrate per revolution = F, a 20TPI 1 / 20 ~ .0500 inches feedrate has to spindle speed, F = 450 x into considera450 r/min: .os = 22.5 = F22.5 (in/min) A metric tap on a lathe uses the same (pitch) using 500 a tap of 1.5 mm with the 750 mm/min: F : 500 x 1.5 = 750.00 o Straight NPT and API NPS (parallel) Programming pipe taps follows the considerations for standard threads. The only common difficulty is how to calculate the Z depth position at least as a reasonable one, if not exactly. The finaJ depth may be a of some experimentation a particular tap typical materials. A proper II size is very important. It will be different for tap that are only drilled and for lap holes that are drilled and reamed (using a per foot taper The following is a table taper pipe thread group and recommended tap drills, data that is CNC programming: F750.0 (mmVmin) is to maintain relationship of the spindle speed. If the spindle speed is changed, the feedrate time (in/min or mm/min) must be as well. For tension-compression holders, adjustment of downwards underfeed) by about percent may This is tension of the tapping holder is more l1exible than compression of same holder. in the above example is changed from (tap size is at 20 TPI), the must be a new tapping F : 550 x .05 = 27.50 = F27.S In the program, the new tapping tpop.,(1 ... ",tp will be: F = 27.5 - 5% : 26.125 Taper taps (I lead for a mill will nrr,al"",.rnrnprl tion o taps. They (nominal size), is not the size of but of the pipe American National 'lfH1UllJ7L pipe taper (NPT) a taper ratio of I to 16. or inch per foot (1.7899 I per side) and the tap chamis 2 to 3-112 Ike where ... r/min to change the spindle speed of the tool in proon the CNC machine, forget to modify the feedrate the tapping tool This mistake can happen during program preparation the office or during optimization at the machine. if the is small, may be no more due to luck than intent. If the change of spindle speed is major, the tap will most likely break in • Pipe Taps Feedrate per time minute) Spindle speed Number of threads per = = TPI actual feed rate value would be F26.1 or even NPl Group Pipe Size Drilled Only TPI 1/16 11/16 .9062 57/64 1.1406 H/8 for NPT for 212 straight pipe drills are recommended: the following With modern CNC machines, the method of rigid lapis no need for "U'~'-l''''1 ping has become quite popular. holders. such as the Decimal Size .2500 .3438 1/8 27 1/4 18 7/16 .4375 3/8 18 37/64 .5781 % 14 23/32 .7188 3/4 14 59/64 .9219 1.0 11- 1.1563 1-1/4 1.5000 1·1/2 1.7500 2.0 2.2188 The tapping feed rate maintains the same relationships pipe taps as for standard • Tapping Check When programming a operation, sure program data reflect the true machining conditions. may vary between majority of them are cal to any tapping on any type of CNC Here is a short list that relate directly to (he tapping operations in CNC I"\r{"\ar!'\m,ml u Tap cutting (have to be sharp and properly u Tap design the hole being tapped) u Tap ;;,h.ronmi"nt to be aligned with tapped hole) the o Tap feed rate (has to be related to the the machine speed) lead and o Part setup (rigidity of the machine setup and the tool is important) o Drilled hole must be premachined correctly (tap drill is important) o Clearance for the tap start position (allow clearance for acceleration) o Cutting fluid ;::'CIC;I"UU U Clearance at the hole bottom (the of thread must be o Tap holder torque adjustment o Program integrity (no errors) compression type - ular end mill holders or collet chucks can be the cost of tool the CNC control sys(em must suppan the rigid tapping ture. To program there is a special M available - check the The rigid tapping mode must be supported by the eNC machine before it can be used in a progr HOLE OPERATIONS ON A LATHE point hole on a CNC lathe are much more than on a CNC machining center. the number of drilled or tapped in a operation on a lathe is one part (two are rare). while the holes (or a may be in lens, hundreds and even thousands. boring (internal on a lathe is a LUlU..,.'" lion, unlike boring on a milling machine, which is a pointto-point operation. All the point-to-point machining operations on a CNC lathe are limited to those that can be machined with the culting tool spindle centerline. Typically, these operations center drilling, drilling, A variety of other cutting tools may reaming and also be a center cutting mill (slot dri II) to open up a or to make a flat bottom An internaJ burnishing may also be used for such as precise a hote, etc. To a lesser operations, such as counterboring and may lathe spindle centerline, with a special programmed at operations in point-to-point - not a contouring tool. this will have one common denominator - they are all centerline and with the X program for all programmed in (r/min), not in the constant that reason, is used - for onaCNC lathe must G91 SS15 1403 will assure the required 100% spindle of cutting) of tap holders have their own special rewhich mayor may not any effect on the If in doubt, always with the for operation. r/min at the normal spindle happen if is used with G96 comthan the proper command? The CNC will use the given information, the spindle in the program (given peripheraJ - or per minute, asft/min). will then calculate required spindle speed in for (he use by (he ma- MACHINING 213 if (surface) speed for a given ftlmin. the r/min at a 03 inch (X3.0) for the approximately: I S 3 = 573 rpm ftlmin is applied to the diameter formula does not change. but x 3.82) I 0 = 0 S (ERROR) mIght be expected to stop (because laws), it will do the exact opposite (bethe control design). Spindle speed will reach rlmin that the current gear range will allow. Be - make sure that the centerline operations lathe are always done in the G97 (r/min) mode on a not in the G96 mode (CSS) mode. ''HHllU''''-- The first method may when the tool motion area is stacles in the way (do not count on a The second method, and probably the most common in programming, will move the Z not 100 close) to the part, say .50 inch in tion that follows is the X centerline (XO). At this drill) is far from Z will be to the Z where thc actual nates (or at with obstacles along way. The obstacles are - or alleast could be - the lailstock, the catcher, the steadyrest, the etc. example of this programthe is the previous example, modified: path N36 T0200 M42 N37 G97 S700 M03 N38 GOO xo ZO.5 T0202 Moa N39 ZO.1 N40 method the tool approach along two tool positions - one is the safe clearance the other one is the safe clearance position for start. is a minor alternative to this motion Z will be at a cutting feedrale, rather motion rate: • Tool Approach Motion A typical geometry offset configuration setup (or values) on a CNC lathe often have a relatively large X small Z value. For example. the geometry offset for a tool may be X-lI.8Z-1.0 (or G50XJ 1.8Z1.0). location indicates a suitable tool change position to a drilL What does it mean to the lOa] motion a drilling operation? It means that the rapid motion will complele the Z motion long before completing the X axis motion (with hockey-slick motion of the rapid command). motion very close to the part N36 T0200 M42 N37 G97 S700 M03 N3S GOO XO ZO.1 T0202 MOS N39 To avoid a potential collision wards the part, use one of the o o Move the X axis first to the spindle ""..'t"'.·I1 ...... then the Z axis, directly to the start location for the drilling Move the Z axis first to a clear rlO~!ltlon then the X axis to the spindle then complete the Zaxis motion the drilling start position N36 T0200 M42 N37 G97 S700 M03 N3S GOO XO ZO.S T0202 MOS N39 GOl ZO.l FO.OS N40 approach motion, the Z axis motion has to a linear motion, with a relatively high ","'" .. ",'" in/rev (1.25 mm/rev). Feedrate override can be used setup, to conlrolthe rate of the feed. During actual production, there will be no significant loss in the cycle time. • Tool Return Motion The same logical rules of motion in space thal apply to the 1001 approach, apply also to the tool return motion. Remember that the firsl motion from a hole must always be the Z axis: N40 GOl z-o. a563 FO. 007 N41 GOO ZO.1 N40. the actual drill cutting motion cut is completed. block N41 is out of the hole to the same position it It is not necessary to return to the same the style more 214 the cutting tool is safely out of the hole, it has to return to tool changing position. are two methods: Q Simultaneous motion of both axes o Single axis at a time Simultaneous motion of the same problem as it on Z axis will complete the part face. Also, during a return motion if ,-,,-,,-.,,.ll .... and the programming Z axes does not pres- on the conmotion first, moving is no reason to fear a approach motion was was consistent: mo GOl Z-O. 8563 FO. 007 ml GOO ZO.l N'72 XU. 0 Z2. 0 T0200 M09 If in or if an obstacle is to in the way of a tool for example a program a single axis at a time. In most cases, that will move the positive X axis first. as most obstacles would be to the right of the part: N70 GOl Z-O.SS63 FO.007 N'71 GOO ZO.l N72 X12.0 N73 Z2. a T0200 M09 The example illustrates the return motion with the programmed first Tht! that Lhe tuol is .] 00 off the front face is irrelevant - after all, Ihe tool started Culling that distance without a .....1"1,1'\1,...,., Other, wards and traditional, methods for the tool motion tathe part are • Drilling and Reaming on lathes • Peck Drilling Cycle· G14 On Fanuc and compatible pelitive cycle G74 available, ent machining operations: there is a multiple recan be used for two differ- o Simple roughing with chip breaking Peck drilling (deep hole drilling) o this section, the peck drilling usage of the G74 cycle is The roughing of the G74 is a . operation ordinary drilling. first, then starting position finally. its depth position. In addition, establish (or even calculate) the depth of each peck. The lathe cycle 074 is limited in what it can do, but it has its uses. Its format for peck-drilling is: G74 xo Z •• K •• IGi" where ... G74 drilling cycle XO Indicates cutting on ....m'?"'.·lj"" Z == Specifies the end point for drilling K Depth of each peck (always positive) following program uses illustration in Figure 26-24, and shows an exampk~ of a 6 hole (0.1875) with a drill depth of .300 NBS T0400 M42 N86 G97 S1200 M03 N87 GOO XO ZO.2 T0404 MOS N88 G74 XO Z-O.BS63 KO.3 FO.007 N89 GOO X12.0 Z2.0 T0400 M09 N90 MOl is also quite common operation, on a a hole opening to be used with other as means There are three tools, such as lathe machining: drilling, typical to a o Center drilling and spotfacing o Drilling with a o 6 drill Indexable insert drilling Each method same programming as those section earlier. of the mil1ing lype there are no lathe work. Keep in that on a CNC lathe, the rOlaling. whereby the tool remains stationary. keep in mind that most lathe operations take place in a zontal orientation, concerns about coolant tion and chip removal. Z-O.8563 Figure 26-24 Sample hole for the lathe example The peck motion will start the position in block N87 to the Z-0.8563 posmon in block N88. in a 1.0563 long cut Calculation the number of pecks is the same as in milling. MACHINING 215 each peck, there will be total and one partial length peck, at Z-O.l Z-O.4 Z-O.7 Z-O.SS63 first three pecks are .300 deep one starts at ZO.2 and ends at 2-0. 1. That will result in two cut being in the air. Programmer has to thirds of this approach is an advantage and when method would be more suitable. At the end the G74 cycle, the drill will make a distance. This distance is set by a tract by control system and is typically about .020 inches (0.5 A full retraction after each peck out of the hole (simito the cycle for milling controls) is not supported G74 cycle. thal is no programmed out when the peck drilling cycle is completed. lion is built-in within the G74 cycle. If a GOOZO.2M05 follows block N8S, no operator extra confidence when the hole • Tapping on lathes Tapping on CNC lathes is a common that follows the same machining principles as ing centers. The major difference for of a tapping cycle. There is no on a lathe, since most of lathe only one hole of the same type. may preselH some difficulties. Unfortuare more common among programmers with these difficulties Step 01 Step 02 Step 03 Step 04 Step 05 Step 06 Step 07 Step 08 Step 09 Step 10 Step 11 Set coordinate position Select tool and Select spindle speed rotation Rapid to the center line and clearance with offset Feed-in to the depth Stop the spi ndle Reverse the spindle rotation Feed-out to clear of the part depth Stop the spindle Rapid to the starting position Resume normal spindle rotation or end program Translated into a step can general guide to '",",,",,,,,,., careful1y. this step by everyday programming as a lathes. layout of the part and (he 1001 example 02607. The examthe eleven steps on a very solid foundation. 02607 is correct - but only Are there possible problem TOOL HOLDER 012.0 9/16-12 TAP Figure 26-25 Typical setup of a fool on a lathe - program examples 02607 and 02608 FLOATING TAP 216 02607 ON LATHES) (ONLY THEORETICALLY CORRECT is normally used for single controls). The G32 point threading. Two major will be achieved with the command - the spindle will be synchronized, the feedrate override will be ineffective by default will be solved If (he matically). The second die M functions are the same block as tool motion. That means the N46 with is in the new program 02608. (T02 - TAP DRILL 31/64) N42 MOl (T03 -12 PLUG TAP) N43 T0300 M42 N44 G97 S450 M03 N45 GOO XO ZO. 5 M08 T0303 N46 GOI Z-O. 875 FO. 0833 N47 MOS N48 M04 N49 ZO. 5 NSO MOS NSl GOO X1.2. 0 Z2. 0 T0300 Ma9 N52 IDa 02608 TAP DRILL 31/64) N42 MOl % A brief look at 02607 anything is wrong. essary motions therefore. correct. contains major flaws! ON (PRAC'I'ICALLY CORRECT VERSION) (T03 not show that All earlier have been carefully followed. Conducting a more study of the will reveal two areas of difficulty or even The first problem may if the feed rate override setting switch is not set to 100%. Remember, the is always equal Lo lead (FO.0833 for 12. TPI). If the switch is set to any but 100%, the will be at at worst damage. other problem will become evident only in a block mode run, during or machining. Look at N46 and N47. In the N46 hlock, tap reache~ the Z axis - while the spindle is still rotating! True, will be slopped in block N47, but in the mode it will be lao late. A situation will """"",,,.,, (he feed-oul motion. reverses in but does not move until N49 block is processed. the program is a very poor example of lapp! ng lathes. are some details usually not considered for a application (such as G84 tapping cycle), used for milling programs. milling, all tool mOlions are built-in, so they are contained within the fixed eli the first potential problem of the will 'd_'_~ programming the M481M49 disable the fecdrate Even better mOlion command mode (G33 on some N43 N44 N4S N46 N47 N48 N49 N50 % PLUG TAP) T0300 M42 G97 S4S0 M03 GOO XO ZO. 5 MOB T0303 G32 Z-O.S75 FO.OB33 MOS ZO.S M04 Ma5 GOO Xl2.0 Z2.0 T0300 M09 M30 The block (N48 in example) the spindle is not required if the is the last tool stop in the although it does no harm in any other program. Compare program 02608 with 02607. Program 02608 is a deal more stable possibility of any problem is virtually • Other Operations There are many other programming reJating to machining on CNC machining centers lathes. This chaprer some of the most important and the most common possibilities. Some less common applications, such as operations using tools for backboring, or block boring tools. tools with multiple edges and other for machining may quite infrequent in However, programming unusual more difficult the A"f'fF"~"''' tool motions, everyday tools. a CNC programmer is The real ability terms of applying the knowledge and new problem. It requires a thinking process a degree of ingenuity work. PATTERN OF HOLES In point-la-point operations, consisting of drilling, reaming, tapping, etc., we are often require9 to machine either a single or a series holes with Ihe same tool, usually followed by tools. In several holes are much more commOn than a Machining holes with the same loa I means machining a pattern of holes or a hole pattern. An English as a 'characterislic or dictionary defines the word consistent arrangement or '. Translated to hole two or more holes machined with . machinioao same lool establish a The hole IS laid out in the pari either randomly (characteristic or design) or a certain (consisTent arfolrangement or design). Dimensioning of a hole lows standard dimensioning laid out some part and the various methods their programmake malLers all programming e.xamples related (0 Lhe hole panerns wi II assume a center drill ing operation, using a #2 center drill, chamfer .150, to the depth of .163 (programmed as 2-0.163). nrr\ar:"m reference point 20) is the top 10 be in ~pindle. the of clarity, no hole diamelers or material and are specified in the examples. From the dictionary definition above, we have to establish what makes a hole paHern characteristic or consistent. Simply, any that are machined with the same tool, one hole after another, usually in of COlwenience. means all within a single pattern have the same diameter. II also means that all machining must start at same R level and at the same 2 depth. Overall, i( means that all holes wllhm a pauern are machined the same any tool. TYPICAL HOLE PATTERNS Hole paHerns can be categorized each group having the same character. encountered in CNC programming the following pattern groups: o o pattern Straight row pattern o Angular row pattern o Corner pattern o Grid pattern o Arc o Bolt pattern Some groups be divided into smaller groups. A thorough understanding each pattern group pattern. should you to any similar available that have a are several control built-in hole a boll for example circle nlIll'prn nrr\a ...'~m'm ng routines simplify the hole pattern quite substantially, but the prostructure is unique to that panicular brand of conlrols. control and cannot applied to RANDOM HOLE PATTERN The most common pattern used in programming a pattern. pattern holes is a where all holes share same machining characteristics, but the X and Y distances between them are inconsistent. In other words, holes within a pattem the same LaO!. the same nominal usually the same depth, but a variable distance from each other - Figure 27-/. - - 4.4 -.,..J 1.4 0- o • l ,, 2 1B 20 . .4 ~_ _ _ _ _ _ _ _ _ _..... O!~_J_._L_1. figure 27·' Random pattern of hotes· program example 02701 are no special lime saving used in programming a random - only a fixed used at individual hole locations. All XY coordinates programmed manually; within the hole pattern have to control features will no help here at all: 217 218 Cha 02701 (RANDOM HOLE PATTERN) Two program 02702 should be , In block N6, the di mode was absolute G90 (0 the incremental G91, to take When all ten holes have the equal pilch to include return to chined, the program zero position motion, in the example, along all axes. However. without a calculation, we do not know the lute position atlhe tenth for the X axis (the Y remains unchanged al of .60 inches = YO.6). solve this 'problem', the cycle with G80, G91 mode in move (0 the machine zero position in the Z axis first Then - still in the incremental mode I - return both X and Y axes to machine zero simullaneously. N1 G20 N2 G17 G40 GSO N3 G90 G54 GOO Xl.4 YO.S S900 MOl N4 G43 Zl.O HOI MOB NS G99 Gal RO.l Z-O.163 F3.0 N6 X3.0 YJ.O N7 X4.4 Y1. 6 N8 X5.2 Y2.4 N9 GBO M09 NlO G28 ZO.l MOS Nll G28 XS.2 Y2.4 N12 IDO % STRAIGHT ROW HOLE PATTERN to the X or Y axis with an equal Figure 27-2 shows a 10 hole with a pitch of .950 inch. Hole pitch ~s a pattern - 'I • program example 02702 The programmi takes advantage of a fixed cycle repetition Lor K address. It would be inefficient to program hole individually. As always, (he tool wiJl be positioned at the first hole in G90 mode, then the cycle will machine hole in block N5. the remaining holes, mode must be changed to incremental mode G91, the controllo machine the olher nine incrementally, along the X axis only. The same logic would for a vertical pallern along the Y axis. In that case, would be programmed along the Y Note lhallhe repetition ofspaces, not the numcount is always equal to the of holes. The reason? hole h!ls already been machined in the cycle call block. 02702 (STRAIGHT ROW HOLE PATTERN) Nl G20 N2 G17 040 G80 N3 G90 G54 GOO Xl.lS YO.6 5900 MOl N4 043 Zl.O Hal Moe NS G99 Gal RO.l Z-0.16l Fl.O N6 G9l XO.95 L9 N7 G80 1409 N8 G28 ZO MOS N9 G28 XO YO NlO MJO % Normally, this first tool of the example would be followed by other LOols to the hole machining. To protect the program and from possible probute command is lems, make sure that the G90 for every tool (hal ANGULAR ROW HOLE PATTERN TYP 0.6 row hole 27 in a row al an is a variation of a pattern. The between the two is that pitch applies 10 bulh X Y axes. A hole pattern of this type will be on the part drawing as one the two possible dimensioning methods: o X and Y coordinates are given for the first and the last hole In this method, the pattern and no pitch belween holes is not speci- o X and Y coordinates are given for the hole only In this method, paUern angular the holes is is specified and In either case, all the necessary Y dimensions are to write the program. However, the programming will be different for each method of drawin bo • Pattern Defined by Coordinates method of programming is row pitch between increment between holes along be This axial distance is as X is measured X axis. along the Y axis). Such a calculation in two equally accurate ways. The lirs( calculation method can use a method, but it is much casier (0 usc the ratio stead. In the Figure 27-3, the pattern length Ilxis is I and along the Y axis it is 2.0: (2.625 - =2.0) HOLES 219 N7 GBO M09 o o o N8 G28 ZO MOS N9 G28 XO YO NlO M30 % Note that the program structure is idt:nlicallu- Lhe exam- ple of the straight row with L5 (KS) +----10.82-----.... - except the incremental move two axes instead of one. .. Pattern Defined by Angle 27·3 be defined in the drawing hole, the number of between holes and Angular hole pattern with two sets of coordinates· program 02703 of this kind has all the holes by equal distances along X and Y axes. As all holes are equally spaced, ratio of the sides for individual holes is identical to the of the whole pattern. When mathematically, f\('r'p'rn,pnl between holes along to the 'l>la" ..", of I 0.82 divided by of X axis "IJ""''''''. the increment along the Y to the overIstance of 2.0 divided by Y axis spaces. so the X number of spaces for a six (the delta X) equally holes, angle of pattern inclination - Figure 27-4. 2.0 10.82 / 5 = 2.1640 and the Y axis increment (the 27-4 2.0 / 5 = .4 Angular The other calculation method uses lTigonometric fllncwhich may also be as a confirmation of the first vice versa. Both must be identical, or is a mistake somewhere in the calculation. First, es- In to calculate the X and Y coordinate trigonometric functions in this case: - 02704 use x = 4.0 x coa15 = 3.863703305 Y = 4.0 x sin15 1.03527618 10.47251349" can be written after you round off the calculated . program 02704: C = 2.0 / sinA = 11.00329063 C1 = C / 5 = 2.20065813 with coordinates, pitch 02704 Raq 2) m G20 Now, the actual increment along the two axes can culated, using C I dimension as the distance between holes: x increment = Cl x cosA = 2.1640 Y increment = Cl x sinA = .4000 The calculated mcreOlents match in both methods, lalion is correct, can now be used to write the program (02703) - block the vaJues: 02703 (AN'GOLAR Raq m G20 N2 G17 G40 GBO N3 G90 G54 GOO X1.0 YO.62S S900 M03 N4 G43 Zl.O HOl M08 NS G99 Gal RO.l Z-O.163 F3.0 N6 G91 X2.164 YO.4 L5 (K5) N2 G17 G40 G80 N3 G90 G54 GOO X2.0 Y2.0 8900 M03 N4 G43 Zl.0 HOl MOB N5 G99 GSl RO.l Z-0.163 Fl.O N6 G91 X3.8637 Y1.0353 L6 (K6) N7 GBO M09 N8 G28 ZO MOS N9 G2B XO YO mo M30 % Since the calculated increments are rounded values, a certain accumulative error is inevitable. In most cases, any error will be well contained within the drawing tolerances. However, for the projects highest precision, this error may be important and must taken into consideration. 220 Chapter 27 To make sure all calculations are correct, a simple checking method can be used (0 compare the calculated values: ~ Step 1 Find the absolute coordinates XY of the last hole: x Y 2.0 + (4.0 x 6 x coalS) = 25.1B221983 = X25.1822 = 2.0 + (4.0 x 6 x sinl5) = 8.211657082 = YB.2117 02705 (CORNER PA'I'TERN) Nl G20 N2 G17 G40 GaO N3 G90 G54 GOO X2.2 Yl.9 S900 M03 N4 G43 Zl.O H01 MOS N5 G99 G8l RO.1 Z-0.163 F3.0 N6 G91 Xl.5 Yl.B L2 (K2) ~ Step 2 Compare these new XY coordinates with (he previously calculated increments as they relate to the lasl hole of the pattern (using rounded values): x Y Note that both X and Y values are accurate. When rounding. particularly when a large number of holes is involved, the accumulative error may cause the hole pattern out of tolerance. In that case, the only correct way to handle the programming is to calculate the coordinates of each hole as absolute dimensions (that means from a common point rather than a previous point). The programming process will take a little longer, but it will be much more accurate. CORNER PATTERN Pattern of holes can be arranged as a corner - which is nothing more than a pattern combining the straight and/or angular hole patterns - Figure 27-5, 1,5---' --- 1.8 N7 Xl. 8 L6 (K6) NB Y-l. B L2 (K2) N9 GSO M09 mo G28 ZO MOS Nll G2B XO YO Nl2 1000 % 2.0 + 3.8637 x 6 25.1822 2.0 + 1.0353 x 6 = 8.2118 = = comer hole will be machined twice. Visualize the whole process - the last hole of one row pattern is also the first hole of the next pattern, duplicated. Creating a special custom macro is worth the time for many comer patterns. The nonnal solution is to move the lool to the first position, call (he required cycle and remain within that cycle: l i-- I . l1le program offers 00 special challenges. In block N6, the angular row of holes is machined, starting from the lower lefl hole, in N7 it is the horizontal row of holes, and in N8 the vertical row of holes is machined. The order is continuous. Just like in the earlier examples, keep in mind that the repetition count Lor K is for the number of moves (spaces), not the number of holes. GRID PATTERN Basic straIght grid pattern can also be defined as a set of equally spaced vertical and horizontal holes, each row having equally spaced holes. If the spacing of all vertical holes is the same as the spacing of all horizontal rows, the final grid pattern will be a square. ff the spacing of all vertical holes is not the same as the spacing of all horizontal rows, the resulting grid pattem is a rectangle. A grid pattern is someti mes called a rectangular hole pattern - Figure 27-6. I 1 1.8 I I -wED 0 0 0 --"'1 , GOO 0 0 (j)-e-~8 CD. 1--8I , 1.9 (B---r . 0 0000$--'..l 2.1 OOOOUJ--, 00000 00000 00000 I I I , - 2.2 figure 27-5 Corner pattern of holes· program example 02705 All rules mentioned for the straight and angular hole patterns apply for a corner pattern as well. The most important difference is the corner hole. which is common to two rows. A comer pattern can be programmed by calling a fixed cycle for each row. Soon, it will become apparent that each I 0·0 0 0 (]j---.-L 2.4 '---1.7 -r I Figure 27-6 Rectangular grid hole pattern - program example 02706 PATTERN HOLES 1 A grid pattern is very similar to a series of corner patterns, similar programming methods. The tion a grid pattern programming is in its Each row can be programmed as a single row pattern, starling. for example, the left side of IroW. Technically, that is correct, although not very efficient duc to the loss of the tool has to travel from last hole of one row, to the hole the next row. motion. To a zIgzag motion, program row or colwnn at any corner bole. Complete that row (column), then jump to the nearest hole the next row (column) and repeat the process until aU rows and columns are The lime of the motion is kept to the minimum. 000 More 02706 (STIlAIGm' GRID PAT'I'ERN) Nl G20 N2 G17 G40 GaO NO G90 G54 GOO Xl.7 Y2.4 S900 M03 N4 G43 Zl.O H01 MOS N5 G99 GSl RO.1 Z-O.163 F3.0 N6 G91 Y2.1 L6 (K6) N7 Xl.S N9 Y-2.l L6 (K6) NlO X1.8 Nl1 Y2.1 L6 (K6) N12 X1. 8 N13 Y-2.l L6 (K6) N14 Xl.8 Nl5 Y2.1 L6 (K6) N16 GSO M09 Nl7 G2B ZO M05 NlB G28 XO YO N19 IDO % Two features the are worth noting - one is the pattern to another - it has no repejump from one row of tition address L or because only one hole is being machined at location. The feature may not be so obvious right away. make the program shorter, stan the that the larger of (the in the program 02706). example is a variation on previous examples and also adheres to all the established so A special subprogram made for a pattern is also a common programming and can be used as well. o a 3.5 -14.0 27-7 Angular grid hole pattem - program example 02707 The unknown increment in the drawing is the distance a hole in one measured along the X axis, row to the next hole in following horizontal row: x ~ 4.6 x tan16 = 1.319028774 (Xl.3l9) The program can be written in a similar as for the the extra 'jump' between rows will straight row grid, take place along both axes: 02707 (ANGULAR GRID) Nl G20 m G17 G40 GBO NJ G90 G54 GOO X4.0 YJ.5 S900 M03 N4 G43 Zl.0 HOl MUS NS G99 GS1 RO.1 Z-O.163 Fl.O N6 G91 X3.2 L5 (KS) N7 Xl. 319 Y4. 6 NS X-3.2 LS N9 Xl. 319 Y4, 6 mo X3.2 L5 ) N1l X1.319 Y4.6 N12 X-3.2 LS Nl3 GBO M09 N14 G28 ZO MUS NlS G2S xo YO N16 M30 % • Angular Grid Pattern the straight grid pattern is the most common a grid pattern square and rectangular hole pattern may also be in the shape of a parallelogram, called an angular grid pattem - Figure 27-7. the programming approach the same as for rectangular grid pattern, the ollly extra work required is the calculation of the increments, similar to previous methods: Many will consider even more programs for grid patterns efficient way approaching by using subprograms or even User Macros. Subprograms patterns con~isling of a large are especially useful number of rows or a large number of columns. The subprograms, including a practical example a really grid is covered in Chapter subject of user macros is not in this handbook. Chapter 27 e STEP 1 ARC HOLE PATTERN Another quite common pattern is a set of equally arranged an arc (not a circle). Such an equally spaced set of holes portion of a circle cumference creates an arc hole pattern. approach to programming an ~rc hole pauern should same as if programming any other hole pattern. as the one that is most convenient. Is it the or the last arc that is easier to tind the coordinates for? at 0" 0' clock or position) would be beBer? In 27-8 shows a typical layout of an arc that is nearest to 0° iodirection), then continue direction of the arc. e STEP 2 Use trigonometric ordinates of the first to calculate the X and co- Hole #1 x = 1.5 + 2.5 x cos20 == 3.849231552 Y = 1.0 + 2.5 x siDlO e 1.855050358 3 Use the same culate XY coordinates included hole in the pattern, the second hole angle will be 40°, the third Hole #2 x = 1.5+ 2.5 x <::os40 = 3.415111108 Y = 1.0+ 2.5 x sin40 = 2.606969024 1.0 1 I Figure 27-8 Arc hole 4 EQSP x == 1.5 + 2.5 x 00s60 Y c: 1.0 + 2.5 x sin60 program 02708 Hole #4 and A number of is needed to find X Y coordinates hole center location within the bolt hole pattern. procedure is similar to that an angular but with several more calculations. line in a grid The calculation uses trigonometric functions applied to each hole - all necessary data and other information are drawing. holes, exactly the .... V~.Ul ... required to get the 1"'-'1""1'1,.1"1 ""-'...,"1"".... there are four holes, eight calculations will necessary. Initially, it may seem as a lot of work. fn terms of calculations, it is a lot work. but keep in mind that only two trigonometric formulas are involved for any number of holes, so Ihecalculations will beobservation come a lot more manageable. Incidentally, to just about any other simi lar programming can be lo use will be Hole #3 1.5 arc center locations are known, so is the programming, is programming task .4151) .607) 2.750000000 3.165063509 x = 1.5 + 2.5 x cosSO = 1.934120444 Y == 1.0 + 2.5 x sinelO '" 3.462019383 e Hole #1: Hole #2: Hole #3: Hole #4: Now, .9341) .462) 4 X3.8492 Xl.41S1 X2.7S00 X1.934l Y1.B5S1 'l2.6070 Y3.16S1 Y3.4620 program for the hole arc pattern can be written, XY coordinates for hole location from the calculations 02708: 02708 (ARC PATTERN) Nl G20 N2 Gl'7 G40 GSO N3 G90 GS4 GOO X3.B492 Yl.85S1 S900 M03 N4 G43 Zl.0 HOl M08 NS G99 G8l RO.l Z-O.163 F3.0 N6 Xl.4151 Y2.60'7 m X2. '75 Y'3.1651 N8 Xl.9341 Y3.462 PATTERN OF HOLES 223 N9 G80 M09 N10 G28 ZO.l MOS N11 G2B Xl.9341 Y3.462 N12 MJO % There are two other methods (perhaps more efiicient) to program an arc hole pattern. The first method will take an advantage of the local coordinate system G52. described in Chapter 40. The second method will use the polar coordinate system (optional on most controls), described later in this chapter - In program 027 JO. BOLT HOLE CIRCLE PATTERN A pattcrn of equally spaced holes along the circumference of a circle is called a bolt circle pattern or a bolt hole pattern. Since the circle diameter is actually pitch diameter of the pattern, another name for the bolt circle pattern of holes is a pitch circle pattern. The programming approach is very similar to any other pattern, particularly to the arc hole pattern and mainly depends on the way the bolt circle pattern is oriented and how the drawing is dimensioned. A typical bolt circle in a drawing is defined by XY coordinates of the circle center, its radius or diameter, the number of equally spaced holes along the circumference, and the angular orientation of holes, usually in relation to the X axis (that is to the zero degrees). A bolt circle can be made up of any number of equally spaced holes, although some numbers are much more common than others, for example, 4,5,6,8,10,12,16,18,20,24 First, select the machining location to start from, usually at program zero. Then find the absolute XY coordinates for the center of the given circle. In the illustration, the bolt pattern center coordinates are X7.5Y6,0 ..There will be no maChining at this location, but the center of the circle will be the starting point for calculations of all holes on the bolt circle, When the circle center coordinates are known, write them down. Each hole coordinate on the circumference must be adjusted by one of these values. When all calculations for the first hole are done (based on the circle center), continue to calculate the X and Y coordinates for the other holes on the circle circumference, in an orderly manner. In example 02709 are 6 equally spaced holes on the bolt circle diameter of 10.0 inches. That means there is a 60° increment between holes (360/6=60). The most common starting position for machining is at the boundary between quadrants. That means the most likely start will be at a position that corresponds to the 3, 12,9 or 6 o'clock on the face of an analog watch. In this example, the start will be at the 3 o'clock position. There is no hole at the selected location, the nearest one will be at 30° in the counterclockwise direction. A good idea is to identify this hole as a hole number I. C?ther holes may be identified in a similar way, preferably In the order of machining, relative to the first hole. Note that each calculation uses exactly the same format. Any other mathematical approach can be used as well, but watch the consistency of all calculations: Hole #1 x '" 7.5 + 5.0 x cos30 '" 11. 830127 y == 6.0 + 5.0 x sin30 '" 8.500000 Hole #2 In later examples, the 6-hoJe and the 8-hole patterns (and their multiples) have two standard angular relationship to the X axis at zero degrees. x Figure 27- 9 is a typical bolt circle drawing. The programming approach for a bolt circle is similar to arc paHern. Hole #3 Y 7.5 + 5.0 x cos90 6.0 + 5.0 x sin90 7.5000000 11.0000000 == ::;; C (Xl1.8301) 8 s1 . (X7 .5) (Yl1. 0) x '" 7.5 + 5.0 x cos150 3.1698729B (X3 .1699) Y = 6.0 + 5.0 x sin150 '" 8.50000000 (Y8.S) Hole #4 x :;: : 7.5 + 5.0 x cos210 010.0 3.16987298 (X3.1699) 3.50000000 (Y3.5) y '" 6.0 -I- 5.0 x sin210 Hole #5 I x == 7.5 -I- 5.0 x cos270 == 7.50000000 (X7 • 5) Y == 6.0 + 5.0 x sin270 L - 7. 5 - -t I Figure 27-9 Bolt circle hole pattern· program 02709 == 1.00000000 (Yl.O) Hole #6 x == 7.5 + 5.0 x cos330 == 11.930127 (XU.8301) Y '" 6.0 + 5.0 x sin330 :;::: 3.500000 (Y3.5) 224 Chapter 27 Once all are calculated, the program is writpatterns: ten in the same way as the following explanation and [he any hole in any bolt circle pattern can The formula is similar for both axes: 02709 (BOLT CIRCLE Nl G20 N2 017 040 080 X cos«(n-l)x B+A)x R+X, Y «(n-l)x B+A)x R+Yc N3 G90 G54 GOO Xll.8301 Y8.S S900 M03 N4 G43 Zl.O HOI MOe N5 G99 G8l RO.l Z-O.163 F3.0 N6 X7. 5 Yll. 0 N7 D.1699 YB.S N8 Y3.S N9 X7.S Yl.O NlO X11.830l Y3.S Nll GBO M09 Nl2 G2S ZO.l MOS Nl3 G91 G2B XO YO Nl4 ICO ~ where ... x Y ::::: n :::: H B:::::: A ::::: % R ::::: It would be more logical to bolt circle center as program zero, rather than the lower comer of the part. ThIS method would el" of the boll circenter position for each value and perhaps reduce a possibility of an error. At same time, it would it more djfficult to set the on the macoordinate chine. The best solution is to use offset method. This method is especially useful for those jobs that require translation of boll (or any paUern) to other locations same part setup. For details on the G52 command, see 40. • Bolt Circle formula In calculations, are repetitious The methods are the same, only changes. of calculation offers an opportunity for a common formula that can used, for av"n-> ... ' of a computer program, calculator data input. etc. 27-10 shows the basis for such a formula. B Xc ::: Yc :=; X coordinate Hole Y coordinate Hole number counter - CCW from 0" Number of equally spaced holes between holes = 360 I H First hole angle· from 0° Bolt radius or bolt circle diameter12 Bolt center from the X origin Bo It circle center from the Y orig in • Pattern Orientation The bolt gle of the orientation is specified by the anthe 0° of the bolt circle. In daily bolt circle patterns will have not only different llUIIlVl"1 holes, but different orientations as well. bolt most commonly affected are those spaced holes is based on the mul...) and multiples of eight (4, 8, 16,24,32, ... ). relationship is important, since the orientation of the first hole wlllinfluence the position of all the pattern. other holes in the bolt I Figure 27-1 J shows relationship of the first holt\position to the 0° location 0" location is equivalent to the 3 o'clock or the direction. 'j I \ R ~ ._-,.....i Figure 27·10 Basis for a formula to calculate bolt hale pattern coordinates Figure 27-11 Typical orientations af a six and hole boh circles PATTERN HOLES 2 POLAR COORDINATE SYSTEM So all mathematical calculations relating to the arc or bolt circle pattern of holes have been using lengthytrigonometric formulas to calculate each coordinate. This seems to a slow for a CNC system with a very advanced computer. Indeed, there is a special programmethod (usually as a control option) that takes all the calculations an arc or bolt circle pattern It IS the polar coordinate system. There are two polar coordinate functions available, always recommended to be written as a separate block: cancel Polar coordinate 27·12 Three basic characteristics of polar coordinates OFF Polar coordinate system ON for bolt hole or arc may programmed polar system commands. Check the options of the before using this method. programming format is similar to that of programming flxed cycles. The format is, identical- for In addition to the X and Y data, polar coordinates also require tbe center of rotation. This is point grarnmed G 16 Earlier, in program 02708 and 27-8 were calculated using trigonometpolar control the can be much simplified 10: 02710 (ARC PATTERN N" G9.. G8.. x.. Y.. R.. Z.. F •• N2 G17 G40 G80 N3 G90 G54 GOO Xl.S Yl.O S900 M03 distinguish a standard cycle used in the polar coordinate mode. StaIlaaJro cycle. system 6 must be issued to acpolar mode (ON mode). the polar coordinate mode is completed no longer required in the the command G 15 must be used to it mode). Both commands must in a separate block: N.. G16 N •• G9 •• GS .. N •. N •• N •. N •• G15 (POLAR COORDINATES ON) x .. Y .. R •• Z •• F •• (MACHlN.ING HOLES) u .....1•..........,. CDORDlNA'l'ES OFF) second factor is meaning X and words. standard fIXed cycle, the XY words defIne'the of a hole rectangular coordinates, as an solute location. In the polar mode and effect (XY both words take on a totally different meaning a radius and an angle: a The X word becomes radius of the bolt circle a The V word becomes IO.INl') N4 G43 Zl.O HOl MOS U;"".",VJ..:> same POLAR) N1 G20 N5 G16 (POLAR COORDlNA"l."BS ON) N6 G99 Gal X2.S Y20.0 RO.l Z-O.163 F3.0 N7 X2.S Y40.0 N8 X2.5 Y60.0 N9 X2.S Y80.0 NlO GIS COORDlNA'l'ES OFF) Nll GSO M09 N12 G9l G28 ZO M5 N13 G28 XO YO Nl4 mo % next program 02711, are equally spaced on the bolt circle circumference. Dimensions in Figure 27- J3 are to the coordinate prCignurururlg lTlemlOa. 120:O~-' ;' ,I I 60° R6.8 180°-8- of the hole, measured from 0° Figure illustrates ments for a polar coordinate system. requrre- Figure 27-13 Polar coordinate system applied to bolt hole circle - program 02711 226 Chapter 27 02711 (GI5-GI6 EXAMPLE) N1 G20 N2 GI7 G40 GBO N3 G90 GS4 GOO XO YO S900 N03 N4 G43 Zl.0 HOl MOB N5 GIG G 17 plane is known as the XY plane. Ifworking in another plane, make double sure to adhere to the following rules: (PIVOT POINT) The first axis of the selected plane is programmed with the arc radius value. (POLAR ccx)RDmATES ON) N6 G99 GSl X6.B YO RO.I Z-O.163 F3.0 m X6.B Y60.0 The second axis of the selected plane is programmed as the angular position of the hole. NB Xo.8 Y1.20.0 N9 X6.8 nao.o NlO X6.8 Y240.0 Nl1 X6.8 Y300.0 Nl2 GIS ID3 GBO M09 Nl4 G9l G28 ZO MOS N1.5 G28 XO YO (POLAR COORDINATES OFF) In a table fannat, all three possibilities are illustrated Note, that if no plane is selected in the program, the control system defaults to G 17 - the XY plane. ID6 M30 % G-eode Selected plane First axis Second axis G17 'I:( X = radius Y = angle G18 IX Z = radius X = angle G19 YZ Y = radius Z = angle I Note that the center of polar coordinates (also called pivot point) is defmed in block N3 - it is the last X and Ylocation programmed be/ore the polar command G 16 is cal.led ill the program example 02711, the center is at XOYO location (block N3) - compare it with program 02710. Both, the radius and angle values, may be programmed in either absolute mode 090 or incremental mode 091. If a particular job requires many arc or bolt hole patterns, polar coordinate system option will be worthy of purchase, even at the cost of adding it later. If the Fanuc User Macro option is installed, macro programs can be created withnut having polar coordinates on the control and offer even more programming flexibility. • Plane Selection Chapter 29, and particularly Chapter 3 J, describe the subject of planes. There are three mathematical planes, used for variety of applications, such as polar coordinates. G11 XY plane selection GtB ZX plane selection 619 YZ plane selection Selection of a correct plane is extremely critical to the proper use of polar coordinates. Always make it a habit to program the necessary plane, even the default G17 plane. Most polar coordinate applications take place in the default XY plane, programmed with the G 17 command. • Order of Machining The order in which the holes are machined can be controned by changing the sign of the angular value, while the polar coordinate command is in effect. If the angular value is programmed as a positive number, the order of machining will be counterclockwise, based on. the 0° position. By changing the val.ue to a negative number, the order of machining will be clockwise. This feature is quite significant for efficient programming approach, particularly for a large number of various bolt hole patterns. For example, a center drilling or spot drilling operation can be programmed very efficiently with positive angular values (counterclockwise order). The start will be at the fust hole and, after the tool change, the drilling can continue in the reverse order, starting with the last hole. All angular values will now be negative, for the clockwise order of a subsequent tooL This approach requires a lot more work in standard programming, ~hen the polar coordinates are not used. The polar coordinate application using the G 16 corrunand eliminates al.1 wmecessary rapid motions, therefore shortening the cycle time. FACE MILLING milling is a machining operation that controls height machined part. For most applications, milling is a relatively simple operation, at least in the sense it usually does not include any difficult "V'lLU'.'" cuWng tool used for face milling is typically a tooth cutter, called a face mill, although end for certain face milling operations, usuaUy within smaJl areas. The top surfaces machined with a mill are generally perpendicular to the of the cutter. In CNC programming, the face are fairly simple, although two important .... v,'''' .....'''. are Q Selection of the cutter diameter Q Initial starting position of the tool in to It to have some experience milling principles, such as the right cutter tion, distribution of cuts, machine power other technical considerations. ones are covered in this chapter, but catalogues and various technical ...""F,,,,...,, ... ,,.,,,. in-depth source. CUTTER SELECTION all milling operations, tool that rotates while the that a employs a cut~ stationary. material be re- a cut or milling is so effortless not pay sufficient milling cutter, proper chine requirements and A typical face mill is a multi cutter with interchangeable carbide inserts. face mills are not recommended for although an HSS end mill can be a suitable to mill small areas or areas hard to get to in any other Typical to a face milling operation is the fact that not of the milling cutter are actually working at same time. Each insert works only within a part of one complete revolution. This observation may be an consideration when trying to establish an optimum a face milling cutter. Face milling does power resources from the machine tool. in the cutter body. it is properly mounted. • Selection Criteria Based on the job to be GUller has to Lake into account mill Q Condition of the eNC machine Q Material oftha part o Setup method and work holding integrity Q Method of mounting Q Overall construction of the cutter o Face mill diameter Q Insert geometry The last two items, cutter will influence the actual although other items are geometry, the most, • face Min Diameter a single 2.5 inches mill as a suitable a good formation of For multiple cuts, that can be used for rigidity, depth and width related factors. of face milling is to machine specified height. For this type of . a mill diameter size, which in means to use relatively large diameter face mills. 2 12 inches (50 to 300 mm) are not unusual, the job. The top of a part to m width mill. All tooling ..........u.J.v'F.u•."., mill (5 inches in the ..."' ...... ,,1-"'"'' though body can be found in well. The nominal diameter always refers to of the cut. There is no way to tell the actual tool body from the nominal size alone, it looked up in the tooling catalogue. Normally, of the cutter body is not needed, except in cases 227 Chapter 28 where the face milling place close to walls or obstacles. The size of the cutter body may prevent access to some areas of the part and interfere elsewhere as well. 28- J shows some typical configurations. Negative bej'ml~rrv Negative face mills the insert usually require a machine and a robust side effects are poor fonuation of the but not for some kinds of cast irons, is hardly any curling during chip forwhere mation. Their main benefit is the economy, since are generally sided, offering up to for a single inserted in mill. Double Negative Geometry Fjgure 28-1 Nominal diameter of various face mill cutters • Insert Geometry and ,",pr'",..,.,,,,, tenuino\ogy of to understand tenus m promilling cutters the tooling companies available gramming. Most booklets for the cutters inserts catalogues and explain the cutter as well as all they manufacture in mind that tool technology related terms. rapidly and constant are does change programming chapter, being made. very basic items insert geometry for we look cutters. face Insert geometry and insert is determined by a design I.hal insert in the during a cut. strongly influence quality of the cutting. There are typically three general categories. on the cutting rake of the mill (known as rake angle): o ;::rtive geometry o Negative o Combination of both Double negative geometry can only if the machine sufficient power rating both the cutting tool and part are finnly within a iron or certain hard will usually double negative The chips do have the to concentrate the machined and do not flyaway from ease, possibJy chip jamming against the or wedging confined areas. PositiVe/negative this clogging problem. ~FI!.:mL'R I Negative Geometry , Positive / Negative geometry is most beneficial to operations where chip clogging could ...."'r·A...'''' This dual offers strength 'curling' into insert with the a spiral shape, This design usually most suitable full widtb milling. Always consult specifications the cutting tool manufacturers compare several products deciding on the most suitable choice for a particular Facc mills and their inserts come literally in hunand manufacturer claims superiority CUTTING CONSIDERATIONS ... single or double or double ... positive I npn'l'ITI'l.11> Any variations are too numerous to list, but a short overview offers at least some for further studies, Positive Geometry cutters require machining power cutters, so they may more suitable on CNC machines usually small machines. They a good are a choice for machining cutting load is not too heavy. single therefore less To program a cutting motion for a face mill, it is impor(ant to understand how a mill works best different conditions. example, unless a specially designed milling cutter insert geometry, shape and are used, try to milling a width that is to, or only a larger than, the cutter diameter. cut may cause the edge to width face wear out prematurely chip to 'weld' to the insert Not only the suffers in form of a wear out, the surface finish as well. In some more severe cases, the insert may to be discarded Increasing the machining cost. and undesirable relationship part width during milling. FACE MILLING 229 Desirable Undesirable I ~ CI 28-2 Schematic relationship of the cutter diameter and. the pa.t! width. Only the cutter size (a) is although not Its posItIOn. The illustration shows only relationship of culler diameter to the width - it does not suggest the actual of culter into the The most tant consideration programming of a face the angle the milling cutter enters inlO the • Angle of Entry mill is by position the to the part [f a part can cutler cenler line with a single cut, avoid situations where the cutter center position the part center This neutral position causes a chatter and poor finish. [he cutter away from center line, either for a negative cutter angle, or a cutter entry angle. Figure both types angles and their effects. A angle of entry (not shown) culter center Needless to coincident with the part enters material, a certain force is angle, cutting Since insert it is the absorb most of the of the insert, a positive entry may cause a un........ ' ..!"."" or at least some insert chipping. Normally, entry method is not recommended. Negative of an force at the middle, at the strongest point of the insert. is the preferred method, as it increases the It is always a good to keep the mill center within [hepar! area, rather away from it. way, the will always enter at the preferred negative assume a solid part mill has to travel over some cut will intenupted. into and exit from part during imenupted cut will cause the cutter entry angle to be variable, not constant As many other facconsidered in milling, take these rectors have to ommendations and suggested only as guideAlways consult a tooling representative on the method of handling a particular face job, \ar\y materials that are difficult to • Milling Mode In milling, the prograllUTIed cutting direction, to table motion direction is always important. In face, this so important it is discussed in several sections of this handbook covers a subject called the ing mode. Traditionally, there are three milling mode possibilities in milling operations; o milling mode o Conventional milling mode NEGATIVE / ENTRY ANGLE .~ a " --bl Figure 28-3 Insert entry angle into the part. W:: width of cut (a) at the strongest/nsert po.int - ne!!~tive entry angle (b) at the weakest Insert pomt . positive entry angle o Climb milling mode A neulral mode is a situation where the cutter or a face, climb milling on one lows center line of a side and conventionally milling on the side of center conventional mode is also called 'up' line. mode and the climb milling is also called 'down' mode, These are aU correct although the terminolmay be a little confusing. The terms climb milling and conventional milling are more often with peripheral milling than with face milling, although exactly the same principles do apply for an milling. For most face milling cuts, the climb milling mode is the best overall vHI... lv'.... In Figure (a) the neutral example (b) shows the so called down cutting (or climb milling mode) and example shows the so called up cutting conventional mode). o Chapter 28 As an overall general a coarse density cutter is usually a suitable choice. more cutting inserts are in material simultaneously, the more power will required. of the density, it important to have sufficient cutting - the chips must not clog the but fly out freely. ......-- Programmed direction Table direction ....... a .......... Programmed direction At all at least one cutting must be in contact with the which will prevent heavy cut. the possible damage to the cutter and to [he machine. face mill diameter is situation occur jf a for a narrow part width . PROGRAMMING TECHNIQUES Table direction ....... b ......-- Programmed direction Although defined earlier as a simple operation, milling can programmed better if some common sense points are Since milling often cutting area, it is important to consider caretool path from the start position to fully position. Here is a list of some points that should evaluated any face milling operation: o Always plunge-in to the required depth away from the part (in the air) o If surface finish is important, change the cutter direction away from the part (in the air) o the cutter center within for better conditions Q Table direction ....... part area Typically, select a cutter diameter that is about 1.5 larger than the intended width of cut 28-5 shows a simple plate 28-4 Face milJing modes: (a) Neutral milling mode (b) Climb or 'down'milling mode (c) Conventional Dr 'up' milling mode for Width of cut • Number of Cutting Inserts Depending on the face mill size, the common tool is a multi tooth cutter. A traditional tool called fly-cutter has usually only a single cutting insert and is not a norrnallool of choice in CNC. The relationship of number of inserts in the cutter to cutter diameter is often called cutter density or cutler pitch. gories, {InSUffiCient overlap Width of cut mills will belong into one of these three cateon the cutter density: o Coarse density · .. coarse pitch of o Medium density · .. medium pitch of Inserts o Fine density · .. fine pitch of inserts b Figure 28-5 Width of cut in face milling - diameter is the recommended method FACE MILLING 1 Figure 28-5a illustrates incorrect and Figure the correct width a face mill cut. In the example (a), lhe cutter is in the part with full causing friction at cutting and tool The example (b) keeps only 2/3 of the cutter diameter in the work, which causes a suitable chip as well as favorable angle insert entry into the material • Single face Mill Cut For first face programming example, we will use a 5x3 (1 inch thick) that has to be face milled along the top to the final thickness of .800. 28-6 shows this simple drawing. XOYO is at lower left comer. To establish position, consider the part length of the cutter (512=2.5) and the (.25). start X axis position will be the sum of these values, X7.75. For Y axis start position the n,vp'f'hi'lnO'<.: on edges and select climb milling (It the same Actually, the climb milling be combined with a little of conventional which is quite normal face milling operations. Figure shows the cutter start position at X7.75Y 1.0, and end position at X-2.75Y 1.0, as well as the of calculations. ---5.0--~ 3.0 5)(3 PLATE 5)(3)(1 Figure 28-6 Example af a single (ace miff cllt - program 02801 From the drawing is apparent that the face milling will part, so the X axis horizontal direction place along will be selected. Before the can be started, are two major decisions to a mill diameter a Start and 28·7 Face mill positions for a single face mill cut example The position YLO was based on the desire to have about overhang at one quarter to one third of the cutter part edge, best insert entry angle. 1.5 inch overis 30% of cutter diameter, the programmed position was established at a convenient YI.O. Now, part program for the single milling cut can be as program zero (ZO). Only one written, with the top face cut is used - program example 02801. position of the cut There are important decisions to make, but these two are the most The part i~ only 3 inches wide. so a face mill that is wider than 3 inches should be selected. Allhough a inch mill seems like a natural choice, let's see if it conforms to the conditions that been established earlier. diameter should be 1.3 to 1.6 larger than the width cut. In this case, 3 x 1.3 = 3.90 and 3 x !.6 4.80. With a 04.0 mill, that means only I times larger. Cooneed for cutter to overlap both of the ;)""I'<A-lIUU of afive face mill diameter is Once the mill has trate on the sfart and end positions. reasons, plunging to the depth has to start away from the part, in air. The decision to cut along the X axis (horizontally) has is whether from the left to the been so the left. It does not or from the right to except for the direction of chip flow, so selection from [he to the left is arbitrary. 02801 (SINGLE FACE MILLING COT) N1 G20 N2 Gi? G40 G80 NJ G90 G54 GOO X7.75 Yl.O 5344 M03 N'4 G43 Zl.O HOi N5 GOl Z-O.2 F50.0 MOS N6 X-2.?S F21. 0 m GOO Zl. 0 M09 N8 G28 X-2.?S Yl.O Zl.0 N9 MJO % Spindle speed and are based on 450 ftlmin surface speed, .006" per tooth and 8 cutting used only as Note the Z axis approach in block N4. Although the tool is well above an empty area, rapid motion is split between blocks N4 and N5, for safety reasons. With increased confidence, rapid to the directly be an option, if This shows the proZO at the top of the unmachined not the more customary finished face. 232 • Chapter 28 Multiple face Min Cuts general principles applying to a single cut do apply equally to multiple face cuts. Since the face mil! diameter is often too small (0 remove aU material in a single pass on a large material area, several passes must be programmed at the same area to be are several cutting for a milled and may produce good machining under certain circumstances. The most typical ods are multiple unidireclion£ll cutting and nwltiple bidirectional cutting (caJled at the same Z depth. ROUGHING FINISHING Multiple unidirectional cuts start from the same position in one bUI the position in the other axis, mining, it the part. This is a common method lacks efficiency, because of frequent rapid return motions. Multiple bidirectional cuts, often called cutting, are used frequently; they are more efficient then the unidirectional method, but cause the face and milling to the conventional versa. This may work for some jobs, but is not erally recommended. In the next two i1Iuslrations, Figure 28-8 cally a unidirectional face milling. Figure bidirectional milling. Bidirectional approach to a for rough and finish face milling face cut There is fairly method that cuts only in one normally in climb milling This method of a circular or a spiral motion (along the XY may axes) and is the most recommended method. It combines the two previous methods and is illustrated in Figure 28- 10. scnematishow~ a Figure 28·10 Schematic tool path representation for the climb face milling made, applied tD a unidirectional cutting ROUGHING FINISHING FigUre28~ Unidirecti naf approach to a multiple face cut for rough d finish face milling illustration the order and direction of viduallooi motions. is to make each cut approximately same width, only about 213 of diameter cutting at any time, and always in climb milling mode. Compare the motions of two methods, In a tool path difference (cutter position) between irlg and finiShing is also showli. The directi?n .may be either the X or the Y pnnclpIes of the cutting motion will remain the same. Note the start position (S) nod the end position (E) in the two illustrations. They are indicated by the heavy dot at face center of cutter. Regardless of the cutting method, start and milling cutter is always in a clear position at of cutting, mainly for safety reasons. 10'S 13 i ~ 6 13 x 6 Figure 28-11 Example of a multiple face mill cut - program 028D2 FACE MILLING 233 The programming example multiple face milling cuts is based on the drawing shown in Figure 28-11. The previously discussed are applied should present no difficulty in understanding the program. 02902 of the examples could been done in a shorter the X resulting in a smaller program. Howpurpose of exampJe illustrations, using the Y was more convenient. USING POSITION COMPENSATION (MULTIPLE FACE MILLmG CUTS) Nl, G20 N2 G17 G40 GBO N3 G90 G54 GOO XO.7S Y-2.75 8344 M03 N4 G43 Zl.O HOl N5 GOl z-O.2 F50.0 MOa 1) (POS 2) (POS 3) N6 Y'8. 75 F21. 0 N7 GOO X1.2. 25 4) N8 GOl Y-2.7S (POS 5) N9 GOO X4.0 (POS NlO GOl YB.7S (POS 7 - 0.1 OVERLAP) Nll GOO XS.9 (POS 8 - END) Nl2 GOl Y-2.7S Nl3 GOO Zl.O M09 Nl4 G28 XB.7S Y-2.75 Zl.O Nl,S M30 % In p'fOgram 02802. aH relevanr blocks are identified with too] positions corresponding to the numbers in an earlier Figure 28-10, width was separated into four equal cuteach, which is a little than 2/3 of a cutter. its width of cut. of the part are the same as for the single cut example. major deviation from the norm was the motion to position number 7 in and block Nl] in the program. The last cutting motion is from position 7 to position 8. In order to make the surface finish better, the expected cut was overlapped at X9.0 by .100 to the value of In Figure the schematics 02802 program are shown, including block number references. In both previous examples, the starting XY position of the face has calculated, its a suitable To use 0280 I program as an example, the starting position was X7 .75 Y 1.0. part was 5.0 inches. plus a clearance of plus the inches cutter total X7.75 absolute value of cutter center. disadvantage of this is apparent when using a mill that has a different diameter than the one expected by the A last change of the mill at the may cause problems. Either there will be too much clearance (if the new tool is smaller) or worse will be not enough clearance (if tool is larger). is another way to solve this problem. As the title of section the solution is to use <obsolete' Posirion Compensation feature of the control system, already described in Chapter It is probably only application of the position on modern CNC machining centers. to Figures show that we have to face (with cut) a 5>::3 using a 05 inch face mill. In to the safety rules in machining, the mill has in an open area, away from the part. In ormill cutting from part by one quarter inch, the clearance of inches has to be incorporated with the ofthe face mill, which is inches, to achieve the actual tool starting position for milling cutter. In a milling program, this situation will of the following forms: on one mill radius is programmed using the actual values o The o Position compensation method is used In the first case, the program 0280 I may be with following content: result, 02801 (SmGLE FACE MILLING CUT - NO COMPENSATION) Nl G20 N2 Gl? G40 GBO N3 G90 G54 GOO X7.75 Yl.O 8344 MO) N4 G43 Zl. 0 H01 N5 GOl Z-O.2 F50.0 MOe 05.0 CUTTER Figure 28-12 Multiple face milling details for program example 02802 N6 X-2. 75 F21. 0 N7 GOO Zl. 0 M09 NB G28 X-2.7S Yl.O Zl.O N9 M30 % 234 Chapter 28 Block N3 moves the face mill to the actual, calculated start posllion the cut. In block N6, the cut is completed again. at actual previously position. program 02803 using position compensation is similar. but it some notable does 02801 with the new proCompare the original 02803, program that uses the position compensation 5 x 3 PLATE 28-13 Example of the position con10eJr}sal[lOn as applied to face milling program 02803 02803 (SINGLE FACE MILI..ING CUT) (USING POSITION C'OlMPllmlAT Nl G20 N2 G17 G40 GSO N3 G90 G54 GOO XS.O Yl.O 8344 MOl N4 G43 Z1.0 HOl N5 G46 XS. 25 DOl N6 GOl Z-O.2 F50.0 MOS N7 G47 X-O.2S F21.0 Ni GOO ZLO M09 N9 G91 a2B XO YO ZO NlO teO % When comparing, note the major differences in N3 . (new X value), in block N5 (compensation G46), and in block N7 (compensation G47). The situation will benefit from some more detailed evaluation. The N3 block contains X position with value of X8.0. That is the initial position. Since the plan is to apply the compensation G46 (single contraction), the tool has to be at a position of a larger value than one expected when compensation is completed. Therefore, XS.O is an value. Note that if the G45 compensation command were the initial position would have to be a smaller than the one when compensation is completed. This is because the position compensation is always relative to the programmed direction. The N5 block is added to program 02803. It contains the position compensation G46, which is a single contraction in programmed direction by the compensation amount contained in the register of DOl offset. Note that the prowhich is the total of grammed coordinate value is the part length (5.0) and the selected (.250). mill radius is totally disregarded in the program. The main benefit this method is that, within reason, the grammed coordinates will not change, even if the face mill diameter is changed. example, if a 03.5 inch mill is used. the job can done very nicely, but the starting position may have to changed. In this case, the stored value 1.75, but N5 will still conthe DO I offset will CNC system will do its work. tain last block worth a further look is N7. It contai os G47 position compensation command. The X value is equivalent to the selected clearance of X-0.25. G47 command means a double elongation-of the offset value along the of the programmed direction. is need LO compensate at the start of cut, as well as at the end of cut. Also note the initial position the the same, no compensastart position cannot milling tion will take place. With some ingenuity, the can be programmed very creative]y, using a rather obsolete programming feature. CIRCULAR INTERPOLATION and and many olher machines, routers, filers, wire EDM, and others. applications. there related 10 contouring. the other chapler. along a tool path contouring is called in proftling on centers, as well as such as simple and laser pro- Circular inlel polalion is used complete circles ill such applications as radii (blend and parlia}), circular IJV'~"'''''~ CI"\n"r1r'~ Or conIcal shapes, radial recesses, corner helical even large counterbores, etc. The terpolale a defined arc wilh a very information is given in / - CENTER QUADRANT POINT / RADIUS figure 29·1 Basic elements DI a circle • Radius MENTS OF A CIRCLE understand the principles of programming various cirmotions, it helps to know something about basic As an that is entity known as the common in everyday life, a circle various properthat are slrletly mathematical. only considered in disciplines, such as Computerized mol ion control and aUlomation. following definition ora circle and that are related (0 a circle arc based on some common dictionary definitions - Figure 29· 1. similar definitions of a circle that can and mathematical books. The a circle and its various properties as handbook, provides a sufficienl knowledge programming. Additional will for some specialized or complex appl At this time, become at leasl miliar with the geometrical and trigonometric for arcs and circles. In the simplest .~u,~"'_~, terms, a circle is defined by ils c:enfer point and its os. Two of the most important in part programming are Ihe elements of a circle radius and the center point location circle is also important of the word radius CNC programming. is radii, although the word 'has been accepled as a colloquial term. In programming, radii and diameters are used all the on a daily basis for aJmost all contouring machines. in machine shops use radius and diameter dimensions a lot, with an almost unlimited number of possible Radii and diameters are also tool insert designation, they are gauging (inspections), as well as in tions and various auxiliary programming. the actual application of an arc or is not important, only its mathematical ,..1'"I'::IT<:I,..tp·rl 235 236 • Chapter 29 Circle Area and Circumference The area of a circle is defined by this formula: ~ where ... A R 1t Area of the circle := = The circle radius = ((lnstant (31415927) The circumference of a circle is the length of a circle if it were a sU"aight line: 1.& where ... C o Circumference of the circle The circle diameter 7L Constant (3.1415927) It is important 10 note that both the area and circumference of a circle (its actual length) are seldom used in CNC programming, although understanding their concepts presents a rather useful knowledge. QUADRANTS A quadrant is a major properly or a circle and can be de- fined mathematically: A quadrant is anyone of the four parts of the plane formed by the system of rectangular coordinates. It is 10 every programmer's benefit to understand the concept of quadrants and their applications for circular motions In milling and turning programs. A circle is programmed in all four quadrants, due to its nature, while most arcs are programmed within one or two quadrants. When programming the arc vectors I, J and K (described later), the angular difference between the arc start and end points is irrelevant. The only purpose of arc vectors is to den ne a unique arc radius between two poi nts. For many arc programming projects, the direct radius can be used wi lh the R address, avai lable for majority of control systems. In this case, the angular difference between the start and end pOints is vcry important, because the computer will do its own calculations to find the arc center. The arc with the angular di ffcrenee of 1800 or less, measured between the start ;:md end points, uses an R positive value. The arc in which the angular difference is more than 180°, uses an R negative value. There ru-e two possible choices and the radius value alone cannot define a unique arc. Also worth mentioning is a mirrored tool path and its relationship to the quadrants. Although it is not a subject of Ihe current chapter, mirroring and quadrants must be considered together. What happens to the tool path when it is mirrored is determined by the quadranl where the mirrored tool palh is posilioned. rn the Chapter 41 are more details abom mirror image as a programming subject. For now, it should be adequate to cover a very brief overview only_ For example, if a programmed tool path in Quadrant I is mirrored [0 Quadrants II or IV, the cutting method will be reversed. That meanS a climb milling will become conventional milling and vice versa. The same rule applies to a programmed tool path ill Quadram II as it relates to Quadmnts 1 and III. ThIS IS a very important consideration ror many materials used in CNC machining, because climb milling in Quadrant! will turn into conventional milling in Quadmnts II and IV - a situation that is not always desirable. Similar changes will occur for other quadrants. • Quadrant Points From [he earlier definition should be clear (hat quadrants consist of two perpendicular lines that converge at the arc center poi nt and an arc that is exactly one quarter of a circle circumference. In order to understand the subject deeper, draw a line from the center of an arc thai is paraHelto one of the axes and is longer than the arc radius. The line created an intersection point between the line and the arc. This point has a special significance in programming. It is often known as the QuadraJlt Point - or the CQldinal Point - although the lauer term is not used too oftcn, except in mathematical terminology. There are four quadrant points on a given circle, or four intersections of the circle with its axes. The quadrant points locations can be remembered easier by associating them with the dial of a compass or a standard watch with an analog dial: Degrees Compass direction Watch located direction between quadrants 0 EAST 3 o'clock IV and I 90 NORTH 12 o'clock I and II 180 WEST 9 o'clock II and III 270 SOUTH 6 o'clock III and IV At this point of learning, it may be a good idea to refresh some fermI) of rhe ~ngle direction c1efinition The eSf("lb- lished industry standard (mathematics, as well as CAD, CAM and CNC) defines an absolute angular value as being positive in the counterclockwise direction and always starling from zero degrees. From the above table, zero degrees correspond to the East direction or three n 'e/()rk position of an analog clock - Figure 29-2. CIRCULAR INTERPOLATION 237 POSITIVE DIRECTION / I • 1 Circular Interpolation Block There afC two preparatory commands programming an arc direction: ANGLE G02 Circul<Jr motion clockwise G03 Circulm mOlion counterclockwise DIRECTION MatheJ7Iatlcal rU>1Jmlll1n 01 the arc direction quadrant poinls arc im· In some cases, the quadrant ,even If the cIrcular is is particularly lrue where crossing the quadmodern controls block, wilh PROGRAMMING FORMAT The progrnmming format path must i ncl ude lask of cUlling an arc parameters are defined as: 1001 (he o Arc cutting direction (CW or CCW) o Arc start and end points o Arc center and radius value The cutting must more detaillaler in this used for circular molion . . . rr"'rr'........ ramelers related to the • "Y'I Arc Cutting Direction A cutting 1001 may move clockwise (CW) or lenns are assigned by convemion. mol ion direction is determined hy at the plane in which the circular mOlion The motion from [he plane venical horizontal axis is clockwise, reverse is counterclockwise. This convention has rnalltematical docs not always malch the machine axes IeI' 31 describes machining in planes, this take a brief look Both the G02 and G03 commands are modal. they remain In effect unLilthe end of program or until canceled by another command from the same G usually by another mOlion command. The preparatory commands G02 and are words used in programming 10 establish circular tion mode. The coordinate words following command are always designated within a The plane is normally based on the available axes lions ofXY, ZX and YZ for milling or applications. Normally, (here is no plane selection on a lathe, ahhough some conLfol indicate it as G 18. (he ZX The plane selection and the combination of circular motion and the arc cutting direclion determine the arc end point, and the R value specil'ies !hearc radius. Special arc center modifiers (known as vectors) are also availif programmer requires (hem. Wilen Iht! or G03 command is aclivaled by a CNC any active 1001 motion command is automalically canceled. 111is canceling mOlion is Lypically GOO, Gal or a cycle command, All circular 1001 path momust programmed with a cUlling feedrate in dlecl, applying the same basic rules as for linear interpolation. That means the fcedrale F must be programmed before or the cUlling mOlion block, Jf (he feedrate is not speciin the circular motion block, the control system will aUlomatically look for the last programmed feed rate. If in effecl al all. many controls usually rcturn an en'or (an alarm) to lhat effect. The feed rate tIed in one of two ways. Either directly, wilhin block only or indirectly, by assuming Ihc lasl motion in a rapid mode is not posnot possible is Ii simultaneous three axes circular molion. more details on this subject, look up Chapler helical mil On mllSI majority of older conlrols, direct radius address R specified and the arc center vectors I, J and K 238 Chapter 29 _ ... _....................................................................... ... G02 x .. Y .. I.. J .. G02 X .. Z .. 1.. K .. G03 X •. Y .. I.. J .. G03 X .. z .. I.. K .. Milling program - cw Turning program - cw Milling program - CCW Turning program - CCW Control systems supporling the arc radius designation by address R will also accepllhe UK modifiers, bUi the reverse is not (rue. If bOlh the arc modi fiers UK and the fad ius Rare programmed in the same block, the radius value takes priority, regardless of the order: G02 (GO)) • Arc Center and Radius x.. Y .• R.o r .. J .. G02 (G03) x" Y .. I .. J .. R .. The controls [hat accept only the modifiers UK will reLurn an error message in case Ihe circular interpolation block contains the R address (an unknown address). • Arc Start and End Points The Slar! poim of an arc is the point where circular interpolalion begins, as determined by the cUlling direction. This poinl must be located on the arc and it can be a tangency point or an Intersection, resulting in a blend radius or a partial radius respectIvely. The instruclion contained in the start roint block is sometimes called the departure command - Figure 29-3. CENTER POINT j, START ,CENTER POINT I POINT START POINT CCW=+ ~ ~ \., ' . -, ' - R .-.::'-,- ---.-.-, --1- -.- 1USED IN MILLING ~ K- - USED IN TURNING Figure 29·3 Center point and start point of an arc The arc start poilU is always relative to the cU!ling motion direction and is represented in the program by coordinates in the block preceding the circular molion. In terms of a definition, The start point of an arc is the last position of the cutting tool before the circular interpolation command, Here is an example: N66 N67 N68 GOI XS.75 Y7.S G03 XII.. 625 Y8. 625 R1.l25 GOl X .. Y .. In Ihe example, block N66 represents the end of a contour, such as a linear motion. It also represents (he start of the arc that follows next. III the following block N67, the arc IS machined, so Ihe coordinales represent the end of arc and slart point of the next elemen!. The last block of the exnmple is N68 and represents the end point of (he elemcnt Ihat starred from the arc. The end point of the arc is the coordinate point of any two axes, where the circular mOlion ends. This point is sometimes called the target position. The. radius of an arc can be designated with the address R or with arc center vectors r, J and K. The R address allows programming the arc radius directly, the lJK arc center vectors are used to actually define the physical (actual) arc center position. Most modem control systems support the R address input, older conlrols require {he arc center vecto.rs only. The basic programming format will vary only slightly between the milling and turning systems, particularly for the R address version: G02 x .. G02 x.. G03 X .. G03 X.. Y .. R •• Z .. R .• Y .. R •• Z .. R •. Milling program - CW Turning program - cw Milling program - CCW Turning program - CCW Why is [he arc center location or the arc radius needed at all? It would seem that (he end pain! of an arc programmed in combination with a circular interpolation mode should be sufficient. This is never true. Always keep in mind lha! numerical cOlltrol means control of the LOol path by nUn/ben', In this case, there is an infinite number of mathematical possibilities and all are corresponding to this incomplete definition. There is virtually an unlimited number of arc radii thal will fit between the programmed stan and end poinl~ ;mil ~till milinlrlin the cutting direction. Another important concept to understand is that the CUlling direction CW or CCW has nothing to do with the arc center or the radius. The control system needs more information than direction and target point in order to cut the desired arc. This additional information must contain a definition thaI defines a programmed arc with a unique radius. This unique radius is achieved by programming the R address for the direct radius input, or using (he UK arc center vectors. Address R is the actual mdius of the tool path, usually the radius taken from the part drawing. • Arc Center Vectors Figure 29-4 shows the signs of arc vectors I and J in all possible orientations. In different planes, different pairs of vectors are used, but the logic of their usage remains ex· actly the same. Arc vectors 1. J and K are used according to the folloWlll l1 definitions (only I and J are shown in the illustration): e CIRCULAR INTERPOLATION 239 G02 G03 Quadrant Quadrant II 1+ JO 1+ J- 1+ T / / Quadrant III Quadrant IV J+ D 29·4 Arc vectors I and J (also known as arc modifiers) and 1+ J+ 1- J+ 10 1- J+ designation in different quadrants (XY plane! error. cases where both There is JlO and Arc center vector K is the with "n" ... ili"rl measured the start point or the arc, to the center of the arc, parallel to the Z axis. (he start point of lhe arc and the arc (as specified by the DK vectors) is most as an incremenlal distance the two points. control systems. for example many Cincinllati use the absolute designation to an arc center. cases, the arc center is programmed as an absolute value from the program zero, no! from arc center. sure how each of the cOnlrol terns in the shop handles these situations. in this respect creates a major format, so be careful 10 avoid a io those in the shop. using absolute arc center. specified direction applies only to the incremental of arc center. It is the of relative posi· tion oflhe arc center from the starl point, programmed with a directional sign - absence of the assumes a positive direction, minus direction and must always be written. Arcs center de· finition follow standard • Arc in Planes machining centers, the three geometrical planes correct arc vectors must be G17 G02 G18 G02 G19 G02 (G03) x .. Y •• R •. (G03) X •• z .. R •• (G03) Y •• Z •• R •. (or I .. J .. ) 1.. K •• ) J .. K .. ) o Chapter 29 E y G18 - ZX PLANE G19 - YZ PLANE x z z ~------------~X y 29-5 Arc direction in three planes - the orientation of the axes is based on mathematical, not machinc, plancs plane is no! aligned with the axes used mlhe program a(e [he circular molion will rn,-n'T\f' to the axis selection ill the program. modal motion is omiued. The Ihis potentially harmful problem is to follow a In nonstandard planes. (he circular program always contain specifications for both a..'(es, as arc vectors or the R value. Such a block is will always be executed on the of axes priority_ This mediod is preferable to the vious!y defined plane. Even if the plane correct, the resulting tool motion will The simplest form of a blend radius is pendicular lines that are parallelw (he orthe start and end points only a I ions or subtraclions More complex cl'llcul/'llion is when even one line is al an angle. In this case, point, functions are used to calculate the staft or or both. Similar calculations are required for blends between other entities as well. A blend arc is known as a arc or afillet radius. • Partial Radius The opposite of a blend arc is a smooth blend between two conlour RADIUS PROGRAMMING an arc, 11 '" I', n Progrrunming arc is very common. is only a porlioll. of a circle and are gram an arc. If the arc is 360°, it must the start position bei the same as end position. In case, a full circle is Ihe resu 1t.1f only a portion of the only 11 Two ".,-1 as a ra- point is not tan- il in two for the arc start a blend are, dehad used in III o Blend radius o Partial radius Each radius may be nrr\OrMTIrrlJ'·rI rection and each may any orientation that the culti • Blend Radius A point of tangency between an arc and adjacent element creates a blend radius. Blend radius is defined as a radius tangent between a line em arc, an arc and a line, or between two arcs. A blend arc creates a smooth transition point of tanbetween one conlour element and another. gency is the only contact point between the two elements. FUll CIRCLE PROGRAMMING All Fanue and many controls support a full circle programming. Full circle is an arc machined along 360°. Full circle is on the Jathes in theory only, since the not allow it. For the millfull is fairly rouli ne and is reas: o Circular o Spotface milling o Helical milling (with linear o Milling a cylinder, or cone CIRCULAR INTERPOLATION 1 A full circle cutling is defined as a tool motion completes 3600 between the start end points. resulting in identlcal coordinates for the start and end tool pos)([ons. This a typical application one programInl of a full circle - Figure 29-6, GOl Z 0.25 FlO.O G02 X2.0 YO 7S 1-1.25 JO F12 0 G02 XO.7S Y2.0 IO Jl.25 G02 X2.0 YJ.25 11.25 JO G02 X3.25 Y2.0 IO J-l.2S GOO ZO.l (BLOCK 1 (BLOCK 2 3 (BLOCK 4. a four block programmi / \ The arc start and end pOints are located al a quadrant poinl of the axis line, which is an pol1anl programming consideration. The quadrant the example is to 3 o'clock position (0°), thaI (he G02 is block only for the to be repealed in a program. to the occurrences of 10 Ihey do not they change. \ starting position --2.00 - rant points, 29-8 I1rl1f1rrnm entry Full circle programming using one block thaI COV- cutli "\ \ OF 4) OF 4) OF 4) OF 4.) G90 GS4 GOO X3.25 Y2.0 S800 MQ3 GOl Z-O 25 F10.0 G02 X3.2S Y2.0 1-1.25 JO F12.0 more difficult by establishing the cut from any of the four are at , 1800 and 270". For exam- , there will be five circular ple, if the coordinates of the start poml of blocks, notfour, the arc (shown asxs ys willhavetobecalculated using trigonometric functions - Figure 29-8: xs (FULL CIRCLE) GOO ZO.1 controls do nut allow a circular I 1"1 fj>rl"l," I more than one quadrant per block. In this case, to be divided among four or even on the srarting tool position. Using the the resulting program wlll be a same resuiL') - Figu.re START POINT "- -- R1.25 I,--2.00-~• 29-8 Full circle programming using five blocks '. I I 2.00 R1 I J_ Figure 29·7 Full circle nJ'f'lI,,::.n'fflUII'I four blocks of program entry G90 G54 GOO X3.25 Y2.0 seoo M03 code G90 GS4 GOO X3.04B3 Y2.6808 SBOO MO) G01 Z-O.25 FlO.O 1 OF 5) G02 X3_25 Y2.0 I-1.0483 J-O.6808 G02 X2.0 YO.7S I-1.25 JO 2 OF G02 XO.75 Y2.0 IO Jl.25 3 OF 5) 4 OF 5) G02 X2.0 YJ.2S I1.25 JO G02 X3.04S3 Y2.680B IO J-l.25 (BLOCK 5 OF 5) GOO ZO.l Values x~ and y, were calcu lated by the functions: ~ 1.25 x cos33 1.0483382 Ys = 1.25 x sin33 = .6807988 242 29 • From the resuits, [he start poinl of the cut can be found: X=2+Xs '" 3.0483382 Y = 2 + Ys 2.6807988 Boss Milling As an example of a full circle be used, as illustrated in Figure X3.0483 Y2.6808 If the control in one block, quire the I a o 01.812 CilflnOI G90 G54 GOO X3.0483 Y2.6808 S800 M03 GOl Z-O.2S F9.0 G02 X3.0483 Y2.6808 1-1.0483 J-0.680a GOO ZO.l J "ri,-I""'M R. TOP cannot be arbitrarily replaced with next example is tlot correci' L ,- G90 G54 GOO X3.0483 Y2.680B 5800 M03 GOl Z-O.2S F9.0 (* WRONG *) G02 X3.0483 Y2.6808 Rl. 25 F12. 0 GOO ZO.l ~", ····1 'lIIj I FRONT . I . Mathematically, lhere are many options for a full programming. If an R value is programmed for a 360 0 arc, no circular motion will take place and slich a block will be ignored by (he conlrol. This is a precaution built into {he control software, to prevent from cutting an incorrect arc because of the many existing possibilities. In 29-9, only a handful of the possible ares is shown. The circles );hare the same cutting direction, start point. end poinl, and radius. They do nOT share center points. 29-10 Boss milling eXiJ~mf)"e lor program 02901 are terms used for external milling is an milling of a full The cutler used will be j/VI.-Fl. •• l. at deplh: 02901 (0.75 DIA END MILL) Common radius and motion direction -- Common start and end point N1 G20 N2 G17 G40 GSO N3 G90 G54 GOO X-l.O Yl.S S750 M03 N4 G43 ZO.l HOI NS GOl Z-O.37S F40.0 MOS N6 G4l YO.906 DOl F20.0 N7 XO F14.0 N8 G02 J-O.906 N9 GOl Xl.O F20.0 M09 NlO G40 Yl.5 F40.0 MOS N11 G91 G28 XO YO Z2.0 Nl2 M30 % In program 0290 I, the tool moves first to the lion and depth, then the CUller radius When reaching the cutting depth, the tool a climb milling motion to the top of boss. Then it around the circle to the same point moved away ./ Figure 29-g Manv mathematical possibilities exist lor a lull circle withR by revcrsing the initial motions, it returned to its Y start poi nt - Figure 29- JJ shows Ihe block numbers. CIRCULAR INTERPOLATION 243 N2 N9 N5 N8 N8 GOl G40 XO F20.0 M09 N9 G9l G28 XO YO Z2.0 MaS mo M30 % Program 02902 shows both arc start point at 90'" programmed at ] 2 0' clock position. radius offset started during the motion from arc center. A cutter radius offset cannot start or end in a circular mode. N7 This is true for almost any circular application, very few that use a special cycle. • Internal Circle Cutting ~ Circular Start Figure 29-11 Boss miJling example - tool motions for program 02901 Alternate applications may include multiple 1."""""''', a semifmishing pass, wo cutting related to machining. • Internal Circle Cutting - linear Start .LU""'Ll'Q' full circle cutting is common and has many such as circular pockets or counterbores. In an simple linear approach programming me:thcfd last example will not be practical when smooth blend l.vJeen the approach and the circular cut is required. prove the surface finish, the start position of ,-",-".I..u,:u tion can be reached on an arc. The usual startup is ftrst at a 45° linear motion, to apply cutter then on an arc that blends with the full 29-13 illustrates the principle and the complete program. ~"'''''U1J'~, a 01.25 circular cavity is to be machined to tion will .250 inch, 3n program 02902. A simple moused for the startup. where the entry point blend The cutting tool is a center """'.,"'" as a slot drill) - Figure 29-12: Figure 29·13 Internal circle cutting linear and approach 02903 (0 . 5 DIA CEN"l'ER END 29·12 Internal circle cutting - linear approach only 02902 (0 . 5 DIA CENTER END MILL) m G20 N2 G17 G40 GBO N3 G90 G54 GOO XO YO 8900 M03 N4 G43 ZO.l HOl N5 GOl Z-O.25 F10.O MOB N6 G4l YO.625 DOl F12.0 N7 GO) J-O .625 Nl G20 N2 G17 G40 GSO N3 G90 G54 GOO XO YO 9900 M03 N4 G43 ZO.l HOI NS GOI Z-O.2S FlO.O MOS N6 G41 XO.3125 YO.3125 001 F12.0 N7 GO) XO YO.62S RO.3l2S NB J-O.625 N9 X-O.3l2S YO.3l2S RO.3125 NlO GOI G40 XO YO F20.0 M09 Nll G9l G28 XO YO Z2.0 MOS Nl2 M30 % 244 Chapter method is slightly quality with a circular approach than with the linear approach. If a control systems has the User Macro option and many circular are required, the 02903 could uu."JJ"'V to a macro. Some cycle built-in. • Circle Cutting Cycle What is not true in circular application, is true in this situation. In normal programming of arcs cles, a cutter radius cannot start in an arc tool mr,nr,n In Gl 13 mode, the start molion from center position is circular to compensated start on the arc circumference. all built into the control and [here no choice is offered. sider this situation as a special case, definitely nol as a On some CNC models, there is an additional rarne!er In the, G I 13 format - the rad illS This indicates special to reduce air cutting lime. controls, for example some but not Fanuc, have a built-in routine circle using special preparatory G 12 and G 13. These cycles are very rnn,\lpn ming aid and to the surprise of many dropped this feature many years 13 progranuning. 29-14, will IS a logical relationship between G02 and G ]2, as as between G03 and G 13: Full circle cuning cw Full circle cutting ccw 12 lhese two spe- A typical programming cial commands is quite simple: I r:r-----t---t"'J - - L 0.25 G12 I .. D .. F .. G13 I .. D .. F .• Full circle CW Full circle CCW 13 start 3 or the start pomt of the cuI equivalent 10 the 9 command cannot be is the radius of as an incremental value (plus sign is assumed), the , wh icn is equivalentto the If the sign is negative, at 1800 position. which is direction Y direction. PrograrHJIlt;U D is ule co 11 trol register number the cutter radius offset F is address. on some controls, but are alternate versions of this very similar in nature. be (lcceptecl for successful usThe cutting tool must a circular pocket, the plane and (he arc starting al 0 0 or J80" (Y axis start is nol possible). a cutter radius (G 12 to Uie right, G 13 to the left). Never program the commands G41 and using G 12 or G 13 command. If the culler IS In it will be overridden the seleclion orGI2 orGl3. approach is to these two mode (CUller radius cded) al all Full circle cutting using 612/613 • program 02904 02904 (0 . 5 DTh CENTER CTJT'I'ING END N1 G20 N2 G17 G40 GSO N3 G90 G54 GOO XO YO 8900 M03 N4 043 ZO.l HOl NS GOl Z-O.25 Fl0.0 MOB N6 G13 IO.62S DOl F12.0 M09 N7 G91 G28 XO YO Z2.0 MOS AVAILABLE) N8 M30 % The program is only two but it is simpler to develop. The cutter offset IS automatic (built-in) and the editing at is much easier. is also an additional since the start point on circle is not a result of a line, but a lead-in arc, finish quality will than using olher method when types of tool approach. This is a the machined surface quality is impol1ant. There is also a built-in lead-out arc in the [0 (he lead-in arc, Ihal is effective when the is completed. CIRCULAR INTERPOLATION 245 ARC PROGRAMMING ./ / With a full arc cutting, which means the complete 360° motion, the R address cannot be used at all. The arc center vectors I and J have to be applied, even on latest controls. What if the circle is 359.999°? Well, at first, circle must have 360°, therefore the word 'circle' is Incorrect. Even i.l small difference of 0.00 I ° does make a difference between a circle and an arc. Although this difference IS much more important mathematically than for practical programming, the distinction is very important. In circular interpolation terms, an incomplete circle is nothing more than an arc. Look at this arc a little differently. If a 90° arc is made, Ihe R address can be programmed. for example: - R+ Start point / " I j ./ I \ End point - - CONTOUR Start point ./ j GOl X2.0 YS.25 F12.0 G02 X3.75 Y7.0 Rl.7S .// _ .._- CONTOUR If an arc that covers exactly 1800 is programmed, {he program will no! he much different: GOl X2.0 YS.25 F12.0 G02 XS.5 YS.25 Rl.75 Figure 29-15 Sign of R address for circular cutting - onlv the center is different The following example is identical [Q the previous onc, except for the R address sign. Note that the Y coordinate is the same for the arc start and end position. The Y value In the circular motion block does not have to be repeated, it is used here only for illustration. G01 X10.5 Y8.625 F17.0 G02 X13.125 Y6.0 R-2.625 Another example shows programming an arc of 270", still using the R address. Are the following blocks correct? 180°, establish a particular programming style. If the style GOl X10.5 Y8_625 F17.0 G02 X13.12S Y6.0 R2.625 The blocks appear to be correct The calculations, Ihe format, individual words. they all appear to be right. Yel, Ihe program is wrong.! Its result Will be a 90° arc, not 270 0 . Study the illustration in Figure 29-} 5. It shows that there is not just one, but fHiO mathemaUcal possibilities when the R address is used for arcs. The solid contour is the tool path, the dashes identify the two possible radii. Programmers do not normally think of these mathematical alternatives, unlil they program arcs larger than ISO" (or scrap a part). This is a similar situation to U1at of a full circle, described earlier. Although (he I and J vectors can be used to relnedy the problem, a different remedy may be a preferred choice. The R address can still be used in Ihe program, but with a negative sign for any arc thal is greater than 180°. For arcs smaller than ]80 0 , the usual posili ve R radius remains in effect. Recall from some earlier explanalions lhal if there is no sign with the R word (or any other word), lhe word assumes a positive value. Compare the two programming examples: GOI XlO.5 Y8.625 F17.Q G02 X13.12S Y6.0 R2.625 (90 DEGREES) (270 DEGREES) If frequently programming arcs that cover more than is well thought out, it will avoid the costly mistakes associated with the R address sign error. FEEDRATE fOR CIRCULAR MOTION In most programs, the feedrate for circular interpolation is determined the same way as feedrale for linear inlerpolalion. The cutting feed rate for arcs is based on established machining conventions. 'TIley include the work setup, material machinabi1!ty, (001 diameter and its rigidity, programmer's expenence and other factor·s. Many programmers do not consider the machined radius when seiecring the cutting feedrate for the tool. Yet, If the machined surface finish quality is really important, always consider the size of every radius specified in the parr drawing. Perhaps the same feedrate for linear and circular motions programmed so far may have to be adjusted - either upward or downward. In lathe programming, there is no reason \0 distinguish between linear and circular lool motions, regardless of the radius size. The tool nose radius is usually small, only averaging .0313 inches (or 0.8 mm) and the equidistant tool path IS close to the programmed tool path, taken from a drawing. This is not the case for milling contour programming, where large tool radii are normal and common. Chapter 29 The arc feedrale is nol required in gram. If cutler center tool path is close LO 1 contour, no adjustment is needed. On the band, when a diameter cutter is used to contour a small outradius, a problem that affects the finish may occur. this case, the tool center path a much arc one in the drawing. In a is used shorter Two formulas provide to find the adjusted arc feedrate, to the linear Both formulas are recommended for external or contouring only, nOT rough machining of solid material. • Feedrate Outside Arcs For outside arcs, ,ildjusled feed rate will be higher than the linear calculated from Ihis formula: In normal programming, the arcs as well. as determined by material. The formula for ~ where ... F0 FI iii? where ... FI r/min F! = n linear feedrate Spindle speed Feedrate per tooth Number of cutting A linear feedrate for 1000 A ormm/min) on linear feed rate of J 4 in/ml n, an requires an upward adjustment a .0045 initooth load and Using a rela- (WO culling edges, the r"""',.., ....,'" is 9 tively large cutrer diameter, larger, the linear feedrate motion may be 11:........."""': The elementary rule of Feedrate for outside arc Lineadeedrate radius on the part radius == (\5.875 mm) or or down for circugood finish. Fe = 14 X (.375 + .25) / .375 = 23.333333 is a major incre<ls!!, to in lhe program, r\n',Hl~'r the same example with ,75 cutter 14 x (0.375 + 0.75) / 0.315 adjustmenl for arcs is that the normally programmed is increased for outside arcs and decreased for inside arcs· Figure 29- 16. TPPflrnlt" changed from 14 If1crease. use prevIOus adjustment is justified or not. (01.5): 42.0 inimin - D 3 to determine CUTTER • Feedrate for inside Arcs arcs, the adjusted feed rate, calculated from will lower than formula: / / DECREASED - - . FEEDRATE '''' " NORMAL~ FEEDRATE Figure 29·16 Feedrate adlil/stlTlel1lts for circular tool motion F; "" F, R 0:: Feedrate for arc linear feed rate Inside radius on the Cutter radius Based on lhe Jinear feed rate inch inside radius with downward: Fi '" 14 x (.8243 - The result is a feedrate will be Ihe applied fPpnrllfP 14 in/min, the feed rate for I must be ad/ .8243 = 3.384932 inimin, In the program, F address. CUTTER RADIUS OFFSET known as a profile IS nOf- MANUAL CALCULATIONS milling applications by establishing then movmg the cutting tool inX Y or both axes simultaapplications, either (he X axis or the Z axes can be used 10 turn or bore a conof contour elemenl one block of culling molion. These mopomts can be programmed in or they can use an absolute value position or an incremental distance. In either case, keep in uses the cemer line of or X tool movements. AIprogramming is a very convenient development, it is also a method \.Jnaccomact with rhe material, the cutting tool must touch the programmed not its cen.ter line. path for all contounng operations is always to the tool molion. Whether used on a lY machintn center or on a CNC lathe, the cutfing rool '" . must always be tangent TO The conlOw; which means the tool motion has to create a path where the cemer poinl of the cutter is always at the same distance from the contour of lhe part. This is called the equidistant tool path. Some realities should ,",/Or'nIT'''' 30- J, The most noticeable nm"~r'J" contour must always take sated by its radius, which means macated in positions shown in the chining requirement is not by the ity of the drawing. a all dimensions to the part contour, no! the contour tool cenler. In fact, the drawing is to tool positions illustrated in the upper The question is how do the tool center uv;,,,,,,,. from a drawing 10 the part contour'? Actually, lhey is equipped with an cutler radius compenturning systems, compensalion or and common to apply the offsel drawing dimen(he necessary calculations The illustration in Figure 30-1 shows two types of a tool palh, Que is Iwi compensaled, the other is compensated. Both are applied [0 a particular conlour, wiLh the culler dia~ meter shown as well, including its positions. ,I - \'~ I CUTTER 0 (TYP) ..... Tool path with .,... NO OFFSET J.,.:..------~_) PART PROFI Figure 30·1 Tool path not compensated (above) and CDfnp8'nSI!Jil(;:a by the cutter radius to aULOmate something, we have to how it works, If something is aulomated already. the knowledge of how it works makes the job so much particularly when encountering a difficulty that has to resolved very quickly. To really understand cuuer offset - many programmers and machine operators nol it is important to understand the principles built in the tern, principles thal are very much based on basic mathematical calculations, including the often unpopular nomclry calculations. A very simple drawing is shown in 30-2 for that purpose. program zero will he selected at the lower left corner of Ihe parl. Since lhe culling will be external, in a climb milling mode, the tool will start along the Y direction At moment, the start and end 1001 position is not importanL only calculations of [he individual contour points at and tangency points. 7 248 Chapter 30 All five points can be summed up in a small table: Point No. X coordinate t -, 1.125 I J '''-...-RO.625 2.25 Figure 30-2 Semple drawing for manual calculations {examples) Note that there arc. five points on the drawing, one LIt each contour change. These points are either intersections or points of tangency. As eaeh point has two coordinates, lolal of ten values will be required, The drawing always offers some points thaI need no calculations. fl is a good idea 10 gel well organized and mark the points from the drawing first Then, make a chart in the order of tool path. Study Figure 30-3 carefully - it shows all five points and all the values thaI need no calculation, perhaps some addilion or sublraClion only. -._--X-AXIS I V-AXIS P1-XO.OOOO. YO.OOOO P2 pi x(fQ500. Y1 :1250 P3 X2.2500. ? P4~2.2500 i YO.6250 -X1.6250 YO.oooo I "- P1 , , XOYO Figure 30·3 ContDur change points required by the cutter path Out of the len values required. nine of them are given. The missing Y value for P3 is not expected on the drawing, Reaardless of whether the cutter radius offset is used or nOI, so~e calculations will always be necessary and this IS one of Ihem. Afler ali, /nallual programming is done by hand. Figure 30-4 shows the trigonometry method used. :- - 2.25 ~-~ _" 18 l 0 _"W,_ a:::: 2.25 x tan18 a=07311 P3(Y) P3(Y) =1.125 + a =1.8561 Figure 30-4 Trigonometric calculatiDns to find unknown YcODrdinate Ycoordinate i''''''''· I """" Pl XO YO P2 XO Yl.125 P3 X2.25 Y1.8561 P4 X2.25 YO.625 P5 X1.625 YO Once all the coordinates are completed, [here is enough dala to start the tool path, but only if the cutter radius offset feature is used. However, lilal is not the intention at the moment. To illustrate, a whole /lew set of points has 10 be found - coordinates for the center of the clIlter.' • Tool Path Center Points The cutting lool for milling is always round. An end mill, for example, has a diameter of a certain size. Even tools used for turning and boring have a round end (called the 1001 nose radius), even if it is relatively small. Of course. we all know that any round object has a center. Milling culter or a lathe tool lip are round objects, so they have a center. This evaluation may sound a bit too elementary and it is, but it is also the basis, lhe key element, the whole concept, of cutter radius offset. Every control system takes il into consideration. Take, for example, an electric router \001 to cut a shape out of wood - how is it used? Using a pencil oUlline of the desired shape, the router bit is placed into the tool and starts CUlling, Where? It starts clilling outside of the outlined shape, otherwise the piece cui will be either too 1Q/~r<e or too small! TIle same procedure is used when cUlting a board wilh a saw - the saw width has to be compensated. This activity is so simple, It might have been even done automatically, without serious thinking. The radius of the router bil (or the width of the saw) was compensated for before and during the cut. Just like Ihe outline of the shape in wood is followed, [he outline of the machined part, outlille that is offset by the culler radius is followed as ,.,vell. The tool path generated by the cuttIng 1001 center always keeps the same distance from the part contour (outline). There is even a special name for [his type of tool path - 1\ IS called the equidislom tool path, which means 'distant by the same amount'. Figure 30-5 shows the sample drawing with the applied equidistant lool path. The question now is - what 10 do aboulthe point coordinmes that have just been calculated and stored in lhe above table, Are lhey useful? Can they be used in a program? Yes to the firsl question, but not yet to the second. A few addiiional conditions have 10 be taken into consideration. RADIUS OffSET --em, PI X axis Y P1' X-i5:3750 y-o. P2 - -- --- " __ v P3' X2.6250 ? P4 RO,375 30-5 taUI(JJsram tool path· cutter center coordinates "''''r.", ..'. . ,...... Figure 30-6 rpm,rlCHU the old sel of points wi II ra calcupoints, Again, try to see which are establish them first. point PI? It the new PI has (he value radius also (he value of culler radius in Y Contour change for the cutter center path Figure 30-7 of point P2calculalion. The trigonometry melhod is a subject programmers have 10 know how \0 work wilh - il is part of mathematics, ~x­ lended to CNC program A similar calculation is reqUIred for P3, shown in sin18 .y= 1.-_ -- x . cos18 from the old P L The actual value an)' cak:ulaleri flI nil, wilhaUi kllowillg the cuf- =1.125 +N • Cutter Radius P2(Y) = 1.3975 the culler is always been phYSically of the cutler must I" (0,0025 mm = reground tools, 10015 previ- or are undersize or oversize some this means that programming the cenlerl the exacllool radius to be known althe in all cases, • Y1.125 Figure 30-7 Calculation of P2 for the cutrer N = 1 + sin~8 x 0.375 Center Points Calculation Coordinate poinls illustrated in Figure 30-5 above, sent the center or cuuer radius al each con ram change point. Now, another can be brought inlo lhe picture, Ihe cutter A new coordinate set of five poinls can be example, (1 brund new CUller of 0.750 will Which points can withoul any trigonometric lY= ,III = P3{Y) 1 P3(Y) = Y1 the illustralion directly, Look at and evalu- ate Figure 30-6. OUI of len values requirt:d. only eight have that Ihe previous lcn calcuas well, adding 10 the overall been idenlified, but also lalions had to be done programming effort. on programming of the I n order to lin ish the d and P3 have to be calcutter center, the two Y values ror culaled. Let's start wilh point 30-8 Calculation of P3 lor the cutter center point are known, center points are in the . appear in that same ordcr II) Ihe the pOlnt loc3tions hut various G and other dam. contour. 250 Chapter 30 momenl, it is slill 100 soon to write the new closed with the table of The Type C cutter radius offset lhe ahead lype (also called the illlersecrionollype) is one is used on all modern CNC systems today. is no need to call it Type C anymore, as there are no olher available. 0.750 cutter but none Point No. Pl y X • Y-O,375 X-O,375 Defini1ion and Applications offset is a of the control system [hal a contour without knowing the exact X-O, P3 P4 X2,625 P5 X1.625 diameter of the cutter. ture performs all points, based on YO.625 digit I used in the calculations. It may where it came In(o {he It represents lhe value of sin 90°, which is I in fronl of (he Y - il is a symbol for Jitllclriangle Specified direction of the cutter motion o Radius of the cutter stored in control system [a develop a program without knowing the exact CUller diameter at the (ime of programming. It also CNC operator to adjust, to fine iunc, the WHer in the control system (nominal. oversize or undersize), during actual machining, In practical terms, cutter (and tool nose radius offset on lathes) for a number of reasons: conhad no culler rawas developed in had to be calcu- lat(~d WiTh the cwfer radius in This method of programming added a great amount of time to the part development process, greatly rhe possibility of programming errors and disallowed any Oexibility during mach1l1ing. Even a small di between the pracutter radius and the culler radius required and the creation memory in those control tcchnolcontrol syslem melh- Tvpes of Cutter Rad o - and machining - this feature The previolls examples are Iypical to (he • Points of the drawing contour a vec- COMPENSATED CUTTER PATH or o word 'delta', in mathematics 10 101', or a distance. methods useu 011 the early trols (normally of the NC lype, not dlUS offsel feature at aIL The lOol such a way (hal the contour sophisticated feaof contour change Offset o .. 5ln;nnpt' o Unknown exact of the cutter radius o Adjusting for the cutter wear o Adjusting o Roughing and finishing operations the cutter I1pt'lpl:tlon o Maintaining mJ'l,(,nlTlinn Every may not be LOa clear at moment, knowledge of this topic, it wjlJ 10 understand the subject. The suggestions are only some the possibil the automatic cutler radius offset Now lei's look at aClual use ill prognunmi but wilh PROGRAMMING TECHNIQUES As the CNC technology developed, so dId the cutler radius on'set methods. This development has laken three slages, Today, they arc known as the types of a cuner radius onsct - the Type A, thl.! Type B. and the Type C: D Type A offset - oldest uses special vectors in the program to establish the cutting direction (039, G40, G41, G421. o Type 8 old uses only G40, G41 and G42 in the program, but it does not look ahead. Overcutting is for Type 8 offset. o Type C - current uses only G40, G41 and G42 in the program, but with the look ahead feature. Overcutting is for Type C offset. o Points of the drawing contour o Specified direction at the cutter motion o of the cutter stored in the control items are the actual data sources. work wllh dnta and the data hilS to be the purposes of this charier, we assume that conlOur chnnge points are based on the coordinates. RADIUS OFFSET • 1 Direction of Cutting Motion an external or an tool palh there will always a choice now only, the directions can the coantrm:/ockwise direction the pffit contour. by Ihe faci (in milling), or the (in turning). These are two very separate to be clarified - which one 10 motion of (he [ahle or motion of Ihe lool? u. ...., ... U'l, IS motion oflhe that follow one of the CNC machine type, ir is ,"",,,,,,,,..,1 rule of CNC programming: tool motion statement is true for CNC lathes, where it is but it is CNC machining centers, true for other lypes l"Iser Clllling machines, il is Figure 30-9 ma- Cutter path direction as ir relates to a stationary pM contour: fa b) No motion direction shown - left and right is unknown fe - d) Cutter positioned to the LEFT of the contour (e - f) Cutter positioned to the RIGHT of the contour etc. When it comes to the so versus counlerciockwise, a closer look IS • • left or Right - not CW or CCW care of is to eliminate the ing terms r l r l r F \ , l I l reserved '-1"_11..1'::" place in and counterclockwise. These terms are circular interpolation and have no the cutter radius offset. and Right are used the left or to the right the direccion oj when faced with the we determine the correct poto a certain previously esA moving objcct is said to be La a stationary object, depending on mowmem. Offset Commands In order to program one or direction), there are two nrt>',","',r'l to the culter I or G42 mode is canceled by G40 command: Cutter radius offset mode CANCEL is no difference. The comto the left or to the looking inLO the cutler all three radius ofrser 30-9. The illustration a direction, a cutler with to the left of the conlow; fied and pOSItioned to the Out of the two ler? Compensation to centers, because it cutting, assuming that a with M03 rotation. There sation to the right. causing so mode of cutting. This mode cases, after consultallon with a applies to milling systems, not to G41 G40 E of G41, G42 and G40, to the cutter path 252 30 terms of the milling method. answer to command is applied is applied to the conventional milling mode, is true only if the spindle rotates with M03 funclion CW) and the culthe spindle must ler is right hand. If the cutter is rotate with MQ4 function aC!Ive (spindle CCW) and all rules applying to cutter radius are the exact opposite discussed here. is no cutler radius offset apG40 command is in 10 the climb milling mode, 30- J J shows as a climb mi 11 ing and the 042 as a conventional mill' most common in Climb milling mode is millmg, particularly in contour milling. area last question is seltings. We are areas (offset screens on the control the Position Tool Length 17 to 19 respectively). earlier to look at their relaAlthough of the CNC the same prin- offsets in more depth and tionship to the compensation cutter this lopic appear to be aimed at the programmer has fa equally well, if nol in even more deprh. • Historv of Offset Types have developed over (he and because their and many of me older in use understand the models are and their application, it is to know what of offset the Fanuc control IS as expected the lower level or control is, the lower [he nexibility, ano vit:e vt:rSl1. the word bility - il IS not the quality that is or higher - just the flexibility. DIfferences arc cal:eg,on:reo as Offset Memory There are three on Fanuc systems: t Conventional Milling G42 Climb Milling G41 ...... Tool motion direction Type A - lowest level of flexibility o Type B - medium level of o Type C - highest level of 1'1"".1""1.1" ... , Figure 30-11 Climb milling and conventional milling mode for a rigllr hllnd currer and The spindle rotarion mode M03 • Radius of the Cutter of gram Ihe Lool culler path, nOl mean forgotten or ignored question al this speci fled in the nrr,or'lrn First, look at ferem CUHer radi o offset that allows to procontour were the required cutrer should be either 30- 12 - it illustrates the SMALL MEDIUM LARGE not confuse these memory types with the Culler radius offset determine how 1001 length offset and the cutter offset will be entered into the contTol nothing else. Work offsets 054 to 059 are not Tool Offset Memory Type A The Type A tool offset IS the lowest level available. Its Ilexibility is very lim because Ih is offset the tool length wlth cutter radius in a single column. Because sharing for two different offoffset- In it means IS registry area as clIn he used, with wilh this Iype of cal type in their value. covered later, memory are the most economi- Tool Offset Memorv Type B Figure 30·12 Effect of cutter radius on the actual tool path values. has only a single screen column. Now - do not assume! The twO columns for tool values at all. They are for the in one column and the Wear this distinction. the for both, tool length program uses addresses CUTTER 3 • Tool Offset Memory Type C Wilh Ihe Ihree lypes of Tool MemDlY The Type C offset group offers the most the only offset type available that values from those of {he lool radius, It still tinction of the Geometry Offset and the Wear Type B docs. That means Ihe control display columns - yes,jour columns in lOlal. In this addresses Hand D will be used for their BOlh the Type A and rhe Type Bare with only a single register, where the lool ues are stored along with the cUller amounts. Normally, the Type A and Type B are associated wirh the H only. That means me H is with command, as well as wilh the G41 or cUfling tools do not require the cutler radius but all CUlling lools require the tool program. If a particular cutler requires both 1001 offset number and cutler radius offset number, two offset numbers from the same offset range must be in the program and stored in the control register, is the reason these offsets are called shared offsets. Offset No. 01 02 03 0.0000 0.0000 0.0000 .................... ........ww Offset No. 01 02 03 _ Wear 0,0000 0,0000 0,0000 0.0000 0.0000 0,0000 .. ... ... , H-offset Geometry Wear 0,0000 0,0000 0.0000 0.0000 0,0000 0,0000 example, programmed tool T05 requires both which obviously cannol have the same offset number. is to use Ihe tool number as the tool length offset number increase that number by 20, 30,40, or so, for cutter radius offsel. The entry for the Type A in the offset screen be similar to the one in Figure 30-/4: _w Geometry Offset 05 D-offset Geometry Wear 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 3()·14 Shared offset Mh;:~/M' PM'~~~ for tool offset memory Type A [here are two columns avai table, but entry in the offset screen will shown in Figure 30- ] 5: 30-13 Fanuc (00/ offset memorv types A B, C from the top down • it is reasonmethods able to expect somewhat different for each type. Up to a point, this IS true. It is relatively easy to [ell which offset type is j list look at the conlrol display. Figure 30- /3 ieal appearance of each Offsef MeinDl)) with zero vaIues). The aClual appearance different, depending on the control model. Offset Address H or D ? Programming Format No. 35 I Geometry . 10.0000 Figure 30-15 G41 x. .. D •• 01' .. G42 X .. D .. 01' .. G41 Y .. D .. or .. Shared offset G4.2 Y .. D .. many axes can chapler as well, address to usc and of the tool motion and how at a time will be discussed in this the question of which H address or the 0 address? offset memory Tvpe B The Type C will the 10(.)1 length and the tool umns, the same offsel no need for the 20, 30, H address is r"'C'L"r,''''''' the D address is cutler her Figure 3()~ J6 show~ an input to the Type A and the columns. Since their own col- both - there is In 254 Chapter 30 The cardinal rule number two is also simple and is based on the adherence to the first rule: Always apply the cutter radius offset -8,6640 0.0000 0.3750 Figure 30-76 Unique offset register screen for tool offset memory Type C • together with a tool motion 0.0000 I Geometry and Wear Offsets Similar to the application of geometry and wear offsets for toollenglh offset, described in Chapter J9, the identical general rules can be used for the cutter radius offset. Offsets entered in the Geometry offset column should only contain the nominal culler radius. In the examples, we have used a 0.750 cutler, with the radius of 0.375, That is the nominal value and that would also be the typical value entered into thc Geomerry offset column. The Wear offset column should only be used for adjustments, or fine tuning, relative to the nomina! size, as required during setup andior machining. There is no separate column for adjustment or fine tuning for the Type A offset. Adjustments can still be made, the only difference is that the value in the single column will always change with each adjustment even if it represen ls the cutter rad ius. These two rules are not arbitrary - rules can be broken. The suggestion here IS to follow the rules until a better way is found. When selecting a startup (001 position, a few questions are worth asking: o What is the intended cutter diameter? o What clearances are required? o Which direction will the toof take? o Is there no danger of collision? o Can other diameter cutter be used if needed? o How much stock is to be removed? The same drawing used already will be used for this example as well and (he cutter radius offset will be appl ied to Ihe contour. To turn the offset on, to make it effective, the cutter will be away from the actual cutling area, in the clear. The intended cutler is 0.750, the climb milling mode is desired, nnd .250 clearance is away fTom the contour. Wilh these numbers, the start position is calculated at X-0.625 Y-O.625. Figure 30-17 shows the start position that satisfies all rules and answers the questions established earlier. APPLYING CUTTER RADIUS OFFSET All programming aids required to apply the cutler radius offset in an actual CNC program are now known. The actual application, the way 10 use the offset in a CNC program, as well as the methods of proper usage, will be discussed next. There are jour nwjor keys to a successfu I use of lhe culler radius offset feature: i . 0.25 :~ ~I I L-yO 1. To know how to start the offset 3. To know how to end the offset -iY-O.625! ./ 2. To know how to change the offset RO.375 J XO - , ~-O,25 4. To know what to watch between the start and end Each item is important and will be discussed in order. 100.75 CUTTER 0.25 CLEARANCE Figure 30· 17 Slarr position of the cutter before radius affset is applied • Startup Methods Slarting up the cutler radius offset is much more than using the G4IX ..D .. in the program (or something similar). Starting up the onset me(l.ns :1dherence to two cardinal rules and several important considerations and decisions. The cardinal rule number one is simple - it relates 10 the start position of the cutter: Of course, the suggested location is not the only one suitable, but it is just as good as other possibilities. Note that the cutter located at the position X-0.625Y-0.625 is lwr compensated, the coordinates are to the cenTer of the cutter. Once the start location is established, tJle first few blocks of the program can be written: 03001 (DRAWING FIGURE 30-2) Always select the start position of the cutter away from the contour, in the clear area N1 G20 N2 G17 G40 GSO NO G90 G54 GOO X-0.625 Y-0.625 S920 M03 CUTTER RADIUS OFFSET 5 N4 G43 Zl. 0 HOl N5 G01 Z-O.55 F2S.0 MOB N6 (c) (FOR 0.5 PLATE THICK) extra safety, the approach to the depth of Z-0.55 on a V2 inch plate thickness) was split into two moalthough cutter is safely above the clear area. the heen the first motion can be direction IS to the left the Moving the I command is means first target location. Howbecause the as well. That means Next decision is point. Normally, Lead-in motion, or all of them corlocation eventually. are some possible options; and re- IS N.. GOl G4l XO YO 001 Fl5.0 N .. Yl 125 (l?2) N .. In alllhree versions. the cutter radius gether with the first motion, while still away (he option actually part contour. part, selecting the option (a) is the method of the lead-in. A combination of (a) good choice, wilh the Y axis target in Once the offset has been lUrned on, the conlour poims can be programmed along the part lhe computer will do ilS work by conswlltly I.he c;uUer properly offset at all limes. The program I can now be extended up [0 poim P5 in the original illustration: 03001 (DRAWING FIGURE 30-2) Nl G20 N2 G17 G40 GSO N3 G90 G54 GOO X-0.625 Y-0.625 5920 M03 N4 G4.3 21-0 HOl N5 G01 2-0.55 F2S.0 MOS (FOR 0.5 PLATE THICK) N6 G41 XO 001 F1S.0 (START OFFSET) N7 Yl.125 N8 X2.25 Yl.8561 N9 YO.625 NlO G02 Xl.625 YO RO.625 Nll GOl X •. At block N 10, the tool has reached Ihe end of the radius. The contouring IS not yet finished, the bottom side has to cut, along the X axis. The question is - how far to cut and when to cancel the cutler radius offset? c, Figure 30-18 Possible lead·in molions ro apply rhe cutter radius offset This is the last cut on the part, so it has (0 be machined the offset is slill in effeCT! The cutter can end al XO, butti1at is not a practical position - the tool should move a bit farther, still along the X axis only. How far is further? Why nm to the same X-O.625, the original start position? is nOlthe only clearance posilion available, but is the most reliable and consistent. The block N II will The (a) option is first and the cutter lion, Then, the tool continues (Y 1.1 25), already in the These two motions will appear in N .. GOl G41 XO DOl F15.0 N.. Yl.12S as: Nll GOI X-O.625 (P2) N .• The option (b) is motions, whereas two version will not be for the the progmm would stillue correct: N .. GOl G41 YO 001 F1S.0 N .• XO N .. Y1.12S N .. (P2) cutter has len the pari contour area and the cutter is not required anymore. It will be canceled but a lillie review of the startup may help. culter radius was known for th is job, which is not alcase. The programmer needs a suitable 100/. because the Culling values depend on it. WIthin reason, a or 0.875 cutter are not far apart - except for clearp.:lrlH\{~(-, of .250 was selected for .375 cutler means the program is still good for cutters up to and including 01 . CNC operator has this freedom, l)v".<\U;,,, the only change is [0 the DOl offset amount in the 256 Chapter 30 control offset registry. The may have to be adjusted, if necessary. We will look at what when the culle.r radius offsel is applied, rule to establish the start selected with a the largesT culler that • i ncreased for a or for a that is complete the program, leI's the cutter radius offsct, when it is no • Finally, the program 03001 is completed. There was no need for any tool - such an change is rarher a rare occurrence, at contouring operations using milling controls. Ihe directional change may needed in the some comments may be useful. Offset Cancellation or A lead-in mOllon has been used at the the culler radius offset. To cancellhe offset a motion will be length of Ihe lead-out (just as the length of the Cutter Direction Change During a normal mil cui, Ihere will seldom be a to change Ihe cutler offset direction from left to right or from 10 . If it become necessary. the normnl one mode 10 the other withow command. This practice is seldom G41 [0 G42 would 10 the has (0 be somewhat greater Ihan or at least equal [Q cutter radius. The lead-in and the lead-out motions are called ramp-in and ramp-out 'fhe safest place to cancel cutter for any ma- IS away from the contour This should be a clear area position. end position, Figure 9 Lion In (he example. now be written. HOW THE RADIUS OFFSET WORKS from given examples is good way to by a recipe or a help in cases, but it will not help much in cases where there is no no and no example. In those to really undersland all principles behind cases, il is such as principles of the cutter thc The is a good beginning. Next during the tool motion in N6 G41 XO DOl F1S.O I 0.25 , YO It is not as simple as illooks. We cannot block, as N6, and know exactly what to understand what the do not think. they only execute inslruclions and follow these instructions B N6 IS an Instruclion: Move 10 XO, the radius Sf 0 red in DO! 10 lhe left, during a linear motion aT 15 j RO.375 - .... ill/mill. This is Ihe program ion to the control . Where does the too! SlOp? Figure 30-19 Cutter radius offset cancellation· program 03001 - ill Figure 30-20: program - tool-.......--.- ...... --llIJli'- tool 03001 (DRAWING FIGURE 30-2) ----" Nl G20 N2 G17 G40 G80 N3 090 GS4 GOO X-O.62S Y-O.62S S920 M03 N4 G43 ZL 0 HOl NS GOl Z-0.S5 F2S.0 MOS (FOR 0.5 PLATE N6 G4l XO DOl F1S 0 (START 1"'1 C''C'<:!,""'"\ 1 N7 Yl.125 N8 X2.25 Yl.856l N9 YO.62S NlO G02 Xl.625 YO RO.62S Nll GOl x-o 625 N12 GOO 040 Y-O 625 NlJ Zl. 0 M09 Nl4 G28 X-0.62S Y-O.625 Zl,O Nl5 M30 % 001 (CANCEL OFFSET) 001 - I Figure 30-20 Ambiguous slartup for a curter motion in radius affsef mode RADIUS OFFSET 7 there are fWO possibilities and they are both compensate the culler to the left conditions specified in block the cUlling tool moves to as eXT)eClea is on to the left of (he pari contour, the motion, using the radius value stored in the tef what is the problem? is ambiguous. There are IWO possible outcomes, while only one is required. Which one? For lef! part of the illuslration, one where the 1001 Y + direction next, when Ihe radius offset This is the key.' The mOL ion direction thaI block must be known to the control. does the control handle culler radius offset Type C a buill-in the 'Iook-ahead'type of cutler radius look· ahead feature is based on the principle known as buffering or reading-ahead. Normally, the control processor executes one block at a time. There will never be a ,-aU.)",U by any huffered block (next block). In a shari overview, lhis is the sequence of events: C) 1 left : position after N6 is Y positive direction: next N6) o control detects an ambiguous situation, and does not process the block as yet o control advances the processing to the next block (that is NJ), to find out into which direction tool be next ways Ihe program can be written: Q Example 1 - Figure The control will first read the block i":l"In,t;:urlinn startup of the cutter radius offset (that is the o N3 G90 GS4 GOO X-0.o2S Y-O.62S S920 M03 N6 G41 XO DOl Fl5. 0 (START ,.....,."",."...... N7 Y1.l2S ''''',('-,-.,... ..... ".,. Y-MOTION FOLLOWS) type of the cutler radius offset is 2next Iy in the software, but makes the contour lS Y negativedireClion: mi expected, so much easier on a daily basis. As maybe are some siluations Lo be aware of. N3 G90 G54 GOO X-0.62S Y-0.625 5920 M03 N6 G41 XO 001 F1S.0 N7 Y-1.125 (START OFFSET) Y-MOTION FOLLOWS) In both cases, content of block N6 is the same, but the motion Ihat follows the N6 is nOI - Figure 30-21. • Rules for look-Ahead Cutter Radius Offset Look at following sample program selection, not re- hued to any examples; NO MOTION block N17 G90 GS4 GOO X-0.75 Y-0.7S S800 MO) N20 GOl xo DOl F17.0 N21 MOS N22 Y2.S (START OFFSET) (NO MOTION BLOCK) (MOTION BLOCK) in program structure? Ignore coolant ON function in block N21. H it can wrong with it. The fact rem.Olion block N21 , wh ich is Ihe same block Ihe. control wi II look ahead 10 ror I he direction of the next too! mOlion, Look at one more program selection - again, as a new What is -Figure 30-21 Importance af the next tool motion for curter radius offset. Y+ next direction on the y. next direction on the right • look-Ahead Offset Type The block N6 alone does not contaln suflicient amount of data 10 successfully apply the nextlllolion - in fact, thf' dirf't:/irm of the next motion - must known \0 the control system at all times! Q Example - two NO MOTION blocks: N17 G90 G54 GOO X-0.75 Y-0,75 S800 M03 N20 GOl XO 001 F17.0 N21 MOS N22 G04 PlOOO N23 n.s OFFSET) MOTION BLOCK) (NO MOTION BLOCK) (MOTION BLOCK) 258 Chapter "",,·h.,,",c - but not wrong - this lime there following the CUller radius offblocks do HOI include any molion. a program Ihalll1ighl be line if the radius were nOl applied. With an offset In effect, such a program structure can create problems. Controls with the 'look-ahead' can look ahead only so many blocks. If the the one block look-ahead is atare two or more look-ahead blocks availon the control features. and not all consuggestions: o If the control has a type cutter radius It:CltUI't:;. but the number of blocks that can be UI"c:;;,;:,t;U ahead is not known, assume it is only one block o Make a test program to find out how many blocks the control can read ahead o the cutter offset is started in the program, hard not to include any non· motion blocks - restructure jf necessary in mind that the control subjects the program input to lhe rules embedded m the software. The correct input must In the foml of an accurale program, kind of a response can b~ expected If the culter rais programmed wrong? Prohably a scrap of the If the conlrol syslem cannol calculate the offset culler position, it will act as if the offset were not programmed at all. means, Ihe initial tool motion will be towards the XO wllh the cUfter center. When Ihe necessary information is passed on [0 the control, the offset will be applied, usually lao lale, after Ihe CLllIer has entered the parl. Scrap is the most likely result in Ihis case. Such an incorreCT gram is shown in Figure 30-22: 03002 (PROGRAM WITH RADIUS OFFSE.'T """"''''VJ~J N1 G20 N2 G17 G40 GBO N3 G90 G54 GOO X-O.S Y-O.S Sl100 M03 N4 G43 Zl.O HOi NS GOI z-O.SS F20.0 (FOR O. 5 PLATE TKICK) N6 G41 XO 001 F12.0 Nt MOS N8 G04 PlOOO N9 Y2.5 NlO X3.S Nll YO Nl2 G01 X-O.S Nl3 GOO G40 y-o.s Nl4 Zl. 0 M09 NlS G28 X-O.S Y-O.5 Zl.O Nl6 M30 % (NO MOTION BLOCK) {NO MOTION '-'''-''-''-','', (MOTION """""""-''-, {MOTION ....'-"-,"-'" (MOTION BLOCK) (MOTION '-''-''-,''-'" CAl)1CE:L OFFSE.'T) A conlrolthaL can read only one or I1vo blacks ahead \'v'iII nrr\nr,,,",, 03002 -Ihe next marion is in (In In to avoid program structure lhat eonUIlns more black, • Radius one hal f of lhal very - rule should help to make cutter radius offset will nOl fail: iQVERCUT, AREAl --+-;.. / error due tD w(()ng program structure· program 03002 example. in Ihe program 0300 I, the lool ~iLion is at X-O.625, (he targel position is XO. the programmed Ienglh of the tool travel is selected was .375, which is smaller and adheres 10 the rule. There are lwo other possibilities - one, where the CUller is the same as the programmed length of the 1001 travel, and lWO, where the cutter radius is larger than programmed length of the lool travel. Figure 30-23 shows a stan position of a cuLLer thal same programmed length of lravel as the culler is ceJ1 a In Iy a! lowed, bu I def] ni tel y nOL n'\'~nrl"'r1 reason is it limits the range of adjustmenls that can 10 the actual cutter radius during machini l'\Y't1. RADIUS OFFSET 9 N3 G90 G54 GOO X-O.25 Y-O.62S S920 M03 No G41 xO DOl F15.0 Y1.125 N7 RO.375 Y-O.625 o X 30·23 Cutter start position is equal to the cutter radius Tlte followillg example in a .375 travel programmed along the X If the 001 amount as (han .375, there will be a motion toward XO. If the 001 amount is equal to the difference between the grammed length and length is zero and there will not be any molion along X axis. In that case, the of the radius takes without a movement and the motion (0 the Y I I will continue. N3 G90 GOO G54 X-O.37S Y-O.62S S920 M03 N6 G41 XO 001 F1S.0 N7 Yl.12S (START OFFSET) (P2) What will happen here? Ihecontrol calculates the between the travel length and the culter radius .375. the direction of next travel as Y thai because the cutter is positioned to the the intended motion, it to move. 125 in the X direction! That does not seem to a problem. is a plenty of free there is a problem - (he control does not recognize the Programmer knows it, but that there is a free control does not. The who designed the have taken a actions; yet, they wisely to play it safe. decided to let the control to rejeci and issue an alarm. pending on the alarm 'Overcutting will occur in cutter radius or ence' or a similar will appear - the common alarm 04J on Fanuc systems. number for this error is Many programmers, even with a long perienced this alarm. If nOI, they were either or have never used cutter radius offset in the Anytime the cutler interference alarm occurs, always look al surrounding blocks as well, not just at the onc the processing. (START Try to avoid like this one - although coo-eet, they do not provide any flexibili!y and can cause serious difficulties at some lime in the future. Figure 30-24 shows a start position where partially on of(he target position. nirely not system will an alarm In (he next we look at the cutter ence that occurs a lool mot jon, not just at or tennination of the cutter radius • Radius Offset interference The last illuslrated only one of pOSSIbllines, when the cutter radius offset occur. Another cause for this alarm is when a cutter radius is trying to enter an area is smaller than the cutter radius, stored as the D amount. To . the next proin Figure 30-25. gram 1: 1 t.--1.00 RO.20 RO.25 o 1.1 0.50 figure 30-24 ' - - -_ _ _ _ _- - - - 1 _ Cutter start position is smaller then the cutter radius program sample is except the X axis start if the cutter is .3750: similar to the pretion is (00 close in the DO 1 regis- 30·25 Simple drawing lor program 03003 , 260 r 30 03003 (DRAWING FIGURE Nl G20 N2 G17 G40 GSO N3 G90 G54 GOO X-O.625 Y-0.62S S920 M03 N4 G43 Zl.0 HOi NS GOl Z-O.SS F2S.0 Moe 0.5 PLATE THICK) N6 G41 XO DOl FlS.O (START OFFSET) N7 YO.925 N8 G02 XO.2 Yl.125 RO.2 N9 GOl X1.0 NlO YO.75 Nll G03 Xl.25 YO.S RO.25 Nl2 GOl XL 75 N13 YO Nl4 X-O.625 Nl5 GOO G40 Y-O.625 OFFSET) Nl6 Zl.O M09 Nl7 G28 X-O.625 Y-O.625 Zl.O drawing dimension can no! be changed, of the cutter diameter must be changed, to a culler that is .500 inches. The .200 is no problem, as external not allow gouging in cutter rafeature is built-in and is no to see what would actually happen, if were not Nobody wanls to see the gouging on the pan, but the 30-26 shows the same effect cally. rn was a real error in the earlier forms ter radius Type A and Type B. I~ NlB M30 R0.25 program is quite simple, it is correct it follows all discussed so rae The key to succes<:; i <:; the selecl ion of cutter diameter and the entry amount the address into control system. Let's see what will - the inch mill. The same culler is used as before, a amount DOl stored in the control will control unit will process the information from the with the offset amounts to Then, it executes the blocks as il moves the par!. Suddenly, at block N7 alarm No. 041 occurs cutter radius inleJference problem. What happened? There [s nothing wrong with t'he Most CNC operators would look at gram it. After careful study, if they fi nd it correct, the cause or the problem must be somewhere of Try not [0 blame the computer and don't more ti me once you are that the Check the offset input in 001. The amount the tool in there. That is also OK drawing next. That [$ erything seems and is a the screen, step. !GOUGE 001 =0.375 =1:1 Figure 30·26 Effect 01 overcutting (gouging) in cutter offset mode. Tvpe Cradius offset (look ahead type) does not allow overcutting • Single vs. Multiaxis Startup There is another stanup, particularly if tion along twO axes, look at no problems. Now we look at cutter radius startup mo,.,,.,.~. __ single axis. cutting, with cutting. in Figure 30-27, usEvaluate the two approach ing a cutter radius offset startup towards an internal profile, for example, a wall of a pockel or in[ernal contour. the relationships between: o dimensions ." alld '" o input .. , and... Offset amounts o Offset amounts Program input ... and... Drawing dimensions may a while amount of experience a-; well, In to. It pro- the problem is in the relationship amount and [he drawing dimension. Study radius of 375. This - there is an is set to the cutter is expected \0 tit into the it cannot - hence ihe alarm. Possible problem in cutter radius offset mode during a startup with two axes simultaneously (intemal curting shown) CUTTER RADIUS OFFSET 261 o Correct approach - single axis motion: Here are the first few correct blocks of each method: The correct programming approach shown on the left side of the illustration contains the following blocks - only the starting program blocks are listed: N1 G20 (CORRECT APPROACH WITH A SINGLE AXIS) N2 G17 G40 GSO N3 G90 G54 GOO XO YO S1200 M03 N4 G43 ZO.l HOI Nne NS G01 Z-O.25 F6.0 (FOR 0.25 POCKET DEPTH) N6 G41 Y-0.7S DOl FIO.O (START OFFSET) N7 XO. 75 N8 YO. 75 There is no internal radius in the program 10 worry about, so the amount smred in the offset register DOl does not have [0 consider i[ and wi!J represents (he cuucr radius as is. o Incorrect approach - multiaxis motion: The incorrect mol ion approach shown on the right side of the illustration contains the following initial blocks: N1 G2 a (INCORRECT APPROACH WITH TWO AXES) N2 G17 G40 GSO N3 G90 G54 GOO XO YO S1200 M03 N4 G43 ZO.l HOI MOS N5 GOI Z-0.25 F6.0 (FOR 0.25 POCKET DEPTH) N6 G41 XO.7S Y-O.75 DOl F10.O (START OFFSET) N7 YO.75 There is no way the control system can detect the bottom wall of the pocket at Y-O.7S. The startup for the offset is exactly (he same as for external cutting, but more damaging. Compare the two possible startups for the drawing shown in Figure 30-2, earlier in the chapter. If [he radius offset is started with a single axis motion, (he result is shown at the left side illustration in Figure 30-28.1f the offset is started with a (wo-aJ(is motion, the result is shown at the right side illustration in FiJ;ure 30-28. xi t YO-'- ) 1./"): N' ~ oj wi '-- ~ D01 -j -- - D01 'W '0 xl o Correct approach - single axis motion: G20 (CORRECT APPROACH WITH ONE AXIS) N2 G17 040 GSO N3 G90 G54 GOO X-O.625 Y-O.62S 8920 M03 ill. N6 G41 XO DOL F1S.O N7 Y1.125 o Correct approach - multiaxis motion: N1 G20 (CORRECT APPROACH WITH TWO AXES) N2 017 G40 Gao N3 G90 G54 GOO X-O.625 Y-0.62S 5920 M03 N6 G41 XO YO DOl FlS.0 N7 Yl.125 There will always be a problem that cannot be solved in any handbook, regardless of how comprehensive that book may be. The subjects and examples included in this handbook present common basis for a better understanding of the subjecl. With growing experience, the understanding becomes much deeper. Before going any further, let's review some general rules of the cutter radius offset feature. OVERVIEW Of GENERAL RULES Reminders and rules are only important until a particular subject is fully understood. Until then, a general overview and some additional poinls of interest do come handy. Programming the cuuer radius offset is no differenl. The following items are marked [M] for milling, [T] for turning, and [M-TJ for both types of control systems: o [M-T J Never start or cancel the radius offset in an arc cutting mode (with G02 or G03 in effect\. Between the startup block and the cancel block, arc commands are allowed and normal, if the job requires them. o [M·T J Make sure the cutter radius is always smaller than the smallest inside radiUS of the part contour. o I M-T lin the canceled mode G40, move the cutter to a clear area. Always consider the cutter radius, as well as all reasonable clearances. o I M-T I Apply the cutter radius offset with the G41 or G42 command, along with a rapid or a linear motion Y-O,625 o X -~~~- Correct approach in X Correct approach in XY Figure 30·28 Startup of the cutter radius offset for external cutting: Single axis approach, shown on the left Two axis approach - shown on the right (START OFFSET) (P2) Note that in cascs of the cutter radius offset for an external contour, both programs listed are correct, because there appears LO be 110 interference with any section of the part. In fact, there is the same interference as in the internal milling example - the only difference is that Ihis type of 'interference' is of no consequence - it tokes place while in the air. YO 'V:'O.62S· (START OFFSET) (P2) to the first contour element (GOO or GOl in effect). 262 Chapter 30 -"""--"""-""""--"""'" o [M) Reach the Z axis milling in the G40 mode offset cancel mode). - the preference to a single axis approach position. o I M I Do not th e offset num ber 0,. for in the program it is a sma!! error that can cost you a lot. o I M·T J Make sure to know exactly where tbe tool command point will be when the radius offset is applied two axis. o {M-T In the compensated mode (G41 or G42 in effect), watch blocks that do not contain an axis motion. non-motion blocks it possible Imissing X, Y and Z). o I M-T } Cancel cutter radius offset with the G4Q command, with a o 1M) after 0.375 --- from the depth (along the Z axis only) radius offset has been canceled. I..IIC1VVHlfJ o [ M I Make sure the cutter radius offset corresponds to the work plane selected (see Chapter 31). o [ M·T ) G28 or G30 machine zero return commands will not cancel the radius offset (but either one will the tool length offset). o - or a linear motion (GOO/G01) only, axis motion only. I M-T I G40 comlTland can be input through the MOl to cancel the cutter radius offset (usually as a ""lIf 'II II,.,' or an emergency measure). to illustrate practical application of a cutter radius offset will be on the specified lOlerance in the as +.002/- .000, for the dimensions of the I wo meters - the external and 02.0 internal. Note that of all dimensional tolerances is the same for both meters. This statement will be very important later. • Measured Part Size machinist knows thal the part depends on many factors, setup, cutting depth, material the selection of 1001, its exact PRACTICAL EXAMPLE - MilLING The following in-depth example practical appltcalion of the cutler radjus (0 CNC programmer and the CNC operator. It covers ally all situations that can happen during process and presents solutions to maintaining the dimensions of the part. The tirSI subject that (0 understood is the difference between the programmed and the measured part size. • Part Tolerances When a part is inspected, the measured one of tile three possible oulcomes: o night on size o Oversize o Undersize can only ... within specified ' ....I"'r"'''... ''''' ... will be scrap for ... will scrap external cutting The first outcome is always the extemal or internal In both cases, the specified roleral1ce IS outside of the requires a look at additional (wo items thai also have to be considered: o The next example radius offset on the part that reason, only a simple simplest tool path. btlt not """t'I>~'~"'r' method. Figure 30-29 shows o External cutting method ... known as Outside or 00 ... known as Inside or 10 the machined canthe tenns oversize and WIto the type of cUlling. The folmost results: CUTTER RADI 263 , No Action Required Scrap Likely Recut Possible it is clear (hat no action is necessary is within tolerances. regardless of or the internal cutting took place. For or Y2.S ->~"'---«««««::«-.-««<- ........................ Tool path motion \ results, a recut may be possible or Y 1<25 \ \ the likely result. (02.500 inch OD in the exthaL is measured as larger than the allowed tolerance can likely be recul, but a size that is smaller Ihan the range will result in a scrap. internally (02.000 inch ID in the examas smaller than the allowed recut, but a size that is larger then the allowed range will in a scrap. • 3D-3D Detail lor external tool path shown in example 03004 Programmed Offsets most a1tractive feature of the cutter it allows to change the actual tool sire right on by means of the offset registerfunction D. In example, only one lool is used - .750 mill - and one single cut for each contour Toolpath motion Offset position .0 internal). The program XOYOZO is at the center and the top of the part: 03004 (Tal - 0.75 DIA END FINISHING MILL) (**** PART 1 - 2.S DIA EXTERNAL CUTTING **** ) Nl G2D N2 G17 G40 GSO N3 G90 G54 GOO XO Y2.5 S600 M03 POS.) (CLE.AR+TOOL LG.) N4 G43 ZO.l HOi MUS FOR 2.5 DIA) NS Gal Z-0.375 F20.0 MOTION) N6 G41 Yl.2S 001 FlO.O (EXT. CIRc:LE CUTTING) N7 G02 J-L2S MOTION) NB GOl G40 Y2.S ABOVE) N9 GOO ZO.l (**-- PART 2 - 2.0 DIA INTERNAL COTrING **** ) (START POS. AT XOYO) NlO YO FOR 2.0 DIA) Nil G01 Z-O.8 F20.0 (APPROACH Nl2 G41 Yl.O Dll FS.O CIRCLE ,.....,..........'L'""", Nl3 G03 J-LO MOTION) NJ.4 GOl G40 YO (CLEAR N15 GOO ZO.l M09 AXIS MACHINE ZERO) NJ.6 G28 ZO.l MOS (OPTION.1\L N17 MOl position Figure 30-31 Detail for internal tool path shown in As is customary in program 03004, the tool path uses programmer. This is and the other positions defined by not only the standard but also most convenient method Lo develop a CNC is easy to understand by the machine dimensions are easy to trace (if can be made, if required. In plain ignores (he CUlfer radius and as if the culter were a a cutting a zero diameter. point - in • D The Figure 30-30 shows program - the external 30-3/ shows the lool path gram - the internal d half of the 03004 Setting cutter is work. The madiameters and the - ifnot in the 264 Chapter 30 One critical fact to he established first is that the CNC system always calculates a specified offset by its euUer radius, lIot by its diameter.l[ means the programmer provides [he cutter radius offsel in the form of a D address. On the machine, the programmed offset DO I will apply to the cutter radius registered in offset 1,002 \0 (he radius registered in offsel 2, ecc. What actual amounts are in these registers? Since no radius oflhc cutter is included anywhere in the program, the offset register D mllst normally contain the culler radius actual value. Be careful - some machine parameters may actually be set to accept the cutter diamefel; although all internal calculations are sti II set by the radius. Evaluate program 03004; what will be the stored amount of DOl? A 0.750 inch end mill is used, so the DOl should be set to .375. This is correct in theory, bUI factors such as tool pressures, material resistance, tool defiecLion, actual 1001 size, tooltoJerances and other faclors do inlluence the finished part size. TIle conclusion is that the DOl registered amount can be .:'75, but only under idea! conditions. Ideal conditions are rare. The same factors Ihat influence machining will also have a significant effect on part dimensions. It is easy to see thal any measured size that is not within tolerances can be only oversize or undersize and exrenwl and internal cutting method does make a difference as to how the offset can be adjusted. Regardless of the cUlling method, there is one major rule applied to the cutter radius offset adjustment in any control system - Ihe rule has two equal pans: POSITIVE increment to the cutter radius offset will cause the cutting tool to move AWAY from the machined contour. NEGATIVE increment to the cutter radius offset will cause the cutting tool to move CLOSER to the machined contour. Note the word 'incremenr' - it means that the current radius offset amount will be changed or updated - but not replaced - with a new amount. The concept of 'moving away' and 'moving closer lO' the part refers 10 the tool motion as the CNC operator will see. TI1e measured size of the part can be controlled by adjusting the culler radius offset value in lhe control, programmed as the D address, according to these two rules. The most useful rule that applies equally to the external and internal adjustments has two alternatives: dius offset commands G41 or G42 as well as the D address offset number - with the appropriate cancellation by G40. Evaluating what emc/I)' happens during the tool motion for each cutting method (external or iJUernal) offers certain options. In both cases, the cutling tool moves from the starting position, within (he clear area, to the large! position of the machining contour. This is the motion where the culler radius offset is applied, so Ihis motion is critical. In fact, this is the motion that determines the final measured size of the parl. Each method can be considered separately. • Offset Adjustment Before any speciai details can be even considered. think about how the offset amount can be changed. rn those cases where the size of the part is to be adjusted, the incremental change of the offset value is a good choice. Incremental offset change means adding to or sublracTing/rom the current offset amount (using the +INPUf key on a Fanuc screen) or sloring the adjustment in the Wear offset screen column. Changes to the program data is never the option. • Offset for External Cutting Evaluate the tolerance range for the outside circle 02.5. The tolerance for this diameter is +.002/-0.0, so all sizes between 2.500 and 2.502 are correct. Any sIze smaller than 2.5 is undersize and a size greater than 2.502 is oversize. There are three possible results of the measured size for external cutting. All examples are hased on the expected middle size of 2.50 I and on DO 1 holding the amount of 375, which is the radius of a 0.750 milling culler. o External measured dimension - Example 1 2. SOlO Ivilh DOl", 0.3750 This is the ideal result - no offset adjustment is necessary. The tool culling edge touches the intended maChining surface exactly. All is working well and the offset setling is accurare. Only standard monitoring is required. This is not such a rare situation as it seems - in fact, il is quite common with a new CUller, rigid setup and common tolerances. o External measured dimension - Example 2 : 2.5060 'Nilh DOl::: 0.3750 To ADD more material TO the measured size, use LARGER setting amount of the 0 offset To REMOVE material FROM the measured size. use SMALLER setting amount of the 0 offset Experienced CNC operators can change offset settings at the machine, providing the program contains the culler ra- The measured diameter is .005 oversize. TIle tool edge has nOI reached the contour and has to move closer to it. The radius offset amount has to decrease by one hal f of the oversize amounl, which is on the diameter or width bUlthe offset amount is entered as a radius, per one side. Offsel DOl is adjusted incremenlally by .0025, to 001==0.3725. o Externalrneasured dimension - Example 3: CUTIER RADIUS 2.4930 wiill DOl 5 • One Offset or Multiple Offsets? 0.3750 is .008 undersize. cUlling has reached beyond the programmed machil1ing and (() move away it. The radius orf:::.et amount has 10 by One half of the undersize amounl. The on the diameter (or The width) and the goal was the middle tolerance of 2.50 I ternZll diameter and 2.00 I for the internal offsets in the program needed or a will a Keep in mind that (he last few possibilities that were independent no common connection. Program 03004 mon connection bel ween the two end mill, used for Culling both dius, mentally by • Offset for Internal Cutting results of the measured size for are based on the expected and on D II holding the amount or culler. Assume for a moment, thal only one ample 001. with the stored amount of ~ured, the external diameter is 2.00 I After nu cutting (he internal diameter of 2.000 inches, when measured again, its is nol2.00 I as but only 1.999. 111is measurement is .002 the expected diruncter. The reason is bOlh have a +.002/·0.000 tolerance, The +.002 means meter, +.002 means set alone cannot on bOfh (hat if Internal measured dimension - Example 4 : 2.2010 will! The program 03004 used 001 for the and Dll for the internal diameter. Only one Dll = 0.3750 011 is the ideal result - no offset adjustment is ne.:essary. The lool cutting !Ouches the intended machining surAll is working well and the offset selling is accurate. Only normal monitoring is required. o Internal measured dimension - Example 5 : 2.0060 ""'1111 programmer should alprogram and suggest (he as a professional courtesy. D11 = 0.3750 a Scrap The measured diameter is .005 oversize. The tool has reached beyond the intended machining has 10 move away from it. The radius offset value by onc halfoflhe oversize amount. is 011 the diarllcter (or width), but (he offset amount is entered as a radius, pef side only. Tne Dll offset must incremented by .0025, to D 11=0.3775. o Internal measured dimension Example 6 . can be used here. The goal is to use a way that the pari will not likely be a even with an unproven tool. A good operator can SCfilpS by wrong offsets, at least to some key is to create some temporal)! orfset goal IS 10 force a cut Ihat is oversize externally or in.ternaily, measure II, adjust it. then recut to the right Whether machining an external or internal tool path, even the best setup will not guarantee that the part dimensions will be within tolerances. When machining ,.In contour, the diameter can be cut il1femionally (han required - in a controlled way. In this casc, the diame[cr will be roo small is present 1.9930 witll Dll = 0.3750 measured diameter is .008 undersize. [he intended maehini move creased is on the tered as a radius, crcmcnred by .004, to 0 II When iI comes 10 initial ol'fset amounts, some In- In internal contour machining, the diameter can cut leI/tiona")' smaller than required, in a cootrolled this case, the risk chalthe diameter will be 100 is ent. Either ease offers benefits but some drawbacks, 100. 266 r 30 solution is 1O move the tool machined surface by a pos;/ive increment amount must be greater than the '-I'IJ'-'-'l'-U error of the tool radius, as well as being suitable a recul. away In both cases, when to R test cut is made, measure the by one half of the di fference bediameters. If only one side is meter and adjusllhe tween measured and CUl, the di is not hal pOint point o X to .9 a 30-32 • Program Data ~ Nominal or Middle? Tool reference point for turning and bon"ng - (a) turning, {bJ boring Many coordinale locations in the dimensions that are is - what happens if the are two erance range? • Radius Offset Commands tions are grammers. One commands used in milling contouring on CNC lathes - Figure of tolerance LO use the nominal size ignore the nions have some credibility and should not . In lhis handbook, the preference is to use the nominal dimensional sizes and let the tolerances be handled by llse of offsets - at the is that a program using machine. Two reasons prevail. in case of drawnominal dimensions is easier [0 ing changes, they will affect more often than nominal sizes. + G42 - RIGHT + G41 - LEFT TOOL NOSE RADIUS OffSET Figure 30-33 Lathe application of the fool nose radius offset All the principles and radius offset for a lathe mainly caused by the In milling, the cutting tool is is the cutting edge and its radius most common is tools have a di fferent a carbide insert. An Insen may one or more CUlling edges. For strength and longer insert Ii the has a relalively small comer raturmng and boring tools are: 1/64 ::: .0156 (English) or OAO mm (metric) 1/32 .0313 (English) or 0.80 mm ,metric) 3/64 .0469 (English) or 1.20 mm (metric) JJ"'''''"J,)'' the too! cutting edge is often a n.ose radius offset became common. Offset of the tool nose radi us to the of the contouring direction G42 Offset of the tool nose radius to the R!GHT of the G40 lathes, G codes do not use in (he edges, /lose, • Tool Nose corner of the lOa], into allose 1ad ius. corners of a lurning tool and a boring tool. tool nose reference point in turning is often called point, the imaginoly point and, lately, even It is the poinl tn;i! is moverl along Ihe contour, it is directly related to XOZO of the part. G41 • Orientation center of a circle symbolizing an to the conlour by its radius. In are part of the 1001 radius. on lathes, tools do have a radius but ""',... ",.,,, nose center is also equidistant from the contour, the edges change their orientation, even for the same Additional definitions are needed in a form a vector pointing towards the radius center. vector is tip orientation, numbered arbitrarily. MH''''n,''' to eSLablish the nose radius center shows two tools and their tip CUTIER RADIUS OFFSET 267 single axis motions are part of a contour thal also includes radii, chamfers and tapers. In this case, the tool nose radius offset is needed, otherwise all radii, chamfers and tapers will not be correct. The illustration in Figure 30-37 shows what areas of the part would be undercut or overcut, if the tool nose radius offset were 110t used during machining. -.-~ /' o Reference point X a ...... to ZO.J I I a ....... Lbl Figure 30·34 Relationship of the /00/ reference point and the nose radius center The tip orientation is entered during the setup, according to arbitrary rules. Fanuc controls require a fixed number for each possible tool tip. This number hus [0 be entered into the offset screen at the control, under the T heading. The value of the [001 radius R must also be entered. If the tool tip is 0 or 9, the control will compensate to the center. Figures 30-35 and 30-36 show the standard tool tip numbering for CNC lathes with X+ up and Z+ [0 the right of origin. a - PROGRAMMED CONTOUR T2 b. Figure 30-37 T7 EHect 01 tool nose radius oHset . (a) oHset not used (b) oHset used • Sample Program T3 Figure 30-35 Arbitrary tOO/lip numbers for nose radius offset· rear lathe shown 2 .- 6 The following program example 03005 shows a simple application of the lDOI nose radius offset all an external and internal contour, based on the drawing in Figure 30-38. Only the finishing cuts are shown - roughing is also necessary, but would most likely use the special G71 multiple repetitive cycle, described in Chapter 35. 1 00 I'l.O C'">N C\lN , • NN . NN 0 N ..90 NN X4.750 X4.510 5 7 TLR I.t) I.t) NN ..- co ..- 0 , .-3 X3.250 X2.650 X2.410 - - X1.990 X1.750 XO.950 -- XO.750 -XO I 8 4 TLR :;: Tool radius Figure 3D-36 Schematic illustration of the too/ tip numbering (Fanuc controls) • Effect of Tool Nose Radius Offset Some programmers do not bother using the tool nose rat!ius offset. ThaI is wrong.! TheorelicaJly, there is 110 need for the offset if only a single axis is programmed. However. l.O I' 00 00 00 ...-0 0 N, NC\J , 0 N NN . C\J ...- , N Figure 30-38 Simplified sample drawing for program exampfe 03005 2 30 03005 NGl T0300 {EXTERNAL Fnrr5EIDrG NG2 G96 5450 M03 N33 GOO G42 X2.21 ZO.l T0303 MOB N34 GOl X2.6S Z-O-12 FO_007 NG5 z-0.825 FO.Ol N36 X3.2S Z-1.l2S N37 Z-l. 85 Change of Motion Direction CNC lathes, a change in 10 a turning cut(-s) with G42 in problem is u,,,'''-U,,.,'.Al N44 T0400 (INTERNAL FDrrSHING) N45 G96 S400 M03 N46 GOO G4l X2.19 ZO.l T0404 MOS N47 GOl Xl.75 Z-0.l2 FO.006 N48 Z-l.6 FO.OOS N49 G03 XO.95 Z-2.0 RO.4 NSO GOl XO.75 Z-2.l N5l Z-2.925 NS2 U-O.2 N53 GOO G40 xa.o Z2.0 T0400 NS4 MOl Note that the contour start positions are in the clear area - away from the pan. Make sure there is enough clearance. Cutter radius inteJference alarm (alarm #41) is always clearance. Minimum Clearance Required >TLR x 2 • much more often than on machining centers. shows a facing cut On a solid N38 G02 X4.0S Z-2.2S RO.4 N39 GOl X4.S1 N40 x4.8 Z-2.395 N41 £10.2 N42 GOO G40 X8.0 ZS.O T0300 N43 MOl • nose radius offset, programming the minimum or at least.! 00 Inches per side (2.5 a clearance for all three standard tool nose radii 1164, 1/32 and 3/64 (0.40, 0.80 and 1.20 mm - x2 X 1.70 I Correct X 1AO approach ····X1 ,00 XO CLEARANCE -, X-0,07 Incorrect approach Figure 30-40 Tool nose radius offset change for the same tool N2l T0100 (CORRECT APPROACH) N22 G96 S400 M03 N23 GOO G4l Xl.7 ZO T010l MOa (START) (FACE OFF) N24 Gal X-O 07 FO.D07 N25 GOO ZO.l (ONE AXIS ONLY) N26 G42 Xl 0 (THEN COMPENSATION) N27 Gal Xl.4 Z-O.l FO.012 ( CONTOURING) N28 Z-O.65 N29 X ••. Face CUlling is a single for consistency. For sol id the center line, X-0.07 in ally larger than double tool the tool leaves a small un the face will not be flat. >TLR x 4 i on 0 correct tool motions on the If the above program is >TLR x 4 on 0 >TLR x 2 -- --.- Figure 30-39 Millimum C/l;laI8I1CB lor loo/nose radius offset Figure 30-39 shows minimum clearances start and end of cut. Make sure the nose radius jnlo x 2 and x 4 twice or four becomes a N21 T0100 (INCORRECT VERSION) N22 G96 S400 M03 (START) N23 GOO G4l Xl.! ZO T010l MOS (FACE OFF) N24 GOl X-O.07 FO.007 N25 GOO G42 Xl_O ZO.l (*** WRONG ***) ( CONTOURING) N26 GOl Xl.4 Z-O.l FO.012 N27 Z-O.65 N28 X .. ... the face will never be completed! PLANE SELECTION From all available machining operations, contol/ring or profiling is the single most common CNC application, perhaps along wilh hole making. During conlouring, Ihe 1001 mOlion IS programmed in at least three differenl way~: o Tool motion along a single axis only o Tool motion along two axes simultaneously o Tool motion along three axes simultaneously Planes in the mathematical sense have their own properties. There is no need Lo know them all, bUllherc are imporlant properties relaling 10 planes lhat are useful in CNC programming and in various phases or CAD/CAM work: o Any three points that do not lie on a single line define a plane (these points are called non-collinear points) There are additional aXIS mOlions thaL can also be applied (thefourllI andfifth axis, for example), but on a CNC machining cenler, we always work with at least three axes, although nol aiwa)'s simullaneously. This reflects the lhree dimensional reality of our world. That is notlhe case for the following lhree programming procedures, where Ihe various consideralions change quite signilicanlly: o Circular motion using the G02 or G03 command o Cutter radius offset using the G41 or G42 command o Fixed cycles using the G81 to G89 commands, or G73, G74 and G76 commands A plane is defined by two lines that intersect each other o A plane is defined by two lines that are parallel to each other o A plane is defined by a single line and a point that does not lie on that line o A plane can be defined by an arc or a circle This chaptcr applies only 10 CNC milling systems, since turning systems normally usc only two axes, and planes are therefore no! required or used. Live tooling on CNC lathes does no! cnler lhls subject. Any absolute point in the program is defined by lhree coordinates, specified along the X, Y and Z axes. A programmed rapid motion GOO or a linear mOlion GO I can use allY number of axes simullaneously, as long as lhe resulling (001 motion is safe wilhin the work area. No special considerations are required, no special programming is needed. o o Two intersecting planes define a straight line o A straight line that intersect a plane on which it does not lie, defines a point These malhematical deflnitions are ol1ly Included for reference and as a source of addilional information. They are !lot required Cor everyday CNC programming. MACHINING IN PLANES The path of a CUlling lool is a combination of straighl lines and arcs. A too! mOllon in one or two axes always lakes place in a plane designated by two axes. This type of mOl ion is n·vo-dimellSional. In contrast, any tool mol ion lhal takes place in lhree axes al the same time is a Ihreedimensional motion. • Mathematical Planes In all three cases - and only ill these three cases - programmer has LO conSider a special selli ng of the control system - il is called a seleCTion of lhe rnachining plane. In CNC machining, the only planes [hal can be defined and used are planes consisting of a combination of any fwa primary axes XYZ. Therefore, the circular CUlling morion, curter radius offset and fixed cycles can Lake place only in anyone of the three available planes: WHAT IS A PLANE? [ To look up a definition of a plane, research a slandard textbook of malhematics or even a dictionary. From varioLiS definitions, plane can be described in one sentence: The actual order of ax is designarioJl for a plane delinition is very imponant. For example, lhe XY plane awl the YX plane are ph.vsically the same plane. However, for the purposes of defining a relative (001 motIon direction (clockwise vs. counrerclockwise or lefr vs. right), a clear standard - must be established. . A plane is a surface in which a straight line joining any two of its points will completely lie on that surface. ';('( plane ZX plane YZ plane 269 270 y international standard is based on the mathematical ru Ie that spec i fies Ihe ji rsr letter of the plane designation ways refers to the /lO/'izonral and the second reLa the verlical axis when the plane is viewed. Both axes are always orthogonal and vertical) and pendicular (aL 90°) La each In CAD/CAM, this standard deiines (he Ihe lap and baHam, front and back, elc. ~O3 G;;;\ X arc defined as: G;;;\ z RIGHT - YZ STANDARD malhemalical designation of is to write the alphabetical order of axes twice and pair with a space: In mathcmaticalterms. the ~O3 G;;;\ y ~O3 TOP - XY A simple way to Dxes for alllhree all X OF PLANES z t ~G03 ~y t ~G03 ~X TOP-XY ----~-~------.--,.. .. -YZ --.. ,- ---- PLANES ON A VERTICAL MACHINING CENTER Plane x z Xy vz I y x z y NOle the emphasis on Ihe word ·mathematical'. The em- is intenlional, and for a soon apparent, there is a mathematical planes and the machine the direction of the • reason. As will between the as defined by Machine Tool Planes view :J front view view .. , YZ 3J-l di betwo definitions, caused by a viewpoints that are both planeon ill us(ratioll. The and operators alike. of 1001 motions are and machined in all machining centers, pendicular to the XY plane. m:e the same in this main reason is that for contounng) XY plane. is always perhorizolHal appli- Program Commands for Planes Definition The sekction of a plane for related controls adheres to the mathematical designation of planes, nOE the actual machine tool planes. In a each the mathematical planes can preparatory command - a G selection III II is is extTemely Imyet often neglected and even misunderstood by XV plane o The right In programming, the selection • machining center axes. Any two a plane. A machine be detlned by machine from standard operating position. machming center, (here are three standard perpendicularly (straighl o of standard mathematical planes (above), on a eNC machining center (below) that the XY plane and lap view are Ihe same in so is the YZ plane side mathematical plane is front machine. which is XZ. as in the middle where plane plane be- ' horizontal axis G18 ZX plane selection G19 YZ plane selection motions (programmed with GOO) and all linear (programmed with G01), selection command is irrelevant and even ThaI is other motion modes, where (ion in a is extremely important sidercd For machining applications using the circular interpolation mode, with G02 or G03 commands, cutter offset mode with 1 or G42 commands and fixed mode with G81l0 commands, as well as G76. the plane selection is ieal. PLANE 271 • Default Control Status .cIRCULAR INTERPOLATION IN PLANES If the plane is nol faults automatically to G 17 LX plane in turning. If the plane grammcd, it should be induded at the Since the three plnne commands only La/" motions, cutter radius offsets and fixed selection command G 17, G 18 or G 19 can before any of these machining Always program the aplprOI)riate p,lanle se~lec·tionl cOlmmland Never rely on the control .. "'.... ,,,. . ,..'" Any plane selection change is prior Lo actual tool path change. can onen as necessary in a program, but only one active at any time. Selection o[ one plane plane, so the G 17/G 18/G 19 commands Allhough true in an informative sense, it is most the opportunities to mix all three plane program arc remole. From all three available only the circular motion is affected by plane "'-"~'-'''VI look at the programming of a as well, at least for comparison STRAIGHT MOTION IN PLANES rapid motions GOO and linear motions GOI arc constraight motions when compared with circular molions. Siraight molions Can be programmed for a SIngle or as a simultaneous motion along two or three axes. The following examples only show typical unrelated blocks: ~ Example - Rapid positioning - GOO GOO X7. 5 Z-l. 5 GOO YIO.O Z-O.2S GOO X2.0 Y4.0 Z-0.75 When we compare Ihe mathematical axes Ihe actual orientation of the machine axes machining cenLer). the XY plane (G J cmd the plane (G 19) correspond to each olher. These two planes normally present no problems to CNC programmers. The plane (G 18) may cause a serious problem if not propunderstood. Mathematically, the horizontal axis in G I plane is the Z axis and the X axis is the vertical axis. a vertical machining center, the order of machine axes is reversed. It is important to understan.d that the and counterclockwise directions ollly appear La but In reality, they are the same. If the mathemalical axes orientation is aligned with the machine axes, they will indeed match. Figure 31-2 shows the the mathematical planes with the machine planes: x GOl X8. 875 Z-O. 84 FlO. 0 GOI Y12. 34 ZO.l F12. 5 STAN MATHEMA TICAL ZX plane ,G03 G~\ ; x STANDARD ZX PLANE MIRRORED XY7-3D interpolation - GOl : GOI X-l. 5 Y4. 46 F15. 0 the COIlfrom the with GOO'in for CCW direction. rules, the r/ockwi.\1' clirecfion is vertical axis towards the horizontal in any SeH~C(c:O plane. Counterclockwise direction is always "'P'''''''rI the horizontal axis towards the aXIS, XY plane - 2D XZ plane - 2D mpid mOlion l'Zplane-2D GOO XS.O Y3.0 ~ In order to complele a circular Irol system has 10 receive surficient parl program. Unli.ke rapid or linear interpolation with in polation requires a programmed is the command for CW c - 2D hileantlO/Jon 7X pla}'!e - 2D IilleDnJlolion . 2D linear/Jlotioil G01 X6. 0 Y13. 0 Z -1 24 F12. 0 X1Z - 3D IineannoriOll 10 lool motion along the programmed not need to be used for any straight motion a single axis), unless the cutter offset or a fixed cycle is in effect. AI! tool mOlions .... "',..,..,r·Pu·" f"""""~f'III\J by the control. regardless of any in that apply to linear motions are nol the same ror circular mOlions. '-----I"'" X Z ~03 ~ G02' Figure 31·2 Progressive with the macnllJp. X PLANE ROTATED AFTER MIRRORING E 18 PLANE ON THE MACHINE 272 Cha arcs does nor change plane (a), or the malhemali- . cal plane mirrored (b), or even the milTored plane rotated by (c), even if plane itself is changed. is not a creallon of any new plane What The view still represents a viewed from a dilfcrenl direcwithin The lalion. II is G 19 plane cause some problems is well the situation is similar. plane (G 18) match beand the actual axes orienIhal appears to be reversed Ihe logical structure of a machinmg plane WIll enable operations using circular interpolation, culler radius offset and fixed cymost common applications of Ihis type of ma(blend) Intersecling radii, circular counlerbores, cylinders, simple spheres cones, and other Similar shapes. (0 undersland the CNC applications of G02 and in planes, illustration in Figure 3 J The following format grmnming applications for circular 31 pro- G17 G02 Xl4.4 Y6.8 Rl.4 GIB G03 Xll.S7S Z-1.22 R1.0 G19 G02 Y4.5 ZO RO.85 Some older control systems do not dius designation specified by the R vectors 1, J and K must used. motion within a selected must be selected: G17 G02 (G03) x .. Y.. I .. J .. Gla G02 (G03) X_. Z I. G19 G02 (G03) Y.. Z J R .. From the o XV axes o o K.. that: 7 I and J arc center modifiers XZ axes . G18 plane • I and K arc center modifiers axes . G19 J K arc center modifiers helpful. • Absence in a Block program example shows a application in a program where modal axes values are Hot in subsequent blocks: N .. G20 N40 G17 XY plane selected X20.0 Y7.5 Z-3.0 N42 GOl X13. 0 FlO. 0 N43 G18 G02 X7.0 R3.0 N44 G17 GOl XO Sl£ll1po.riJiDHDjli1elool N41 GOO 31-3 Actual circular rooJ path direction in a/l three machine planes. Note the inconsistency fOI the G18 plane • 611-618-619 as Modal Commands The preparatory G 18 and G 19 are all modal one of them will activate selection in the program he in another plane selection. The belong to the G codc group Englishunils PI[llle selection "..,.pfPIJnnl Z axis is asswned as absent PlnJle selection irrelevGlIf Block N43 represents a contour of a 180" arc in plane. Because of the G 18 command in N43, (he control will correclly interpret the 'missing' axis as the Z its value will be equal to the las! Z axis value Also examine the G 17 command in is always a good practice to transfer the control status to original plane selection as soon as the plane !hough Ihis is no! absolutely necessary in lhe PLANE SELECTION 273 Omitting the G 18 command in block N43 wi II cause a serious program error. If G 18 is omitted, the originally selected command G 17 wi II sti II be in effecl and circular interpolation will take place in the XY plane, instead of {he intended ZX plane. In [his case, the axis assumed as 'missing' in the G 17 plane will be the Y axis and its programmed value of Y7.5. The control system will process such a block as if i[ were specified in a complete block: N43 G17 G02 X7.0 YI.S R3.0 An interesting situation will develop if the plane selecrion command G J 8 in block N43 is absent, but [he circular interpolation block contains two axes coordinales ror the end point of the circular motion: N43 G02 X7.0 Z-3.0 R3.0 G17 is stilll;1 effect Although G 17 is still the active plane, [he arc will be machined correctly in the G 18 plane, even if G 18 had not been programmed. This is because of the special control feature called complete instruction or complete data priority, provided in block N43 of the last example. The inclusion of cwo axes for the end point of circular motion has a higher priority rating than a plane selection command itself. A complete block is one that includes all necessary addresses without taking on modal values. Two axes programmed in a single block override the active plane selection command. • Cutter Radius Offset in Planes The plane selec\Jon for rapid or Imear motion lS lrrelevant, providing that no cutter radius offset G41 or 042 is in effect. In theory, it means that regardless of the plane selection, all GOO and GO I motions will be correct That is true, but seldom practical, since most CNC programs do use a contour] ng motJOn and they also use the cutler radius offset feature. As an example, evaluate the following blocks: N1 G2l N120 G90 GOO X50.0 YIOO.O Z20.0 Nl21 Gal X90.0 Y140.0 ZO F180.0 When the rapid molion programmed in block N 120 is completed, the cutter will be positioned at the absolute location of X50.0 Y 100.0 Z20.0. The absolute location of the cutting motion will be X90.0 Y 140.0 ZO, after the block N 12l IS completed. Adding a cutter radius offset command 041 or G42to the rapid mOlion block, the plane selection will become extremely important. The radius offset will be effective only for those two axes selected by a plane selection command. There will no! be a 3-axis cutter radius orfset takIng place! Tn the next example, compare the absolute tool positions for each plane when the rapid molion lS complered and the cutter radius ollset is activated in the program, Tool absoIute position when the culti ng motion is completed depends on the mOlion following block N 121. The radius offset val ue of D25= 100.000 mm, stored in the conlrol offset registry, is used for the next example: o Example: Nl20 G90 GOO G41 xso.o YIOO.O Z20.0 D2S N121 GOl X90.0 Y140.0 ZO F180.0 The compensated tool posit ion when block N 120 is completed, wi I! depend on the plane G l7, 018 or G 19 currently in effect: o If G17 command is programmed with three axes: G17X .. Y.. Z.. o If G18 command is programmed with three axes: G18X .. Y.. Z.. o XV motion will be compensated LX motion will be compensated If G19 command is programmed with three axes: G19 X.. Y.. Z.. YZ motion will be compensated The following practical programming example illustrates both circular interpolation and cutter radius offset as they are applied in different planes. PRACTICAL EXAMPLE The example illustrated in Figure 3 1-4 is a si mple job that requires cUHing the RO.75 arc in [he XZ plane. Typically, a ball nose end mill (also known as a spherical end mill) will be used for a job like this. In the simplified example, only two main tool passes are programmed. One pass is the left-to-right motion - across the left plane, over the cylinder, and over the right plane. The other pass is from right to left - across the right plane, over Ihe cylinder. and across the left plane. A slepover for the tool is also programmed, between the passes. The program of this type for the whole part could be done in the incremental mode and would greatly benefit from fhe use of subprograms. Figure 3J-5 demonstrates tool motion for the two passes Included in the program example. To interpret lhe program data correctly, note that program zero is at the bOllom left corner of the part. Both clearances off the part arc .l 00 and the stepover is .050: 274 Chapter 31 3.5 2.5 -, Figure 31-5 Too! path fDr programming example 03101 Figure 31-4 Drawing for the programming example 03101 FIXED CYCLES IN PLANES 03101 The last programming item relating to plane selection is Nl G20 the application of planes in fixed cycles. For cycles in the N2 Gla (zx PLANE SELECTED) N3 G90 GS4 GOO X-D.I YO £600 M03 N4 G43 Z2.0 HOI MOB N5 GOI G42 ZO.S 001 FB.O N6 Xl. 0 N7 GO) X2.S 10.75 (= GO) X2.S ZO.S IO.7S KO) NB GOl X3.6 N9 G91 G41 YO.OS NlO G90 X2. 5 Nll G02 Xl.0 1-0.75(: G02 Xl.O ZO.5 1-0.75 KO) Nl2 GOl X-O.l N13 091 G42 YO.OS Nl4 G90 ... When working with lhis type or CNC program lhe first lime, it may be a good idea to test the tool path in the air. a lillIe above the job. Errors can harren quite easily. Three axes cutting motion is programmed manually only for parts where ca1culJ.tions are not too lime consuming. For parts requiring complex motions calculations, a computer programming software is a beuer choice. G 17 plane (XY hole locations), G 17 is only important if a switch from one plane to another is contained in the same program. With special machine attachments, such as righr an.gle heads, [he drill or other tool is positioned perpendicular to the normal spindle axis, being in G 18 or G 19 plane. Although the right angle heads are not very common. in many industries they are gaining in popularity. When programming these allachments. always consider the tool direclion into the work (the depth direction). In the common applications of fixed cycles, G 17 plane uses XY axes for the hole center location and the Z axis for the deplh direclion. Iflhe angle head is set to use the Y axis a<; Lhcdepth direction, use G 18 plane and the XZ axes wi II be the hole cenler positions. If the angle head is sella use the X axis as the depth direction, use G} 9 plane and the YZ axes will be the hole center positions. In all cases, the R level always applies 10 the axis that moves along the depth direction. The difference between the tool tip and tile center line of spindle is the actual overhang. This extra overhang length must be known and incorporated into all motions of the affected axis not only for correct depths, but also for safety. PERIPHERAL MILLING Even with the ever increasing use of carbide cutters for metal removal, [he rraditional HSS (high-speed steel) end mills still enjoy a great popularity for a variety of milling operations and even on lalhes. These venerable cutters offer several benefits - they are relatively inexpensive, easy 10 find, and do many jobs quite well. The term high speed sleel does nOI suggesl much produclivity improvement in modern machining, particularly when compared \0 carblde cutters. It was used long time ago to emphasize the benefit of this tool maLeriallo carbon tool sleel. The new material of the day was a 1001 steel enhanced wi th tungsten and molybdenum (i.e., hardening elements), and could use spindle speeds two La three times faster than carbon sleelloois. The term high-speed-sleel was coined and Ihe HSS abbreviation has become common to this day. The relalively low cost of high speed steel tools and their capability to machine a part to very close tolerances make Lhem a primary dluice for many millillg applications. End mills arc probably the single most versatile rotary tool used on a CNC machine. The solid carbide end mills and end mills wilh replaceable carbide spiral tlutes or inserts are frequently llsed for many different jobs. Most typical are jobs requiring a high metal removal rates and when machining hard materials. The HSS end mill is still a common cutting tool choice for everyday machining. Many machining applications call for a harder LOoling material chan a high speed steel, but not as hard as carbIde. As the tooling cost becomes an issue, the frequent solution is to employ an end mill with additional hardeners, for example a cabal I end mill. Such a 1001 ~s a lillie more expensive than a high speed steel tool, but far less expenSlve t~an a carbide 1001. Cobalt based end mills have longer cullll1g tool life and can be used the same way as a standard end mill, wilh a noticeably higher productivity rate. Solid carbide end mills arc also available in machine shops and commonly used as regular small to?]s. Larger lools made of solid carbide would be too expenslve, so special end mi lis with i ndexable j nserts are the lools of choicc. They can be used for bOlh roughing operations and precision finishing work. This chapter takes a look at some technological considerations when the CNC program calls for an end mill of any type or for a similar tool that is used as a profiling tool for peripheral cutting and cOnlouring. This is an operation when the side of (he cuttcr does most of work. END MillS End mills are the most common tools used for penpheral milling. TI1ere is a wide selection of end mills available for just about any conceivable machining application. Traditional end mills come in metric and English sizes, variety of diameters, styles, number of CUlling flules, numerous flute designs, special corner designs, shanks, and tool material compositions. Here are some of the most common machining operations that can be performed with an end mill - HSS, cobalt, solid carbide or an indexable insert type: o Peripheral end milling and contouring o Milling of slots and keyways [) Channel groves, face grooves and recesses o Open and closed pockets o Facing operations for small areas o Facing operations for thin walls o Counterboring o Spotfacing o Chamfering o Oeburring End mills can be formed by grinding them into required shapes. The most common shapes are the flat bottom end mill (tJ1e most common lype in machine shops), an end mill with a full radius (often called a spherical or a hall nose end mill), and an end mill with a corner radius (often called the bull nose end mill). Each type of an end mill is used for a specific type of machining. Slandardflat end mill is used for all operations that require a nat bottom and a sharp corner between the part wall and bottom. A ball nose el1d mill is used for simultaneous three dimensional (3D) machining on various surfaces. An end mill similar ro a ball nose type is the hull Hose end mill used for either some 3D work, or for tlm surraces that req~ire a corner radius between the part wall and bottom. Olher shapes are also required for some special machining, for example, a center CUlling end mill (called a slot drill), or a taper ball nose end mill. Figure 32-/ shows the Ihree most common types of end !llills usecJ ill inuuslry and the relationship of culler radius 10 the culler diameter. 275 276 Chapter 32 NOSE MILL • BULL NOSE END MILL informalion • D --, R 0 R D R = DJ2 R-···' / rdating to the size of an end for CNC machining: 0-o R < DJ2 o o 32·1 Basic NlrltmJl""t ..~n of the three most typical end mills • High Speed Steel End Mills high speed sleel end mills are Ihe 'old-limers' in maThey arc manufactured either as a or a douhle end . wilh various shank configurations. Depending on Ihe cUlling tip try, they can be used for peripheral motion (XY axes plunge motion (Z axis only), or all axes (XYZ axes). Either a single end or a double end can for CNC machining. When using a double end mill. sure the unused end is not damaged in the (001 mQunted. On a CNC machine, all end mills are held in a collet Iype \001 holder, providing the and concentricity. Chuck lype holders are not recommended for end mills of any kind. • End Mill S Solid Carbide End Mills End mill mill length length work, the diameter of the end mil I must nominal diameters are those that are . various looling companies. Nonstandard as reground cullers, must be treated differently work. Even with the benefits of cuUer offset, it is nm advisable to use reground end mills for , . although they may do a good job far emersituations and [or some raughing_ That nm mean a reground culler cannol be used for work in the shop or for less demanding length of an end mill projected from the tool holder is very Important. A long projection cause that contributes to the wear of cuLting edges. Another effect for a long tool is deflection. Deflectjon will negali~ely influence the size and quality the finished parI. nute length is important for 11"""''-'''''''''>lion of the depth of cut. Regardless of the overall 1001 length from Ihespindle), the eulting depth. Figure depth of a rough side cut in IS a larly at sharp corners, or stored. When handled ~~r'~~rt great efficiency and • t I 1,5D Indexable Insert End Mills The indexablc insert mills solid carbide end mills, but with the replaceable carbide insertS. Many this category as well. The their internal diameler La the ground l1al area where the the 1001 from spinning. in match The tool has a screw prevents Figure 32·2 HeJ,atlolnst,~J(J of the end mill diameter to the for cuts in of cut PERI PH • MILLING 7 Number of Flutes .SPEEDS AND FEEDS an end mill, particularly a hardness, the number of flutes should mary For profiling, many programmers se(virtually automatically) a four-flute end mill tool than 0.625 or 0.750. - thai is - it has to cuI into a solid mate- has normally only two flutes, This 'plunging-lype' of end mill is a more technical name as a cemer-culling old-fashioned name, a SIOl drill. The no relation to the tool called a drill, but La - just like a drill, a slot drill penelrates parallel to the Z axis. II is the area of small medium end mill diameters thal the most attention, In this size range, the end mil!s come in two-, four-flute configurations. So what are the benefits of a two-flute versus a three-flute versus a flute for example? The type of material is guiding In many other sections of Ihe handbook, "'..,"''''''''''' are mentioned. Tooling catalogues have charts recommendations 0/1 speeds and feeds for parlitular with different materials. However, one (English version) is used for calculating the in rlmin (revolutions per minute): n::ii' where ... 12 ft/min 11: o : :;: Spindle speed {revolutions per Constant to convert feet to inches Surface speed in feet per minute Constant for flat to diameter conversion of in inches formula is similar: compositions. there is (he expected ",,,,u... ,v," or a trade On a positive side. mill better conditions (0 cuts. When cutting as aluminum. magnesium, a chip buildup is important, so a practically the only choice, even somewhat compromised. A different for harder materials, behave to considered - LOol chatter and fool deflection. is no doubt, that in ferrous materials, the muhi flute end mills will deflect less and chaUer less than their two-flute cnd mills? They seem to be compromise between the two-flute and four-flute Three-flute end mills have never become a standard ">J'V''-'-, even if their machining capabilities are oflen to excellent. Machinists have a difficulty to measure accurately, partools as a verticularly wHh common nier or a micrometer. very well in most materials. Ie? where ... r/min 1000 == m/min 1t o (revolutions per minute) to convert mm to meters speed in meters per minute Constant for flat to diameter conversion Ill'!>ln ..f· .. , of the tool in millimeters a benefit from the reverse cuning at a certain spindle speed perfect for the particular diameter of (he tool for that fi nd out the ftlmin rali ng for the to any cutter size. The next diameter is in inches): What about and in fact they are a an mill with a than a similar end mill with a small diameter. In addition, the length of the end . , mill (measured as its overhang portant. The longer is the lool, the and thal applies to all tools. away from its axis (center line). common physical laws. ft / min Metric IS meters (mm): Regardless of (he laroer diameter will deflect o All entries in the formu tions and should be 1{ x 0 x r J-min 12 lool diameter is in milli- 278 Chapter 32 To calculate a culling feedrate for any milling operation, the spindle speed in rlmin must be known first. Also known has to be the number of Ilutes and the chip load on each flute (suggested chip load is usually found in tool catalogues). For the English units, the chip load is measured In inches per IOOTh (3 tooth is Ule same as 3 flute or an insert), with the abbreviation of in/rooth. The result is the cutting fcedrate that will be in inches pcr.minute - in/min. The English units version of the formula is: in/min r I min mm/min r / min x N ters per revolution /11m/rev. ~ where ... in/min r/min I, = N = Feedrate in inches per minute Spindle speed in revolutions per minute Chi p load in inches per tooth (per flute) Number of teeth ~flutes) =: =:; For metric system of measurement, the chipload is measured in millimeTers per looth (per flute), with the abbrevialioll of !'Iull/looth. The meuic formula is similar to lhe one listed for English units: N Metric units formula is very similar, it calculates the feed per [oolhfi in 111m/tooth: For a lathe feedralc using standard turning and boring lOols, the number of {lutes is flut applicable, the result is directly specified in inches per revolution (in/rev) or millime- in / min ;;: r / min x f t x N x When using carbide insert end mills for cUlling steels. the faster spindle speeds are generally better. At slow speeds, the carbide culler is in contact with a steel being cold. As the spi ndJe speed increases, so does the steel temperature at the tool cuui ng edge, produci ng lower strength of the material. That results in favorable cutting conditions. Carbide inscrt cutting lools can often be used three limes and up to five limes faster than standard HSS cutters. The two basic rules relali ng to the rei ationsh ip of tool material and spindle speed can be summed up: High speed steel (HSS) tools will wear out very quickly, if used at high spindle speeds = high r/min Carbide insert cutters will chip or even break, if the spindle speed is too low = low r/min ~ where ... mm/min = Feedrate in millimeters per minute r/min f, N ::: Spindle speed in revolutions per minute Chip load in millimeters per tooth Number of teeth (flutes) As an example of the above formulas, a 0.750 four flute end mill may require 100 fUmin in cast iron. For the same cUlling tool and pari material, .004 per flute is (he recommended chip load. Therefore, the two calculations will be: Spindle speed: r/min ~ (12 x 100) / (3.14 x .750) r/min '" 509 CUllingfeedrale: in/min", 509 x .004 x 4 in/min '" 8. 1 For safety reasons. always consider the part and machine setup, their rigidity, depth andJor width of cut and other relevant conditions very carefully. Feed per toothfi (in inches per tooth), can be calculated as reversed values from the formula listed above. • Coolants and Lubricants Using a coolant with a high speed steel (HSS) cutter is almost mandatory for culling all metals. Coolant extends the tool life and its lubricating attributes contributes to the improved surface finish. On the other hand, for carbide insert cullers, coolant may not he always necessary, particularly for roughing steel stock. Never apply coolant on a cutting edge that is already engaged in the material! • Tool Chatter There are many reasons why a chatter occurs during peripheral milling. Frequent causes are weak tooi setup, excessive LOollength (overhang from tool holder), machining thin walls of material with laO much depth or lOO heavy fccdrate, etc. Cutler deflection may also contribute [0 Ihe chalter. Tooling experts agree that well planned experiments with the combination of spindle speeds and CUlling feed rates should be the first step. If chatter sti 11 perSists, look at the machining method used and the setup integrity. PERIPHERAL MILLING 279 STOCK REMOVAL o Although peripheral milling is mainly a semifinishing and fmishing machining operation, end mills are also successfully used for roughing. TIle flute configuration (flute geometry) and its cutting edge are different for roughing and ftnishing. A typical roughing end mill will bave corrugated edges - a typical example is a Sfrasmann end mill. Strasmann is said to be the original designer and developer of roughing clItters and the trademarked name is now used as a generic description of this type of roughing end mill. Good machining practice for any stock removal is to use large diameter end mill cutters with a short overhang, ill order to eliminate, or at least minimize, the tool chatter and tool deflection during heavy cuts. For deep internal cavities, such as deep pockets, it is a good practice to pre-drill to the full depth (or at least to the almost full depth), then use this new hole for an end mill that is smaller than the drilled hole. Since the end mill penetrates to the depth in an open space, the succeeding cuts will be mainly side milling operations, enlarging the cavity into the required size, shape and depth. • Plunge Infeed Entering an end mill into the part material along the Z axis alone is called center-cutting, plunging or plunge infeed. It is a typical machining operation and programming procedure to enter into an otherwise inaccessible area, such as a deep pocket, a closed slot, or any other solid material entry. Not every end mill is designed for plunge cutting and the CNC machine operator should always make sure the right end mill is always selected (HSS or carbide or indexable insert type of end mill). Programmer can make it easier by placing appropriate comments in the program. • In and Out Ramping A = RAMPING ANGLE Figure 32-3 Typical entry angle for 8 ramping infeed into a sofid materia! • Direction of Cut The direction of a cut for contouring operations is controlled by the programmer. Cutting direction of the end mill for peripheral milling will make a difference for most part materials, mainly in the area of material removal and the quality of surface fInish. From the basic concepts of machining, the cutting direction can be in two modes: o Climb milling - also known as the DOWN milling o Conventional milling - also known as the UP milling Anytime the G41 command is programmed, cutter radius is offset to the left of part and the tool is climb milling. That assumes, of course, that the spindle rotation is nonnal, programmed with the M03 function., and the cutting tool is right hand. The opposite, G42 offset, to the right of the part, will result in conventional milling. In most cases, climb milling mode is the preferred mode for peripheral milling, particularly in fUlishing operations. Figure 32-4 illustrates the two cutting directions, Ramping is another process where the Z axis is used for penetrating (entering) into a solid part materiaL This time, however, the X axis or the Y axis are progranuned simultaneously with the Z aXIS. Depending on the end mill diameter, the typical ramping angle is about 25° for a 1.000 inch cutter, 8° for a 2.000 inch cutter, and 3° for a 4.000 inch cutter. Ramping approach toward the part can be used for flat type, ball nose type, and bl1l1 nose type of end mills. Smaller end mills will use smaller angles (3°_10°). See Figure 32-3 for an il1ustrotion of a typical ramping motion. Always be very careful from which XYZ tool position the cutting tool will start cutting at the top of part. Considering only the start point and the end point may not produce the best results. It is easy to have a good start and good end tool positions, but somewhere during the cut, an unwanted section of Ole part may be removed accidentally. A few simple calculations or a CAD system may help here. ."..,. M03 CLIMB MILUNG CONVENTIONAL MILLING G41 G42 Figure 32-4 Direction of the cut relative to material, with M03 in effect 280 Climb Milling Climb milling - sometimes called the down 111 i II ing - uses rotation of the cutter in the reeding direction and has the lendency to push the part against the table (or the fixture). Maximum (h of the chip occurs at the heginning of the cut and upon exit, the chip is very th in. The practical result is that most of the generated heat is absorbed by [he chip, and hardening of the part is largely prevented. Do not misunderstand the words climb and down describing the same machining direction. Chapter 32 the cut and upon exit, the chip is very thick. The practical result is possible hardening of the part. rubbi ng the tool into (he material, and a poor surface finish. • Width and Depth of Cut For good machining, the width and depth of cut should correspond to the machining conditions, namely the setup, the type of malerial being machined and the cutting tool used. Width of cut depends also on the number of flutes of the cutter that are actually engaged in the cut. Approximately one third of the diameter for the depth of Both terms are correct, if taken in the proper context. Conventional Milling Conventional milling - sometimes called the up milling uses rotation of the culler againslthc feedi ng direction. and has the tendency to pull the part from the table (or !he (ixture). Maximum thickness of the chip occurs at the end of CUl is a good ru Ie of thumb for small end milis, a I iHle more for larger end mills. Pcripheralillilllllg requires a solid Illachliling knowledge and certain amount of common sense. If a successful machining operation in one job is documented, it can be adapted to another Job with easc. SLOTS AND POCKETS for a CNC machining cenler, to removed from the inside of a area, a coni our and a f]at boHom. This as pocketing. To have a true ,JV'''''-'''. {he pocket boundary must be are many orher applicalions, whe((~ Ihe mafrom an open area, with only a parAn open sIal is a good example of this looks at applicalions of closed pockets, various programming techniques for internal material removal. PROGRAMMING SLOTS Slots are ofeen considered as special of 'grooves' usually have one or two radiJI are [WO ends, they are joined by a straight groove. A 5101 can either open or l:josed, with the same size on both ends, twO different radii, or one A cal sial that has only one end radius is a keyway. open Of dosed, straight, walls or shaped walls ~r'I"\rrt"lm!,Y\ slots with accuracy in a the same Lool or wilh two or on the part material, required disurface finish, and olher condil OPEN AND CLOSED BOUNDARY A continuous conlour on which (he slart point and the point is in a di localion, is called an open COntOI,It: Continuous contour defined Ifl the program that starts ends at (he same ' location, is a From the machimng of view, the major {ween an conI our is the CUlling IDOl for example keyways, can be done with called slolli ng cullers, rather than an a sJolLing cutter is usually a sllnple prow morc accurate reaches in and oul. More complex are machined with end mills, walls of lhe slot arc contoured under program control. • Open Figure An open boundary IS not a true pocket. but belongs !O a Machini of this kind of a contour is quite as the lool can reach the required depth in an open space. Any ity end mill in different varieties can be used Lo boundary. • a drawing of a typical open sial. 10 illustrate Ihe programming tech- drawing will niques of an - - 0.21 Closed Boundary The excessive material within a closed boundary can be removed in two on the cutling operation. One way is La use an move II cowards the outside of the boundary, another way is to use an internal 1001 and move it towards of the boundary. In both cases, the actual follows, along the Olllside of a pari is nol pocketing but peripheral milling (Chapter inside a closed boundary IS typical vanous regular and irregular Some lypical examples of regular or shape pockets are circular pockets, and !>o on. can have any machinable shape, bur they still use the same machining and programming pockets. One of the most commonly machined boundary shapes in manufacturing IS milling of a ty, u~ually quitl.! small, called (J sIaL 1.77 1,8 -- Figure '33 1 A An open slot programming example 03301 • Open Slot Example Before programmi any 1001 mOlion, :'Iudy [hi.: drawing. That way, the machirll ilions can be established, a~ well as ~e!up and other program zero can be determined quicklyare from the lower That left corner (XY) and lOP will become lhe !"\yr' .....·""' zero. 281 Chapter 33 .......................................... Maximum will relate to o Number of tools o Tool size The Ihe sial depth as .210. the depth it may 100 a single CUI, small cuners or tough Although a be used for full depth. some stock at the should be left for finishing. and feeds o Depth Maximum cooing depth Method of Cutting of Number of Tools If or two lools can be siona! lolerances are very critical or Once alllhe other maChining conditions are the melhod of CUlling almost presents itself. be positioned above a clear position and at the center line. 1001 will fed inlo the slot depth, CUI, use Iwo tools - one 1001 for bottom, for finishing. ln a finishing. The tools could have the same or di fferenl For [his example, only one (001 wilt be used for both roughing and finishing. Tool Size out the material all center Then It will moved back to the and al Ihe full depth for conlouring In i of the CUlling 1001 is mainly determined by the width of (he sial. In Ihe drawing, .300 radius, so [he width is .600. l1H~re is no cutler of 0.600 - but - even if there were - would it What about a inch cutter for .500 slot? 1L is possible, but the resulting cut would not IJ") quality. Toler- N 1.0 r-.... o:J IJ") .,,- o:J c0 CI'"i ances and surFace finish would 10 conrrol. That means choosing a 1001, available off-shelf, Ihar is a litlle smaller then lhe width. the slot in the example, a 0.500 inch end choice. When se- lecting the 1001 size, always 33-2, the XY 1001 program locations are shown. .- 1.185 how much stock the LOol will leave un lilt! slul walls fur lillisllillg. Tau lIIuch may require some semi cutler and the slOl width will be easy [0 calculate: ing cuts. Wilh the 0.500 the amount of slock left 33-2 Contouring details for the open sial ~xnmn.'F! create the program is nol difficult at all. The tool is in the spindle and all typical methods throughout are used. t& where ... S W :=: o Stock left on Width of slot ( slot radius times two) Cutter diameter Slock left on the S ::: (.600 - 111is is a in the example will be: I 2 :::: .050 finishing with one CUL Speeds and FBeds Spindle speeds exact situation at uses a reas.onable 8 in/min. feed rates will depend on the machine, so the 01'950 rlmin and culling 03301 (OPEN SLUT) Nl G20 (INCR MODE) N2 G17 G40 GSa UP SETTINGS) N3 G90 G54 GOO X3.87S YO.SSS 8950 Mal (START) N4 G43 ZO.1 HOI MOS (START POSITION ABOVE) NS GOI Z-O.2 FSO.O .01 LEFT ON n~~I'M\ N6 Xl.S F8.0 (CUT TO SLOT RADIUS CNTR) N7 GOO ZO. 1 (RETRAeI' ABOVE WORK) N8 X3.875 (RETURN TO START) N9 GOl Z-O.21 F50.0 TO FULL DEPTH) NlO G4I Yl.IBS DOl FB. 0 (APPROACR CONTOUR) Nll Xl.8 (CUT TOP WALL) NI2 GO) YO.SB5 RO.3 SLOT RADIUS) Nll GOI X3. 875 BOTTOM WALL) Nl4 GOO G40 YO.8SS TO START POINT) NlS Zl. 0 M09 ABOVE WORK) N16 G28 X3.87S YO.a8S ZI.O M05 (M/C ZERO) N17 M30 PROGRAM) % AND POCKETS 3 example is quite self evident included block comments will offer better of the programorder and procedure. In this '-"'''"I.'''-, only one tool used. For high precision two will be better, even if it means a • Closed Slot Example 0.885 an is in much. (001 eotry into the matcnal. locmion - too! has La into the the Z axis, unless there is a hole. to use a cel1ter cUlling mill (known as If this type of end mill is no! or maconditions are not suitable, tool will have to ramp into the material, as a second method. is a linear axes. usually in the XZ, the YZ, or 0.21 Figure 33-4 Roughing operation detail for a closed slot example 03302 Internal Contour Approach In the tool is now at the center of the of slot, ready to start cut. Climb milling mode has been selected (he contour approached In such a to its left One way is the way that the tool current tool location at make a straight linear cut the center, LO the 'south' of the left arc (while applying the cutter radius This method works, but when approaching an inner conlour it is better to use a tangential approach. An internal contour approached at a requires an auxiliary approach arc (so called lead-ill since the linear approach 1 0.885 A-A towards the contour is not i.l Although the tangential surface finish of problem. cutter interpo/alion to be added " Figure 33·3 A closed slot nrfllVlln1mUlr, example 03302 an arc Improves creates another cannor be sraned a non-circular two motions from the center to the start shown in slot already established will apA 0.500 inch end mill will be a center cutting geomClTy thai allows pom[ the contour: o First, a linear motion with cutter radius the tangential approach arc motion o technique is illustrated in Apart from the di 1001 geometry required for Ihe plunging cut, only the method of cutting will change. a closed slot (or a pocket), the tool has to move above work, to a certain XY starl In example, if wJlI be the cenler of one of the Portion of sial on the right is selected arbitrarily. at a reduced will be [0 the .010 on the bOftom) and, in a linear be roughed out between the two centers is not nec:ess;arv it can be fed into the final depth at same 1001 'v,",,,,,,,'V' slack is .050 all around the slot contour. final depth, and from the of the sial, Ihe finish contour center iocalion of the more complex this lime, bewill start Contouring cause the tool is in a rather spot. 1.1 RO.28 33·5 Detail of t",,,,,o"t,,,,1 £lllDrllach towards an inner contDur 2 33 (CUT WALL TOP) (CUT RADIUS LEFT) N12 GOl Xl. 5 Nl3 G03 YO.S85 RO.3 N14 Xl.78 YO.86S RO.28 N15 GOl G40 Xl.S YO.aas (LINEAR DEPARTURE) N16 GOO Zl.0 M09 Nl7 G2B XI.S YO. BaS 21.0 MOS Nl8 IDO AJ30VE WORK} (M!C (END OF PR()GRlIM) % This program example is also a 10 approach any inside conlour kinds (angular. circular. eic,), use (rated in the last two examples. POCKET MILLING ~ where ... RI Radius ofthe tool R, :::: of the approach arc arc) Rc Radius of the contour (slot radius) Supply some numeric data be calculatcd. three radii- The slOI conlOur dnlwing, Once the cUlling tool becomes fixed as well CRt). proach radius (Ru). lalcd accurately_ From the formula, it is. radius can of all by Ihe Ihal radius ap- thai must be greater than the culler must be smaller Ihat the contour the range (within only increments of.O I0 are - .260 or .290? Well, the rather a larger approach gential approach takes place at a a smaller radius. The result is an For program 03302, .280 is as approach radius. This selection meets all the three relationships: Thai is alilhe information needed beforc wriring the program. Note the programming similarities with the open slot listed in program 0330 I. 03302 (CLOSED SLOT) N1 G20 N2 G17 G40 GaO (INCH MODE) (STARTUP SETTINGS) N3 G90 G54 GOO X3.0 YO.SSS 5950 M03 (START) N4 G43 ZO.l HOl MOS (START POSITION ABOVE) N5 GOl z-O.2 F4.0 (0.01 LEFT ON EOTTOM) N6 Xl.5 F8.0 (CUT TO SLOT RADIUS CENTER) N7 Z-O.21 F2.0 (FEED TO FULL DEPTH) NS 041 Xl.22 YO.86S DOL F8.0 (LINEAR APPROACH) N9 G03 Xl.S YO.585 RO.28 (CIRCULAR NlO GOI X3. 0 (CUT BOTTOM WALL) Nll G03 Yl. 185 RO. 3 (CUT RIGHT SLOT RADIUS) Pocket milling 15 also a Iyplcal and common on CNC machining centers, Milling a means to remove by material from an enclosed area, This bounded area is further by tom, although walls and bottom could tapered, convex, concave, rounded, and have other shapes. Walls create the boundary contour. Pockets can have rectangular, circular or undefined can be empty side or they may have islands. Programming pockets manually is usually only for simple pockets, pockets of regular shapes, such as rectangular or circular pockets. For pockets wilh more complex shapes and pockets with islands, the of a computer is usually required. • General Principles There are two main considerations when programlTii a pockel for milling: o Method of cutter entry o Method of roughing a 10 slart mllling a pocket (into solid mateculler mollon has to be programmed to enter along of spindle (2 axis), which means the cutter center cutting to be able to plunge cut. In cases cut IS eHher not praetical or not possible, ramping can be used very successfully. melhod is oflen used when the center cutting 1001 is the Z axis to be used toor This motion will, or a 3 axis linear motion. it V'-,111\.1II where to so is the widTh di to in climb milling mode. It may he difficult 10 I~flve eX:'lctly the same amount in the pockeL AND POCKETS 5 Many cuts will be irregular and s[Ock amount will not even. thaI reason, it is quile common 10 nishing cut of the pocket contour, before cut place. One or more tools may be situation, depending on exact requirements. typical methods for roughing a are: o o - from the inside of the pocket out o One direction - from the outside of the pocket in other pocketing options are as a true spiral, morph, one way, and cases, there is a choice of speci fying Ihe ancut, even a user selected point of entry and ti overs. Manually, these more complex methods may as well, but it may be a very tedious work. • illustrate the complete tooling selection is Important. Material is lant and so are other machining rectpockets are often drawn with sharp corners, they always have COrners of the tool when The corners in the drawing are ), and 6 center CUlling end mill (0.3125). may a good choice, but for finishing, the a lillie smaller so the tool can actually cur in comer, rub there. Selection of a 0.250 end mill is reasonnot and will be used it in the example. all the material in lhe enclosed area has to removed (including the bottom), think about aU where the cutting tool can enter into the or ramping. Ramping must always be done in a area, bUl plunging can be done almost anywhere. are only two practical locations: o Pocket Types o Pocket corner The most common are also the easiest to gram. They all have a regular shape, without any islands: o Square pocket o Rectangular o Circular Square tally the same there IS no center to both selections and the ineviat the pocket center, the tool path and, after the initial cut, milling orconventional milling mode. more math calculations involved in Ibis method, starling at the pocket corner, is ar as well, but uses a zigzag motion, so one Cllt n a climb milling mode, the other cut will be in a machining. It is a little easier for calIn the eX<.Impk, the corner will be used are their side lengths, in programming. RECTANGULAR POCKETS Any corner Rectangular and p<!rticularly jf an example of a Figure 33-6 will be IJV''''''-'''' are quite easy to pro- are parallel 10 the X or Y axes. As pocket, the one illustrated in pocket is equally suitable for the start. In the pocket will 03303. the lower lefr corner of """""rw,Cl"" factors the programmer has Lo start location for the CUlling tool in an 0.15 -a- --- I t ...... "J"..,u area: o Cutter diameter (or radius) o Amount of o Amount of stock left for finishing for semifinishing the corner be known, as well as to other elements "._,,-.- - - - - ' - - - - ' \ 0.5 dimensions of the pan, as length, the width, and pocket - they must always position and its orientation are 2,5 I '"'l 0.5 r- Figure 33-6 Sample drawing of a rectangular -- R5/32 program 03303 In the Figure 33-7, the point is identified as X I corner (lower left), and all and Y 1 distance from additional data are as well The letters identify the programmerl'hrV\-C''''C L D - - L I s c w w t I Q I '- r Y1 f XI method . Figure 33·8 Result of a zigzag pocketing, without a semifinish cut • Stepover Amount X location of tool at start Vlocation of tool at start V\ TLR L::;:: W Q • I of the description letters is : I.l$' The S C the comer· T t - Xi;-- c 33-7 Pocket roughing start o Y1 = = Tool radius diameter / 2) length as per drawing Pocket width as per drawing Calculated stepover between cuts Calculated length of actual cut Stock left for finishing Stock left for semifinishing (clearance) Stock Amount are two stock amounts (values) - one relates to (he finishing operation. usually done with a separate finishing tool, the other one relates to the semifinishing operation. usually done with the roughing tool. The cuner moves back forth in a zigzag direction, leaving behind so scallops. In 20 work, [he word 'scallops' is to uneven wall surface caused by lhe tool shape, and is in 3D cUlling as well. The result of such a zigzag is generaHy unacceptable ror the finish machining. JeA ..m,",c of the difficulty of maintaining tolerances and surface wh de culting uneven stock. avoid possible cUHing problems later, a secondary operation is often necessary. It is to elimmate the scallops. Choose semifinishing cut machining tough materials or when Semifinishing allowance. as the C val ue in the ill ustralion, can to zero. 1f thai IS case, it means no additional is Typically al 11 a small value. Figure 33-8 illustrates of a rectangular pockel, (he uneven stock (scallops) high spots create the tool, so semifinishing tool than slepover will cuts (zigzag lype). There is number of culS is se- number: o number of cuts will terminate the roughing on the opposite side of the pocket relative to the start location o number of cuts will terminate the roughing on the same side of the pocket relative to the start location Practically, it does not matter which corner is 10 start at or in which direction the rUS( cut begins. What matters is that the stepover is reasonable and, preferably, for all cuts. There is a simple way of calculating the over, based on a given number of cuts. [f the amount is loa small or 100 large, just repeat the calculation wilh u different number of cuts N. The calculation can be expressed in a formula: SLOTS AND POCKETS In the formula, N is stepovers and all other L L1 U"'~ULJ'b as before. END Q Example: Il"'n,',,,,..,<.; are tool on START 0.250 (TLR S as 0.025 and semifrnishing stock -1-'-"- C will Q: .5 - 2 x 0.125 Q = 0.2360 , 2 x 0.025 - 2 x 0.01) / 5 .. Y1 -....., X11-figure 33·9 to use the pocket be a better width. This is narrower along the X axis, than it is lJl'-J'LLLLL\.. U Semifinishing tool path at the last roughing location, and leaves equal stock for 11I.....hlf.,., operation -2x5 • length of Cut W il'''LU>.~, the length, the incremental dis- 2x - 2x 5 to be calculated. fonnula to calculate the length of similar to Ole stepover calculation: In example, the D value will be: Q Example: D 2.0 - 2 x 0.125 - 2 x 0.025 - 2 x 0.01 D 1. 6800 overs • is the incremental length of cut between the cutter radius offset has been used). Semifinishing Motions purpose of semifmisbing motions is to nate uneven stock. Since the semifmishing will be nor .. the same tool as the roughing to start cuts is the roughing sequence. In case, it was corner of the pocket. Figure 33-9 the Start to (of The length LI and WI are between the Star! position value, along both axes. The fonnula for the cut, its actual cutting distance, is Q Ll ;;;;; 2.0 2 x 0.125 L1 == 1.7000 2 x 0.025 W1 ::::; 1.5 - 2 x 0 125 W1 1 2000 2 x 0.025 • finishing Tool Path is roughed out and semifirtished, another tool (or even same tool in some cases) can be to pocket to its fmal size. TIlis programmed tool will typically provide offsets to maintain maCninl!Jlg Tolerances and speeds and feeds to maintain required surfinish. Typical staJiing tool position for a small to medium pocket is at its center, for a large pocket the position should be at the middle of the pocket, away one of the walls, but not too far. For the fmish.ing cut, the cutter radius offset should mainly to gain flexibility in maintaining tolerances during machining. Since the cutter radius offset cannot started during an arc or a circular motion, linear . lead-out motions have to be added. Tn Figure 33-10 is illustration of a typical fmishing tool path for a pocket (with the start at the pocket center). conditions do apply in these cases. One is that leading arc radius must be calculated, using the same method as for slots: 288 pter 33 03303 (REcrANGUI.J\R POClCET) Nl G20 N2 G17 G40 G8Q TOl (.250 ROUGHING SLOT DRILL) N3 M06 N4 G90 G54 GOO XO.66 YO.66 S1250 M03 T02 NS G43 ZO.l HOl MOB N6 G01 Z-O.15 F7.0 ( - - ROUGHING START ------) N7 G91 X1.68 FlO.D N8 YO.236 (STEPOVER N9 X~l. 68 F12 _0 (CUT NIO YO.236 CJ:'vv""",," 2) N11 X1.68 3) N12 YO.236 3) N13 X-l. 68 4) N14 YO.236 (STEPOVER 4) !Iii' where Ra ;:::: Radius of the approach arc Rt Radius of the cutting tool Rc Radius of the corner .------.~ ... ~. - L ................. ....... ~ ~-- S) NlS Xl. 68 w \ Ra Rc TYP. 33·10 Typical tool path (or a rectangular pocket of Iii CUI is mode and the radius offset of the contour. o Example: To calculate the approach drawing, start with the corner 5/32 (.1563) and the lOol so the condition R, < the condition R" > Rr. larger than (he 1001 as pocket length and width are possible, choose the approach pockel widlh W, for a lillie In (he example, Ra. = W / 4 .. 1.5 / 4 Ra. c: .375 Condition is satisfied, the the tool radius, and can be • Rectangular Pocket Program Once all selections and decisions have been done, program can be wrillen for Ihe pockel in Two lOols will be used, bmh 125.250 end mills, cuuer must be able or center cUlting. lower left corner of the parI. All tlnishlng steps art! documented in the program. N16 YO.236 5) N17 X-1. 68 6) ( - - SEMIFINISH START -------) NIB X-0.01 (SEMIFINISH STARTUP X) N19 Y-O,OI (SEMIFINISH STARTUP Y) N20 Y-1.l9 (LEFr YN2l Xl. 7 (RIGHT X+ MOTION) (up Y+ MOTION) N22 Y1.2 N23 X-l. 7 (LEFI' X- MOTION) N24 G90 GOO ZO.l M09 N25 G28 ZO.l M05 N26 MOL ---------- N27 T02 (.250 FINISHING END MILL) N28 M06 N29 a90 G54 GOO Xl.S Yl.2S 51500 M03 TOl N30 G43 ZO.l H02 MOB N31 GOI Z-0.15 F12.0 (-- FINISHING POCKET ----------------- - ----) N32 G9l a41 X-0.37S Y-0.37S D02 FlS.O N33 G03 XO.37S Y-0.37S RO.37S F12.0 N34 GOI XO.8437 N3S G03 XO.1S63 YO.1563 RO.1563 N36 GOl n.1874 N37 G03 X-0.1563 YO.1563 RO.1563 N38 GOl X-l.6874 N39 G03 X-0.l563 Y-O.lS63 N40 GOl Y-l.lB74 N4I GO) xO 1563 Y-O.lS63 RO.1563 N42 XO.8437 N43 a03 XO.375 YO.375 RO.375 N44 GOl G40 X-0.37S YO.37S FlS.O N45 G90 GOO ZO.l M09 N46 G28 ZO.l MOS N47 X-2.0 YlO.O N48 M30 % the progrrun carefully. It follows all the decisions and offers many details. In the program, blocks N 17 and N 18 can be joined tointo a SI block. The same applies to blocks N 19 N20. They are only separated for the convenience of Ihe tool mouons to match the llluslrations. There is In using the incremental mode of programmode would have beenjust as easy. SLOTS AND POCKETS 289 CIRCULAR POCKETS '1I The olher common types of pockets are so called circular or round pockets. Although the word pDcket somehow implies a closed area with a solid boHom. the programming method relating to circular pockets can also be used forcircular openings that may have a hole in the middle. for example, some counterboring operations. o I J To illustrate a practical programming application for a circular pockel, Figure 33-11 shows the typical dimensions of such a pocket. -, d - Condition: d<O f--------- 2.0 -.--------, d I > o 3 Figure 33-12 Relationship of the cutter diameter to the pocket diameter 2.0 01.500 For example, the pockel diameter in the sample drawing is 1.5 inches. Using lhe formula, select a plunging cutter (center cutting end mill), that has the diameter larger than 1.5/3, therefore larger than .500. The nearest nominal size suitable for cutting will be 0.625 (5/8 slol drill). • Method of Entry The next step is to determine the method of the tool entry. Figure 33·11 Sample drawing of a circular pocket (program examples 03304-06) In terms of plann ing. the first thing to be done is the selection of the culler diameter. Keep in mind, that in order to make the pocket bottom clean, without any residual material (uncut portions). it is imporlan[ to keep the stepover from one cut to another by a limited distance that should be calculated, For circular pockets, this requirement influences the minimum cutler diameter thal can be used [0 cut the circular pocket in a single 3600 cut. • Minimum Cutter Diameter In the following illustration - Figure 33-12, the relationship of the cutter diameter to the pocket diameter is shown. There is also a formula that will determine the minimum culler diameter as one third of the pocket diameter. The mi lIing wi 11 start at the circular pockel center, with a si ngle 360" tool motion. In practical terms, selecting a cutter slightly larger thall the minimum diameter is a much better choice. The major benefit of this calculation is when the pocket has to be done with only one tool motion around. The formula is still valid, even if cutting will be repeated several times around the pocket, by increasing the diameter being cut. In that case, the formula determines the maxi mum width of the cut. In a circular pocket, the best place to enter along the Z axis, is al the center of lhe pocket. ff the pocket center is also the program zero XOYO, and the pocket depeh is .250, the beginning of lhe program may be similar to the following example (culting tool placed in the spindle is assumed): 03304 (CIRCULAR POCKET - VERSION 1) N1 G20 N2 Gl7 G40 G80 N3 G90 G54 GOO XO YO S1200 M03 N4 G43 ZO.l HOl MOS N5 GOl Z-0.25 F8.0 N6 In the next block (N6), the cutting tool will move from [he pocket center towards the pocket diameter, and apply culler radius offset "long the way, ThiS motion call be done in two ways: o As a simple straight linear motion o As a combined linear motion with a circular approach • linear Approach The linear departure from the pocket center can be direcled inlo any direction, but a direction lowards a quadranl point is far more practical. In the example. a motion along the Y positive direction is selected, into the 90° position. 290 Chapter 33 Along the way, cutter radius offset for the climb milling mode G4! is programmed, followed by the full 3600 arc' and another straight motion, back towards the center. During this motion, the cuttcr radius offset will be cancelcd. Figure 33-J3 shows the tool path. -. , N1l M30 % Another programming technique for a circular pocket is much morc practical - one Ibal makes better surface finishes and also maintains tight tolerances required by many drawings. Instead of a single linear approacb directly towards lhe pocket diameter, the CUlling tool can be appJied in a combi ned Itnear-circular approach. 2.0- 2,0 01.500 i. N8 GOl G40 YO FlS.0 N9 G28 Z-0.2S M09 mo G91 G28 XO YO MOS J Figure 33-13 Linear approach for a circular pocket milling - program 03304 The graphic representation can be followed by a corresponding program segment - approach a quadrant point. profile the full arc, then return back to the cenler: N6 G41 YO.7S 001 FlO.O N7 G03 J-O. 75 N8 GOI G40 YO F1S.0 Now, the tool is back al lhe pocket center and the pocket is completed. The tool must also retracl first. then move to machine zero (G28 motion is always in the rapid mode): N9 G28 Z-0.2S M09 NI0 G91 G28 XO YO M05 N11 M30 % Tbis method is very simple, but may not always be the best, particularly for very close tolerances or high surface finish requirements. Drawing tolerances may be achieved by roughing operations with one 1001 and finishing operations with one or more addilional tools. A possible surface (oo! mark, lefl al the contact point with the pocket diameter, is a distinct possibility in a straight approach to the pocket diameter. The simple linear approach is quite efficient when the pocket or a counterbore is not too critical. Here is the complete listing for program 03304: • linear and Circular Approach For this method, the cutting motion will be changed. Ideally, a small one half-arc motion could be made between the cenler and the pocket start point. That is possible only if the culler radius offset is /lor used. As a matter of fact, some controls use a circular pockel milling cycle G 12 or G 13, doing exactly that (see an example laler in this seclion). If the,o Fanuc control has the optional User Macros, custom rnide G 12 or G 13 circular pocket milling cycle can be developed. Otherwise. a step-by-step method is the only way. one block at a time. Since the radius offset is needed to maintain tolerances, and the offset cannot start on an arc, a linear approach will be programmed first with the culter radius offset applied. Then, lhe circular lead-in approach is programmed. When the pocket is completed, the procedure will be reversed and Ihe rilriillS offset c:mcelerl rluring rI linear motion back to the pockel center, The approach radius calculation in this application is exactly the same as described earlier in Ihis chapler, for the slot fLnishing tool path. Figure 33-14 shows the suggested tool path. ~- - 2.0 ""_m -~I RO.625 0.125 L_ A 2.0 01.500 1 Figure 33-14 03304 (CIRCULAR POCKET - VERSION 1) N1 G20 Combined linear and circular approach for a circular pocket milling· - program example 03305 N2 G17 G40 G80 N3 G90 G54 GOO XO YO S1200 M03 N4 G43 ZO.l HOI M08 N5 GOl Z-0.2S FS.O N6 G41 YO.7S DOL FIO.O N7 G03 J-O. 75 This example uses an approach radius of .625. Any radius that is greater than the culler radius (.3125) and smaller thall lite pocket radius (.750) is correct. Tbe final program O:S305 complements the above illustration in Figure 33 -14 SLOTS AND POCKETS 291 03305 (CIRCULAR POCKET - VERSION 2) N1 G20 N2 G1. 7 G40 Gao N3 G90 G54 GOO XO YO S1200 M03 The calculation is logically similar to the one for the rectangular pocket and the desired amount of the stepover can be achieved by ch.anging the number of steps. N4 G43 ZO.1 HOI MUS The example for program 03306 uses three stepovers, calculated from the following formula: NS GOl Z-O.25 FB.O N6 G4l XO.625 YO.125 DOl FlO.D N7 G03 XO YO.7S RO.625 N8 J-O.75 N9 X-0.625 YO.125 RO.625 NlO GOI G40 XO YO F1.5.0 N11 G28 Z-O.25 M09 Nl2 G91 G28 XO YO MOS Q == l@f m3 IDO % • TLR - S N where ... Q R This programming technique is by far superior to the straight linear approach. It does not present any additional programming difficulty at all, partly because of the symmetry of tool motions. In fact, this method can be - and should be - used for just about any approach towards an internaJ contour finishing. R - TlR S = = = N Calculated stepover between cuts Pocket radius (pocket diameter 0/2) Tool radius (cutter diameter /21 Stock left for finishing Number of cutting steps In aUf application. {he example values are: o Example: Roughing a Circular Pocket Often a circular pocket is too large for a given tool to guarantee the bottom cleanup in a single cut around. In this case, the pocket has to be enlarged by roughtg it first, in order to remove all excessive material, then the finishing tool path can be applied. Some controls have special cycles, for example, a spiral pocketing. On Fanue conlrols, custom cycles can be created with the User Macros option. R S N r- D TI --Q R I Diameter D =. 1.5 3 (.75 - .1875 - .025) / 3 Q = .1792 Final roughing program is quite simple and there is no cutter radius offset programmed or even needed. Note the benefit of incremental mode G91. It allows the stepover Q to be easily seen in the program, in the GOl linear mode. Every following block contains the arc vector J, cutting the next full circle. Each circle radius (1) is increased by the amount of stepover Q: 03306 (CIRCULAR POCKET ROUGHING) L TLR = 1.S / 2 = .75 .375 / 2 = .1875 .025 Using Ihe above formula, the stepover amount Q can be found by calculation: Q = As an example, the same pocket drawing will be used as illustrated earlier in Figure 33-11, but machining will be done with a 0.375 cutter - Figure 33-15. = TLR = ./ -S Figure 33-15 Roughing our a circular pocket - program 03306 The 0.375 end mill is a small loolthal will not cleanup the pocket bottom using the earlier method. The method of roughing is shown in Figure 33-15, and the value ofQ is the equal stepover amount, calculated from the number of steps N, the cutter radius TLR and the stock amount S, left for (he fmishing tool path. N1 G20 N2 G17 G40 GSO N3 G90 G54 GOO XO YO 51.500 M03 N4 G43 ZO.l HOI M08 N5 GOI Z-O.2S F7.0 (STEPOVER 1) N6 G9l YO.1792 F10.O (ROUGH CIRCLE l) N7 G03 J-O.1792 (STEPOVER 2) N8 GOl YO.1792 (ROUGH CIRCLE 2) N9 GO) J-O.3584 (STEPOVER 3) mo G01 YO.1792 (ROUGH CIRCLE 3) Nll G03 J-O.S376 Nl2 G90 G01 XO Fl5.0 Nl3 G28 Z-O.2S M09 Nl4 G9l XO YO MOS m5 M30 % 292 Chapter 33 ----------~--~ .............. . CIRCULAR POCKET CYCLES In Chapter 29, circular pocketing cycles were described briefly. In this chapter, two more examples will provide additional details. Fanuc does not have the useful G 12 and G13 circular pocketing cycle as a standard feature. ConlIols thaI do have it, for example Yasnac, have a built-in macro (cycle), ready to be used. Fanuc users can create their own macro (as a special G code cycle), with the optional User Macro feature, which can be developed to offer more flexibility than a built-in cycle. The two G codes are identical in all respects, exceptlhe cutting direction. The meaning of [he G codes in a circular pocket cycle is: Circular pocket cUlling CW G12 G13 Circular pocket cutling CCW Either cycle is always programmed with the G40 cutler radius offset cancel mode in effect, and has the following formal in the program: G1/. l.. D.. F.. (CONVENTIONAL MILLING) or G12 a, bl G13 Figure 33-16 Circular pocket cycles G72 and G13 N2 G17 G40 GBO N3 G90 GS4 GOO XO YO S1200 M03 N4 G43 ZO.l HOl M08 NS GOl Z-O.25 FB.O N6 G4l XO.625 YO.125 001 FlO.O N7 G03 XO YO.7S RO.62S N8 J-O.75 N9 X-0.625 YO.125 RO.625 NlO GOl G40 XO YO F1S.0 Nl1 G28 Z-0.2S M09 Nl2 G91 G28 XO YO MOS Nl3 M30 % G13 1.. D.. F.. (CLIMB MILLING) !& where ... I o ;: ; F ::::: Pocket radius Cutter radius offset number Cutting feed rate Typically, the cycle is called at the center and the bottom of a pocket. All cutting motions arc arc motions, and there are three of [hem. There are no linear motions. The arbitfary start point (and end point) on the pocket diameter is at 0° (3 o'clock) - Figure 33-16. Previous example in Figure 33-11 can be used to illustrate the G 12 or G 13 cycle. For comparison, here is (he program 03305, using a 0.625 end mill: 03305 (CIRCULAR POCKET - VERSION 2) Nl G20 If the G 12 or G 13 cycle or a similar macro is available, the following program 03306 can be written, using the same tool and climb milling mode: 03306 (CIRCULAR POCKET - Gl3 EXAMPLE) N1 G20 N2 G17 G40 G80 N3 G90 G54 GOO XO YO S1200 M03 N4 G43 ZO.l HOI MOB NS GOI Z-0.25 F8.0 N6 G13 IO.75 D1 FIO.O (CIRCULAR POCKET) N7 G28 Z-0.25 M09 Na G91 G2B XO YO MOS N9 M30 % Macros are very powerful programming tools, but their subject is beyond Ihe limits of this handbook. TURNING AND BORING There is so much information that can be covered in Ihis section. that a whole book could be written just on the subject of turning and boring. Selected subjects are presented in this chapter, others are covered in chapters dealing with lathe cycles, groovi ng, part-off, single poinllhread ing, etc. TOOL FUNCTION - TURNING In terms of distinction, turning are boring are practically identical operations, except for (he area of metal removal where the actual machining takes place. Often, terms ex/ernal fUming and internal turning are also used, meaning the same as turning and boring respectively. From programming perspective, the rules are vinually the same, and any signi ficant differences wi]] be covered as necessary. CNC lathes require programming (he selected tool by its tool number, using the T address. In comparison with a CNC machining center, the tool function for lathes is more extensive and calls for additional details. One major difference between milling and turning controls is the facl that the T address for CNC lathes will make the actuaL tool change. This is not a case in milling. No M06 function exists on a standard CNC lathe. • T Address One difference from machining centers is that a tool defined as TOl in the program must be mounted in the lurret station # I, tool defined as T 12 must be mounted in turret station #12, etc. Another difference between milling and turning tools is in the forma/ of the T address. The format for turning system is T4, or more accurately, T2+2. The first two digilS identify the turret station number and geometry offset, the last two digits identify the wear too! offset number for the selected tool stat ion - Figure 34-1. Txxyy format represents tool station xx and wear offset number yy. For example, T0202 will cause the turret to index to the 1001 station #2 (first two digits) which will become the working station (active toot). At the same lime, {he associated tool wear offset number (the second pair of digits) will become effective as well. Selection of the 1001 number (the first pair of digits), also selects the geometry offset on most modern CNC lathes. In that case, the second pair of digits will select the tool wear offsel number. Any tool station selected by the turret station number identification can be associated with any offset number within the available offset range. In mosl applications, only one tool offset number is aclive for any selected 1001. In such a case, it is wise to program the offset number the same as the 1001 number. Such an approach makes the opera lor's j ob much east er. Consider the f oj low j n g ch oices: GOO T0214 10 TllOS GOO T0404. Tool slation 02, Ivearoff;el 14 Tool slation JI, wear offset 05 Tool SUI/ion 04, wear offset 04 Although all examples are technically correct, only thc last example format is recommended. When many tools are used in a program, the offset numbers for individual tools may be confusing, If they do nOl correspond to the tool Sfation numbers. There is only one ttme when the offset number cannot be the same as the lool station number. That happens in the cases when /1-tlO or more offsets are assigned to the same tool, for example T0202 for [he first wear offset, T0222 for the second wear offset. Leading zeros in the tool function can be omitted for the tool number selection, but not for selection of the wear offset number. T0202 has the same meaning when written as T202. Eliminating the leading zero for tool wear offset will result in an incorrect statement: n2 means T0022, which is an illegal formal. TiX,XYIY ...~[ Tool WEAR offset "T- .. ~ Turret station number & Tool GEOMETRY offset Figure 34-1 In summary, the active side of the turret (tool station) is programmed by the first pai r of dlgtts, the wear offset number is programmed by the last pair of digits in the tool function command: GOO TQ404 The most useful preference is to disregard the leading zero suppression and use the tool function in its full formm, as shown above and in examples in this handbook. an Typical tool function address for eNC lathes 293 294 34 • Offset Entry lATHE to some extent covered the tool function, II is a "y<;tem<; and <;ome reeach tool as the acpoint 10 ill~ program value and The tool offset can be entered into the ....rr\lYr,,", ferent ways: o As a command Independent of the tool o As a command applied simultaneously with a tool motion statement two • Independent Tool Offset For an independent offset entry in the offset is applied together with the rooiutV,c...<.,"'x the tool N34 GOO T0.202 importance of 1001 wear offthat does not use it All proare ideal values, based on the draware not considered, neither is deviation from programmed dimensions will produce an incorrect ditool part is a very important conwith lighllolerances. The tool wear offset is tune' the actual machined dimensions against dimensions. r"\rr,or":\rTI of the 1001 wear offset is to adjust the difference the programmed dImensions and the actual LOul positioll OI! the pan. If (he wear offset is not available on the control, (he adjustments are made to the only - thaI is to the geometry offset. This command is usually programmed as the for each tool (in a clearance position). If position register is used, the offset is together coordinate register with. or immediately following, block. At this point, the tool is still at indexing position. When the tool il will cause a physical as in the offset regbefore the tool command. since it will to actually take place. but should be proS, ' control control when the power is turned usually assumes at the start up, a it looks rather absurd it is correct Rapid mothat depending on the the GOO command TURRET AT MACHINE X GEOMETRY OFFSET ( Diameter is negative] Figure 34-2 Geometry offset is the distance from tool reference to program zero, measured along an axis from machine zero TURNING AND BORING • Tool Offset with Motion The second method is to program the wear offset simultaneously with a cuuing tool motion, usually during the tool approach towards the part. This IS the preferred method. The following two examples illustrate this recommended programming of the T function for turning systems - the offset is activated when the second pair of digits in a tool number call are equal to or larger than 01: N1 G20 T0100 N2 G96 S300 M03 N3 GOO X .. Z .. T010l MOS Note the tool change in the first block N 1 - it uses no offsel number - just lhe tool number that is also the geometry offset number. The offset is applied two blocks later in N3. In most cases. it makes no difference, whether the offset is activated with or without a motion command. But some limitations (Ire possible when programming the 1001 offset entry without a molion command. For example, If the wear offset value stored is unusually Jarge and the tool starts from the machine zero posicion, this type of programming may cause an overtravel condition. Even in cases of a small offset value, there wi Il always be a 'jump' motion of the turret when the offset is activated. Some programmers do not like this jumpy motion, although it will do no harm to the machine. In these cases, the besl approach is to activate the tool wear offsct during the tirst motion, usuaJJy as a rapid approach motion towards the part. One consideration is very important when the tool wear offset is activated together with a motion. Earlier In this chapter was a comment that the lathe 1001 function is also a function causing the tool indeXing. Without a doubt, the one situation La avoid IS the Simultaneous toolllldexino and 1001 motion - it may ~ave dangerous consequences. '" The best approach is to start each lOa! with the too! indexing only, \vilhoU! any wear offsel: N34 T0200 M42 The above example will register the coordinate selling for tool 2, it will also index tool 2 into the working position, but it will/wI activate any offset (T0200 means index for {ool 2 without tool wear offset). Gear range function may be added as well, if required, Such a block will normally be followed by (he selection of spindle speed, and rapid approach to the first position, close to the part. That is the block where the tool wear offset will be activated - on [he way towards the first posilion: 295 Also note that no GOO is required for a block containing tool indexing with zero wear offset entry. The advantage of programming the tool offset simultaneously with a motion is the el imination of the jumpy motion; at the same lime, no overtravel condition will result, even if the wear offset is unusually large. The wear offset value will only extend or shorten the progranuned rapid approach, depending on the actual offset amount stored. Generally, the tool wear offset register number is entered before or during the rapid approach motion. • Offset Change Most lathe programs require one offset for each tool. In some cases, however, the program can benefit if two or even more offsets are assigned to the same tool. Needless [0 say. only one offset can be active at one time. The current offset can be changed La another offset for the same tool to achieve the extra fleXibility. This is useful mainly in cases when individual diameters or shoulder lengths must be machined to ex.act tolerances. Any new offset must be programmed without a cancellation of the previous one. Tn fact, this is [he preferable method for changing from one offsel (0 another. The reason is simple - remember that any offset change serves a purpose only during actual cutting. Offset cancellation could be unsafe if programmed during cutting mOlion. This is a very important - and largely unexplored programming technique - that some detailed examples are justified. MULTIPLE OffSETS Most jobs machined on CNC lathes require very high precision. High precision requires tolerance ranges as specified in the engineering drawing and these ranges may have quite a variety. Since a single offset per toot is of Len not enough to maintain these tolerances, two or more wear offsets are required for one tool. The follOWing three examples are designed to present a complete understanding of the advanced subject covering mulliple offsets. The same basic drawing will be used for all examples. The project IS very simple - program and machine three diamelers as per drawing, and maintain colerances at the same time. One rule at the beginning - the program will no/ lise the middle tolerance of the X or Z value. This is an unfortunate praclice that makes changes to [he program much more dirficul[ at a later time, if lhe tolerances are changed by engineers or designers. In the drawings, the following tolerances can be found: N34 T0200 M42 N35 G96 5190 M03 N36 GOO G41 X12.0 ZO T0202 MOB o Tolerances only on the diameter N37 GOI Xl.6 FO.OOa o Tolerances only on the shoulders (faces) o Tolerances on the diameters and shoulders 2 Chapter 34 • General Here is the complete are training purin reality. All chamfer tolerances are on the project. Matetools are used: • TOl For the face and rough contour T03 For the T05 0.125 wide part-off too! of the contour to size Diameter Tolerances o I"- ci 03401 (1. S ALUMINUM BAR - EXTEND 1. 5 FROM (TOl - FACE AND ROUGH TIJRN) NJ. G20 N2 G50 S3000 TOIOO N3 G96 5500 M03 N4 GOO G41 Xl.7 ZO TOIOI MOB N5 G01 X-O.07 FO.OOS N6 ZO.l N7 GOO G42 XI.55 N8 G71 P9 Q16 UO.04 WO.004 DIOOO FO.01 N9 GOO XO.365 NlO Gal XO.62S Z-O.03 FO.003 Nll Z-O.4 Nl2 Xl.O C-0.03 (K-O.03) Nl3 Z-O.75 Nl4 Xl.375 C-O.03 (K-O.03) Nl5 Z-l. 255 Nl6 UO.2 Nl7 GOO G40 XS.O ZS.O TOIOO Nl8 MOL (TOl - FmISH TIJRN) N19 GSO 53500 T0300 (-- OFFSET 00 AT THE START OF THE TOOL ------) mo G96 8750 M03 N21 GOO G42 Xl.7 ZO.1 T0313 MOB ( OFFSET 13 FOR THE 0.625 DIAMETER --------) N22 XO.365 N23 G01 XO.625 Z-O.03 FO.002 N'24 Z-O.4 N2S Xl.a C-O.03 (K-O.03) T0314 (- OFFSET 14 FOR THE 1.0 DIAMETER ----------) m6 Z-O.75 N27 Xl.37S C-O.03 (X-O.03) T03l3 (-- OFFSET 13 FOR THE 1.375 DIAMETER ------- The drawing in Figure 34-3 variable tolerances only on the 1.0 - 03401. o o '<:t c:i N28 Z-1.255 N29 UO.2 NJO GOO G40 XS.O ZS.Q T0300 (-- OFFSET 00 AT THE END OF TOOL ------------) NJl MOL I L~ __ ~~ __-+________________ ~ 0.03 x 45° (3) ""' Figure 34-3 Multiple offsets· I::AOIIII)II:: for diBmeters • 03401 programming solution is to include ltvo offsets for for example, T0313 and T0314. In the I'Ann-t'l\ correct amounts have to be set before machiningamounts for middle toler.ance are shown: """H"UF" 13 14 X-O.003 X+O.003 ZO.OOO ZO.OOO shoulders) must be - 0.125 WIDE NJ2 TOSOO NJ3 G97 S2000 MO) N34 GOO X1.7 Z-1.255 T0505 MOB N3S Gal Xl.2 FO.002 N36 GOO Xl.4S lO7 Z-1.1825 lOB GOl Xl.31S Z-1.25 FO.OOI N39 X-O.02 FO.0015 N40 GOO XS.O N4l Z5.0 TOSOO M09 N42 MlO % TItis is the complete quired. Since TOI and not ing examples, only T03 will be shown now on. TURNING AND 7 o o o ..IS! I.l) N o I.l) 1"- ci 1 , t ·-,--0.03 X 45" (3) 34~4 34·5 Multiple offsets ~ f!){RfDDIP. for shoulders - 03402 Multiple offsets • Shoulder Tolerances • F!ltJ'J,mnlll Shoulder Tolerances shown in Figure 34-5 illustrates tolerances specified on both drawing shown in Figure 34-4 illustrates part with variable tolerances specified only on shoulders. is to include four offsets for 13, T0314, T0315 and T0316. In amounts have to be set before machining amounts middle tolerance are shown: programming solution is to include (WO finishing. for example T0313 and T0314. In the control, their amounts have to be set before machining - the amounts for middle tolerance are shown: 13 14 XO.OOOO XO.OOOO Z+O.0030 Z-O.0030 Note that in this case, the X offset (which controls the diameters) mUSl be the same for both offsets. 13 14 15 16 Z+0.0030 Z+O.0030 Z-O.0030 Z-O.0030 but their input amount is also critical. 03402 N3l MOl X-O.0030 X+O.OO30 X+O.0030 X-O.0030 is the most intensive version. Not only Lt IS eximportant where exactly [he offsets appear in T03 for progra~03402: (T03 - FINISH TURN) N19 GSO S3500 T0300 ( - - OFFSET 00 AT THE START OF TOOL N20 G96 5750 M03 N21 GOO G42 Xl.7 ZO.l TOl13 MOS ( - OFFSET 13 FOR THE O. 4 SHOULDER N22 XO.365 N23 G01 XO.625 Z-O.03 FO.002 N24 Z-0.4 N25 Xl.0 C-O.03 (K-0.03) N26 Z-O.7S T0314 {- - OFFSET 14 FOR THE 0.75 SHOULDER N27 Xl.375 C-O.03 (K-0.03) N28 Z-l. 255 N29 UO.2 N30 GOO G40 XS.O ZS.O T0300 ( - - OFFSET 00 AT THE END OF TOOL for diameters and shoulders - 03403 Note thalthe four X offsets (which control size meters) lie up wilh the four Z offsets (which control icngth of shoulders). Here is the T03 for program 03403 (TO) - FINISH TURN) NQ9 Gsa S3500 T0300 (-- OFFSET 00 AT THE START OF TOOL ----------) N20 G96 S750 M03 N21 GOO G42 Xl.7 ZO.l T0313 M08 (- - OFFSET 13 FRCM Z OVER TO Z UNDER ONLY - - -) N22 XO. 365 N23 Gal XO.62S Z-0.03 FO.002 N24 Z-0.4 N25 X1.0 C-O.03 (K-O.03) T0314 ------) (- - OFFSET 14 FROM X UNDER TO X OVER ONLY - - - ) N26 Z-0.75 TOll5 (-- OFFSET 15 FROM Z UNDER TO Z OVER ONLY 34 N27 Xl.37S C-O.03 (K-O.03) T0316 (- - OFFSET 16 FROM X OVER TO X UNDER ONLY - - -) . FUNCTIONS FOR GEAR RAN N28 Z-l. 255 are designed to work in feature enables prorCCluired spindle with speof the machine. As a for spindle speed, raling will be, and vice versa. and power ralings by the machine manufacturer, N29 00.2 N30 GOO G40 XS.O ZS.O T0300 (-- OFFSET 00 AT THE END OF TOOL ------------) N31 MOl programnre cril can be seen in J and 03402, one offsets must always remain same (X or Z off- instance, in the program 03401, 03 and J 3 control diameters. That means the Z value must be same always.! Thai also means, if shift the shoulders .002 to the len, all by the same amount: is a need to must be X-O.0030 X+O.0030 ~3 14 Z-O.0020 Z-O.0020 Depending on gear ranges may signed with ultra grammable faull gear is four gear ranges speed is usually erage is two one, two, three, or Small lathes, or those de- speeds, may have no which means only a delarge lathes may have all available spindle The most common av- Miscellaneous functions M41. M42. M43 and live (0 the number of to do that will result in inaccurate NG ranges, are typically assume the definition relaavailable: Number of available ranges Range screen selected by pressing a on will initially display the 1001 geometry and They are identical. except the tille at screen. A rypical display will (no offsets set): 2 low 3 4 M41 Medium low OFFSET (GEoMETRY) NO. ZAXIS M43 RADIUS M42 0.0000 0.0000 0.0000 X 0.0000 0 o Radius is shown as either lhe firsl paIr of the T offset, or the second pair ~ and Z axis are (he columns where are for each number, lhe are only used if a tool nose radius case, Ihe Radius will be the lool will an arbitrary number, as detool tip orientation. This C'"rlhp·r! in Chapter 30. M43 a certain gear range is ':>'-'''~'-l~.U is limited. If the exact speed of porlanl, always make an effort to IS Im- alit the available spindle in each range. Don't be that on most CNC machines, one rpm (I lowest spindle speed may be don'l be surprised to find that len quite for spindle speeds in lWO if the J hasarange20to 1400 a range of 750 LO 2500 r/min. When available in either range, such as 1000 of is not critical, but low is an actual, although unrelated, Low gear range: High range: M44 20 . 1075 r/min (M41) 70 - 3600 r/min (M42) 10 find out TURNING AND BORING 299 AUTOMATIC CORNER BREAK 03404 (MANUALLY CALCOLATED CORNER BREAK USED) NSl TOlOO NS2 G96 5450 M03 turning and boring) N53 GOO 042 XO.3 ZO.l T010l MOS cut a shoulder to a diameter shoulde;r) requires (\ comer break. is a cornman practice when Many comers are to be It is up to the .... ,.",,......,.....,,...., the range of 0.005 to required corner angle, or a blend radius of the comer break is "'1J",,",a,,-,'" must apply it. Comer NS4 Gal XO.62S Z-O.0625 FO.OOl N55 Z-O.4 N56 G02 XO.825 Z-O.5 RO.l NS7 Gal .:u.125 NS8 Xl.2S Z-O.S62S NS9 Z-O.9 N60 G02 Xl.45 Z-l.O RO.l N6l Gal .:u.675 N62 GO) .:u.S7S Z-l.l RO.l N63 GOl Z-1.437S N64 X2.C Z-1.S N65 X2.37S N65 Xl.55 Z-l.5875 N67 ua.2 N68 GOO G40 XlO.O Z5.0 TOlOO N69 Mal o Functionality ... for strength, ease of assembly, and clearances o Safety ... sharp corners are dangerous o Only the fmished contour is Appearance ... the finished part looks In lathe work. many comer apply to cuts ",pr""" ••" a shoulder and the (the cut takes a 90° tum in one axis at a time). start and end points calculation is not difficult but can consuming for some jobs, such as shaft with many different diameters. (no facing cut), 1, with the calculated at a selected clearance point has to be diame:ter at XO.3. Each contour calculated. At the contour the last chamfer been completed at a clearance of 0.025 above the largat X2.55, Z at Z-1.5875. est in manual work, For of programming is it is easy to forget to for bOling). The 02.5 of errors can N56 G02 XO.725 Z~0.5 RO.1 (ERROR Dr X) of the correct block NS6 G02 XO.82S Z-O.5 RO.1 (X IS CORRECT) the program in corner break? to o N RO.1 ALLC Figure 34·6 Example lor an o Chamfering method ... for a 45° chamfer o Blend radius ... for a 90° corner break (chamfers and 34-6 shows a simple comers that will benefit programming feature matic comer the drawing qualify). Compare two methods, to better ferences applied in programming. If the not use the automatic comer break feature, change poi.nt must he calculated manually 03404: will be in a very similar manner "''''''0..,'' ..''' in both cases. • Chamfering 45 Degrees Y"'"''''<''''''HV comer chamfering will two special vectors I ...., ..""",,"" or a C vector on some ,I."""YV.,,,. For the specify the chamfer: .t",,,,,,,t1t' chamfer generation, and the amount 300 Chapter 34 The I vector is used to create a chamfer starting from the X axis, into the X+Z-, X-Z-. X+Z+, or X-Z+ direction c+ cC+ C+ The K vector is used to create a chamfer starting from the Z axis, ..., into the Z-X +, Z-X-. Z+ X+, or Z+ X- direction The I and K vector defin ilion is illustrated in Figure 34-7. c- c......._ . . L ___ ~ __ ~---I.... K+ K- i+ c+ c1+ Figure 34·8 X+ Vectors C for automatic corner chamfering Z+ In either case, the sign of I or K vector defines the direction of the chamfer cUlling within the coordinate system: X- o i- 1&- - K- Positive value of I or K vector indicates the chamfering direction into the plus direction of the axis not specified in the chamfering block - o K+ Negative value of! or K vector indicates the chamfering direction into the minus direction of the axis not specified in the chamfering block Figure 34-7 The va 1ues of I and K com rna nds are aJ ways sin gle va! ues (i.e., radius values, not diameter values). Vectors J and K lor automatic corner chamfering When the control system encounters a block containing the chamfering veclor J or K, it will automatically shortell {he active programmed tool path length by the value of the I or K vector, as specifIed iryfhe program. If not sure whether the I or the K veclor shoJld be programmed for aulomatic chamfering, consult the above illustration, or apply the following rules: The vector I indicates the chamfering amount alld motion direction when the 1001 motion is in the order of Diameter-Cham{"er-Shoulder, which means cUllin!! '.1' '-' alonCJ the Z axis before the chamfer. The chamfer deviation can only be from lhe Z axis lowards [he X axis, with the I veclor programmed: Many lalest controls use vectors C+ and C- that replace [he 1+. 1-, K+ and K- vectors - Figure 34-8. This is a much simpJer programming method and its applications are the same as for the blend radius R. described shortly. There is no distinction bel ween axes vector selection, just the specified direction: o The C vector is used ... to create a chamfer starting from the X axis, into the X+Z-, X-Z-, X+Z+, or X-Z+ direction (;> GOI Z-1.7S IO.125 (CUTTING ALONG Z AXIS) (CONTINUING IN X AXIS AFTER 0iAMFER) X4.0 - or- ... to create a chamfer starting from the Z axis, lnto the Z-X +. Z-X-, Z+ X+, or Z+ X- direction If the unit control allows the C+ or C- veclors, the programming is much easier, as long as the motion direction is watched. The two previous examples will be: The vector K indicates the chamfering amounl WId molion direction when the lool molion is in the order of Shoul- GOI Z-1.7S CO.125 dPr-Clum1jN-f)imnf'It'l; which means cutting along the X X4.0 axis before the chamfer. The chamfer deviation can only be from the X axis towards the Z axis, when the K vector is GOI X2.0 C-O.125 programmed: GO 1 X2. 0 K- 0 . 125 (CUITING ALONG X AXIS) Z-3.0 (CON'I'INUING IN Z AXIS AFTER CHAMFER) Z-3.0 (CUTTING ALONG Z AXIS) (CONTINUING IN X AXIS AFTER CHAMFER) (CONTINUING (CUTTING ALONG X AXIS) rn z AXIS AFl'ER CHAMFER) As was the case with the I and K vectors, the C vector is also spccified as a single value per side, not per diameter. TURNING AND • NG Blend 301 90 Degrees A a shoulder and (or 10 a similar way as the automalic 45° exclusively ill the GOl Inode.' cham Only one special vector R is used. For automatic blend ra- dius, the vector the direction and rhe amount CUI for the radius: o The R vector is used The radius deviation can also be from the Z axis the X axis, when the R vector is programmed: GOl Z-1.75 RO.125 X4.0 (CUTTING ALONG Z AXIS) (CONTINUING IN X AXIS AFTER RADIUS) In either ease, the lion of the radius R vector defines lhe direethe coordinate o Positive value of R vector indicates the radius direction into the plus direction of the axis not specified in the radius block starting ffom the X or X-Z + direction o - or... to create a blend radius starting from the Z axis, into the ,orZ+X-direction • Programming Conditions The R vector definition is illustrated in Figure 34-9. R" .... . Negative value of R vector indicates the radius direction into the minus direction of the axis not specified in the radius block corners modern CNC lathes a R+ for contains vectors lor for blend radius corner. '" R+ X+ . z- xR- \ o Chamfer or radius must be fully contained in a single quadrant - 90° only o Chamfers must have a 45 e and radii must have a 90" angle between a shoulder and a diameter or a diameter and a o The values of chamfering vectors I and K or e, as well as the radius vector R, are single values ",",,::onlrll'lper side values, not values R- R- o Direction of cut before the corner rounding must be to the direction of the cut after rounding. one axis only 34-9 Vector R lor automatic comer rounding control system encounters o The direction of the cut following the chamfer or radius must along a single axis only, and must have the equivalent to at least the chamfer length or the radius amount the cutting direction cannot reverse o Both takes o eNe program, only the known the drawing . the sharp point - is That is the point between the shoulder and the without the or radius being considered block containing a blend radius vector R, it will automatically shorten the actool path length by value of the R vector, as speci tied in Ihe program. If noc sure whether the R vector should be programmed for blend radius, consult the above illustration or apply the following rule: The vector R indicates the radius amount when the CUlling is in which means X axis same vector is when the /'Qmotion direction is in the opposite order which means cutting along These rules appJy equally \0 turning and lathe Study them carefully Lo avoid • deviation can be from the X The axis, when the R vector is programmed: lheZ GOI X2.0 R-O.12S Z-3.0 (CONTINUING IN Z AXIS AFTER """'''''''',);;>J Programming Example The 03405 combines the use radius vector, mio a complete p.xampIe. The same is used for this version, as traditional method, illustrated earlier in Figure 34-6. 302 Chapter 34 In order to fully appreciate the differences between (he two programming melhods (both are technically correct), compare Ihe followIng program O}405 wiUl the earlier program 03404. The I and K vecrors are used for chamfering, as they are more dinicu!lthen the C vectors: 03405 (AUTOMATIC CORNER BREAKS USED) NSI TOIOO N52 G96 5450 M03 N53 GOO G42 XO.3 ZO.l TOlOl MaS NS4 Gal XO.625 Z-0.0625 FO.OO3 N55 Z-O.5 RO.l NS6 X1.25 K-O.062S N57 Z-l.O RO.l N58 X1.875 R-O.l N59 Z-1.5 IO.0625 N6D X2.375 N6l X2.55 Z-l.5875 N62 UO.2 N63 GOO G40 XIO.O Z5.0 TOlOO N64 MOl Although the program is a little shorter, the five blocks saved in Ihe program offer the least benefit. Where are the G02s and Gms. where are the calculations of each contour change point? Where arc the center point calculations? Except for the contour beginning and end, this type of programming greally enhances program development and allows ror very fast and easy changes during machining. if necessary. If a chamrer or u blend radius is changed in the draWing, only a single value has 10 be changed in the program. withoul any rcci.llculations. Of course, the rules and condilions mentioned earlier must be always observed. The main benefit of the auromalic contouring are the ease of changes and the absence of manual calculations. ROUGH AND FINISHED SHAPE The vast miljorily of material removal on CNC lathe is done by using various cycles, described in detail in the next chapler. These cycles require inpul of data that is based on machining knowledge, such as a depth of cuI. stock allowance, speeds and feeds. etc. Rough and finished shapes often require manual calculatiOllS, using algebra and trigunuHlelry. Tllese calculalions should be done on separale sheels of paper, rather than in lhe drawing iLSd!'. ThaI wuy, the work is better organized. Also, if there is a change later, for example, an engineering design change, it is easier to keep lrack of what is where. • Rough Operations A great part of Imlle machining amounts LO removal of excessive slock \0 create a part, almost completed. This kind of machining is generally known as roughing, rough turning, or rough boring. As a machining operation, rough- ing does nol produce a high precision parl, that is not the purpose or roughing. Its main purpose is to remove unwanted slOck efficiently, which means fast and wilh maximum tool life, and leave suitable all-around stock for finishing. CUlling tools used for roughing are strong, usually with a relatively large nose radius. 'I'hese tools have to be able to sustain heavy depths of cut and high cutting feeds. Common diamond shaped tools suitable for roughing are 80° inserts (up \0 2+2 CUlling corners), and trigon inserts (up 10 3+3 cutting corners). 2+2 or 3+3 means on 2 or 3 CUtllllg edges 011 each Side of the Insert. Not all inserts can be used from both sides. Figure 34-10 shows some typical lools and orientation for rough turning and boring. Light cut only I • .Li9ht cut only I , 0 •+ • U---.U---- • • I n·h '- + •0-·-· •v··----· ··8 r- ',/ , n '---/ . +light cut only +light cut only ~ I l) I i I Figure 34-10 Tool orientalion and cutting direction for roughing. Upper row shows external tools, lower row shows internal tools. Allhough a number of tools can be programmed in several directions, some directions are not recommended at al!, or only for light or medium light cuts. In practice, always follow one basic rule of machining this rule IS valid for all types of machines: Always do heavy operations before light operations This basic rule means that all roughing should be done before the first finishing CUt is programmed. The reason here is to prevent a possible shift of the material during roughing, after some finishing had already been done, For example, the requirement is to rough and finish both external and internal diameters. If the above rule is applied to these operalions, the roughing out the outside of the part will be first, {hen roughing out the inside of the parl, and only then applying the finishing cuts. It really does nOI malter whelher the roughing is done first externally or internally. as long flS il gets done b~fore any finish cuts, which also cLln be in either order. TURNING AND 303 of cut IS suftlskin' of the mR- . is usually a must before tool ac- • Operations Finish operations take cutting mOlions, removed (roughed OUL). after mosl of the stock stock for finishing. leaving only a small amount of nose radius and. for even The cutting 1001 can spindle and lower cuta better surface finish, ling feeds are lypical. I IIlg shoulders at 90°) IS much more cnhea!. If the positive X axis only turning}, or the (for boring), with a lool that has a lead angle of to not more (han .003 (0.006 inch (0.080 to 0.150 mm) on any straight shoulder. Figure 34-/2 shows the of too much stock allowance for certain cutting direcand a method to eliminale it . . Light cut only .~ • • / Medium cut • Light I Medium cut . • .~~ .' Light cut only • As before, there is a general rule of axis, thai is forculting to or slightly larger than radius of the jog 1001. For example. if a .O~ I inch (001 nose mm) is used for finishing, leave to (about I mm). That is the physical amount assigned per side, not on diameter! The amount of stock left on the Z axis (typically Many different tools can be as well, bUI the most tYPIcal mond shaped inserts, wilh a Their shape, common orientation and shown in Figure JJ. . , Light cut only specifics the amount of material left for these operalions. If 100 much material or too I ittle is len to be cut during finishing, the part finish quality will suffer. Also, carefully allowance overall on the part. but individual ances for (he X and Z axes. -- W l+- = Direction of cut. -_., a R \ f - - - Z POS x POS Light cui only Figure 34-11 34·12 Effect of stock allowance Won depth of cut D Tool orientation and cutting direction for finishing with common lathe tools. Upper row shows external tools, lower row shows internal tools. Z In calculate Note that some cutting directions are only recommended for light or medium cuts. Why? TIle answer has a lot to do with (he amount of material (stock) the tool removes in the direction . • Stock and Stock Allowance material machined is often called stock. When tool removes the stock to cut a desired shape, it can a certain amount of it at a time. The insert Inthe and In on the alimportant allowance ~ where D A R W X POS ZPOS ::::; Actual depth of cut at == lead angle of the insert Radius of the insert == Stock left on for finishing TBrget position for the X axis Target position for the Z 304 Chapter 34 The illustration applies equally Lo (he boring, when the X axis direclion is opposite the one shown. To understand better the consequences of a heavy sLock left on the face, evaluate ibis example: o Example: The amount of slack left on face is .030, the too! radius is .03 t and the tool lead angle is 3°: W = .030, R = .031, A = 3 In CNC lathe programming, a recess can be machined very successfully wilh any 1001 (hal is used wilh Ihe proper depth of cut, and a suitable back angle clearance. It is lhe second requirement [hat will be looked at next. Figure 34-13 shows a simple drawi ng of a roller 1n the middle of the obiect, there is an undercut (recess) between the 01.029 and the 0.939. The objective is to calculate, not to guess, what is the maximum back angle tool that can be used for CUlling the recess in a single operation. ., There is enough data available Lo calculate the unknown depth D, using llle above formula: R9/16 (2) 'j - D = tan3/2 x .031 + .030 / tan3 + .031 D = .60425 For an insert wilh a 0.500 inch inscribed circle (such as DNMG-432, for example), the actual depth of CUI at the face will be .60425 - more rhan any reasonable amounti ThaL is a more reasonable depth of cut at the face, so the Z axis slock allowance of .006 can be used. For facing in Ihe opposite X direction or for not unidirectional faces, leave stock much bigger, usually close to the tool radius. PROGRAMMING A RECESS Another very important aspect of programming for CNC lathes is tnc change of cult i ng di rection. Normally, program a tool motion in such a way Ihal Ihe mOlion direction from the starling point will be: o Positive X direction for external machining ... and / or ... Negative Z direction for external machining o A recess is commonly designed by the engineers to relieve . or undercut - a certain portion of the part, for example, to allow a matching parlto tit against a shoulder, face, or surface of the machined part. 00.939 ___--i---=.<~!«< - -.1_ 1.25 ROLLER Figure 34·13 Back angle clearance calculation example TIle first step is to consider the drawing - that is always the given and unchangeable source of data. The difference between the diamelers and the recess radius will be required. Figure 34-14 illustrates the generic details of the provided data (except the angle b) from the drawing. Drawing detail < ~ \ R \ a = Tool back angle R = Spedified radius b = Clearance angle req'd D Depth of recess = \ \ Negative X direction for internal machining ... and / or ... Negative Z direction for internal machining There arc also back ruming or hack boring operations used in CNC programming, but these are just related and Jess common variations of the common machining. In the most common machining on CNC lathes, any change of direction in a single axis imo the material constitutes an undercut, a cavity. or more commonly known - a recess. --r I I tan3/2 x .031 + .006/tanJ + .031 .14630 D ------:---=-- - 01.029 Since the earlier suggestion was no more (han .006, recalculate lhe example for the largest depth, if the W=.006: D -./ r I D-' Tool detail Figure 34-14 Data required to calculate angle 'b' The formula required to calculate the angle b uses simple lrigonomclric formula. First, calculate the depth of thc recess D, which is nothing more that one half of the difference between the two given diameters: D = LARGE DIA - SMALL DIA 2 TURNING AND BORING Once the recess depth D is known, the formula to calculate the angle b is: For the example, the calculation will be: b == cos -I ( .5625 - .045 ) =: 23.07392 .5625 For actual machining, select a tool with the back angle a greater than the calculated angle b. For the illustrated drawing (23.07° required c!carance), the selected tool could be either a 55° diamond shape (back angle clearance Q is 30° to 32"), or a 35" diamond shape (back angle clearance a IS 50" (0 52") - both are greater than the calculated minimum clearance. The actual angles depend on the Lool manufacturer, so a tooling catalogue is a good source of data. This type of calculation is important for any recesses, undercuts and special clearances, whether programmed with the aid of cycles or developed block by block. The example only illustrates one possibility, but can be used for any calculations where the back angle clearance is required. SPINDLE SPEED IN CSS MODE From several earlier topics, remember thatlhe abbreviation CSS stands for Constanl SllIjace Speed. This CNC lathe feature will constantly keep recalculating the actual spindle speed in revolutions per minute (r/min), based on the programmed input of surface speed: The su:face speed is programmed infeer per minute - ftiman (English system) or in meters per minute - mfmin (metric system). In the program, the 'per minure' input uses Ihe preparatory command G96, as opposed [0 the direct rlmin input using tlie cOlllrnand G97. The Constant Surface Speed is a powerful feature of the conlrol system and without it, we would lo?k back many years. There is a rather small problem assocIated wlth tJus feature, orten neglected altogether, or at least not considered important enough. This rather 'small problem' wIll be illustrated in a simple program example. The program example covers only a few blocks at (he b~­ ginning. when the cutting tool approaches the part. 1l1at 15 cnough data to consider the question that follows. 03406 N1 G20 T0100 N2 G96 8450 M03 N3 GOO G41 XO.7 ZO T0101 MOB N4 ... 305 The queslion is this: What is the actual spindle speed (In r/min), when the block N2 is executed? Of course, (he spindle speed is unknown at the moment. It cannot be known, unless the current diameter, the diameter where the tool IS located at thai moment, is also known. The control system keeps track of the current tool position al all limes. So, when block N2 is executed. the actual r/min of the spindle will be calculated for the current diameter, as stored in the control, specified in the geometry offset enlry. For the example, consider (hat the current diameter is 23.5 or X23.5. From the standard r/min formula, the spindle speed calculated for 450 fUmm and 023.5 as 73 rIm in is rather slow, but correc\. At the nex.t block, block N3. the tool position is rather close La the part, at diameter of .700 (XO.7). From the same stand<lrd formula, the spindle speed can be calculated for that diameter as 2455 r/lnin - considerably fast but also correct. The problem? There may not be one for every machine, but if ever there is a problem, the following solution will eliminate it The possible problem will be linked to the rapid motion from the 023.5 to the 0.700. The actual travel distance (per side of part) is (23.5-.700)/2, which is 11.400. During the rapid {ravel rate, the CUlling tool has [0 move I J .400 inches and - at [he same time - change the spindle speed from a slow 73 r/min, to a fast 2455 rlmin. Depending on the control system and its handling of such a situation, the tool may actually start cutting at a slower spindle speed thall was originally intended. If such a situation docs happcn and presents a problem, Ihe only step that can be done is to preprogram the expected spindle speed in r/min, before the cutting tool approach motion, then switch to the constant surface speed (CSS) mode and continue. 03407 Nl G20 TOlOO N2 G97 52455 M03 N3 GOO G41 XO.7 ZO TOlD1 MOS N4 G96 5450 M03 N5 (R/MIN PRESET) What had been done requires more evaluation. What had been done is thai the spindle was started at the final expected r/mil1, before the tool reaches [he part, in blo~k N2. In block NJ, the tool moves to the start of CUl, while the spindle is already at the peak of Ihe ~rogrammed speed. Once the target position along the X aXIs has been reached (block N3), the corresponding CSS mode can be In effect for all subsequent cuts. This is an example that does not necessarily reflect everyday programming of CNC lathes. In this situation, some additional calculations have LO be done, but if they solve the problem - they are worth the extra effort! Some CADICAM system can be set to do exactly that automatically. If [he current X position of the tool is unknown, estimate it. 306 Chapter 34 • Approach to the Part LATHE PROGRAM FORMAT In a review of the already presented examples, a certain consistency can be seen in the program output. This may be called a style, a format, a form, a template, as well as several other terms. Each programmer develops his or her own style over a period of timc. A consistent style is important for efficient program development, program changes and program interpretation. • Program format - Templates Most examples have followed a cenain program formal. Note that each CNC lathe program begins with the 020 or G21 command and perhaps some cancellation codes. The block that follows IS a lool selection, next is spindle speed data, etc. This format will not basicaJly change from one job to another - il follows a certain consistent pattern which forms the basic femplate for writing the program. An important part of any lathe program structure is the method of approaching a revolving part. If the part is concenlric, the approach can be similar lo the A option in Figure 34-15. Although a facing cut is illustrated, the approach would be logically the same for a turning or a boring cuL Keep the slarting point SP well above the diameter, at least .100 per side and more, if the actual diameter is not known exactly. The B option of the tool approach is two single axis at a lime. It is a variation of the first example, and the X axis motion can be further split into a rapid and cutting motion, if required. Finally, the C option uses the clearance in the Z axis, far from the front face. Again, the tinal motion toward the face can be split into a rapid and linear motion. ~- SP - - - - - • General Program format To view the format often enough will forge a mental im- A age in the programmer's mind. The detajls thaI are not understood yet will become much clearer after acquiring the general underst.anding of Ihe relationships and details used in various programming methods. Here is a suggested template for a CNC lathe program. 0.. ill (PROGRAM NAME) G20 G40 G99 (PROGRAM START up) (TOOL AND GEAR RANGE) (STABILIZE R/MIN) N2 T .. 00 M4 .. N3 G97 S .. M03 N4 GOO [G41/G42) NS G96 S .. x .. Z .. T.. M08 (APPROACH) (ClJ'I'"£ING SPEED) N6 GOl [X .. /Z .. ] F .. (FIRST CUTTING MOTION) c N7 (MACHINING) N.. GOO (G40] X .. z .. T .. OO(TOOL CHG POSITION) Q r.~ ~-__________w lJt;-] _------w QEd--I B Q General Program Pattern - Lathe: -- ~­ SP :: Start point for cutting Figure 34-15 Safe approach to a parr - example for a facing cut shown % There are many variations on these methods, lOO numerous to list. The main objective of considering the approach to the part in the first place is safety. A collision of a tool with a revolving part can have serious consequences. This generic structure is good for most lathe programs. Feel free to adjust it as necessary. For example, not every job requires spindle speed stabilization, so block N3 will not be necessary. It also means that M03 rotation has to be moved to block N5. Take the general program pattern as an example only, not as a fixed forma\. Turning and boring is a large subject. Many other examples could have been included in this chapter. Other chapters in this book also cover turning and boring, but in a marc specialized way, for example, turning and boring cycles. The examples that were presented in this chapter should be useful (0 any CNC lathe programming. N .• MOL (OPTIONAL STOP) N .. M30 (PROGRAM END) LATHE CYCLES • Complex Cycles STOCK REMOVAL ON LATHES One of tbe most time gramming for a CNC lathe is siock, lypicaJJy from a rough turning or rough as 1b manually program a ries of coordinated rough u""",~"'''. gram for each tool motion. tour, such a method is inefficient, as well as prone to errors. try Lo sacrifice programming an uneven sLock for finishing, wear out prematurely. ished profile often suffers as It is in the area of rough lathe controls are very useful CNC lathe systems have a lhar tool path to be processed automatically, des. Roughing is not the application for there are also special cycles available simple grooving. The grooving and outside of this chapter, but will be covered in next three chapters. • Simple Cycles Fanuc and similar controls suppOrt a number of special lathe cycles. There are three rather simple cycles that have been part of Fanuc controls for quite a while. They first appeared with the early CNC units and were limited by the technological progress of the time. Various manuals and lextbooks refe!: to them as the Fixed Cycles or Simple or even Canned Cycles, similar in nature to cheir cousins for drilling operations on CNC mills and machining centers. Two of these early cycles are used for turni and boring, the third cycle is a very simple threading cycle, This ch'lpter covers the fi~t two cycles. Don'l gel misled by the cles are only complex in the then, only internally. TIley are system only. In fact, these very are much easier to program than In addition, they can also be control, to optimize them on the job. PRINCIPLES OF LATHE CYCLES Similar to drilling operations for CNC machining cenall cycles for lathes are based on the same technologIcal principles. The programmer only enters the data (typically variable CUlling parameters), and the CNC system will calculate the details of individual cuts. These are based on the combinalion of the fixed and variable data. Return LOol motions in aillhese cycles are automatic, and only (he values to be changed are specified within call are designed exclusively to cui a straight tapers or radii and also wlth no unsimple cycles can only be used to cut verlihorizontally, or at an angle, for taper cutting, These original cannot do the same cutting operations as the and multiple repetitive cycles - for they cannot out a radius or change directhey cannot contour, 307 308 Chapter 35 G90 - STRAIGHT CUTTING CYCLE Before going further. a reminder. Do not confuse G90 for lathes with G90 for machining centers. In turning, G90 is a lathe cycle, G90 is the absolute mode in milling; The second format adds the parameter I or R to the block and is designed for taper cutting motions, with the dominance of the Z axis - Figure 35-2. G90 is absolute mode for milling, X and Z axes are absolute mode for turning :- -w ,. . , --z- 'I- G91 is incremental mode fOT milling, U and Waxes are incremental mode for turning I A cycle identified by G90 preparatory command (Type A group of G codes) is called the Straight CUlling Cycle (Box cycle). Its purpose is to remove excessive stock between the start position of the culling Lool and (he coordinates specified by the X and the Z axes. The resulting cut is a straight turning or boring cut. nornUllly parallel to the spindle centerline and the Z axis is the main cUlling axis. As the name of the cycle suggests, the G90 cycle is used primarily for removing a stock in a rectangular fashion (box shape). The G90 cycle can also be used for a taper cutting. In Figure 35-1, the cycle structure and motions are illustrated. I Figure 35-2 G90 cvcle structure -taper cutring application o Format 2 (two versions): G90 X(U) .. Z(W) .. 1.. F.. G90 X(U) .. Z(W) .. R.. F.. ,.. ------w --------..-; (4) ~ where ... L x UJ2 - -v r I (R) "" X F :::: I Figure 35-1 690 simple cycle structure - straight cutting application • Cycle format The G90 cutting cycle has two predetermined programming formats. The ~irst one is for straight cUlling only, along the Z axis, as ill ustrated in Figure 35- J. o Format 1 : ~ where ... F =:: End of cut in Z position Distance and the direction oftaper (1=0 or R=O for straight cutting} Cutting feed rate (usually in/rev or mmJrev) In both examples, the designation of axes as X and Z is used for the absolute. programming, indicating the tool posicion from program zero. The designation of axes as U and W is used for the incremental programming. indicating actual travel distance of the tool from the current position. The F address is (he cutting feedrate, normally in incites per revolution or millimeters per revolution. The I address is llsed for taper cutting along the horiwmal direction. It has an amount equivalent to one half of the distance from the diameter at the taper end, to the diameter at the taper beginning. The R address replaces the I address, and is available on newer comrols only. To cancel the G90 cycle, all that is necessary to do is to usc any motion command - GOO, GO l. G02 or G03. Commonly, it will be the GOO rapid motion command: G90 X(U) .• Z(W) .. I .. F .. x = Diameter to be cut Z == Diameterto be cut Z End of cut in Z position Cutting feed rate (usually inJrev or mm/rev) GOO LATHE CYCLES 309 • Straight Turning Example To a 35-3. It from a 04. J the length of i and no radii. This the G90 cycle 10 a the manual al[ernalive. application of G90 rather a simple diameter down to a 'final 02.22 inch, over There arc no chamfers, no the practical simple roughing only, but still -1 r 04.125 rXrl'III1JIt' • programs 03501 &03502 of G90 cVcle in the depth of each cui has Since G90 is a roughing amount left for finishing, first, then the find out how much decide on the depth of ,'p'nnr".!pn from the diameter. slock is aclua[ly there to amount of Siock is "' .... ,..." ........ per side, as a ravalue, along the X NlO X2. 28 (PASS 6) Nll GOO X10.O Z2.0 T0100 M09 Nl2 MOl (END OF ROUGHING) If prefen'ed, use incremental programming rnp,nr,n However, it is Lo trace the program progress with the absolute coordinates ever, here is the 03502 (G90 STRAIGHT TtJRNING CYCLE - INCREMENTAL) Nl G20 N2 T0100 M41 N3 G96 S450 M03 (START POINT) N4 GOO X4.32S ZO.l T010l MaS N5 G90 U-0.507S W-2.655 FO.Ol (PASS 2) N6 U-0.307S (PASS 3) N'7 U-0.3075 NB U-O.307S (PASS N9 U-0.3075 (PASS 5) (pASS 6) NlO U-0.3075 Nll GOO XlO.O Z2,Q T0100 M09 Nl.2 MOl (END OF ROUGHING) cycle is quite simple in both versions - all that is is La calculate the new for each roughing cut. If the same roughing tool path had been programmed the block-by-block method (withollt G90), the finaJ would be more than longer. • Taper Cutting Example to (4.125 - 2.22) / 2 to that used for the Will be cui, also 35-4 is a example. In this the G90 simple = .9525 r a Slack per side finishing cuI, the .030 will subtracted from the total X so the total depth amount to remove will be .9225. is the selection of cut for the toral depth. five even cuts, each cut will be .1845, for six cuts, .1538. Six cms will ;'''''l\,A.\~,U and .030 left per or on the diilmeter the first diameter will be X3.8175. .005 stock allowance will left on the face, so the Z end cut will be actual and in part will be the 03501 (G90 STRAIGHT TUlmDJ'G CYCLE - ABSOLUTE) Nl G20 N2 T0100 M4l N3 G96 S450 M03 (START POINT) N4 GOO X4.32S ZO.l T010l MOB (PASS 1) N5 G90 X3 B175 Z-2.555 FO.Ol (PASS 2) N6 X3.51 (PASS 3) N'7 X3. 2025 (PASS 4) N8 X2.895 (PASS 5) N9 X2.5875 02.25 I t Figure 35-4 l::xa·mO,le of In the musl to cycle in taper cutting - program 03503 between the cUlting methods, using the same a to distinguish these two there is one cuning and cycle, there of CUL, and 310 Chapter 35 The difference is the addition of an I parameter to the cycle calL indicating the taper amount and its direction per side. This value is called a signed radius value. It is an I value because of its association with the X axis. For straight cutting, the I value will always be zero and does not have to be written in the program Irs only significance is for raper cutting, in which case it has a non-zero value - Figure 35-5. FIRST TAPER LENGTH . MOTION rmAL TOOL TRA\.7Eli DIRECTION Figure 35-6 Known and unknown values for taper culling -program 03503 Amount 'i' is known, amount 'J' has to be calculated I . ····-2.5 'I ~ 1 aoRK£t\jAL + -~-·····~··r 0.875 RST MOTION DIRECTION I Figure 35-5 The I amount used for G90 turning cycle - extemal and internat o a If the direction of the first tool motion in X is negative, the I value is negative If the direction of the first tool motion in X is positive, the I value is positive On a CNC lathe with the X axis positive direction abpve the spindle center line, the typical I value win be negative for external taper cutting (turning) and positive for internal taper cutting (boring). To program the part in Figure 35-4. keep in mind that the illustration represents the fmished item and does not contain any clearances. Always add all necessary clearances flIst, then calculate the I amOlillt. In the example, a clearance of 0.100 will be added at each end of the taper, increasing its length along the axis from 2.5 to 2.7. The I amount calculation requires the actual length of tool travel, while maintaining the taper angle at the same time. Either the method of similar triangles or the trigonometric method can be used for such calculation (see Chapter 52 for details on shop mathematics). Figure 35-6 and Figure 35-7 illustrate the details of the known and unknown values for the I amount calculation. -I ~l The illustration shows that the r amount is calculated as a single distance, i. e., as per single side (a radius value), with specified directiol'1; based on the total traveled distance and the direction of the first motion from the start position. There are two simple rules for G90 taper cutting: 2.7- T i 0.875 I 1 . . . . . . . . . .;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .:~ Figure 35-7 The I distance calculation using the similar triangles method The example shown above almost suggests the simplest method of calculation, a method that is known in mathematics as the law ofsimilar triangles. This law has several possible deflnitions, and the one that applies here is that ... Two triangles are similar, if the corresponding sides of the two triangles are proportional. In programming, quite often there is a situation that can be solved by more than one method. Choose the one that suits better a certain programming styJe, then try the other method, expecting the same result. Both methods will be used here, to conflrm the accuracy of the calculation. 311 LATHE CYCLES = Method Using Similar I, First, calculate <1ltlcerence i between the two known diameters, as per drawing: i = (4 - 2.25) I 2 0.875 therefore, the ratio of v~, ... , .., I I 2.7 = i will be 101.75 / 2.5 We know i to be 0.875, so the relations can by filling in the known ammmt: I / 2.7 = 0.875 / 2.5 ""m~~_ I :::: (0.875 x 2.7) / 2.5 I :::: 0.945 ... is Jhe required alYlQunl!or programming = Figure 35-8 Example of G90 cycle used on 8 taper to a shoufder - 03504 Using Trigonometric Method The second method of I amount requires trigonometry. At this point, it is known I :::: Using the pered cut a can be used in this case as a tathe machining shoulder. A single G90 but could result in some ex(too much or too little stock). aOltlroach is to use two modes of the cycle - one ","",,,IT''''' tapered roughing. 2.7 x tan a and the tangent value has to amount of I can be calculated Similar to the "'''''''''''' ~n'.... u."x"'. the I taper amount has to be calculated, of similar triangles as fore. TIle height i triangle over the length of 2.5 is calculated as one difference between the 02.750 and the 01 2.7 x 0.35 0 . 945 ... is the required amowllfor programming i tan a ::::: i / 2.5 tan a :::: 0.875 / 2.5 tan a ::::: 0.350 I I 3.50 ------.-; both cases) the calculations have the same .LlllJ.Jll"'E accw:acy ofthe process. I amount \"'d.LI~Ul<:IUUI Figure 35-6 and detailed in Figure is the fmal result - five cuts with 0.03 ",-:"l'{." 03503 TAPER 'I't.JRNrnG EXAMPLE 1 - w/0. 03 X-STOCK) Nl G20 N2 T0100 M41 N3 G96 S450 M03 N4 GOO X4.2 ZO.l T010l M08 N5 G90 X3 752 Z-2.6 I-0.945 FO.Ol N6 X3.374 (1) (4) (5) (CLEAR PeS ) NlO GOO XlO.0 Z2.0 T0100 MD9 (END OF ROUGHING) Nll MOl • Straight and Taper Cutting Example v",,'''~t'''\M of a taper is also common in 35-8 shows another and a shoulder. = 2.75 - 1.75 / 2 = 0.500 For the extended 0.005 stock amount is at the shoulder for DnlS.O:lDg and is extended by 0.100 at the front of 2.595: 2.5 - 0.005 + 0.100 = 2.595 nal I amount can now be calculated, based on the origithe extended values: I / 2.595 = 0.500 / 2.5 (3) N"J X2 996 N8 X2.618 N9 X2.24 i I I := := (0.500 x 2.595) / 2.5 0.519 ... negaiive direclion For roughing, a 0.030 X which is 0.060 on dlalIDt:~ter side along the to select a In roughing operations, it is as the cutsuitable depth of cut, with safety selection conditions. In this example, will benefit from one simple ·ogJ:amm.ulg teclmique. If of cut is selected last depth will be "'''''A''''V is left to cut. A a calculated n1.lI'!lnl~r of equal cuts - Figure 312 Chapter 35 ---- 0 I.() 0') ("") (!) ~ ..-, N N N G94 - FACE CUTTING CYCLE I.() (!) i'- 0, N --~--~---------------~ ..00 NN 0.865---- 0.865 --!-0.865 , /START .•I ~ X4 . 100 . ; -X3.778 X3.456 X3.134 .- X2.812 X2.466 X2.120 X1.774 I L. 0.173 0.1-73 0.173 C- Figure 35-9 A cycle that is very similar to 090 is another simple turning cycle, programmed with the G94 command, This cycle is called the face cutting cycle. The purpose of C,g4 cycle is [0 remove excessive stock between the start position of the cutting tool and the coordinates specified by the X and Z axes. The resulting cut is a slTaight turning cut, normally pelpendicular to the spindle center line. In this cycle, it is the X axis that is the main CUlling direction. The 094 cycle is used primarily for facing cuts and can be used for simple vertical taper cutting as well. similar to the 090 cycle. The G94 cycle is logically identical to the G9a cycle, except the emphasis is on the X axis cutting, rather than the Z axis cutting. Depth of cut calculation for program example 03504 For the ca1cul ation, aillha! is required is to divide the dislance per each side by the number of required cuts. The result wlll be an equal depth of cut for the whole roughing operation. If Ihe cutting depth is LOa smal! or too large, JUSl recalculate it wilh a different number of CUIS. Knowing what is a suitable depth of cut is a machining knowledge, expected from CNC programmers. As the cycle description suggests, the 094 is normally used to perform a rough face-off of the part, towards the spindle center line or to face-off a shoulder. • Cycle Format Similar to all cycle, lhe face culting cycle 094 also has a predetermined programming format. For straight facing. the cycle fonnat is: In Figure 35·9, there are four cuts of .161 for the slraight roughing and three cuts of .173 for Lhe tapered cutting. All slack allowances are in effect. G94 X(U) .. Z(W) .. F.. For tapered turning, the cycle format is: The program 03504 will usc the calculations: G94 X(U)" Z(W) .. K.. F.. 03504 (G90 TAPER TURNING EXAMPLE - 2) N1 G20 N2 TOlOO M41 N3 G96 S450 M03 N4 GOO X4.1 ZO.l TOI01 MOS N5 G90 X).778 Z-2.495 FO.Ol (START) (STRAIGHT 1) N6 X3.456 (STRAIGHT 2) N7 X3.134 (STRAIGHT 3) N8 X2. 812 (STRAIGHT 4) N9 GOO X3. 0 (CHANGE STRAIGHT TO TAPERED) mo G90 X2.B12 Z-O.765 I-O.173 (TAPERED 1) The axes X and Z are used for absolute programming, the axes U and Ware used for incremental programming, and lhe F address is the cutting feed rate. The K parameter. if greater than zero, is used for taper culling along the vertical direction. Figure 35-10 shows all programming parameters and cutting steps, Apply lhe same process as for 090 cycle. Nll Z-1.63 I-0.346 (TAPERED 2) Nl2 Z-2.495 1-0.519 (TAPERED 3 - FINAL) N13 GOO XIO.O Z2.0 TOIOO M09 (CLEAR PeS.) Nl4 MOL (END OF ROUGlITNG) In a review, to calculate the amount of I or R parameter used in 090 for the taper cUlling - ex/ernal or intemal. use [he following formula: [ ........................ _ ............ I (R) = SMALLER DIA - LARGER DIA 2 G94 - STRAIGHT G94 - TAPERED Figure 35·10 The rcsult will also include thc sign of fhe J amount. G94 turning cycle structure· straight and tapered application LATHE 313 MULTIPLE REPETITIVE CYCLES • Cycle format Types Each cycle is governed by very do's and don'rs. The f ollowi them In detail, except the be covered separately in Chapter etc, sj are used for contouring. Tool nose applied, if applicable to Mulliple as quire a computer memory in order to NC machines controlled by a punched from them. Tn tape operation, codes sequentially, in a forward control. on the other hand, is more evaluate and process information both directions, forwards can process mathematical of a second, simplifying the of which will An important fael (0 Lake a n01e of, is Ihal programming for these cycles, method different for the lower level very popular OT or {he 16/18120/21T higher level, such as the 1011 IT Or the I cycles. if they are available for the require their programming formal in twO blocks. not the normalone block. Check the parameter conlrol, (0 find about compatibility both formals is also Included in this chapler. • Cutting Cycles and Part Contour Probably the mOSI common multiple in turning and bor~ng are those thai are used for profile cutting or coJJtou/, cultmg. There are three available within the roughing category: o G71, and G73 • General Description and olle cycle is available for rllli~liing: In total. there are seven multiple r"r",l>nih,,'" o able, identified by a nY-F'n",'"'' G70 finishing cycle is designed to finish profile by allY one of the three roughing cycles. Profile cutting cycles - Roughing: In some respects, Ihere is an interesting situation in promultiple repetitive cycles. So far, the emphasis ,vas 10 program roughing cuts before finishing cuts. 111is approach perfect sense - it is also the only logical from the lechnological point of view. Don't be surprised if Ihis 'rule' is suddenly broken when com pUler G71 G72 G73 rules and has its Pauern repealing lake over. implication here is (hal when the multiple repetilive roughing cycles, contOllr musl always be defil1edfirst, then its elm appllcd to the roughingcyperhaps, Wh~n working with easy to see that it is actually although hardly a re- Profile cutting cycles· Finishing: Finishing cycle for 071. 072 nnd 07J Chipbreaking cycles: G74 Peck drilling cycle in Z axis - horizontal G75 Peck grooving cycle in X axis - verticill Threading cycle: The G76 threading cycle is described separately and In sufficient detail in Chapter 38. • Chipbreaking Cycles 314 Chapter 35 CYCLES CONTOUR (contouring cycles), are lalhe programming. They anrl internal (horing) maleany machinable contour. • Boundary Definition The roughing cycles are boundaries, typically is (he outline of blank, on the detinition of two material boundary, which the boundary, which is (he outline of the pan conlour, is not a new concepl at all, several programming were using this method, such as the Compact JI, a based system of the I • Start Point and the Points P and 0. The poinL A in the illustration is fi Ie cuui ng cycle. It can be Typically, SlarL point will where the rough cuuing begins. It is start point very carefully. it is more point', In fact. this special ances and the actual depth of The generic points Band C in the last come points P and Q in the Point P represents the block number of the first Xl coordinate of the finished contour. The two defined boundaries create a !h,:\l defines the the material is removed in an tied machining paramcters in thc Mathematically, the minimum define an area is Lhree. These lhree (meaning not on the same line), pie boundary wiLh only Point Q represents the block number of last Xl coordinate of the finished contour. Olher in-depth considerations relating to (he P and Q boundary poinrs are equally important, and there are quite a few of (hem: sisLing or many points, D - - c ~---------- >~! Part bou~dary ~ Roughing area by three points only 1/ f I , I B material removal defined by the starting point and D nose radius offset should not be included between the P and a points, but programmed before the cycle is called, usually during the motion to the start point. D For roughing, the material to be machined will be divided into a of cuts. Each roughing cycle ""'I"'nte a number of user ""r'I-'"<'''' o The tool motion 1)!'![Wflfm Roughing area defined by more than three points Figure 35-1 7 Material and part boundaries as applied to turning A number of points may be defined between the P and a representing the XZ coordinates of the f.n,e,h<:>1i contour. The contour is programmed using GOL G02, and G03 tool motions, including teed rates. the p.Q contour must include all necessary clearances. _ .- Material --------:..--.,A/' Part boundary [J rlQ4tu'I':'1"I B c will must be steadily ",.,""., .....""" In the profile cutting cycles. each poinl represents a position and the POllltS A, B, and C represent the extreme corners of the selected (defined) machining area, material boundal), is nOt actually defined, it is only impl It is between points A and S, and point~ A and C. Material boundary can not contaill any other points; it must a straight line, but not always a line parallel [Q an is defined between B C, between. For CNC used rather "''''.\A, ....." P and Q points is allowed is available and programmed, and then . see the next section for nlr.orT,,'m Inane D Blocks coordinate of the contour and the of the contour a, must have a sequence number N, not duplicated :>n\,f\hln,<>r<> else in the program. < • I AND TYPE II CYCLES In the initial versions of the contour cutting cycles, a of the contouring direclion into the Opposile direction one axis was not allowed. That limited these cyto some extent, because common undercuts or recesses were nol possible [0 use in the yellhey were common m shops. Presently, {his older is modern controls use ware features and the lowed. This newer method more programming flexibi cavities (undercuts). Figure and shows a disallowed contour to I external cutting a cycle. The example cycle, but can be modified for any internal cutting. TYPE I CYCLE ... is roughed out in a single depth 315 «---_._-Programming Type I and Type If system supports boring cycles, it also II for some special not replaced one type JI. Of course. the question is the two lypes in the is in the contents follows the cycle call: o o .,. only one axis is II '" two axes are I: a7l U .. R .. P10 Q •. U •. W•. F •. S •• mo GOO X.. (ONE AXIS FOR TYPE I) an Q Example· Type II : G71 U •. R •. Gn P10 Q •• U .• W•• F •• S •• NlO GOO X.. Z.. ('!WO AXES FOR TYPE II) TYPE II CYC ... is roughed out in several depths BI-DIRECTIONAL ... contour is not allowed Figure 35·12 Comparison of Type land . bi·directional change Type 1 allows a increasing profile (for cutting) or steadily decreasing profile (for' from U1e point P to point Q (typical cutting directions). On older conlrcls, X or Z direction is not allowed. an undercut to be machi with Modern controls Type I, but the will be done with a single That metal removal in which lype Ihe supports. may be 'O..i";';:"U Type l! allows a continually increasing profile or ally decreasing from the point P to change into the direction is allowed axis only, on active cycle. of an undercut will a multiple 1001 path. Type lor Type 11 is applicable to the cycle, by both axes in the block represented by Ihe P This lypically block immediately following. the cycle call in the I, G72, elc.). Iflhere is no motion Z axis in the first 11 is still required. fer the cycle call and program WO as the "",""'11 • Cycle Formatting On the next few is a description of the six It is important to understand cycles. covered in format of each cycle as it applies 10 a particular Several Fanuc conlrol are available and for of programming multiple repelitive can be into two groups: o Fanuc o Fanuc system 21T 1ST ". tower/eve! level Practically, il only means a change in the programmed, but the is also important some incompatibility Note that the tool function oflhe examples, although it IS also T is not specified in allowed as a in all multiple repetitive Its only need maybe a tool offset change. G71 - STOCK REMOVAL IN TURNING The most common roughing cycle is 071. Its to remove horizontal cutting, primarily Z axis, the right to the left. It is roughing oUi OUl of a solid cylinder. cles, it romes in two formats - {\ one-block block formal. on the conlrol all cy- 316 Chapter 35 • G71 Cycle Format - 10T/11 T/15T RO.125 The one-block format for the G7 J cycle is: 03.0 G71 P.. Q.. 1.. K.. U.. W.. D.. F.. 5 .. 02.500 -02.250 ..".....".....,....-.. ,--.. . . . . . 02.000 ~ where ... < p 0 = The first block nu mber of the fin ishi ng profile I =: K = U W 0 F =:: = = S The last block number ofthe finishing profile Distance and direction of rough semifinishing in the X axis - per side Distance and direction of Tough semifinishing in the Z axis Stock amount for finishing on the Xaxis diameter Stock left for finishing on the Z axis The depth of roughing cut Cutting feed rate (in/rev or mm/rev) overrides feed rates between the P block and the Q block Spindle speed ~ft!min or m/min) overrides spindle speeds between the P block and the Q block ................ o o 1.0 0 1.0 N ~..... 0 1.0 ,....... 0 01.250 i-- 00.625 00.875 "c········ RO. 0 I.() 1.0 0 CHAMFERS 0.05 x 45° - CORE 09/16 Figure 35-13 The I and K parameters. are not available on alJ machines. They conlrol lhe amount of cuI for semifinishing, the last continuous cut before final roughing motions. • G71 Cycle format - OT/16T/18T/20T/21 T If thc control requires a double block entry for the G71 cycle, the programming format is: G71 U.. R.. G71 P.. Q.. U.. W.. F.. 5 .. IB.T' where ... First block: U R = The depth of roughing cut = Amount of retract from each cut Second block: P The first block number of the finishing profile The last block number of the finishing profile Stock amount for finishing on the X axis diameter W = Stock leftforfinishing on the Z axis f ::: Cutting feedrate (in/rev or mm/rev) overrides feedrates between the P block and the Q block S == Spindle speed (ftJmin or m/min) overrides spindle speeds between the P block and the Q block Q U :;;;;; Do not confuse the U in the iirst block, depth of cut per side, and the U in the second block, stock lefl on diameter. The rand K parameters may be used only on some controls and the retract amount R is sel by a system parameter. The external and inlernal usc of the G71 cycle will use the drawing data in Figure 35-/3. Drawing example to illustrate G7l rQughing cycle - program 03505 • G71 for External Roughing The slack material in the example has an existing hole of 09/16 (.5625). For external CUlling of this part, a standard 80 0 tool will be used for a single cut on the face, as well as for roughing the ouler shape. Program 03505 covers these operations. 03505 (G71 ROUGHING CYCLE - ROUGHING ONLY) Nl G20 N2 TOIOO M41 (OD ROUGHING TOOL + GEAR) N3 G96 S450 Me3 (SPEED FOR ROUGH TURNING) N4 GOO G4l X3.2 ZO TOlOl MOe (START FOR FACE) N5 GOI XO.36 (END OF FACE DIA) N6 GO 0 ZO. 1 (CLEAR OFF FACE) N7 G42 X3.l (START POSITION FOR CYCLE) NS G7l P9 017 UO.06 WO.004 D1250 FO.Ol4 N9 GOO Xl.7 (P POINT = START OF CONTOUR) mo GOI X2.0 Z-O.OS FO.OOS Nll Z-O. 4 FO. 01 Nl2 X2.25 N13 X2.5 Z-O.6 Nl4 Z-O.87S RO.12S NJ.S X2. 9 NJ.6 GOI X3.05 Z-O.95 Nl7 UO.2 FO.02 (0 POINT = END OF mN'TOUR) Nl8 GOO G40 XS.O Z6.0 TOlOO Nl9 MOl The external roughing bas been completed at thiS point in the program and the internal roughing can be programmed for the next tool. In all examples that include a 1001 change between a short tool (such as a turning tool) and a long tool (such as a boring bar), it is important to move the short tool Curther from the front face. The motion should be far enough to accommodate the incoming long tool. The clearance is 6.0 in the above example (block N18 with Z6.0). LATHE CYCLES • 317 G71 for Internal Roughing Cutting direction The face has been done with the previous 1001 and the roughing horing bar can conlinue the machining: I 1 1 mo T0300 (In ROUGHING TOOL) N21 G96 8400 M03 (SPEED FOR ROUGH BORING) N22 GOO G41 XO.S ZO.1 T0303 MOS (START pas.) N23 G71 P24 Q31 U-O.06 WO.004 01000 FO.012 N24 GOO Xl.5S (p POINT '" START OF CONTOUR) N25 GOl Xl.2S Z-O.05 FO.004 N26 Z-O.55 R-O.l FO.OOB N27 XO.875 K-O.OS N2B Z-O.75 N29 XO.625 Z-1.2S N30 Z-l. 55 N31 U-O. 2 FO. 02 (Q POINT END OF CONTOUR) N32 GOO 040 X5.0 Z2.0 T0300 N33 MOl The part has been completely roughed out. leaving only the req uired stock on diameters and faces or shoulders. Fi 11ishing with the G70 cycle, described laler, is possible wilh (he same 1001, if lolerances and/or surface finlsh arc nOlloo crilicaL Otherwise, another 1001 or 1001s will be required in the same program, after a Lool change. At 11m stage, evaluate what has been done and why. Many principles Ihat applied to the example are very common 10 other operalions that also use the mUltiple repetitive cycles. It is important 10 learn them weI! allhis point. • Direction of Cutti ng in G71 The last programming example 03505, shows Ihal G71 can be used for roughing externally or infernally. There are two important differences: o Start point relative to the P point (SP to P versus P to SP) o Sign oi the U address for stock allowance on diameter The control system will process the cycle for external cUlling, if the X direclion from Ihe starl pain! SP 10 lhe point P is !legal il'e. In the example, the X slart poi nt is X3. I, the P point is X 1.7. The X direction is negalive or decreasing and an eXlernal cUlling will take place. The control syslem wi II process the cycle for internal cutling, if (he X direction from stan point SP to Ihe point Pis posiTive. In the example, the X start puinl is XO.5, the P point is XJ.55. The X direction is positive or increasing, and an internal culling will take place. Figure 35-14 illustrates the concept of G71 cycle, as applied to both, ::Inc! intern::!l cU!ling By (he way, although the sign of the stock U value is very important ror the final size of the part, it does lIot determine the mode of cUlling. This concludes the section relating to the G71 multiple repetitive cycle. The face roughing cycle Gn is similar, and is described next. J ----, :::i"P I SP to P direction is negative for external cutting t P p / '" _... -----------~.§E SP to P direction is positive for external cutting - Cutting direction Q , Figure 35-14 External and internal CUl1ing in G71 cycle G12 - STOCK REMOVAL IN fACING 111C Gn cycle is identical in every respect to the G71 cycle, excep[ the stock is removed mainly by vertical culting (facing), lypically from (he large diameter towards the spindle center line XO. II is used for roughing of a solid cylinder, using a series of vertical cuts (face culS). Like all olher cycles In Ihis group. It COllies in two formats - a one block and a double block formal, depending on Ihe control system. Compare G72 with the G71 structure on examples in this chapter. • G72 Cycle Format ~ 101/111/151 The one-block programming formal for the G72 cycle is: G72 P.. Q.. I.. K.. U.. W.. D.. F.. S.. ~ where ... P = The first block number of the finishing profile Q The last block number of the finishing profile I Distance and direction of rough semifinishing in the X axis - per side Distance and direction of rough semifinishing in the Z axis Stock amount for finishing on the X axis diameter Stock left for finishing on the Z axis The depth of roughing cllt Cutting ieedrate (in/rev or mm/rev) overrides feedrates between the P block and the Q block Spindle speed ~ft/min or m/min) overrides spindle speeds between the P block and the Q block K U W o F S The meaning of each address is (he same as rar the G71 cycle. The I and K parameters are nOI available on ail machines. These parameters conlrol (he amount of cut for semifinishing, which is the last continuous cut before final roughing motions are completed. 318 Chapter 35 + G72 Cycle Format - OTj16T/1 BT/20T/21T If the control system requires a double block enlry for lbe G72 cycle, the programming formal is: G72 W.. R.. G72 P.. Q .. U.. W.. F.. 5 .. 03506 (G72 ROUGHING CYCLE - ROUGHING ONLY) m G20 N2 T0100 M41 (OD FACING TOOL + GEAR) NO G96 8450 M03 (SPEED FOR ROUGH FACING) N4 GOO G4l X6.2S ZO.3 T010l MOB (START POS.) N5 G72 P6 Q12 UO.06 WO.03 D1250 FO.014 N6 GOO z-O.87S (p-POINT :::: START OF CONTOUR) N7 GOl X6.05 FO.02 N8 XS.9 z-o.a FO.ooa Ia" where ... N9 X2. 5 mo n.s ZO First block: W R = The depth of roughing cut = Amount of retract from each cut Second block: p = The first block number of the finishing profile == The last block number of the finishing profile Stock amount for finishing on the X axis diameter W = Stock left for finishing on the Z axis Cutting feedrate (in/rev or mm/rev) overrides F feedrates between the P block and the Q block Spindle speed (ftlmin or m/min) overrides spindle S speeds between the P block and the Q block Q Nll XO.55 Nl2 WO.1 FO. 02 (Q-POINT :::: END OF aJNTOUR) Nl3 GOO G40 XS.O Z3.0 TOlOO Nl4 MOl The concept of G72 cycle is illustrated in Figure 35-16. Note the posicion or (he poinl P as it relales lo Ihe start puinc SP and compare it with Ihe G7) cycle. U , , I I I . Cutting direction I 1n the G7 J cycle for the doubJe block definition, rhere were two addresses U. In the 072 double block definition cycle, !.here are two addresses W. Make sure you do not confuse the W in the first block - depth of cut (actually il is a 'width of cut), and the W in the second block - stock left on faces. The I and K paramelers may be available, depending on the control. f I I l I I I Q An example program 0350() for the G72 cycle uses the drawi ng data in Figure 35- J5. a a co a CHAMFER 0.05 x 45° -06.0 - - 0.25 FACE STOCK - 02.500 ·01500 03/4 CORE ,~.Q.i Figure 35-15 Drawing example to illustrate G72 roughing cycfe - program 03506 10 lhis facing application, all the main data will be reversed by 90". because the cut will be segmented along the X axis. Roughing program using the Gn cycle is logically similar to the G71 cycle: Figure 35-16 Basic concept of G72 mUltiple repetitive cycle G13 - PATTERN REPEATING CYCLE The pattern repeating cycle is also called the Closed Loop or a Profile Copying cycle. lIS purpose is to minimize the CUlling lime for roughing material of irregular shapes and forms, for example, forgings and ca..c;tings. + 673 Cycle Format -10Tj11Tj15T The one-block programming format for Gn cycle IS similar to (he G71 and G72 cycles: G73 P.. Q.. 1.. K.. U.. W.. D.. F.. S.. IQj" where ... P =::: Q 1 K U =: =: The first block number of the finishing profile The last block number of the finishing profile Xaxis distance and direction of relief - per side Z axis distance and direction of relief Stock amount tor finishing on the X axis diameter 319 w o left for on the Z axis The number of divisions Cutting feedrate !in/rev or mm/rev) overrides feed rates between the P block and the Q block F s important input parameters in the G73 One pClJameter seems to be missing - there cut specification.! Tn the G73 cycle, it is not actual depth of cut is calculated au[omatically, Spindle speed (ft/min or m/minl overrides spindle between the P block and the Q block • Cycle Format OT/16T/18T/20Tj21T w control requires a double block entry cycle, the programming format is: parameters: o I ... amount of material to remove in the X oK ... amount of material to remove in the Z axis o D ... this u = X axis distance and direction of relief· per W Z axis distance and direction of relief The number of cutting divisions In the example, the largest expected material amount per will be chosen as .200 (10.2) and the Second block: The first block number of the finishing The last block number of the finishing profile Stock amount for finishing on the X axis Stock left for finishing on the Z Cutting feedrate (in/rev or mm/rev) CHI<>"""'" feed rates between the P block and the Q Spindle speed {ftlmin or m/min} overrides spindle speeds between the P block and the Q block S In the two-block cycle entries, do nOI up the firs! block thal repeat in the second block (U the example). They have a different • repeating cycle G73 35-17. material amount on the face as .300 (KO.3). divisions could be either two or three, so the r-\rr,,,r·,\rn use D3. Some modification on the control during actual setup or machining, .... ~I"/v".~, exact condition and sizes of the or This cycle IS suitable for roughing contours where the finish contour closely matches the contour the forging. Even if there is some this be more efficient than the selection of J or cyThe program 03507 and finishing with Ihe same tool (as an example): 03507 (G73 PATTERN REPEATING CYCLE) Nl G20 M42 G7J Example of Pattern Repeating uses the In N2 T0100 N3 G96 S350 M03 N4 GOO G42 X3.0 ZO.l TOlOl MUS NS G73 P6 Q13 IO.2 KO.3 UO.06 WO.004 D3 FO.Ol N6 GOO XO.35 N7 GOl Xl.OS Z-O.25 N8 Z-O.62S N9 Xl. 55 Z-l. 0 N10 Z-1.625 RQ.2S Nll X2.4S N12 X2.75 Z-1.95 N13 UO.2 FO.02 Nl4 G70 P6 Q13 FO.006 N15 GOO G40 XS.O Z2.0 T0100 Nl6 MJO % 01.050 00.550 Figure 35-17 Pattern repeating cycle 673 program can with a reasonable efficiency, but some 'air' an unwanted side effect for odd shaped First block: P Q = U -=W F with care - its amount rough stock to be rprnr\'''IU! Z axes. That is not the typical castings, where the stock varies all over the illustration in Figure 37·17. ~ where ... R of cutting 111\11<:1(\1'" or number of 03507 320 - - - -. -------- A . . . . . . ., , B'-- , Chapter 35 For safety, use the same start point for G70 as for the roughing cycles. A '1 The earlier roughing progTam 03505, using the G71 repetitive cycle for rough turning and rough boring, can be compleled by using another IWO tools, one for external. one for internal finishing lool path: (03505 CONTINUED ... ) A N34 TOSOO M42 (00 FINISHING TOOL + GEAR) N35 G96 5530 M03 (SPEED FOR FINISH TURNING) N36 G42 X3.1 ZO.l TOSOS MOS (START POS.) N37 G70 P9 Q17 (FINISHING CYCLE - OD) N18 GOO G40 XS.O Z6.0 TOSOO N39 MOl =1+ U/2 B= K+W Figure 35·18 Schematic representation of 673 cvcle Note that (he pallern repealing cycle does exactly thaI - it repeals (he machining contour (pattern) specified between the P and Q points. Each Indlvidual 1001 path IS offset by a calculated amount along the X and Z axes. On the machine. watch the progress with care - particularly for the firsllool path. Feedrate override may come useful here. G10 - CONTO ING CYCLE The last of the contouring cycles is G70. Although il has a smaller G number than any of the three roughing cydes G71, G72 and Gn, the !imshing cycle G70 is normally used after anyone of these three rough ing cycles. As ils description suggesls, it is siriclly usedJor the finishing CUf oja previously defined conrow: • G70 Cycle Format· All Controls For this cycle, there is no difference in the programming rormal for various controls - il is all the same, and the cycle call is a one-block command. The programming format for G70 cycle is: trIir where .. " P Q F S ;;= The first block number of the finishing profile The last block number of the finishing profile Cutting feedrate (in/rev or mm/rev) Spindle speed (ft/min or m/min) The cycle G70 acceplS a previously defined finishing contour from either or the three roughing cycles. already described. This finishing contour is defined by the P and Ihe Q points of Ihe respective cycles. and is normally repealed in the G70 cycle. allhough It can change. N40 T0700 (In FINISHING TOOL) N41 G96 S47S M03 (SPEED FOR ROUGH BORING) N42 GOO G41 XO.S ZO.l T0707 MOS (START POS.) N43 G70 P24 Q31 (FINISHING CYCLE - ID) N44 GOO G40 XS.O Z2.0 T0700 (END OF PROGRAM) N45 M30 % Even for the ex ternal Ii nishing. the cutting tool is still programmed 10 start above the original stock diameter and off the from face, although all roughing morions have already been completed. A similar approach applies to the internal cut. For safely reasons, this is a recommend praclice. There are no feed rates program med for the G70 cycle, although the cycle formal accepts a feedratc. The defined block segments Pta Q for Ihe roughing 1001 already include feedratcs. These progmmmed feedrates will be ignored in the roughing mode and will become aClive only for the G70 cycle, duri ng fi nishi ng. If Ihe fi n ish conlour did not include ;:lny feerir:1tes, lhr:n progrllm rI comm(!fljeedmle for l~nish­ ing all contours during the G70 cycle processing. For example, program block N17 G70 P9 Q17 FO.007 will be a waste of time, since the .007 in/rev feedra\e will never be used. It will be overridden by the feedrate defined between blocks N9 and N 17 of program 03505). On the Olher hand. if [here is no feedratc programmed for the finishing contour al all, then N .. G70 P .. Q .. FO.007 will use .007 in/rev exclusively for the finishing tool path. The same logic described ror G7 t cycle, appl ies eq ually La Ihe G72 cycle. The roughing program 03506, using the G72 cycle for rough turning of Ihe pan face, can be completed by using another external lool for finishing euls uSing Ihe G70 cycle: LATHE CYCLES 321 G14 - PECK DRILLING CYCLE (03506 CONTINUED ... ) N15 TOSOO M42 N16 G96 5500 M03 (00 FACING TOOL + GEAR) (SPEED FOR FINISH FACING) Nl7 GOO G41 X6.2S ZO.3 TOSOS M08 N1e G70 P6 Q12 (START POS.) (FINISHING CYCLE) Nl9 GOO G40 X8.0 Z3.0 TOSOO mo M30 % The rules mentioned earlier also apply for the contour finishing defined by the G72 cycle. Program 03507, using the G73 cycle, can be aJso be programmed by using another external Lool for finishing, applying the same rules. BASIC RULES FOR G10-G13 CYCLES In order 10 make the multiple repetitive stock removal cycles (contouring cycles) work properly and efficiently, observing the rules of their use is very important. Often a small oversight may cause a lengthy delay. The G74 cycle is one of two cycles usually used for non finishing work. Along with G75 cycle. it is used for machining an interrupted cm, such as chips breaking during a long CUlling moLion. C74 cycle is used along rhe Z axis. This is [he cycle commonly used for an interrupted CUl along the Zaxis. The name of the cycle is Peck Drilling Cycle, similar 10 the G73 peck drilling cycle, used for machining centers. FOr Ihe lathe work, G74 cycle application is a lillie more versatile than for its G73 equivalent on machining centers. Although its main purpose may be applied towards peck drilling, Ihe cycle can be used with equal eftlciency for interrupted eUls in turning and boring (for example, in some very hard materials), deep face grooving, difficull part-off machining. and many other applications. • G74 Cycle Format - 10Tj11Tj15T The one-block programming format for G74 cycle is: Here are Ihe most important rules and observations: o Always apply tool nose radius oHset before the stock removal cycle is called o Always cancel tool nose radius offset after the stock removal cycle is completed o Return motion to the start point is automatic, and must not be programmed o Th e P bloc k in G71 should not include the Z axis value (Z or W) for cycle Type I o Change of direction is allowed only for Type II G71 cycle, and along one axis only (WO) o Stock allowance U is programmed on a diameter, and its sign shows to which side of the stock it is to be applied (sign is the direction in X, to or from the spindle centerline) G74 X.. (U .. ) Z.. (W .. ) 1.. K.. D.. F.. S.. !Gf where ... X(U) = Z(W) I = K D F S o D address does not use decimal point, and must be programmed for leading zero suppression format: The two-block programming format for G74 cycle is: G74 R.. G74 X.. (U .. } Z.. (W .. ) P.. Q .. R.. F.. S.. Il..-:W where .,. First block: R D0750 or D750 is equivalent to .0750 depth Only some control systems do allow a decimal point to be used for the D address (depth of cut) in G71 and G72 cycles. =: • G74 Cycle Format - OTj16Tj18Tj20Tj21T o Feedrate programmed for the finishing contour (specified between the P and Q points) will be ignored during roughing ;::: Final groove diameter to be cut Z position of the last peck - depth of hole Depth of each cut (no sign) Distance of each peck (no sign) Relief amount at the end of cut (must be zero for face grooving) Groove cutting feedrate (in/rev or mm/rev) Spindle speed (ft/min or m/min) =: Return amount (clearance for each cut) Second block: X(U) =::: Z(W) p Q == R = F S = Final groove diameter to be cut Z position of the last peck (depth of hole) Depth of each cut (no sign) Distance of each peck (no sign) Relief amount at the end of cut (must be zero for face grooving) Groove cutting feed rate (in/rev or mm/rev) Spindle speed (ft/min or m/min) 322 Chapter If both the X(U) and I (or P) are omitted in machining is along the Z axis only (peck cal drilling operation, only the Z, K programmed - see Figure 35·19. = Depth of each cut (no sign) I the K arc II"T~,n ..... oerwelm grooves (no sign) (for multiple only) Relief amount at the end of cut zero or not used forface groove) Groove cutting feedrate lin/rev or mm/rev) Spindle 1ft/min or m/minl D F S K - - K --, • G75 Cycle format - OTj16Tj18Tj20Tj21T ng fomlal for G75 The two-block z 35-19 Schematic format for 674 cvcle example ~ where ... First block: The followmg program example il cycle: R 03507 (G74 PECK DRILLING) N1 G20 N2 T0200 N3 G91 51200 MO) N4 GOO XO ZO.2 T0202 MOB NS G74 Z-3.0 KO.S FO.012 N6 GOO X6.0 Z2.0 T0200 N1 M30 block: IN RPM) POSITION) (PECK DRILLING) POSITION) X{U) (END OF PROGRAM) R Z(WJ P S A 075 simple, non cle, il is used for of two lathe cycles available ''''''rr\J.'r with the G74 cy- example for break or an inten'upted cuI, for designed 10 break axis - used mainly Il? where ... Z(W) = diameter to be cut of the last groove (for multiple grooves only) Z will in {he nOles are common to both o a grooving operation. The cycle is identical to G74, except the X axis is replaced with the Z axis. G75 Cycle format - 10Tj11TjlST example of G75 the BASIC RULES fOR G14 AND G75 CYCLES motion. C75 cycle is XIU) =:: Depth of each cut (no sign) Distance between grooves (no sign) Relief amount at the end of cut (must be zero for face grooving) Groove cutting feedrate (usually In/rev or mm/rev) Spindle speed (usually ftlmin or m/minJ the Z(W) and K (or Q) are is along the X axis only G15 * GROOVE CUTTING CYCLE • Zposition of the last groove F Drilling willtuke place to a cremenls of one half of an peck is calculated from an interrupted groove is the = Final groove diameter to be cut Q % This is also a very 5i during a rough cut Return amount (clearance for each In both the X and Z values can be programmed absolute or mode. o Both cycles allow an o The relief amount at the end of cut can be in that case It will be assumed as zero. D Return amount (clearance for is only programmable for the two-block method. Otherwise. it is set by an internal parameter of the control system. o If the return amount is programmed (tINo-block method), and the relief amount is also programmed, the presence of X determines the If the X value is programmed, the Rvalue means relief amount. II GROOVING ON LATHES Groove cutting on CNC lalhes is a multi step machining operation. The term grooving usually applies to a process of forming a narrow cavity of a certain depth. on a cy]i nder, cone, or a face of the part. 1l1e groove shape. or at least a significant part of it, will be in the shape of the cUlling tool. Grooving tools are also used for a variety of special machining operations. The grooving tool is usually a carbide insert mounted in a special tool holder, similar to any other tool. Designs of grooving inserts vary, 1T0m a single tip, 10 an lnsert with multiple lips. Inserts are manufactured !O nominal sizes. Multi tip insert grooving tools are used (0 decrease costs and increase prmJuclivity. GROOVING OPERATIONS The cutting tools for grooving are either external or internal and use a variety of inserls in different configuraeions. The most important difference between grooving and turning is the direClion of cut. Turnmg lool can be applied for culs in multiple directions, grooving tool is normally used to cut in a single direction only. A notable exception is (1n operation known as necking (relief grooving), which lakes place at 45", where the angle of the cUlling insert and the angJe of infeed must be identical (usually aI45°). There is another applicalion of a two axis simultaneous motion in grooving, a corner hreaking on the groove. Strictly speaking. this is a turmng operation. Ahhough a grooving tool is not designed for turning, it can be used for some light machining, like cutting a small chamfer. During the corner breaking cut 011 a groove, the amount of material removal is always very small and the applied feed rate is normally low. • Main GroDving Applications Groove is an essential pan of components machined on CNC lathes. There are many kinds of grooves used in industry. Most likeJy, programming will include many undercuts, clearance and recess grooves, oil grooves. etc. Some of the main purposes of grooving are to allow two components to fit face-Io-face (or shoulder-la-shoulder) and. in case of lubrication grooves, to let oil or some other lubricant to flow smoothly between two or more connecting parts. There arc also pulley or V-belt grooves thai are used for belts to drive a motor. O-ring grooves are specially designed for insertion of melt,1 or rubber rings, that serve as stoppers or sealers. There are many other kinds of grooves. Many industnes use grooves unique [0 [heir needs, mOst others use the more general groove lypes. • Grooving Criteria For a CNC programmer, grooving usually presents no special difficulties. Some grooves may be easier to program than others, yet there could be several fairly complex grooves found in various industries thaI may present a programming or machining challenge. In any case, before a groove can be programmed, have a good look at lhe drawing specifications and do some overall evaluations. Many grooves may appear on the same parI at different locations and could benefit from a subprogram development. When planning a program for grooving, evaluate the groove carefully. In good planning, evaluate the selected groove by al leasl lhree criteria: o Groove shape o Groove location on a part o Groove dimensions and tolerances Unfortunately, many grooves are not of the highest qualilY. Perhaps it is because many grooves do no! require high precision and when a high precision groove has to be done, the programmer does not know how to handle it properly. Watch particularly for surface finish and tolerances. GROOVE SHAPE The first evalulltion before programming grooves is the groove shape. The shape is determined by the part drawing and corresponds to (he purpose of the groove. The groove shape is the single most important factor when selecting the grooving insert. A groove with sharp corners parallel to the machine axes requires a square insert, a groove with radius requires an insert having the same or smaller radius. Special purpose grooves, for example an angular groove shape, will need an insert with the angles corresponding to the groove angJes as given in the drawing. Formed grooves require inserlS shaped into the same form, etc. Some typical shapes of grooving inserts are illustrated in Figure 36- J. UUV~U[)u Figure 36-1 Typical shapes of common grooving tools 323 324 Chapter 36 • Nominal Insert Size In many groove ctllting operations, the groove width wIll be greater than the largest available grooving insert of a nominal size (i.e., off the shelf size). Nominal sizes are normally found in various tooling catalogues and typically have widths 1ike I mm,2 mm, 3 mm or 1/32,3/64, 1/16, 1/8 in inches, and so on, depending on the units selected. For example, a groove width of .276 inches can be cuI with a nearest lower nominal insert width of .250 inch. In such cases, the groove program has to include at least two eulS - one or more roughing cUls, in addition to alleast one finishing CUL Another grooving 1001 may be used for finishing, if the tolerances or excessive 100] wear make it more practical - Figure 36-2. Allhough some variations are possible, for practical purposes, only these three categories are considered. Each of the three locations may be either e:rtemal or internal. The two most common groove locations are on a cylinder, i,e.. on a straight outside - or exlemal- diameter, or on a straight inside - or internal- diameter. Many other grooves may be located on a face, on a taper (cone), even in a corner. The illustration in Figure 36-3 shows some lypical locations of various grooves. ....' 2 1 . LJ ,' 3 - -- Figure 36-3 Typical groove locations on a parr Figure 36-2 CUI distribution for grooves wider than the insert • Insert Modification Once in a while, programmers encounter a groove that requires a special insert in terms of its size or shape. There are two options to consider. One js \0 have a custom made insert, if il is possible and practical. For a large number of grooves, it may be a justi tied solution. The other alternative is 10 modify an existing insert in-house. Generally, in CNC programming, off-the-shelf tools and inserts should be used as much as possible. In special cases. however, a standard rool or insert can be modified 10 suil a particular job. For grooving, it may be a small extension of the insert cUlling deplh, or a radius modification. Try 10 modify lhe groove shape itself only as the last resort. Modification of srandard tools slows down the production and can be quite costly. GROOVE LOCATION Groove location on a part is determined by the part drawing. The locations can be one of three groups: o Groove cut on a cylinder o Groove cut on a cone o Groove cut on a face ... diameter cutting .« taper cutting ... shoulder cutting GROOVE DIMENSIONS The dimensions of a groove are always important when selecting the proper grooving insert. Grooving dimensions include the width and the depth of a groove, as well as the corners specifications. It is not possible to cut a groove with an insert thut is larger than the groove width, Also, it is not possible to feed into a groove depth that is greater than the depth clearance of the insert or tool holder. However, there is usually no problem in using a narrow grooving insert to make a wide groove with multiple ClltS. The same appbes for a deep culling insert used 10 make a shallow groove. The dimensions of a groove determine the method of machining. A groove whose widlh equals the insert width selected for the groove shape, requires only one cut. Simplefeed-in and rapid-out tool motion is all that is required. To program ;j groove correctly, Ihe width and depth of the groove must be known as well as its position relative to a known reference position on the parI. ThiS position is the distance to one side - or one wall - of the groove. Some extra large grooves require a special approach. For example, a groove thai is 10m m wide and 8 mm deep cannO[ be Cul in a single pass. In this case, the rough cuts for lhe groove will control not only its widlh, but also ils depth . It is not unusual to even use more than one tool for such an operation. Program may also need to be designed in seclions. In case of an insert breakage, only (he affected program section has to be repeated. ON 325 • Groove Position are shown two most common methods of a The groove width is aiven in both cases as dimension W, bUl tile distance L fro;;; lhe front is d in the example a and the example D. and boltom diameter of the I::; method has a major benefit that of the groove will actually appear as A disadvam3e:c is that the '-' and a proper grooving 36-5b docs show !he bottom diameter WIll have to dlmensionin <='o examfire about equally common in CNC are usually grooves that have a have a much deeper top diameter and its bartom but SIMPLE GROOVE PROGRAMMING L L ,b l simplest of aU grooves is the One that and shape as the tool cutting edge - dimensioning two common methods the dimension L is the groove. For programming purposes, is more convenient', because it will as specified in the drawing. 1001 reference poim of a grooving 1001 is sellO of the grooving insert. The example in Figure 36-4b, [he right side of the £roove. The left side found easily, by adding the groove width ming considerations will be slightly different, if the dimensionallolerances are specified. that the specified dimension imporrant dimension. If a tokrance any dimension, the tolerance must always finished groove. and it will affect the 1 programmethod. A groove may also dimensioned from anolher localion, depending on • Figure 36-6 Simple groove example· program 03601 Insert width is equa/l0 the groove width The program a is rapid mode, move the gTooving lool to Depth Tn Figure 36-5, there are two dimen- siomng the groove depth. ~I r bl Figure 36-5 Groove depth dimens.ioning . two common methods d Jn position ~eed-in ,to the groove depth, then rapid out back to the start~ mg posltlOn, and - the groove is finished. arc no corner breaks, no surface tinish conlrol, and no special techniques used. Some will say, and no quality A dwell at the bottom of the the only improvement. TalC, the quality of such 11 will not be the ""'oreatesl , a it will is slrictly a utility Iype ,'W'V"'" and is 111 . manufacturing. At the same such grooves is a good stal1 to learn more The following square The groove diameters (2.952 - 2.63'7) 12 .15'75 326 Chapter 36 uses the 1001 The as Ihe 03601 (SIMPLE GROOVE) (G20) N33 TOSOO M42 (TOOL 8 N34 G97 5650 M03 (650 RPM SPEED) N3S GOO Xl.1 Z 0.625 Toaos MaS (START POINT) N3S GOl X2.637 FO.003 (FEED-IN TO N37 G04 XO. 4 (DWELL AT THE BOTTOM) IDB X3.1. FO. 05 (RErRAC"r FROM N39 GOO X6.0 Z3.0 TOSOO M09 (CLEAR POSITION) (END OF PROGRJl,M) N40 IDO % the following. First, the from the beginning of N34 are startup selected. Constant Swface Speed (eSS) in can be selected instead. N35 is a block where the 1001 moves [0 the position from which the groove will be poi nt). Clearance at this 10calion is the clearance the part diameter, which is .074 inches in the (3.1 - 2.952) PRECISION GROOVING TECHNIQUES A simple in-ouf will nOl be good. I[s have a rough surface, comers will be sharp its width is dependent on insert width and its wear. most of maChining a groove is not To p:-ogram and precision groove eXira effort, but be a high quality This effort is nol justified, as high quality comes with a price. The next two illustrations show the groove di mensions and program details. Drawing in Figure 36-7 shows a high groove, although its width is Intentionally impact of the example. 0.1584 I 2 = .074 same block, during the tool cut, at a of 0.4 seconds, diameter and complellon actual groove plunging Block N37 is a dwell the tool return to the slanthe rrogram. Although Ihis parlicular pie, tel's evaluate the program a importanl principles thal can of programming any face finish are very critical. , ....... BREAK CORNERS 0.012 X example was very slm- more. Il contains sevapplied to rhe method its precision and sur- the clearance before the cutting begins. The the pari diameter. at 100. Always keep this ',,"'ll"',- to a safe minimum. Grooves are usually cut at a and it may lOO much rime just (Q cut in the note Ihe actual has increased .003 in/rev in block to a rather high feed rate of in/rev in block N38. motion command GOO could used instead. OUI al a heavier feedrate than using a rapid motion). may improve [he groove tinish by elimithe lool drag on the 1001 is positioned .074 inches in the diThe tool width of .125 never width of the or indirectly. That means groove. It will means a di groove width, if the program structure structure will remain unaffected even if grooving [001 shape is changed. Combination of the shape and the size will offer endless opponunilies, of them be mg without a single change to for a precision groove eX<3lm/Jle What is best cutting plunge rough cut two finish cuts, one for each are reasonable; so is .006 added to the Also, sharp corners will broken with a .012 chamfer at the 04.0. shows the distribution of the cuts. Figure 36-8 Precision groove· distribution of cuts for the example 03802 GROOVING ON LATHES Before the first block can be programmed, se!eclion of the cutting tool and machining method is a sign of a good planning. These are important decisions because they directly influence the final groove size and its condition. + Groove Width Selection The grooving Lool selected for the example in program 03602 will be an exlernaltool, assigned to the tool station number Ihree - T03. Tool reference point is selected at {he left edge of the insert. wh icll is a standard selection. The insert width has to be selected as well. Grooving inserts are available in a variety of standard widths, usually with an increment of I mm for metric tools, and 1132 or 1116 inch for (ools in the English system. In (his case, [he non-standard groove width is .! 584 inch. The nearest standard insert width is 5/32 inch (0.15625 inch). The question is - should we select the 5/32 inch insert width? rn a short answer, no. In theory, this insert could cut the groove, but because the actual difference between the Insert width and the groove width is so small (.00215 inch over two walls), there is very little material to cut. The dimensional difference would allow only slightly more than .00 I per each side of (he groove. which may cause the insert to rub on the wall rather than cut It. A better choice is to step down LO Ihe next lower standard insert width, !.hat is 1/8th of an inch (.1250). There is much more flexibility with 1/8 width than with 5/32 width. Once the grooving tool is selected, the initial values can be assignedthe offset number (03), the spindle speed (400 rUmin), the gear range (M42) - and a note ror the selup sheet: o T0303 = .1250 SQUARE GROOVING TOOL 327 chined with a, 1250 wide grooving insert, will need oJ least two grooving cuts. But what about a groove that is much wider than the groove in the example? There is an easy way to calcu late the minimum nWl1her of grooving ClllS (or plunges), using the following formula: Cmln = rrw where ... em," Gw Tw = Minimum number of cuts Groove width for machining Grooving insert width Applying the formula to the example, the starting data are the groove width of .1584 of an inch and tbe groovi ng insert width of .1250 of an inch. That translates into the minimum of fWO grooving cuts. Always round upwards, to the nearest integer: . J584/1250= /.2672=2 cuts. A possible decision could be to plunge once to finish the left side of Ihe groove and, with one more plunge, to finish the groove right side. The necessary overlap between the two cuts is guaranteed and the only remaining operation is the chamfering. A groove programmed Ihis way may be acceptable, but will not be of a very good quality. Even if only an acceptable quality groove is produced during machining, such a result does nOL give the programmer much credit. What can be actually done lo assure the highest groove quality possible? The first few program blocks can now be written: In order to write first class programs, make the best efforts to deliver an exceptional quality at the programming level, in order to prevent problems at the machining level. 03602 (PRECISION GROOVE) (G20) N41 T0300 M42 N42 G96 8400 M03 + Machining Method Once the grooving tool has been selected and assigned a (001 station number (toollurrel rosition), the actual method of machining the groove has to be decided. Earlier, the machining method has been descrlbed generally, now a more detailed description is necessary. One simple programming method is not an option - the basic in-ollt lcchmque used earlier. llUll means Q better method must be selected, a method that will guarantee a high quality groove. The first step towards that goal is the realization of the faclthat a grooving insert with the width narrower than the groove width, will have to be plunged into the groove more than once. How many times? It is not difficult to calculate that a groove .1584 wide and ma- How call this suggestion be applied to the example? The key is the knowledge of machining processes. Machining experience confirms that removing an equal stock from each wall (side) of the groove will result in better CUlling conditions, better surface fi nish control and better toollifc. If this observation is used in the current example, an important conclusion can be made, If two plunge euls of uneven width will yield at least acceptable results, three cuts Ihat are equally distributed should yield even better results. If at least Ihree grooving cuts are used to form the groove rather (han the minimum two cuts, the CNC programmer will gain control of two always Important factors: o Control of the groove POSITION o Control of the groove WIDTH Tn precision grooving, these two factors are equally important and should be considered logether. 328 Chapter 36 Look carefully at how these factors are implemented in the example, The first factor applied under (he program control is the groove position, The groove position is given in the drawing as .625 inches from the front face of the pan, to the left side of the groove. There is no plus or minus dimensionaltolerance specified, so the drawing dimension is used as arbilJary and is programmed directly. The second factor under the program control is the groove width, That is .1584 of an inch on the drawi ng and the selected !ool insel1 width is .1250. The goal is to program the culting mo[ions in three steps, using the technique already selected: Q STEP 1 Rough plunge in the middle of the groove, leaving an equal material stock on both groove faces for finishing . also leave small stock on the bottom of the groove Q STEP 2 Program the grooving tool operation on the left side of the groove, including the chamfer (corner break) Q STEP 3 Program the grooving tool operation on the right side of the groove, including the chamfer (corner break) and sweep the groove bottom towards the left wall. The last two steps require chamfer cutting or a comer break. The width of [he chamfer plus the width of the subsequent cut should never be larger than about one half to three quarters of the insert width. In the third step, sweeping of the bottom is dcsircd.ll11ll suggests the need to consider stock allowances for fmishing. • Nex[ look is at the X axis positions. The first position is where the plunge will start from. the second position is the end diameter for the plunging cuL A good position for the start is about .050 per side above the finished diameter, which in Ih is case would be a clearance diameter calculated from the 04.0; 4.0 + .05 x 2 = 4.1 (X4.1) Do nol start the cuI with a clearance of more than .050 inch (),27 mm) - with slow feed rates that are typical to grooves, there will be too much air to cut, which is not very efficient. The end diameter is the groove bottom, given on the drawing as 3.82. Dimension of X3.82 could be programmed as the targel diameter, but it does help to leave a very small Slack, such as .003 per side (.006 on diameter), to make a sweep finish of the groove bottom, That wi II add two times .003 to the 3.82 groove diameter, for the programmed X target as X3.826. Once the plunge is done, the (001 reI urns 10 the start diameter: N43 GOO X4.1 Z-O.6083 T0303 MOB N44 GOI X3.826 FO.004 N45 GOO X4.1 The rapid motion back above the groove (N4S) is a good choice in this case, because the sides will be machined later with the finishing culS, so the surface finish of Ihe walls is not critical at this moment. After roughing the groove, it is lime to Slarllhe finishing operations. All the calculated amounts can be added to the previous Figure 36-8, and creale dala for a new Figure 36-9: finishing Allowances During the first step, the first plunge has [0 take pJace at the exact center of the groove. To calculate the Z axis position for the starl, fi nd fi rsl the amou nt of slack on each waJ I that is left for finishing. The slock amount will be one half of (he groove width minllS the insert width - see details in the previous Figure 36-8: (.1584 - .1250) I 2 ;0.0167' / 04.1 04.0 - 03.976 = .0167 The tool Z position wi II be .0167 on the positive side of the len wall. If this wall is at Z-0.625, the grooving tool Slm1 position will be at Z-O.60{l3. When the tool completes the nrsl plunge, there will be an equal amount of materia! left for finiShing on bOlh walls of Ihe groove. Do your best to avoid rounding off the figure .0167, for example, 10 .0170 inch. It would make no difference for the machining, but it is a sound programming practice to usc only the calculated values. The benefit of such approach is in eventual program checking, and also with general consistency in programming. Equal stock amounts offer this consistency; .0167 ond "0167 is a better choice than .0170 and .0164, although the practical results will be the same, 03"826 03.82 0.1250 ·0.1584· Z-0.6083 Z-0.6250 . Z-0.6870 Figure 36-9 Precision groove - groove data used in program 03602 GROOVING ON LATHES • Groove Tolerances As in any machining, program for grooves must be structured in such a way, that maintaining tolerances at the machine will be possible. There is no specified tolerance in the example, but it is implied as very close by the four-decimal place dimension. A tolerance range, such as 0.0 Lo +.00 I \ is probably a more common way of specifying a tolerance. Only' the dimensional value thai falls within the specified range can be used in a program. In Ihis example, the aim is the drawing dimension of .1584 (selected intentionally). A possible problem often encountered during machining and a problem that influences the groove width'the most, is a tool weQJ: As the insert works harder and harder, it wears off at ils edges and actually becomes narrower. Its cutting capabilities are not necessarily impaired, but the resulting groove width may not fall within close tolerances. Another cause for an unacceptable groove width is {he insert wid!h. Inserts are manufactured within high level of accuracy, bUI also within certain tolerances. If an insert is changed, the groove width may change slightly, because the new illseli may not have exactly [hc same width as the previous onc. To eliminate, or al least minimize, the possible our oftolerance problem, use quite a simple technique - program an additional offset for finishing operations only. Earlier, when the precision groove was pJanned, offset 03 had been assigned to the grooving tool. Why would an ad· dilional offscr he needed at all? Assume for a moment, that all machine settings usc just a single offset in the program. Suddenly, during machining, the groove gets narrower due to 1001 wear. What can be done? Change the insert? Modify the program? Change (he offset? If the Z ax is offset set! ing is adjusted, either to the negative or positive direction, that will change Ihe groove position relative [0 the program zero but it will nor change Ihe groove widthi What is needed is a second offset, an offscr (hal cont[ols the groove wiJth only. In the program 03602, the left chamfer and side wlll be finished with one offset (03), the right chamfer and side will use a second offset. To make Ihe second offset easier 10 remember. number 13 wi II be used. 329 the grooving (001 will nOI contact the right side wall stock. That means do not retract [he tool further then the position of Z-0.6083. It also means do nol rapid OuL because of a possi ble contact during the 'dogleg' or 'hockey Sl ick' motion, described in Chapter 20 - Rapid Posiliolling. The best approach is (0 return 10 the initial stan position at a relatively high bur l1on-cuuing feedratc: N49 X4.1 Z-O.6083 FO.04 At this point. the left side wall is finished. To program the motions for the right side wall, the tool has to cut with the righl side (right edge) of the grooving insert. Onc method is to chnnge the GSO coordinates in the program, if this older setting is still used, or use a different work coordinale offsel. The method used here is probably the simplest and also the safest. All molions relating to the right chamfer and the right side groove wall will be programmed in the incrementa/ mode. applied 10 Ihe Z axis only, using the W address: NSO WO.0787 T0313 N51 X3.976 W-O.062 FO.002 In block N50, the tool tTavels the total distance equivalent to the sum of the right wall stock of .0167, the chamfer of .012 and the clearance of .050. In (he same block, the second offset is programmed. This is the only block where offset 13 should be applied - one block before, it's too early, and one block, afler it's too lale. Block N51 contains the target chamfer position and Ihe absolutc mode for Ihe X axis and is combined with {he incremenlal mode for the Z axis. To complete the groove righl side wall, finish the cur at the full bottom diameter, block N52, then continue (0 remove the stock of .003 from the bollom diameter (block N53) - this is called sweeping the groove bottom: NS2 X3.82 FO.003 N53 Z-O.6247 T0303 One other step has to be Ilnished firSI - calculalion of [he left chamfer start position. Currently, the tool is at Z-0.6083 but has to move by the wall stock oLO 167 and the chamfer as clearance of .050 - for a total travel of width .012 as .0787,10 Z-0.6S7 position. AI a slow feedrale, the chamfer is done first and [he cut continues to finish the left side, 10 Ihe same diameter as for roughing, which is X3.826: Also look at the Z axis end amount - It IS a small value that is .0003 short of the .625 drawing dimension! The purpose here is to compensate for a possible 1001 pressure. There \(Jill nor be a srep ill the groove comeri Because the sweep will end at the left side of the groove, the original o('[<;ct (03) must be reinstated. Again, lhe block N53 is the only block where the offset change is correct. Make sure not to change the tool numbers - {he {urrer ,vill index .' N46 Z-O.687 N47 GOl XJ.976 Z-O.62S FO.002 N48 X3.826 FO.003 The intcnded program 03602 can now be completed. All thal remains to be done is lhe return to the groove starting position, followed by the program termination blocks: The next slep is [0 return the tool above parl diameler. This mOlion is more important than it seems. In the program, make sure Ihe finished lefl side is not damaged when the tool rctracts from the groove bottom. Al~o make sure N54 X4.1 Z-O.6083 FO.04 N55 GOO X10.O Z2.0 T0300 M09 NS6 IDO % 330 --_. Al (his point, (he complete program 03602