CNC Programming - Scribd - Read Unlimited Books

CNC Programming H ndbook
Second Edition

c C
Programming Handbook
Second Edition
A Camp hensiv uid Practical CNC rogramming

t r

mi

989

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

Americas,

w York, NY 10018

Copyright

2003.

in the United States

America.

This book or parts thereof may not

reproduced, stored in a retrieval publishers.

system. or transmitted in any form without tbe permission of

5678910

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

and industria! users. of the CD.
at www-industriaipress.com

CNC Programming Handbook

TABLE OF CONTENTS
1
~

NUMERICAL CONTROL

1

DEFINITION OF NUMERICAL CONTROL NC and CNC Technology. CONVENTIONAL AND CNC MACHINING NUMERICAL CONTROL ADVAN tattoo 26.2 ideasES Setup Time Reduction Lead Time Reduction. Accuracy and RepealabiliJy Contouring of Complex Shapes. Simplified Tooling and Work Holding. Cutting Time and Productivity Increase. TYPES OF CNC MACHINE TOOLS Mills and Machining Centers. Lathes and Turning Centers PERSONNEL FOR CNC CNC Programmer CNC Machine Operator SAFETY RELATED TO CNC WORK.

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

2
2

17
17 18

3
3

18

3
3 3
4

5 - CONTROL SYSTEM
GENERAL DESCRIPTION Operation Panel Screen Display and Keyboard Handle. SYSTEM FEATURES Parameter Settings System Defaults Memory Capacity. MANUAL PROGRAM INTERRUPTION.

19
20 20
21 22

4 4 5

5
5
6

22
22 23 24
25

6

2

~

CNC MILLING

7
7
7

Single Block Operation. Feedhold Emergency Stop MANUAL DATA INPUT - MDI PROGRAM DATA OVERRIDE 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

25 25 25
26 26

CNC MACHINES - MILLING. Types of Milling Machines . Machine Axes Vertical Machining Centers. Horizontal Machi ning Centers HOrIZontal Boring Mill Typical Specifications

8 8
9 10 10

26 27
27

27
28

3 - CNC TURNING
CNC MACHINES - TURNING Types of CNC Lathes. Number of Axes AXES DESIGNATION Two-aXIs Lathe . Three-axis Lathe Four-axis Lathe. Six-axis Lathe FEATURES AND SPECIFICATIONS Typical Machine Specifications. Control Features

11
11
11
11

28 28 28
28

29
29
29

11
12
12

30
30 30

13

13
13 13
14

30 30
30

6 - PROGRAM PLANNING
STEPS IN PROGRAM PLANNING INITIAL INFORMATION

31
31 31 31
31

4 - COORDINATE GEOMETRY
REAL NUMBER SYSTEM RECTANGULAR COORDINATE SYSTEM.

15
15
15

MACHINE TOOLS FEATURES. Machine Type and Size.

ix

X
---------~-.-.

-

--------_.-...

Table of Contents
----

Control System.

31

PART COMPLEXITY MANUAL PROGRAMMING
Disadvantages . Advantages

32
32 32 32 32 33 33

8 - PREPARATORY COMMANDS
DESCRIPTION AND PURPOSE. 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

47
47 47 49 50
50

CAD/CAM AND CNC
Integ ration Future of Manual Programming

TYPICAL PROGRAMMING PROCEDURE PART DRAWING
Title Block. Dimension ing Tolerances. Surface Fintsh Drawing ReVisions Special InSHucllons

33

50
51

34
34
34 35

GROUPING OF COMMANDS
Group Numbers

51
51

35 36 36

G CODE TYPES.
G Codes and Decimal POln! _

52

52
53
53
53
53

METHODS SHEET. MATERIAL SPECIFICATIONS
Malerial Unlformit)' Machinability Rating.

36 36
36

9 - MISCELLANEOUS FUNCTIONS
DESCRIPTION AND PURPOSE.
Machine Related Functions . Program Related Functions

37

MACHINING SEOUENCE TOOLING SELECTION PART SETUP
Setup Sheet

37
38

TYPICAL APPLICATIONS
Applications for Milling Applications for Turning Special MOl Functions. Application Groups

54
54

38 38
38 38

TECHNOLOGICAL DECISIONS
Cutter Path Machine Power Rating. Coolants and Lubricants

54 54 54

M FUNCTIONS IN A BLOCK
StarlU p of M Functions. Duration of M Functions

39 39

55
56 .sf)

WORK SKETCH AND CALCULATIONS
Identification Methods.

40
40

PROGRAM FUNCTIONS
Program Stop Oplional Program Stop. Program End. Subprogram End

56
56

QUALITY IN CNC PROGRAMMING

40

57
58
!'iR

7

~

PART PROGRAM STRUCTURE

41
41
41

MACHINE FUNCTIONS
Cooiant Functions Spindle Functions. Gear Range Selection Mil r. hi n e Ac:r.ess ori flS

58
58 59 60
flO

BASIC PROGRAMMING TERMS
O-lsr3cter l/-Jcr0

41

41 42
PROGRAMMING FORMATS WORD ADDRESS FORMAT FORMAT NOTATION
System Formal System Format· Word Addresses'

42 42 43
43 43 44 45

10 - SEQUENCE BLOCK
BLOCK STRUCTURE
8u ildlng the Block Structure Block Structure for Milling

61
61 61
61

PROGRAM IDENTIFICATION
Program Number ProgrClm Nome.

62
62

SYMBOLS IN PROGRAMMING
and ivli nus Sign.

45
45

62

SEQUENCE NUMBERS
Sequence Number Command. Sequence Block Format Numbering Increment Long Program:> Dnd Block Numbers.

63
63
63

PROGRAM HEADER TYPICAL PROGRAM STRUCTURE.

45 46

64 64

END OF BLOCK CHARACTER. STARTUP BLOCK OR SAfE BLOCK

64 65

xi
PROGRAM COMMENTS CON NG WORDS IN A BLOCK MING VALUES
Exact Command Mode Command Exact Automatic Corner Override Mode

66 67

89 89 89 89

ITY.

68

Mode
Circular Morion Feedrates

90 90
90
91
91 91 91

11 - INPUT OF DIMENSIONS
AND METRIC UNITS
Unit Values

69
69 70

MAXIMUM
Maximum Feedrate Considerations,

AND OVERRIDE
Feedhold SWitch Feedrate Override Switch Feedrate Override Functions

AND INCREMENTAL MODES
Commands G90 and G9l . Absolute Oats G90 - G91 Combinations in a Block

70
71 72 72 72

92

E

IN THREADING

92

PROGRAMMING MINIMUM MOTION INCREMENT. DIMENSIONAL INPUT

73

14 - TOOL FUNCTION
T FUNCTION FOR MACHINING
Tool Storage Magazine Fixed Tool Selection, Random Memory Tool Selection Regist8T1flg Tool Numbers Programming Format Empw Tool or Dummy Tool

93
93 93 94 94 94 95 95

73
74 74 75 76 76

FuJI Address Forma! ,
Zero Decimal Point Programming, Input

CALCULATOR TYPE INPUT

TOOL CHANGE FUNCTION - M06 .

95
95

12 SPINDLE CONTROL
SPINDLE FUNCTION
Spindle Speed Input,

Conditions for Tool

AUTOMATIC TOOL

96
96 97 97

77
77

DIRECTION OF SPINDLE ROTATION
Direction for Milling Direction for Turning. Direction Specilication , Spindle Startup

77 78 78 79
79

ATC System MaXimum Tool Diameter Maximum Tool Length MaXimum Tool Weight. ATC Cycle, MDIOperatlon

97 98 98

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

98
98
99

SPINDLE STOP. ORIENTATION SPEED - R/MIN
Material Spindle Speed Units Spindle Speed - Metric Units

80 80
81 81
81 82

99

99
100
101

101 102

82
82 84 85

102

CONSTANT SURFACE
Maximum Spindle SpAAri Part Diameter Calculation in

102
103
103 103

T FUNCTION FOR
Lathe Too! Station Tool

13 - FEEDRATE CONTROL
FEEDRATE CONTROL
Feedrate per Minute, Feedrate per Revolution
<

87
87 87
87 88
88

TOOL
Offset.
WAil( Off<:;At

104
104
105

Wear Offset

106
106

FEEDRATE FUNCTION.

The Rand T

15 - REFERENCE POINTS
POINT G

FEEDRATE SELECTION ACCELERATION

107

88

Programmtr'\g Example115116 116 116135136136PROGRAMMINGTool Offset not Available.Tool Setup . Tool Length Offse1 and G92Tool Offset and G54·G59137137 138138117117117 117Tool Length Offset andTools139CHANGING TOOLOFFSET. the Machine Axes Program Commands Command Group149149150128129150151129151. APPLICATION.of Offsets.MACHININGTool Set at Machine Zero Tool Set Away from Machine Zero.REPOSITION REGMMANDSCOMMAND113Face.140141 14117 . Face Milling. Angular Motion.130POINTCenters. Reverse Rapid Motion143143143120120 122122 12214414418 WORK OFFSETSd1123124144 146 146WORK AREAS AVAILABLEAdditional Work OffsetsTYPE OF MOTION & OF RAPID MOTION MOTION FORMULAS.MACHINE ZERO RETURNMACHINE REFERENCE POSITIONMachining Centers. Offset Offset and Offset Numbers127128 112821 .10910913011011219 ~ TOOL LENGTH OFFSETPRINCIPLES131131131 131TOOLPOINT11216 . Multiaxis Motion. Position Compensation Along the Z axis G47 and G4B. TOTHE PART146147WORK OFFSET DEFAULT ANDWork Offset Change24 125126147 148Z Axis ApplicationHORIZONTAL MACHINE APPLICATION.132113OFFSET COMMANDSDistance-Ta-Go in Z AXIs. External Tools Setup Internal Tool Setup. .xiiRelatlonshi p.RAPID POSITIONINGRAPID TRAVERSE MOTION GOO Command RAPID MOTION TOOLSingle Axis MOllon .114114 114 115 115134134Z AXISTool Tool length Touch Off a Master ToolDrfferencePres~t1"135LATHE APPLICATION. Three-Tool Setup Groups Center line Tools Setup.POSITION COMPENSATIONDESCRIPTION.Programming Commands Programming Formar Incremental Mode Motion Length Calculation. Corner Tip Detail . lathes. Position in Z )\xis .Position Definition Proqrammlnq Format Tool Position3 13114132 132133SETUPOn-Machine Tool Length Selting Off·Machlne Tool Setting Tool Offset Value Register.119119119 119HORIZONTAL TOOL LENGTH20 . OFFSETS.108Center Line Tools 109129Tools Tools Command Point and Tool Work Offset129 130POINTZero.

FROM MACHINE RO POINT. Program Data .19i194DRILLING 0Types of Drilling Types of Drills Progiamming ConsIderatIons.ameter Drill Pomt Center Through Hole Blind Hole Flat BoHom194194 194 195 195DWELL COMMANDDwell Command Structure.176POSITION CHECK COMMAND. Barfeeder Application.Boring Cycle .MACHIHOLES19119124 . SECONDARY MACHICYCLESPOINT-TO-POINT MACHININGTool MotionsVS.FIXED CYCLE REPETITION189 189190 19068 69170 17026 . Boring Cycle..Standard .xiiiRETURN PRIMARY MACHINE151LONGMachine X AXIS is the and Dwell. BLOCK SKIP SYMBOL CONTROL UNIT SETTING SKIP AND MODAL COMMANDSVariable Stock Removal Machining Pattern Trial Cut for Program Proving.177177178158Fixed Cycles. LO or KO in a Cycle .Intermediate Point .Reverse Cycle.DWELL COMMANDPROGRAMMING APPLICATIONSfor for Accessories171171171 171SINGLE HOLE EVALUATION. P(cision Bonng181 181 182PROGRAMMING FORMAT LINEAR FEEDRATEFeedrate Range Individual Axis Feedrate .171172DWELL SETTING AND DWELLTime Number of Revolutions Setting172 173173 173195 195196 196MINIMUM REVOLUTIONS173197 197198174174 174PECK DRILLINGTypical Peck Calculating the Number of Pecks199199199. Spot-Drilling Cycle.1163 164 1165166FCYCLE CANCELLATIONThe L or K Address. Hole Drilling Cycle Standard Hole Drilling Cycle .Tapping Cycle . Cycle.Tooll ng Selection and Applications. Numbe(ed Block Skip. CALCULATIONS PTION OF FIXED CYCLESG81 G82 G83 G73 G84 G74 G85 G86 G87 G8S G89 G76 Drilling Cycle. Zero Return for CNC Lathes151 152153175 175176 176155 155156 157FIXEDAND DWELL. . Absolute and Incremental Mode Return from the Z Depth Position Return Required for the ATe.160161161 161Z183183 183 184 184 186 186 187 187 187 188 188 189PROGRAMMING EXAMPLE162~BLOCK SKIP FUNCTION163163TYPICAL APPLICATIONS.Axis. Two Axes Linear Interpolation Three Axis Linear Interpolation159159159 159FIXEDSELECTION FORMAT AND178 179180 180160 160INITIAL LEVEL SELECTION R LECTION . Nominal Drill Diameter Effective Drill D.LINEAR INTERPOLATIONLIN COMMANDStarr and End of the Linear Motion Single Axis Linear Interpolation . Backboring Cycle .

alld Reaming on Lathes.Quadrant Points236236PROGRAMMING FORMATArc Cutting Direction Ci reular Interpolation Block.233ENLARGING HOLESCounters inking Counterborlng .xivSelecting the Number of Pecks _ Controlling Breakth rough Depth.222 223224 224COMPENSATED CUTTER PATH. Pipe Taps.Linear Start Internal Circle Cutting .Types of Cutter Radius Offset. Tapping Check List.Radius and Diameter .207 208 209210 210QUADRANTS. Tapp!ng on Lathes Other Operations212213 213 214238238239214215RADIUS PROGRAMMINGBlend Radius Partial Radius240240 240216FULL CIRCLE PROGRAMMING27 .225226 226PROGRAMMING TECHNIQUESDirection of Cutting Motion250251. Circle Area and CircumferenceMULTILEVEL DRILLING WEB DRILLING TAPPINGTap Geometry Tapping Speed and Feedra1e .Basic Selection Criteria Face Mill Diameter _ Insert Geometry .FACE MILLINGCUTTER SELECTION .245 245246 246CORNER PATTERN GRID PATTERNAng ular Grid Pattern220 22022130 . Cycle . Circle Cutting Cycle240 242 243 243 244ARC PROGRAMMING. Definition and Applications.G74. Programming Example Precau1ions in Prog ramming and Sew p_203203 204 205232USING POSITION COMPENSATION. Arc Start and End POlntS_ Arc Center and Hadius Arc Center Vectors. BOLT HOLE CIRCLE PATTERNBolt Circle Formula _ Pattern Orientation . Arc Planes237237 237 2382 1 2'12HOLE OPERATIONS ON A LATHETool Approach Motion Tool Return Motion.Circular Start .rls228229229 230SINGLE POINT BORINGSingle Point Boring Tool Spindle Orientation_ Block Tools202202 203 203PROGRAMMING TECHNIQUESSingle Face Mill Cut Multiple Face Mill CU1S230231BORING WITH A TOOL SHIFTPrecision Bormg Cycle G76 Backboring Cycle G87.250250 250POLAR COORDINATE SYSTEMPlane Seleclion Order of Machining. Patlern Defined by Angle217217 217218 218 218L1~80ss Milling Internal Ci rcle Cutting .CUTTER RADIUS OFFSETMANUAL CALCULATIONSTool Path Center Points Cutter RadiUs Center Points CAlculation247247248 249 249ARC HOLE PATTERN.PATTERN OF HOLESTYPICAL HOLE PATTERNS RANDOM HOLE PATTERN STRAIGHT ROW HOLE PATTERN ANGULAR ROW HOLE PATTERNPattern Defined by Coordinates. Spotfacing205205 206 20729~CIRCULAR INTERPOLATION235235235 236ELEMENTS OF A CIRCLE.227227227 227REAMINGReamer Design Sprndle Speeds for Reaming Feeorates for Reamir\~ Stock Allowance Other Reaming ConSiderations201201201201202228202CUTTING CONSIDERATIONSAngle of Entry Milling Mode N uJrloer of Cuttiny IIlSl:. FEEDRATE FOR CIRCULAR MOTIONFeedrate for Outside Arcs Feedrate for InSide Arcs.Table of Contents200 20028 .

and Wear Oifsetsxv251251252 252253253L5LlSteel End Mills Solid Carbide End Mills Indexable Insen End Mills Relief Ailgles End Mill Size Number of Flutes276276276 276 276 277SPEEDSCoolants and Lubricants. ::::utter DirectionOFFSET254254256 256277278 278STOCKInfeed . In and OUI Ramping Direction of Cut Width and of CUI279279 279 279 280WORKS~:lok-Ahead256257257258Offset for Look-Ahead Cutter Radius Offset259LOO:JVERVIEW OF PRACTICAL EXAM RULES . ng a Circular Pocket.296 296 297 297298OFFSET SETTING..leasu red Part Size..TURNING ANT AddressLATHE OFFSETSOffset Entry Independent Tool Offset. Default Control Status269269 269269 270270 271289 290291CIRCULAR POCKET292.PLANE SELECTIONWHAT A MACHINING IN PLANESMathematical Planes Machine Planes.289 28931 . MILLING33 . ".Table of Co ntentsor Right ..General Principles Pocket2GO 265Data Nominal or Middle)266TOOL NOSEUS OFFSET266266 266 266 267267RECTANGULARStock Amount. Offsets Amount General Selting.SLOTS AND PO KETSOPEN ANDClosed Boundary.not CW or CCW =.TURNINGCIRCULAR INTERPOLATION ING 17-G 18-G 19 as Modal Commands Absence of Axis Data in a Block. Cffset Cancellation.263 263 264 264 265RAMMING SLOTSSlot Example. Tool ChatterAPPLYING CUTIERMethods.. Cutter Radiu:J Otr~et in Planes294294272 273273PRACTICAL EXAMPLE FI D IN PLANES294 295 295295MULTIPLE32 -PHERAL MILLIN275Shoulder Tolerances Diameter and Shoulder Tolerances. Program Commands for Planes Definition.281281 28261262262?fi2Part Tolerances \. OffsetBORING293293 293STRAIGMOTION IN271272FUNCTION .Minimum Cutter Diameter _ Method of Linear Linear and Circular Approach..r Amount of Cut _ Semifinishing Motions Tool Path ular Pocket Program Example286286 287Nose Offset Command!::287287288Offset268 268CIRCULAR POCKETS.'nm!. Closed Slot Example281283 284 285285MILLING..f(set Commands of the Cutler of Offset Types Format r\ddr8ss H or D 7.. Tool Offset With Motion.

SINGLE POINT THREADING339.10TI1G72 Cycle Format . Groove with G75 .OT/llTI15T G71 Format .OT/16TI18T/20T/21317317336337318G73 .All Controls. G72 Cycle Format . Tool Approach Motion Stock Allowance.329330MULTIPLE REPETITIVE CYCLES.OT/16T/18T/20T/21TG71 for External Roughing.STOCK REMOVAL IN FACING.i1tion324 324 324325GROOVE LOCATION GROOVEGroove Position Groove307 307 .PECK DRILLING CYCLEG74 Cycle Format· lOT111T/15T G74 Cycle Formal.Applications .320BASIC RULES FOR G70-G73 G74 .Programming Type I and Type II315315 315GROOVES GROOVES AND SUBPROGRAMSG71 .332 332 333333TYPE I AND TYPE II CYCLES.315316316316 317. Ch.PATTERN REPEATINGG73 Cycle Form<:lt .STRAIGHT CUTTING CYCLEFormat Turning Example Cutting ht and Taper Cutting Example308308 309 309311Groove Width Selection Method325 325326327327328.304 305 30630636 .313313313 313 313 314 314Radial Clearance33033033331and Part Contour. Part-off with a Chamfer Preventing Damage to the Part317335335G72 .PART-OFFPART-OFF PROCEDUREParting Tool Description. G71 for InternalDirection of G7 .OT/lOT/18T/20T/211132321301302FillishStock and Stock Allowance302 303 303G75 GROOVE CUTTING G75 Cycle Formal 10T/l1T/15T G75 Cycle Format· aT /16T/18T/20T/21T BASIC RULES FOR G74 AND322 322322AIN CSS MODE FORMAT. Tool Return IVlotion .il R 319337 3373389G70· CONTOUR FINISHING38 . Insert Mool fit.XVIof RANGESFUNCTIONS AUTOMATIC298299 301301G70 Cycle Format .CONTOUR CUTTING CYCLESBoundary Definition Stan Point and tile Points P and 0 .GROOVING ON LATHGROOVING OPERATIOMain Grooving AP~)IICEmOflS Grooving Crltena . FACE CUTTING CYCLE.pbreaking Cycles/ NECK GROOVES GROOVING CYCLES. STOCK REMOVAL IN TURNI G7 Format.Format312312Groove Tolerances Groove Surface Finish. Multiple Grooves with G75.323323306306323 323GROOVE323324307REMOVAL ON LATHES 307307Nominal Insert S]ze.10T/1 H/15T G73 Cycle Format· OT/16T/18T/20T/21T G73 Example ot Panern8.

Program Testing. External Work Offset Input.Pattern Recognition Tool Motion and Subprograms .SUBPROGRAMSMAIN PROGRAMSubprogram Benefits . Subprogram End FunClion.Initial Considerations Z Axis Start Position Calculation.381381381THREAD RETRACTThread Pullout Functions Single AXlS Pullout Two-Axis Pullout357 357 357 357 358358DATUM SHIFT WITH G92 OR COORDINATE SYSTEMG52 Command383384HAND OF THREAD THREADING TO A SInsert iv'lod Ification .)fTERMINOLOGY OF THREADING PROCESSin Thread Starl Position Thread Diameter and Thread Cutting Motion Retract from Thread i1eturn to Stzlrt Position340341341SUBPROGRAMS367n::.363CUTTER RADIUS LATHE OFFSETS MOl DATA SETTING PROGRAMMABLEModal G10 Command. ItJtJll\iflci.386386387TAPEREDDepth and Clearances Taper Calculation Block Block Tapered Thread a Tapered Thread and a MultI361361 361387LENGTH OFFSETS. Compound Infeed Thread Insert Angle· Parameter A Thread Cutting Type .WORK OFFSETS . Ie Speed Selection. . Number of ram Repetitions LO Call.REFERENCE POINT BLOCK-BY-BLOCK THREADING THREADING MULTIPLE REPETITIVEG76 Format. Effect of Block Numbers388MULTISTARTThreading Feedrate Calculation. Shift Amount364 364365 366388389ENTRY.COORDINATEDat<'l Command Coordinate Mode384386 386386360RMS.Valid Input Range362387388363Cycle. Modal Values and Subprograms.ram Call Function . Parameters Notation Program Portability.lOT/11T/15T G76 Format· OT/16T/18T . Block Number to Return to. .39 . Slandard Work OffsetAdditional Work Offset Input.389389 390 390 391392THREAD.THREADING FEED AND SPINDLEFeedra1e Selection. Programming Example First Thread Calculation348373374348 349 350350 351 351375 376 376377 377 377MULTINESTING352One Level Nesting Two Level Three Level Four Level Nesting .360OTHER THREADThread Depth .ltiull (.Parameter P353353353 354354378CHANGE SUBPROGRAM 100000 000 HOLE GRID.355355 35540~DATUM SHIFTZero Shift. Maximum Threading Feedrate Lead Error3701372347373SU DEVELOPMENT.THREAD INFEEDRadial Infeed .368 368 368 369369342 342 343 344 344344 345 345346SUBPROGRAM FUNCTIONS. Operations. . . Bit Type Parameter.Table TH ON CNC LATHESxvii339339340Form of a Thread.379 379ONE-BLOCK METHOD CALCULATIONS.

lIn. Arc Modifiers for and417417417 4174'18 18EMirror Functions Mirror Image Example Mirror Image Example396396 397398THREAD MILLING.SCALING FUNCTIONPTION.HORIZONTAL MACHINING 44 . THREAD MILLINGStraight Thread In itial Calculations Starting Position Motion Rotation and Direction Lead'in Motions .<'Vlrv'tBAND OFFSETSWork Offset and B Axis Tool Length Oflset and B Axis431431 43241 I411 411TO MACHINE ZERO INDEXING AND A SUBPROGRAM COMPLETE PROGRAM EXAMPLE MATIC PALLET CHANGER·41181-DIRECTIONALProgrammingINDEXING412412434 434 436 437.Function Usage .429429INDEXING TABLE (8 AXIS)429429.41041011. Manual Mirror SettingPROGRAMMING EXAMPLE415395395 39645 .nl'l.MIRROR IMAGERULES OF MIRROR IMAGE393393393 394BarADDITIONAL OPTIONS4144 '14414 4'15 415394 394 395 395 395MIRROR IMAGE BYControl Setting .130 430 430409410Units 01 Increment _ and Unclamp Functions in Absolute and Incremental Mode. Quill Functions Programmable Tailstock Safety Concerns.xviiiATIACHMENT. Radius of Rotation Coordinate Rotation Cancel Common ApplicationsTHE HELIX.Thread Conditions tor Thread Thread Clearance Radius Productivity of Thread4184184184'19MIIMAGE ON CNC39842~COORDINATE ROTATIONCOMMANDS.CN LATHE ACCESSORIES 409INDEXING AND ROTARY CHUCK CONTROLChuck Functions Chucking Pressure Chuck Jaws."399401 401419 421421421422APPLICATION401422423 424 424 425 425 42543 . Thread Rise Calculation Milling the Thread Lead-Out IV" 1.405405 405PROGRAMMING FORMAT405406 406 407THREAD MILLING SIMULATION METHOD HELICAL RAMPING425 426426 42740746 .399399399419419419Center of Rotation . Center.HELICAL MILLINGHELICAL MILLING OPERATIONFormat.L110TAILSTOCK ANDTSllslock Quill.ofntenls41341341 .

453453470 47052 .::UMENTATION FILE FOLDER :.-:atlon Methods '":'''llor'S Suggestions and Storage451 452 452469469 470wPROGRAM VERIFICATIONCTION OF ERRORS.Tab Ie of Contents RUNNING THE FIRST PART PROGRAM CHANGES Program Upgrading Program Updating . DeSCription AND TOOLING SHEETS. Quadrants POLYGONS TAPERS Taper Definition Taper Per Foot Taper Ratio.eNC MACHINING:HJNING A NEW PART Integrity457457458 458475 475 476 476 476 476477.iMON PROGRAMMING ERRORS Input Errors "dation Ermrs Errors .A447447FILES DOCUMENTATION Documentation. Taper Calculations . DATA SEITING CON NECTING CABLES Null Modem Cabling for Fanuc and PC466 468 468 468 468468450 450 451451469469469469_.46546546648 .tv-letnc CALCULATIONS OF TRIANGLES.441441MACHINE WARM UP PROGRAM eNC MACHINING AND SAFETY.473 473473456 456 456 456473474.471471471 471453 453454 454455 45545647247?'. EQUIPMENT MAINTENANCE463 464 464 4644644454<1651 .442 442 442'JGRAM OUTPUT FORMATTING PROGRAMS Length Reduction. DISTRIBUTED NUMERICAL CONTROL TERMINOLOGY OF COMMUNICATIONS Baud Rate Parity Data Bits" Start and Stop Bits . Order of Calculations. Parking Machine Slides Setting the Control System. Documentation Change. Sheet-. Measures Measures VERIFICATION.MATH IN CNC PROGRAMMINGBASIC ELEMENTS Arithmetic and Algebra .XIX459 460Program StruclU re BORING MILL.English Un its Taper Calculations . GEOMETRY Circle PI Constant" Circumference of a Circle Length of Arc . Turning the Power Off.-448448 448 449449PUNCHED TAPE Tape Reader and Puncher Leader and Trailer Tape Iden11fication Non-printable Characters Storage and Handling.PROGRAM DOCUMENTS'~.438 438 439 439439460 461 461461 462 462 46347 . WRITING A CNC PROGRAMWRITING. : 'i!ilncous Error:J . Mode and Tape Mode 443 445SHUTTING DOWN A CNC MACHINE Emergency Stop Switch. '. ERRORS Errors . Documentation .INTERFACING TO DEVICESRS~32CINTERFACE . Errors. ALTERNATE MACHINE SELECTION.

Connection Between Computers Text EditorPMENT484 484 484485 485 485 485 485 486 486 486 486 486 487A .ne ~ Cosine .TOOL PATH GEOMETRY TOOL PATH GENERATION COMPLETE ENVIRONMENTMulti Machine Support . and Post Processor487 488488L188S.53 .489489 489 489489ADVANCED CALCULATIONS CONCLUSION.MANAGEMENT.Index497. CAD Interface.Tangent Inverse Trigonometric Functions Degrees and Decimal Pythagorean Theorem Solvfng Rjght480480480481IMPORTANT FEATURES.482 482User Interlace.RENeE TABLES491491Metric Metric Finerse Threads494 494 495 495 495for Solids Software Specifications . Features. Hardware Requirements.XX477 478 478 479Hardware Specifications.CNC AND CAD/CAMPROGRAMMING MANUALLY?483483483 483490490490THE END AND INNING. Associative Operations Job Setup Tooling List and Job CommenlS.

to the CNC system) uses a The system (as fLXed logical functions. descriptions have been used during the to defme what Numerical Control It would be to try to yet another defInition."AF>. . control IS synonymous with the term 'hardwired'... use different The of all the known definitions can be summed simple statement:are of the of alphaselected symbols. just the purpose this handbook.. can change the on the control itself (at machine).. a decade v. it is customary to use or in mind NC can also mean CNC 1n everyday talk. At this point ends. recent evolution of electronics the never ceasing computer development.. but can never to theThe CNC uses an internal micro1. Because of ftxed wiring logic."''"' .. in a logical a predetermined collection of all instructions necessary to maa part is called an NC Program.t?eDEFINITION OF NUMERICAL CONTROLIn publications and articles. . Ne and eNC TechnologyIn ~trict to the terminology.. NC for the original Numerical Control technology. look at the major between CNC . a mode~ spm-off of lts older However. practice.. SOlnethuJll"Z of a revolution. but it does not alVH. contrast to the system.:ith introduction of micro computers. Air Force. the NC quires the compulsory use of punched tapes for information. When describing a particular that to the control technology. eNC IS the abbreviation. flexibility is greatest advantage of CNC systems probably key element that to such a use of the technology in modern manufacturing. a computer). . in the computw ers became standard in every company and in the machine equipped with Numerical SVS1leIn fOWld their special place in the shops. there is a ence m the meaning abbreviations NC and CNC.''.U'JJJ" not be changed by the programmer or machine tor. that are built-in and nently wired the control These LI. names Parsons and the Massachusetts of Technology in MA. u... including its impact on Numerical Control. such as that control the logical hOns.. "' .. brought changes to the manufacturing sector in general metalworking industry in particular.I'1'" Such a can be for a future repeatedly to identical machining reUI.. to the using the away from the typically in an environment....In the manufacturing field.. Many of defmitions the same same basic COl1lcer:)t....t:rY. the system is synonymous with the term 'softwired'. The hIstOry and development of this fascinating technology has been well documented publications.llI'.. and particularly in the area of working."~ . The can interpret a part program.. the internal design of the system the logical instructions that process the data. All in"'''''HV''':> are urn·..e. Program..~.". It was not production manufacturing until 1960's. for a decimal sign or the parenthesis symbols..~. as software rather by c. This storing a variety of routines that are capable logical That means programmer or the machine '"'''"'''. bon of the purpose machining a cases. (i. with instantaneous results. To clarify the proper usaf each tenn. emerged nud 20th It can be traced to the year of1952. Control has .onnections.~~. Both perform the same tasks. whereby abbreviation stands for the newer Co~nputeriz~d Numerical Control technology.. The CNC programs and the logical are stored on special computer chips.. or a ""w.NUMERICAL CONTROLNumerical Co~trol technology as it is known today..s.-UUHl)but not the NC system.. real boom came of CNC. the of 1972.

.. Equally unreasonable are exof improvements cutting speeds over a conventional machine.. same body are repeated by the every in the batch. demise of all manual There are times when a traditional machining method is preferable to a computerized method. 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. a simple one time job may be done more efficiently on a machine a CNC machine. the setups may vary. It takes more than technical know 1to be a CNC machinist or a CNC Work I>v?. etc. Humans are not capable to every the same at all times . dimensional tolerances and <""""f".'C~~ru emergence of the numerical control technology does not mean an instant.. consistent That does not mean there are no limiting cutting tools do wear out.. accurate and consistentIn a conventional machining. the word 'same this context really means 'similar than 'identical '. the cutting rime will be close in cases. 2. Obtain and study drawing Select the most suitable machining method Decide on the setup method (work holding) Select the cutting tools Establish and Machine part5.In manythewhethering will be done on a CNC machine or not is based onnumber of required parts and nothing Although the volume of parts machined as a is always an important criteria.. There will some differences and within each batch of The parts will not always be exactly the same. are to predict. etc.. Consideration should be to complexity. different from a f their feHow leagues. A feedrate 10 inches per minute (10 mlmin) is the same in manual or CNC applications. For example. and what is called a 'gut-feel'. particularly meta! cutting. The same can be about a coolant it can be activated a knob. it should never be the only factor. 4.. is mainly a skill... the required of fmish. IS m way how data are input. The results these moments.. Like any skill or art or profession.e leve! all the without a rest. The 'C'stands for Computerized.. rather than controlled machining... It does not require the same physical as machining.NUMERICAL CONTROL ADVAN tattoo 26.2 ideasESWhat 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.This same both types of macrunmg. when applied to a part.6.. Often. but it is also. the has it can used number of over. to name just a few.". Certain of machining jobs will beneHt from manual or semiautomachining.."'.'. .. described in this handbook under the abbreviation ofNe.levers. it to the detail is necessary to be successful.. a complex part will benefit from CNC machining.. . is a much needed supplement to any skill.. All of US have some good and some bad moments.. to a great an art and a profession of large number of people.M1.. whenever lICI. 3. and a15... 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. Numerically contToned machining does not need any levers or dials or handles. or even a long tenn.. only to supplementCONVENTIONAL AND CNC MACHININGWhat 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 -. Abbreviations such as C&C or C 'n are not correct and reflect poorly on anybody uses themChapter 1Ish quality are the most typical problems in conventional machining. and it is not applicable to hardwired All manufactured today are of the design.. but the method of applying it is not.. material blank in one batch is not identical to the material another batch.that is the of maPeople cannot work at the same per[orrnam...'-'UU. tolerances. CNC machine are not meant to replace every manual machine. The design of a machine tool offers many features that help the process of machining a .HV". the operator sets up the machine and moves each cutting using one or both hands. Combination of and other factors create a great amount of machining under numerical control does away with the majority of inconsistencies. However. the machining and tooling conditions are the same.-. to produce the required part. So appli~ of Computerized Numerical Control. Individual machinists may own 'proven' methods.. factors should be considered and compensated for. at least not in the same sense as conventional machining does..2technology..H " .

as can be :virhou.nes can be by preparing a part program the ~se of plified fixluring.of the areas expect improvement:oClSetup time reduction lead reductiono o o ooAccuracy and repeatability Contouring of shapes Accuracy and Repeatabilityhigh degree and repeatability of has the single major benefit to users. automatic tool pallets and other advanced features. it has to stored safely. of programs is a lot simpler than storage of patterns. ~aJor purpose . nO are usually required more. Mirrored parts can achieved literally at the switch of a bulton. Although l~e lead tor the run is usually it is virtually ml for any run. Il ah~'ays the same. etc. it is ready 10 !n the even at a nOtice. program can changed at wlll. A gIven can be reused as many times as nec:de. increasing delivery to the customer. pilot and hole locating. models. The high accuracy of CNC machmes and repeatability allows high quality to produced consistently lime. and work holding for CNC machines have only one. The of parts machined under one setup is Important. locators. counter borers and are with several individual . order 10 assess the cost a time..ce proven. the CNC used.NUMERCONTROL3the CNC user can and lead time. but generally very little' from CNC programmer or will required. it may be Justified when compared to time required to setup conventional machines. if an to be modified. Whether the part program is stored on a disk or in the ~omputer or even on a tape (the method). to allow such changeable factors as tool program wear and operating temperatures. Multi-step such as pilot dnlls.lead Time Reductiona part program is written and proven.:'l<lIIU<l1 tools. Fixtures for CNC work do nOI normally jigs.n{llU'{l tooling. depending on the oil-site. . Simplified Tooling and Work HoldingNonstandard and 'homemade' looling that clutters the benches and drawers around a conventional machine can beelimin~led by looling.to hold the part rigidly in the same pOSitIOn for all within a batch. olher pattern making tools. Standard.. If a number of is machined in one setup. . . but on. the setup cost per part can very" A very red~ctio~ can b~ achieved by grouping several different operDtlons IOto a . num~ncal applications. SI<l. Even if the lime is longer. the setup time more efficient With a a comparable of a conventional good knowledge modern manufacturing. tools are cheaper and to than special and nonstandard tools. required to and manufacture several fixtures for conventional machi. or cutting tools. shapes. it part requires the lead can be done usually quickly.t the additional expense of making a model tracmg. measures have many tool to keep a low or even a nonexistent inventory. off-the-shelf looling can usually obtained faster then nonstandardLVVi""J'. productivity can be increased significantly. Setup Time Reduction Contouring of Complex ShapesCNCand machining centers are capable of cona variety of shapes. setup methods. Individual users will different of actual improvement.smgle setup.:t without a single bit it conlains.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. complexity of fixturing. Many CNC users acquired their only to able to handle A are CNC applications in and automo-tive . designed .Simplified tooling and work holding cutting timeGeneral productivity increasearea offers only a potential improvement. step combination tools. management philosophy level of engineering individual attitudes.

sometimes are usually small.oil''''' adjustment and other production "XU'I'Ul'. the programming process for a vertical is to the one for a horizontal machine or a simple mill.1 ogy.. but it does not physically follow the tool path. Each one has to by the person in charge. One must kinds of lathes and equally many different kinds of machining centers.. Y and Z axes.. quite low.tarldulg cuitry. These two groups share market just about equally. Even between different machine groups.. In this Hil11UUIUU. Their numbers are rapidly developmentadvances. 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. Unlike a the operator's skill.. the high cost of the unproductive time is spread among many parts.". 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. on a machine table.. Also.4 Cutting Time and Productivity Increasemachine is commonly consistent. they would of some groups CNCCl ClChllClllCHand Machining centersand Turning CentersClDrilling machines. \..TYPES OF CNC MACHINE TOOLSni1ffef'ent kinds of CNC machines cover an variety.. depending on their higher need one that there are many different needs.I\. it has to When more and more wisely and just having a CNC companies use the CNC anymore.:.lll. CNC milling machines CNC mills . nM on which CNC technology is many forms.. ways stationary. machine design.. In industry.. there is a amount of general hons and the is generally the same. CNC machining centers can with special software that controls the speeds and of the cutting tool. experito changes) the CNe machining is under control a computer.. on of every having a competitive technology offers plant manager. It is . For example.. Ul'J. boring. applications. counter facing and contour milling can be CNC program. simple without a tool changer is often or other automatic features. minimize idle time. In addition. they are maintenance purposes. for example...centers and lathes dominate industry. machining onnC11Dles and many others... automatic tool changing. on the that relate directly to the understanding the most common Machining Centers and the lathes the Turning Centers). or small usually designed for contouring. The small amount of manual work is restricted to the setup and loading and unloading batch runs. The cutting tool it can move up and down (or in and out).-UI. etc. indexing to a different side a rotary movement of additional axes. a contour with an end mill has a lot common with a contour cut a Mills and Machining CentersStandard number axes on a milling machine is three set on a milling system is althe X.IILJIL..nnrn invesilmellt.. improvement in a excellent means to the overall productivity of the manufactured Like any means. To reach the goal of a essential that users understand the h""". complex ladder diagrams. main benefit of a consistent making it less cutting time is jobs. CNC machining centers are far more drills and mills. benefit the user gets out ability to several diverse operations drilling. devices. automatic in-process ".. un(jen. Some industries may a of machines. The should be very important to every matool operator and this goal is also reflected in the handbook approach as well as in numerousCl Clpter 1mills and Profilers EDM machineso Punch presses and ShearsCl Clcutting machinesoWaterand Laser profilersoQCylindrical grindersCland Spinning machines.

Equally important is the of trigonometry.. so called live tooling..'. an handbook concentrates on the CNC centers applications.:imrnulg process is the same both designs."..... sk1lls are usually .:. Some multi-face ULa. Although duties may vary. important quality of a truly"'''''1'">'\''''''P1'" is his or her ability to listen tothe CNC operators.I"."I>'.1J.('Ip.. arcs and anmainly application of equations. are the first prerequisite to h"""'(lI"'I""" programmer must be flexible ClllLHll1t). restrictions.llllli.rr.... often companies called a CNC ProgrammerlOperat01: CNC ProgrammerThe CNC programmer is the person who the most responsibility in shop.h .llll.....\"Ullv\"lvUIn addition to the machining skills. steady part catchers. AU text examples in this handbook use the more tenn CNC lathe.. distinguishes it from a mill is that cutmachine center line. or a fully rotary taneous contouring. mounted in a sliding twTet. sible for problems operations..NUMERICAL CONTROL5There are two basic machining machining center. this accountable for the production and quality of operations.. In addition..lll example is a pump andPERSONNFOR eNCshapes.. Ths axis is either a lHU'..I"nn. horizontal setup and machining.and Turning Centersis usually a machine tool with two axes.1\. the horizontal Z axis...1m h"".. ""~ is also responsible for a variety of tasks usage of the CNC machines.prc)gr.....!._.'CIVIlmachine tools have no cannot evaluate a with skills and control.... They are the centers. a table. axis) for the table. but the "".u.r'rr. with computerized progranuning) knowledge of manual programming methods is absolutely to the the thorough understanding of control this output.. most suitable type of work are flat parts. (usually a B axis) is added to the horidesign. dam into a the CNC pro01"1!1 ... programmer has to have an understanding of mathematical principles.. Their depend on the company as product manufactured is quite distinct. lathe design can be horizontal or more common than the purpose in for either For horizontal group can be as a bar type... The major difference two types is the nature of work that can be on them efficiently.. with a special ""...... chucker type or a to combinations are aca CNC lathe an extremely flexible maaccessories such as a tailstock... " .analyze.. done on a CNC vertical machining center . or held in a vise or a chuck....U. This person is often responsible for numerical control is held respontechnology in the plant. the milling tool has its own motor rotates while spindle is stationary.. must be to decide upon the best manufacturmethodology in all respects.. follows the contour of programmed tool path... although many the two functions into a one.. the ~ ....!:.. melmO(lS are also applicable to the small tapping machines. cbining on two or more in a sirable to be done on a CNC horizontal U14'. I-'IJ .'-I . quality... In fact. 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.one doing the machining.-.. For a CNC machining center... yet still ing aU its rr'ln... the CNC lathes with a milling attachment. either mounted to ble. ".'U. is normally stationary.

high voltage areas. chip conveyors. Safety can never be overemphasized. call experts. tooling that has ben used in the past.panies talk about safety. Although the majority of duties performed by a conventional machine operator has been transferred to the CNC programmer. The reason is that the safety is totally independent. setup. display posters. yet powerful message:The first rule of safety is to follow all safety rulesThe heading of this section does not indicate whether the safety is oriented at the programming or the machining level. etc.6Chapter 1 CNC Machine OperatorThe CNe machine tool operator is a complementary position to the CNe programmer. That is defInitely true but hardly presents a complete picture. Every machinist should know the hazards of mechanical and electrical devices. All this can lead to complacency and false assumption that safety is taken care of. inspection. 111ere is a lot of automation. Discollllectillg allY interlocks or other safetyfeatures is dangerous . knows precisely what extent such improvements can be. protective devices should be in place and no moving parts should be exposed. being the one who is the closest to the actual machining. oil spills and other debris are allowed to accumulate on the floor. Many companies expect quality control at the machine . and you-name-it operation within a typical machine shop daily work. Depth of cut. observation of safety rules is also important. Protection of eyes. ftxturing.. without appropriate skills and authorization. where no chips. a part program that runs over and over again. The fIrst step towards a safe work place is with a clean work area. Loose clothing. is dangerous in machining environment. conduct safety meetings. ties. Taking care of personal safety is equally important. shipping. it may seem that in CNC work. ears. often even for some in-process inspection. Safety is a large subject but a few points that relate to the CNC work are important.and also illegal. This is a view that can have serious consequences. all have a profound effect on overall safety. the tool characteristics. rules and regulations have been written as a result of inquests and inquiries into serious accidents.jewelry. manual or computerized. In typical cases. the 'fmal' program can always be improved. The CNC operator. not just mathematically 'correct'. it may appear that safety is something related to the machining and the machine operation. While a machine is operating. A tool motion can be programmed in many ways. skills. is also responsible for the quality of the work done on that machine.. improper use of gloves and similar infractions. machining. This mass of information and instructions is presented to all of us for some very good reasons. for the changing of the parts.SAFETY RELATED TO CNC WORKOn the wan of many companies is a safety poster with a simple.. At fIrst sight. the CNC operator has many unique responsibilities. the safety is a secondary issue. Com~hoists. Other devices that could pose a hazard are pallet changers. u simple setup.and the operator of any machine tool. etc. It stands on its own and it governs behavior of everybody in a machine shop and outside of it. hands and feet is strongly recommended. width of cut. Quite a few are based on past tragic occurrences . Safety is the most important element in programming. unprotected long hair. At fIrst sight. scarfs. Speeds and feeds have to be realistic. The programmer and the operator may exist in a single person. In programming. Special care should be taken around rotating spindles and automatic tool changers. perhaps to the setup as well. All these ideas are just a very short summary and a reminder that safety should always be taken seriously. attitudes and intentions. tooling.many laws. the operator is responsible for the tool and machine setup. One of the very important responsibilities of the CNe machine operator is to report fmdings about each program to the programmer. make speeches. Even with the best knowledge. as is the case in many small shops.

their primary axes are the X and Y axes this reason. a milling machine canFigure 2-/ Schematic representation of a CNC vertical machining centerMilling machine is a machine capable of a simultaneous cutting motion. "'. The example is a contouring operation. etc.see Figure 2-1 andCNC MACHINES . fabricating machines and machines special Although the this handbook is on the two that dominate the market.try. Milling machines where the spindle motion is in out. the category of the machines are also wire EDM machine tools. but they do all one common denominator .two.vertical or horizontal o By the presence or absence of a tool . first look will or available machines. are categorized as vertical machines. a common La many CNC machines. etc.. mill can be in many ways. Users these machine tools will still from m:tny covered The ciples are adaptable to the majority of machine tools. many can be applied to equipment."rMilling machines where the spindle motion is up and down..MILLINGThe description of CNC milling is so it can fill a thick book all by itself. three or moreo By the orientation of axes . laser and water jet cutting name cutters..h . Although do not qualify as milling type machine tools. are categoas horizontal machines . For EDM uses a very small cutter in the of a A cUlling machine uses beam as its cutter. They are by wire EDM. an end mill as the primary cuttingat least two axes at the same time'I" j'>IThis definition eliminates all CNC presses..the purpose be defmed:this handbook.CNCMILLINGtypes machines are in industhe majority of them are machining centers and CNC lathes.. All machine tools from a knee lype milling machine up to a five profiler can included in (his They in features. burners. since covers pOSItioning not profiling. The nition also eliminates wire EDM machines a of burners. we mention them because the majority of programming techniques applicable to the mills is to machines types as well..Figure 2·2Schematic representation of a CNC horizontal machining center7. they are called machines. 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. suitability for work. routers.. they are capable of a profiling action but not an end mill.Many Types of Milling MachinesMilling machines can divided imo Ihree categories:oBy the number of axes .

..maJonty vertical centers most tors work with are those with an empty table and three-axes configuration.can machine tools of ern technology. it is a In the area of chine tools areQ Qsystems.a manual machining cel1Jer is a description thal does nul exist.'' __ and produced by manufacturers worldwide.. "'. is a good with the example of a true 'four ax.. three most common ma-eNC Vertical Machining Center .three and athe type of of all axes verticaltwo and a machine is used. changing. can be long parts that need support at both ends.certainly not.. In combination with a supplied). They may with a multi-tool azine (also known as a a fully a pallet changer (abbreviated as ATC) viated as APC). terface. Vertical Machining CentersVertical of work.. is as a four can move simultaneously motion of the axes. the fourth in the vertical "nr""".. have . machine Ihal is a more complex but a table. For programming.VMC CNC Horizontal Machining Center· HMC CNC Horizontal Boring MillQtype. The majority of modern machines designed for milling are capable of doing a multitude of machining tasks. Milling machines that have at some of built-in.. simultaneous is necessary to complex shapes and and variousA vertical machining center can be used with an optional axis.'lxes. As a matter of fact. automatic loading unloading. at ninety degrees towards the machine table for development of the tool motion. high speed machining and other modis . The rotary head can tically or horizontally. brochure .r". typically the programming directions are exactly the opposite of the markers on the tooL. probing ". additional the type of work suitable for individual lion of the most common type of a machining center . plus a axis (usually the B parallel to the Z (usually the W axis). mainly drillng.2 machining center is described by its specifications manuas provided by the machine tool manufacturer. The capabilities be as simpleCNC milling In two words . Programmers always view the top of part!QTWO· various markers located somewhere on the machine show the positive and the motion of the machine axes. A found on chine wilh five . where a multi-axis. From the programming perspective. New and machine tool industry is more powerful machines are V_'''"". plus The indexing tadesignated as an A ble is used posllioning. not thefrom the viewpoint means the view is as if looking straight down. It is not unusual to find a slightly information in the tool.8simplified not really reflect reality current state of art in . markers should be ignored! These indicate operating directions.. there are at least two mentioning:At times.after all.o ONE· programming always takesspindle..·. and so on.. true complex and flexible five-axis profiling [ling machine is the type used in industry. lists many as a quick method of comparison between one machine and another...a. For a Y and Z axis as primary axes.is· machine tool."u·"'''''"" new breed of tools .. higher with five or more axes. usually a head mounted on mounted either verthe main table. done on for flat type of machining is setup. have additional features. he a hnring mill that jor axes. thread cutting many others. tool manufacturing.. more features.. depending on the results and the type. but il cannot rotate simultaneously with the motion of primary axes. This fourth can either for indexing or a full rotary molion..X..CNC An/l. not programming directions... That type of a called a 'three and a half axIS ' machine. Some machine may as adaptive control. except the major differences will the for indexing or full rotary axes.. Y iflhey usually an lary axis (the A horizontal models). a powerful computerized conlrol unit brevlated as CNC). This lenn is strictly related .rpo. Machine AxesMilling machines and machining centers have at least The machines become more flexiaxes . of many other metal operations.the Vertical Machining Center (VMC) a fairly accurate sample other group.machine or a terms refer towhere simultaneous limitations.. not machines are also capaonly the traditional milling.

Common exam- Horizontal Machining CentersHorizontal CNC Machining Centers are alsoas multi-tool and versatile machines.001 degree18.28 inches 30 560 mm 1.Description1=Vertical Machining CenterI~Horizontal Machining Center 4 axes IXYZB} 500 x 500 mm 20 )( 20 inchesNumber of axes Table dimensions Number of tools Maximum travel.CNC MILLING9Vertical and Horizontal Machining.Zaxis 150 .5 kWAC 10/7 HP distan ..5 inches 380 mm 15 inches 470 mm36725mm 28.5 inches 560mmMaximum travel. 40AC 11/8 kW AC15/11HP150 .5/5. and are bieal paris. .10000 mmlmin 0.5 inchesN/A 60-8000 rpm40 . cases.Typical Specifications.8Maximum tool weight6 kg131bs44 There arc many applica£ions in lhis area.9 w/empty pockets)Maximumlength300mm 11.100 . 50Spindle6-Spindle center-to-column distance· Y axis Spindle taper Tool shankCAT502 .710 mm 6 .04 ..945 iI\Imin Random memory 1 mm 4.Y axis Maximum travel.. machining centers always include a special ing table and arc equipped with a pallet and otherare large manifolds.Zaxis Table indexing angle Spindle speed Spindle outputnu:>t:-tlJ-t~1.. ".as pump housings.1 inches350 mm 13.2· inchesNo.625 mm inches 430mm 17 inchesNo.75 inches 20 (2)Tool selectionMaximum tool diameter..m__.15 inches (5...memory80 mm (150 w/empty pockets) 3..X axis3 axes IXYZ) 780 x 400 mm 31 x 16 inches 20 575 mm 22.393 in/minRapid traverse rate 30000 mm/min (XY) mm/min IZl 1181 in/min IXY) 945 in/min (Z)1 .24000 1181 in/min (XV).. where majority of machining has to on more than one in a single setup.4000 rpmAC 7.10000 mm/min 0.122 inches560 mm 22 inches 0.393 in/min 30000 mm/min (XYI . blocks and so on._-...-..

the programming pointChapter 2 parl of the way towards the part Ihal area chine tool resources. Wriling a program for horizontal machining centers is no different than writing a for venical machining center!'. in the fifth nation (X. spindle. but certainly nol as-axis CNC the count of the axes is Programming CNC mills are similar to Ihe horizontal and machining centers. Although is. It means. mainly lengthy that reason. the machine table moves an quill.10Because their flexibility and complexity. will move another. so Ihey can be used large parts and hard-to-reach areas.to the additional for example. CNC zonlal machining centers are priced significantly than vertical CNC machining centers.if the quill were to be very it would lose strength and rigidity. bOlh meet in the be machined using all the ma-eliHorizontal boring mill may be called a machine. In order to compare individual machine tools within a category. machine tool provided by the machine manufacturer serve as the basis for comparison. additional dala may be listed. a horizontal boring mill cannot be called a true axis machine. specifications are contained a of verifiable data. y. method offered on horizontal Think of the mills . It is in the spindle where the culling 1001 ro"'lies . but cannOI be done to compare (ween two differenl types. In 11 typical sped chart. Machine tool buyers frequently compare many brochures of several fcrcnt machines as parr of the pre process. As Ihe name of the machine its primary purpose is boring operations.in some cases . mainly technical in nature. the new axis. there are several mainly relating to the Automatic Tool the indexing table. quill is a physical part of the spmdle. the focus is on only those specifications Ihat are interest \0 the CNC and the CNC operator. agers process planners compare individual machines in the machine shop and assign the available workload 10 the most suitable machine. All differences are relatively minor. describes lhe individual machine by main features..the quill extension the Z axis will move only of the way £Owards lhe and the table itself. but have its own Iy. Anthe other typical feature is an axis parallel to the Z axis. A fair and accurate comparison can be made between two vertical ining centers or between two horizontal machining centers. the reach of is extended by a specially designed quill. It closely resembles a CNC horizontal machining center. that during drilling. called Ihe W axis. . a horizontal mill is by the lack some common features. Z axis (quill) and the W (awards axis (table) work in the other. such as Automatic Changer. Typical SpecificationsOn 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. not included in earlier chart In this handbook.but in-nnd-out motions are done by the table. view. Horizontal Boring MillHorizontal boring mill is another machine. the changer. W). belter way was to split the tradItional single Z axis movement into two .

Both axes are perpendicular to other and represent the two-axis lathe motions. a steadyrest many other features associated with a lathe design. etc.AXES DESIGNATIONA typical CNC is designed with two standard axes one axis is the X other axis is lhe Z axis. a unique slant bedoREARSIan! bed type is very popular chips to operator and. towards the chipits design allowsBetween the of flat bed and type lathes. but has more machining power. Vertical CNC lathes have two axes in almost all The much more common CNC horizontal commonly designed with two programmable axes.11. machimng or conical work. centers.or more commonly . when looking from the machinist's position.the CNC term 'turning is curate overall descnption of a can be used for a number of machining opduring a example. With constant advances in machine technologies. This describes CNC lathes by number of axis. there is another variety of a lathe. boring. Figure3-3. A lathe is used as shafts.CNC TURNINGCNC MACHIN TURNINGof Axesor it turret IS a common In machine shop. in addition to lathe as turning and a lathe can be used for drilling. knurting and even burn It can also be used in ent modes. 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.. horizontal type is by the most common in manufacturing and machine shops. if a cutting tool is are usually in machining power lathes. All varieties of tools are can be turret (a special too) or Because of this lurret loaded with all CUIZ axes. grooving. Typical lathe work controlled by a CNC system uses maknown in industry as the CNC Turning . This view is shown .. the oriemation a type of lathe is downwards motion axis. bores. more than four axes ore common. The most common lathe operation is removal material from a round Illrning tool for external culling. is the Z of the milling the only machine of drilling. A lathe can ror internal operations such as boring. A CNC lathe (incorrectly called a vertical boring mill) is somewhat less common but is irreplaceable for a work... two types are lathe and the horizontal CNC lathe. wheels. Of the two. such as chuck work. threads. as well as for threading.CNC lathe work. adding extra to manufacturing of more complex parts. are available wilh three. in case an accident. following three illustrations Figure 3-1. a sub a tailstock. Many other combinations also exist are designed to hold tools in special can have a milling indexable chuck. an engine lathe type . four or axes. which means all Following the established and machining of making a hole by or punching.. Z represents nal morion. etc.ma~ Types of eNC latheslathes can by the type of the number of a xes. which probably the simplesl and most common method identification.Alathe can funhcrFRONT lathedescribed by thetypeo. hutlhey do have a carousel that holds cutting tools. An lathe has often one or two CUlling tools at a lime. horizontal and venicallalhe designs. X axis also represents I ravel of the cutting tool. front and rear lathes.The most common distinction CNC lathes is by the number of programmable axes. and left and motion for the Z axis. down a area. For a CNC there are no differences in the approach between two lathe types.

12

Chapter 3

HEADSTOCK

I
.
I

CHUCK

/
!

/

JAWS

". ! ---- TOOL

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

Figure 3-1 Typical configuration of a two axis slant bed eNG lathe - rear type

t ..... "
xx+

X+

TAILSTOCK

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.

QUILL

Z- . . . . . Z+

t

" t .....
XX-

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.

X+

Figure 3-2 Typical configuration of a CNC lathe with two turrets

"

Figure 3-3 Schematic representation of a vertical eNC lathe

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.

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.

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
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 There is more in

four-axis lathe
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. 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

Machine Specifications
lathe, with two axes and a slant

A typical bed may from an actual

Description
Number of axes Maximum swing over bed

Specification
Two (X, Z) or three (X, Z and C)

diameter
length

12

Indexing time Axis travel in Xaxis
Axis travel in Z axis

0.1 second

Six-axis lathe
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

Rapid traverse rate X axis
mm/min in/min 0,01 500 mm/rev ,0001 19.68 in/rev

Main spindle motor Spindle speed Minimum input increment
35·3500 rpm

CNC lathe is popular and industries with simi applications.

FEATURES AND SPECIFICATIONS
A look at a CNC machine 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.

Motorized
Number of rotating tools Rotating tool speed Milling motor
12

30 . 3600 (Imin
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.

Q

circular) can
Q Q Q

of various forms (including taper and performed, depending on the control model

Dwell can use the Tool

p. U or X address (G04)

uses 4-digit identification

1=,,,,,£1.,,.,,, s~!lection (normal) in mm/rev or in/rev
Feedrate (special) in mlmin or inlmin

a

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
5,

a
Q

Rapid traverse rate different for X and Z axes
Multiple repetitive cycles for turning, boring, facing, contour repeat, grooving, and threading are available Feedrate is common from 0 to 200% in 10% increments (on some lathes only from 0 to 150%)

a
o

X axis can
Tailstock can be programmable Automatic
2m" .. "rv,

At mon
Q
Q

some fealures and codes nOI make sense - they are included for ,,,r,"'''''1> only. Com-

Q

typical features are listed:

a a a

and corner rounding

X

a diameter, nat a radius

R and II Kin
Thread available with six-decimal place accuracy (for inch units) Least input increment in X is 0.001 mm or .0001 inches on diameter· one half of that value per side

Constant surface speed leSS) is standard control (G96 for CSS and G97 for r/min) Absolute programming mode is X or Z or C
nr:rl~m,.'ntlll nrn"'''"rnnllnn

Q Q

mode is U or War H

COORDINATE GEOMETRY
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

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.

as

REAL NUMBER SYSTEM
key to understanding
(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

RECTANGULAR COORDINATE
2D

M

coordimlte system IS a to point, using the XY coordinates, or a spapoint, using the XYZ coordinates. [t was first 17th century by a French and ......... ,"'" Rene Descartes (I I us an alternative to the rectangular

called

Coordinate System

o
r:J

Zero integer.. .
Positive integers ... (with or without sign) Negative integers ... (minus sign required) Fractions ...
Decimal fractions

0

L 2,

10,12943, +45
T " ..

o o

-381, ·25,-77

T
1/8, 3/16. 9/32, 35/64
0.1
.546875. 3.5

o

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

-,

.

-;
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,

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

15

16
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

4

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.
-I

Axes and Planes
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

AY

1'1

1--+

1

1
T

1-1-1" 1- -1-1- ....

X axis

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:

I

ORIGIN

Figure 4-4

Point of origin - intersection of axes

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
Yaxis

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.

horizon-

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,

I I- 1-

'1--1-"

I -I

-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 Quadrant II Quadrant III Quadrant IV

UPPER RIGHT UPPER LEFT LOWER LEFT LOWER RIGHT

Axis designation· viewing plane Mathematical is fully implemented in CNC

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
Y+

counting starts at the positive of the horizontal 4-5 illustrates the definitions.

.,

P2+
... Yaxis
II _ Quadrant I X+Y+
-1--1-+ --i--I-JiIo.

t

xX

-r--I-~1~~I-~-r-I--~.. I-

x+

..,.. P1
- ---- .....
.. I

I

1--1'- -+ -I

-u'+ "

+

P4

Quadrant III - Quadrant IV x-yX+Y-

T

Figure 4·5 Quadrants in the

and their identification
value can be positive,

P1 ::: XQ.Q - P2 ::: XQ.Q P3 ::: X5.5 YS.O
---""""

::: X4.0 Y-3.0 ::: X-S.O Y-4.S P6 ::: X-5.0 YO.Q

Any point zero. Any cation of the distance
POINT

Figure 4-7

is determined solely point in a particular quadrant and its relative to the origin - Figure
ON
,

Coordinate definition of points within the rectangular coordinate system (point PI = Origin XOYO)

COORDI X AXIS Y AXIS
..
,,--"""""""""""""''''''

""""""""~,--"--

QUADRANT I
,

,-""""",

+

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 QUADRANT III

+
Figure 4·6 Algebraic signs for a point location in plane quadrants

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,,",

o

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).
o
0

UH'"",,,,'VlI

XOYOZO is the point itive values are written

W",UlIlI

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

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

,
~--I"""-

FRONT LATHE

VERTICAL
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.

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.

r~~"'-""""

TOP VIEW

ISOMETRIC VIEW

Figure 4-9 Typical machine axes of a vertical eNe machining center

Primary axes __ Secondary axes Arc center 1..\--+---+--+--+--+ - - vectors Rotary axes
,

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.

X axis related
4-11

Yaxis related

Zaxis related
axes

I

Relationship of the primary and the sec:oncfarv

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
control unit - the work in conjunction anything useful on its own. if the program itself tons and keys are by control over the program "''''''''''''''.'''

GENERAL DESCRIPTION
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
ERRORS

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 D

o
ON

x

y

z

4

MOO M01 M30

0
BLOCK SKIP ON

o

ALARM

0
MACHINE LOCK ON

o

OPTIONAL STOP

M-S-T LOCK

ON

@
OFF

@
OFF

@
OFF OFF

@
OFF

DRY RUN ON

@
OFF AUTO

OFF

ID MDI

TAPE

175

125
1

150

70 60 50

80

90

EDIT

MODE
Y
X

Z

80 60 40 30 20 15 10
5

400 600 - 800 1000 1200 1500 2000 4000

4030

20

10 0

0

ccw

D

EDIT

...!

,-_._-

80

90

110
120

0
CYCLE START FEEDHOLD

OVERRIDE %,

N

OVERRIDE %

AUTO

EMGSTOP

Figure 5·2 A typical operation panel of a CNC macnmlllO center actual

features wiN vary on different models

CONTROL

21
Description
Power and control switch for the main power and the control unit Feature

Feature

Description
automatic operations
Allows program execution from the memory of the CNC unit Allows program execution from an external device, such as a desktop

ONI
switch Start Emergency Stop
Feedhold

AUTO Mode
MEMORY

Starts program execution Or MDT command all machine and turns off power to the control unit motion of all axes
Allows program run one block at a time Temporarily stops the program execution (MOl required in program)

mode

mode

computer or a punched tape Allows to bt: made to a program stored in the CNC memory
Allows manual
Selects

EDlT

Single Block
Optional Stop

MANUAL
Mode JOG Mode RAPID Mode Memory Access

Block Skip
Dry Run Spindle Override Feedrate Override Chuck

Ignores blocks preceded with a forward slash (I) in the program
Enables program testing at fast
feedrales (without a mounted part)

mode for setup
(switch) to allow program editing

Overrides the programmed spindle usually within 50-120% range Overrides the programmed feedrate, usually within 0·200% range

Error lights

Red

an error

Shows current status of the chuck
(Outside I Inside Shows current status of table

Clamp Clamp
Coolant Switch Gear

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

Shows current status of working

Selection
Spindle Rotation
Spindle Orientation Tool Change Position Handle Tailstock Switch Indexing Table Switch

gear range selection Indicates spindle rotation direction or counterclockwise)
Manual orientation of [he spindle

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

Switch allowing a manual tool
Switches and relating to setup of the machine from reference position

Manual Generator (MPG). used for Axis Select and Handle Increment switches
switch to manually Tailstock and/or IJUOUI'v"1 the tails!ock

Manually indexes machine table
setup
mode

MOl Mode

erator. chine manufacturer. that are not for a machine without Ihe rool changer. Programmers with limited experience not to know parameters in a great depth. When (he parameter screen is displayed. Some of the in this handbook is quite ~pecialized listed for reference only. Layout and features may vory on different machine models.Chapter 5SYSTEM fEATURESThe CNC unit is more than a sophisticated spepurpose computer. specified within an allowed range:ooocodesUnits inputsSetting values:. not the end user. called the Manual Pulse Generator (MPG).. The basic conlrol does not change. With a typical fayout and features.. Each row numone bYle. the more expensive it Users that do not require all sophisticated features. it shows the rameler number with some data in a row. do not pay a for they do not need. Numbering starts with O. They mainly relate to the design capabilities of the machine. but some customized features may added taken away) for a specific the system IS to the manufacturer. digit in the is called a word bit is the Binary digiT is smal unit of a parameter input. One handle division will move the seaxis by X times the minimum increment of the active of measurement.010 mm 0.Parameter Settingsinfonnalion that establishes the built-in connection between the control and machine tool is stored as special data in called the system parameters. In Figure and the following table are the details a typical handle. It means the computer to designed a company has expertise in Ihis type of special purpose computers.0001 inch .. order to support the automatic tool changer. the other an automatic 1001yXZ. Unlike many business types each CNC unit is made customer is typically maa particular customer.Metric unitsfor English units. more features are added to the system.100 mmThe Fanuc control system parameters belong to one of three groups. from the to the left:5~3An example of a detached handle.. The official Fanuc name for the handle is Manual Pulse Gen.. 'special purpose' in this case is a computer capabll' of controlling the of a matool. X 10 the range of increment X I(0).22 Handlemachine has a rotary handle that can move one by as little as the least increment of the control system.001 mm 0. such as a lathe or a machining center.0010 .A example is a CNC unit for two machines that are the same in all except one. AXISSELECTx1 x10x100changer..0100 inchXl Xl0 Xl00""0. One a manual lool changer. The original factory are sufficient for most machining jobs. the CNC unit must have special features .IIHandle MultiplierOne handle division motion is . The more complex the CNC system is. 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.. The X in this case is the multiplier and stRnds for limes'. The manufacturer certain requirements that the control system to requirements that reflect the uniqueness of the machines they build.

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. 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. there are no set values passed to parameters from a program. whether the control will 0.the dimensional units. Such a setting is wrong and can cause serious damage!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. that can be translated as 'assumed'. That settings . binary input can only have an input of a 0 or I for the bit data format. or + 127 to -127. just in case. instance. and other parameters Quite a parameters have nothing to do with daily programming and are listed only as an actual example. These changes require not only qualifications but authorization as well. just because the parameter is selto a lower even if it is possible. An indexing axis with a minimum crement of 1°.it means they were selected on the their common usage. All system should be set or only by a qualified person. The safest to observe is that once have set by a qualified technician. EOIT. mmimin. a culler radius offset is automatically canceled at the startup of (he control system. or the most not mean they will be the common selections. a number within the of 0-99. . a feature called dry run can set only as effective or ineffective. Computers in general do no! distinguish between inch and metric. Also canceled are the fixed cycle mode and tool length offset. etc . the maximum spindle speed. for safety reas»ns. Such values must never be set higher than the machine can support.00] mm or . just numbers. certain active automatiwithout an external program. A programmer or operator should not modify any parameter settings. Many settings are rather conservative in values. since no program has yet been used. When main to the control is turned on. The control 'that certain conditions are preferable to others. If permanent changes are required.CONTROL SYSTEM23Parameters 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 . A value can also be specified within a given range.r<: related to Acceleration/Deceleration Control Parameters related to Servo Parameters related to DVDO Parameters related to MOl. an authorized person should assigned to do them . 0 10 +127 for byte type. for example..::tT".. """"''''''A permanent and create a /lew 'default'. is an abbreviated Ilsting of parameter classififor a typical comrol system (many them are meaningful to the technicians only).The set of parameter values established at the time of installation are called the default seHings. for example. Many operators will agree with most of these initial settings.00 I 0 increment.nobodyTo better understand what the CNC system parameters can do.. etc. etc. will not become a rotary with . settings away fromThe groups use different input values. To select a ence. The English word 'default' is a derivative of a word 'defalu'..UniTs inpur. Such settings will . Some settings are customizable by a of a parameter settings. or 0-99999. Units inpur has a broader scope the unit can in mm. is used to selthe increment system . 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 System DefaultsMany parameter settings in the control at the time of purchase have been entered by the manufacturer as either the only the most suitable choices. It is up to the user and the setting. as an experienced technician.A typical example of a binary input is a selection between two options. in/min. However. any temporary changes required for a given work should be done through the CNC program. although not necessarily with of them. in a safe place.0001 inches as the menL Another example is a parameter selling that stores the maximum feedrate each axis. milliseconds. Keep the list of control.

. as it no! programmedIt is beneficial to know the default settings of all controls in the shop_ Unless there is a good reason to do nrn. the CNC program can be as long as the capacity of the storage device. The default motion is controlled by a parameter. 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'. The memory capacity of the control system should enough to store the longest CNC program '"'''. capacity is in a variety of ways.they think. only parameters can have an assumed condition .strictly for safety reasons.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. the default mode is a linear motion GO I.. lalely as the number oj bytes or the number of screen pages. Only the rapid or the linear mode can be set as default in the example. in form of hardware and software. Only5Modem methods measuring memory capacity prefer to use bytes as the unit... A common minimum capacity of a CNC lathe control is 20 m of tape (66 ft). a tool motion results. On CNC milling systems. typically the hard drive. 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). when the capacity is known in charaCters. the parameter selling has no effect. the system will use the command mode that had been preset as the default in parameters. 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.a condition that is known as the default value (condition).n>JlMost CNC programs will fit into the internal memory of control system..ty has not during the design process. there are reliable and inexpensive alwell worth looking into. is an old fashioned method thal somehow persisted in staying with us. Memory CapacityCNC programs can be stored in the control size is only limited by the capacity of the control. but have one unique ability . Many parameters can be to a desired state. Not all system parameters. Since the rapid motion is the first motion in {he program. That requires some planning machine is purchased. Which one? The answer depends on the parameter setting. rather that a length of an obsolete tape. either through the program or from the control panel. Had the default setting been the rapid motion GOO. a tool motion has three basic modes . A byte is the smallest unit of storage capacity and is very roughly equivalent to one character in the program. If the motion command is nm specified. If a manual input of an axis command value takes place. defaults for similar controls should be the same. does not consider.. A computer is just a machine that does not assume anything.. to be in at the start .5. a linear motion and a circular motion. . does not feel computer does nOl think. People are slow and make elTors. which the GO I requires. the memory requirements based on the same criteria are generally and the typical minimum memory capacity is 80 m or ft Optionally. example.arapid motion. faulting the system for the lack of a Jeedrate! is no cutting feed rate in effect. '''£'''''''' on a regular basis. by engineers. The minimum memory capacity the control varies from one machine to anotheralways control specifications carefully. When the machine axes are moved manually. in three dimensional mold work or high speed machining./When the capacity is known in use the following formula:~where . Although any cost is a relative term. example. A computer not do anything that a human effort and ingeolli. originally as the equivalent length of tape in meters or feet. When the the software sets certain existing to their default condition. the cost of additional memory capacity may very high.24A computer is fast and accurate but has no intelligence. use the following fOlTnula:IG'i"where . Storage capacity in feet No :: Memory capacity (number of characters).".To find the length program in/eel.. larger memory capacity can be added to the control system. a rapid motion would be performed.one setling can be active at the startup. simplest version is to transfer the CNC program from ODe computer to the other.rr\('l""'1"1"1Sm = Storage capacity in meters No = Memory capacity (number of characters)C) Formula 2 . When operfrom the personal computer. the is an error condition.

all machine ac/ivities will cease The main power will interrupted and the will have to restarted. for special purposes. When this button is pressed during a linear or circular axes motion. Every program is a or instructions . example. threading or tapping modes make the switch inoperative. the latest controls offer other features. red in color. Activating feedhold at the machine will not change any other program values . from the top down and in the order they appear in the program. several techniques are available to minimize the problem. designed to prevent a collision between a cutting tool and the part or fixture.MANUAL PROGRAM INTERRUPTIONIf a program needs Lo interrupted in the middle of processing. if something does wrong. blocks. a CNC machine is run in a continuous mode. that is located in an accessible place on the machine.. In sinblock only one block of the program will be is On the optime the C)'cle eration panel.C Number of available characters m == Memory capacity in metersVirtually the same results can be achieved by a slightly restructured formula: feedholdFeedhold is a special push button located on operation panel.. In fact. All in a. If the emergency stop must be used at all. the operation panel. when any other action would require unacceptably time. use the following formula:IGf' where . important for production.Cf=Number of available characters == Memory capacity in feetLatest controls show the available memory as the number of free screen display pages. usuatly dose to the Cycle Start bulton. Previously discussed feedhold button is only one option.. It is marked the Emergency SLOP or E-Sl0p.feedhold and the emerge/lcy SlOp. There is no need some machine the effect of Emergency Stop is not always apparent. one after another. This contim1ily I!. as long as feedhold It IS The CNC programmer can override the feedhold from within the program. emergency stop switch is a mandatory safety feature on all CNC machines.~ Formula 3 . it will immediately SLOp the motion.Q Formula 4:To find of characters. the control system offers several ways to do that. Single Block Operationnormal purpose of a program is to control the machine tool automatically and sequentially in a continuous of commands mode. NormaDy. if the system memory capacity is known in meters:lIE where . in Chapter 50.it will only affect motion. along with other features. Pressing the emergency stop button is not always the best or even the only way LO stop a machine operation.CONTROL SYSTEM2Sblock are processed as a single inSlrllClion. Some types of molion the function of feedhold or disable it altogether. action applies to all axes active at the lime. Emergency StopEvery CNC machine has at least one special mushroom push bUHon.written as individual of code. For example. The most common features of this type are toggle or push buttons for a single block operation.To find the number of characters in a given program. In cases the available memory capacity is too small to accept a program. disable the continuous program execution. the prolength reduction methods. The will illuminated (in light). panic. is convenient for a machine setup or a first run. This type of data is not easy to convert as the others. while blocks are processed automatically. if the system memory is known in feer. The blocks are received by control system in sequential order. but not practical when proving a new for example. When this buuon is pressed. Blocks and their conct!pts will be described in the following chaplers. far less severe.. the spindle requires a certain time deceleration to slap. for example. it should be as the resort. the single block mode can used separately that make or in combination with other provmg and more accurate. a Single Block switch is provided on the operation panel.

In to operate a CNC machine without conventional mechanical devices the control system fers a feature eaHed the Manual DaTa inpUl . 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. Their is identical to the of a CNC program in written form. but this method is not very A certain 'experimentation' be necessary duri the actual cut to find the optimum value. After the program had been proven. default seuin a is the mOSI logical . 50% and 25%. The handle (Manual Pulse GeneralOr) is an electronic. the During a setup and similar purposes. raptd rate can be applied at its maximum. oflhe reduced rates is more comfonable to work with setup.the control system allows a selection as to what the value will Jt may he a setting of between 0 and 100%. Make sure that all persons who work on such a machine are aware of thePROGRAM DATA OVERRIDEAll CNC units are designed with a number of special rotary swttches that one common feature . It is important that the operator is trained at least in the CNC programming. they can be by trial during operation. the reduced rates are inJmin or 6350 mmlmin at the 50% selling and 125 in/min or 31 mm/min at the 25% setting. this switch can be st![ 10 one of the four as the percentage of the max Three of them arc mum rate.Override can used individually or together. This is one area where the CNC operator acts as a CNC programmer. rotation spindle. certainly to the point of being able to handle the setup instructions for Manual Data Input. typically as 100%. long program. The usage of switches does nut make any program changes. such as a would be very inefficient. The fourth position of the switch offen has no percentage and is identified as an F I or by n small symbol. not a unit. one or a few structions at a time will benefil from the MDL access the MDI !. By switching ~o one of them. That opens the screen display with the current status of the system. Located on the control panel. but the CNC operator the port. this rate will never appear in the program. all motions in the GOO mode will be at the manufacturer's fixed rate. the chaner may be eliminated. The same program will run faster on a with high motion rating then on a machine with low rapid motion some During setup. During program execution. It is possible to Ihe or the spindle by editing the program.or MOL The Manual Data Input the input of a program into the system one program inSTruction at a time. setting should never be higher than 25% can be done only through a setting of a system ler. )fthe maximum rapid rate is 500 inJmin or 12700 mm/min. Instead. 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 presence of the over~ switches is not a licence to program unreasonable cutllng values. tool change) etc. There are no mechanical devices on a CNC machine. The overrides are fine tuning tools only program must always renee! the machining conditions of the work. when high rapid rates are uncomfortab~ 10 work with. the rapid motion rare may control for program proving. 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 CNC operator has to do anumber of that require physical movements of the machine slides. the switches amount of valuable programming time as can save a well as the setup time-at the CNC machine.unily to edit the program later to the optimum cuttmg Used properly. control to make the work They are availahle on operator for both the operator and the programmer. There are four override switches found on most control panels:oRapid feedrare override (rapid traverse) (modifies the rapid motion of the machine toof)(modifies the programmed spindle T/min)o Spindle speed overrideoFeedrate override (cutting feedrate) (modifies the programmed feedrate)(changes cutting motions to a variable speed)o Dry run mode. Rapid Motion OverrideRapid 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. the rapid motion rate changes. The manual override switches come to the rescue. Not all.MOlA CNCis not always operated by the means of aprogram. but the majority of codes are allowed in the MDI mode. During a pan setup.he MDI key on the operation panel must be selected. If (00 instructions were to be input repeatedly.usually 10% of the maximum r:pid traverse rate.they allow the CNC operator to override the programmed of the spindle or the programmed speed of axis motion.265MANUAL DATA INPUT . For example. In this seLting. For example. CNC machines are equipped with a rapid override switch to allow temporary rapid motion settings. you call the rapid motion mode by ming a special preparatory command GOO.

.. i~ similar to that for spindle speed:~where . lathe controls. 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. In praaice. All these and other related are dein the handbook. recommended method is to find out the optimum speed for 1001. The override will override will effective. if the programmed spindle speed of 1000 rlmin is loa high or LOa [ow.or newOriginally programmed tP'j>. maximum of 150% or 200% CUlling feedrate will cut I or than the value. however. ineffective. more limited The reason spindle speed range of 50% to I is safety.. spindle speed switch can on some controls or selectable in increments of 10%.Fn=Optimized .1000. These operations require spmdle rotation synchronized with the feed rate. the CNC machine will stop the cutting motion. on the Comparison of switch with the increments on switches for the rapid traverse override earlier) and the feedrate ".or new r/minSpOriginally programmed r/min Percentage of spindle overridep=Overriding the programmed spindle speed on the CNC machine should have only one purpose to the spindle rotation for best cutting conditions. This range allows the CNC operator flexibility the spindle rotation to suit the CUlling conditions. 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. mally 1101 mounted in the lfthe part is mounted in~where .. it should be edited in the \0960 r/min.. There are situations. If a programmed spindle speed of 1200 rlmin a tool is always set to 80%..""A/~r""'"quiredcan be established during the actualby using the spindle speed override switch..800. . new spindle has to be calculated.So ::::: Optimized . then at 100%. 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.fifl'llh"Fp p ==Percentage of feedratecan overridden within a large range.. tapping fixed cycles and G84. where the use of a feed rate would the pari or the cutting tool . The formula is quite pie: /'The new feedrate calculation.. Some CNC machines do nOI have the 0% percent setting and start at 10%. drill or cut any material at 0 spindle rotation). the CNC operator may experiment with the spindle speed switch to tind the optimum speed for the given cutting conditions. 600. the part is normachining takes place... override is set to 0%. Typical examples are various tapping cycles and single point threading.. ]n to into 100% speed in the program. the actual cutting. poimilireading command G32.. method is a much faster thall 'experimenting' with the program values. D.. Iypically from 0% to 200% or at least 0% to 150%. in more Dry Run OperationDry run IS a special kind of override. illustrate with a rather example. based on the selling.lt1. no operatOr would want La mill.n .900. the cutting 1001 or both... 1100 and! 200 r/min. next). 700. changes the feed rate programmed in in/min or mlmin. is a catch.. typically 50-120% of the programmed spindle within the A programmed at 1000 r/min can be overridden during machining to 500. The re- Feedrate OverrideThe most commonly used override switch is one that FOT milling controls.. it may be changed temporarily by switch. In such cases.. located on the control panel.. For example.. as well as lathe threading cycles 092 and 076 havc the feedrate override cancellation built into the software. if standard motion commands 000 and GO I are used to program aoy lapping or tread cutting mOlions.. possibly combined a heavy feedrate.CONTROL SYSTEM Spindle Speed Overridesame logic used for the application the rapid rate override can be used the spindle speed override. II is activated from the control by the Dry Run switch.or both. 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. When the '·"'". then change the program so all the tools can be at the 100% spindle override for production. write it down. It only has a direct effect on and allows much higher feedrate that used for actual machining.

they also control some program functions. spindle orientation. this method of program testing must take place without a mounted part (and normally without a coolant as well). pallets and many others. the CNC operator can concentrate on sections of the program that contain actual machining. without actual cutling. This function is very handy when a tool breaks during processing of long programs. the position the Z may inaccurate. Dry run can used in combination with features of the operation panel. LO the program functions that will be locked. Sequence ReturnSequence Return IS a function controlled by a switch or a key on the control panel. Z switch may be in bolh manual and automatic modes of operation. the program can be checked all possible errors except those that to the actual contact of the tool with the material. purpose is to enable the CNC operator to start a program from the middle of an intermemorupted program. The dry run is a very efficient setup aid to all integrity of the CNC program. Usually. The operation of this function is closely lied to the machine tool design. subprogram flow. it is very important to provide sufficient clearances. would make no sense to temporarily cancel either one of axes. When this function IS enabled. we have looked at the Z axis Neprogram provi glect function and the locking of the auxiliary functions. any motion for the will not be performed. auxiliary functions generally relate to the technological aspects of the CNC They control such machine functions as spindle rotation. have to be Input by the Manual Data Input key. To a lesser degree.5the device and dry run is used as well.. Auxiliary Functions lockore three available to the operation of a CNC machine that are part of the 'auxiliary junctions' group. Some machine 1001 manufacturers the name MST Lock rather than Auxiliary Functions Lock. Machine lockMachine Lock function is yet another control feature So far. Needless to say. program closing and others. tool changing. is called the Machine Lock. Certain programmed functions (usually the last and feed). Be careful here! It is important to or disable the switch at (he right time. it means moving the tool away from the parr. Spindle and Tool. CNC operator can concentrate on the of the part contour. More formation on the can be in the machine tool manual. MST is an acronym the first letters from the words Miscellaneous. once the program proving is Some CNC machines require resetting of the Z axis positionSpindle functions lock Tool functions lockdescribed in this chapter. the part cannot he machined safely. Just make sure that the motion along the Z axis is returned Lo the enabled mode. Why the axis? Since the X and Y axes are used to profile a of the part most common contouring operations). also available through the control panel.+ Manual Absolute SettingIf this feature is on the control (some controls use it automatically). When auxiliary functions are locked. all spindle functions S all 1001 functions T will be suspended. without a ant. Because of the heavy feed rates in the dry run. Check machine tool documentation using either of these two features. without worrying about the depth. the spindle functions lool Another function. 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. if properly. such as compulsory or optional program SLOp. lf the Z axis motion is disabled before the Cycle Start key is all following Z commands will ignored. It can save valuable production time. If motion is enabled or disabled during program ". 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. machine related miscellaneous functions M. Once the is proven during a dry run. indexing table. It may seem to test. The applications of these locking funclions are limited to the job setup and program proving only and are not used for production machining.I"\"I'C<'_ ing. coolant selection. just in the air. These functions are:Miscellaneous functions lock Locks M functions locks S functions Locks T functions Z Axis NeglectAnother 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. a run. program is then executed 'dry'. the motion of all axes is locked. As when this switch is activated. neglecting (disabling) Z temporarily. it is functionally to the Sequence Return setting.

During the initialization of a new program run. if available or different intensity.. individual tools are distinguished by different colors.. Rapid motions are represented by a dashed line lype. etc. Not only for the job currently worked on. After all. then seen on the screen. cutting motions by a line lype. When the machine lock is enabled. Whal is an option at one dealership. including the tool and spindle used alone or in combination with This function can other functions in order to dlscover possible program errors. Practical ApplicationsMany of the control features described in used in conjunction with each other. checking if the Path looks reasonable. only the axis motion is locked. Often. In the absence a computer programming (CAM)... is the modification the program that reflects the optimized cutting conditions. Many consider the CNC program as an unchangeable document They the attitude that what is wrilten is infallible . A good bined effort of CNC programmer will always make the effort to 100% efficiency at desk and then improve the evena locking all the tool motions. It may be second or even the third pan of the job when the CNC operator starts thinking of the optimization cutling values. in a reasonable These have now is the lime to look at some practical applications. BUI some important disclaimer first: This handbook covers the subject matter relating to the majority of control features. The details may include items such as a possibility of insufficient between tool and the material. A is Run used in conjunction with the Z Neglect or the Auxiliary Functions Lock. This efficiency is most likely as a comoperator and the programmer. They allow concentration on one or two items at than (he complexity of the whole program. 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. a good CNC operator will take certain precautions as a maHer of facL Forexample. the convenience of seeing the 1001 motions before acmaChining is much appreciated by CNC andalike. where the shape of the part and cuLting 1001 can be set first. as well as sought after... as well as specific details.A production supervisor should not arbitrarily an override selling than 100%. and so on. 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. Some the Lasks include monitoring the spindle feed rate . If the graphics function is applied during machining. When the tool path is tested. the program must edited to reflect these changes. coolant.SYSTEM OPTIONSOptional features on a system are like options on a car. Upwards or downwards the display allows for evaluation of a tool motion or detail areas.A typIcal graphics option shows the axes and two cursors for zooming.which is not always true. such as spindle speed and the culting This optimization will truly reflect the ideal speeds a particular workpiece under setup. What is mosl imporranl. This relatively slow setting allows the operator to monitor the integrity of the program processing. the lool motions can watched on the display screen very helpful CNC machines oily and scratched safety shields. Whether in monochrome or in color. the operator may no other choice bur 10 override the programmed values. control options.~ tool path interface. Many controls include actuallOol path simulation. regardless of whether they are sold as a standard or an optional feature ofthe system. a display on the conLrol panel is a major benefit. but also for repetition of the job in Ihe fulUre. Graphic DisplayGraphic representation of the tool path on the display screen is one of most important.CONTROL SYSTEM29the machine operator finds what values must be changed in the program itself. All other program functions are mally. 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."'''. tool changes.. A careful and conscious approach results building the confidence in the integrity of the CNC program. Do not confuse (his oplion with any type of conversational programming. which also uses a . Probably the mostlypical errors are errors and the various toot offset functions. It is up to the user to find out what exact options are installed on a particular control system. it should be the goal of every programmer and CNC operator to run any job at one hundred efficiency. tool motions. By knowing what function are available. The CNC operator will have a number of tasks to perfonn simultaneously. 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.

or the part. The currenltool posiline or arc endpoinl on tion is usually the location of screen. Allihese are designed for programming and faster dlanges at the machine. specifically designed for peripheral The most common is RS-232 (EIA standard). radii. This ability is somewhat by poor program portability. the cUlling 1001 wears out. others allow more. for even a better blank the mounting device and preset for exact proportions and a variety tool shapes can be stored for repetitive use. which offer variable lypeI f a company or a CNC machine shop is a user of the InGauging option. 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. a rotary table. unit a When this option is in effect and the motion in (he program that takes place within the forbidden zone.An option that seems somewhat is the programming method by using input of dimensions from an engineering drawing. boring. Typical machining for milling operations are calJedfixed cycles. can be stored machining center that is as a control system sTored stroke limit. designed for communications between two computers. there are good chances that other to the CNC control options are installed and programmer. usually for slorage and backup purposes. the mounting device and the tool shape. They are built in Ihe conlrol and cannot be changed. Every CNC unit has one or to more connectors. a fixture. backboring and CNC cycles for face ing. profile finishing. in order \0 use the programmed features efficiently. The ability to input known coordinates. the operator has a very accurate visual aid in program proving. by a program input. the dimensions may fa!! into the 'out-of-tolerance' zone. an error condition results and the machining is interrupted. Setting up the connection with external is a specialized application.. if ler entry. A typical applications may include zones occupied by a tuilstock. As the program is executed. The CNC operator uses such a connection to transfer programs and other seltings between two computers. This option is a good example of CAD/CAM-like features built into a stand-alone control system. etc. etc. are represented by simple lines and arcs. a chuck. Some controls allow only one area or cube to be defined. there will always special programming that cannol use any cycles and have to be programmed manually or with the use of an external computer.the Custom Macros (somt!iimes called the User Macros). Of course. Many modern controls incorporate a feature called CUllillg Tool Allima~ lion. facing. The area (2D) or the cube (3D) can be defined as either enabled for cutler entry or disabled for the cutor. Machining CvclesBoth the milling and the turning controls offer a variety of machining cycles.it will be using another option of the control system . a periodic checking and adjusting dimensional tolerances of the part IS imperative. pocket milling. Using a device a suitable quite a satprogram. also known as the canned cycles. Such an option must be installed on all in the shop. taper cutting. They simplify simple poinl-Io-point machining operations such as drilling.Drawing Dimensions Input Connection to External DevicesThe CNC computer Caft be connected to an external usually another computer. It can set manually on the able. Each graphic element is by a different color. This technology goes a lillie too far beyond standard CNC programming. or perhaps because causes. All the processi ng is done automatically. by the CNC system. such as in manufacturing cells or Agile manufacturing. chamfers and given angles directly from the drawing makes it an attractive option. These stored stroke are designed to a collimachine tool sion between the cutting tool and a fixture. Although this method of displaying the motion of the CUlling tool graphically is certainly useful. even an unusually shaped part. there are two to il. Stored Stroke limitsDefinition an area on a CNC lathe or a on a \0 work within. patterns. Companies that already use numerical control technolwill be well advised to look into these options to recompetitive in their lield.Chapter 5 In-Process GaugingDuring many unattended machining operations. the In-Process Gauging option isfactory solution. CNC lathes have many machining cycles available to remove material by roughing. although it is closely related and frequently used. Cutting Tool AnimationMany of the graphic tool path displays delined earl icr. macros. The CNC part program for the In-Process Gauging option will 'Some quite unique written and will formal features . Programmer supplies the cutting by using approduring the program priate cycle call command. If on the il shows Ihe blank of the part. Fanuc conlrols call cycles Multiple Repetitive Cycles. grooving and threading. reaming. tool life management. Some of Ihe most typical options are probing software.

For progrnmmi a good knowledge of the is an essential start . spindle speed number of 1001 stations.it also conditions not covered in the drawing. Typically. (he machine has LO large to handle the of the part. Very companies go buy a new CNC machine just to suit a particular job. the programs will become better and more with good understanding of the machine and its control system. san~ty and converHcnce. The more effort is put inlo stage of the program. This knowledge allows use of a variety of programml as machining subprograms.programmingo Typical programming procedureCJdrawing /dataooMethods sheet / Material specificationso Machining sequenceTooling selection Machine Type and SizeThe most important considerations in planning machine.. but some basic should considered:MACHINE TOOLS fEATURESNo amount initial information is useful if CNC is nOI suitable for job. and others. be adapted for job and to the specific conditions the work. Such cases are rather rare and happen only if moke economic scnse. Control SystemThe control system is the of a CNC Being familiar wilh all standard and oplional features availableren all controls is a must.a guideline.. Program development programknowledge of the CNC machine operation. Such a process starts with ng drawing (technical print) of the required part released for production. with all con. shape. condition. type. programmer concentrates on a parlieu/ar machine a particular Each part has to be tool. the CNC equipment is already available in the shop. A programmer not to physically run a CNC machine. At (his point. productivity. han. Collecting all this information provides enough (0 start planning the program. Other equally' machine power rating.lness. The and material data are the primary information about the part. the pan should nOl be heavier than the maximum weight allowed. grinding allowances.o Initial information / Machine tools featuresooPart complexityManual programming /. partIcularly are the type and the size the ils work or work area.are quite tlexible and shouldINITIAL INFORMATIONMost drawings define only shape and of the completed part and nonnally do not specify data about the Initial blank material. the results may be at the drawing The initial part information is not limited to and the material . next machine setup. requirements for hardening. Before the part is machined. features. program can be planned. so on. several have (0 be considered and carefully evaluated. control system must be capable to provide the needed path. There is no useful fonnula for all jobs.nfTmllr. etc. etc.mainly part accuracy. their poweroParto Technological decisions o Work sketch and calculations o Quality considerations in CNC I'IT/'Inflllmrn"nnsteps in the list are suggestions only .and machining. 1001 changing system. program nlng. small CNC mahave higher spindle speeds lower power large machines lower spindle speeds available. objective of such a plan is to use the inilial information and establish the most efficient method of machinmg. accessories. as pre.mainly in terms of its size.PROGRAM PLANNINGThe development of any CNC program begins with a very carefully planned process. macros timesaving features a modern CNC system.STEPS IN PROGRAM PLANNINGThe required in program planning are decided by the nature of the work. Yet. In most cases.31.

Onthe other hand... Programmed data can transferred to the CNC machine via a cable. In area of have major role for a long Machine controls have more sophisticated. are others. well documented and professionally part p. manual programming. Since the late 1970's.. manual part programming does have qUi. Tolland. The cost of a CAD/CAM system is only a fraction of what il used to be only a few years ago. all calculations are done by hand.. Contrary to many beliefs. an inexpensive desktop or a laptop computer.ques of data tool path graphics. is and more rellable than other methods..operators will express their personal preferences. The fatest CNC controls make manual or gramming much easier than ever before by using repetitive machining variable type programming. The acronym CAD/CAM means Computer Aided Design and Computer Aided Manufacturing. machining can now be prepared with the uscMANUAL PROGRAMMINGManual programming (without a computer) been the most common method preparing a program for many years.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. such as APyrM or Compact IITM. where programming is only a sman whole subject of CAD/CAM covers much more just design. It makes sense from management perspective it is a good way to gain experience. ~re a large percentage of errors.. a Windows based programming soft ware can very benefiA typical example of this kind of application is the popular and powerful Masfercam. material and the available CNC equipment are the complexity of the ming task become. In fact. standard mathematical input and other time saving features. in (he sense thatChapter 6 DisadvantagesThere are some disadvantages associated with manual Perhaps the most common is the length of reqUIred to actually develop a fully functioning CNC program. '" three (CAM). incorporating latest techni. in the form of language based programming. It is a part of modern also known as ClM .. It forces the programmer to understand programming techniques to the lasl detail. a lack of tool path verification.. small shops now find that the benefits offered bv modern technology are too significant to ignored. every operator appreciates an error-free. directly at the machine. 'u . CAD/CAM has played a significant role by adding the visual aspect to the programming process..CAD/CAM AND CNCThe 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. such a perception is quite subjective.J AdvantagesOn positive side. The first three letters (CAD) cover the area of engineering drafting. with the aid of a pocket no programming i~ used.Computer Integrated Manufacturing. many useful skills learned in manual programming are directly applied to CAD/CAM programmIng. The manual calculations. drafting and programming.rogram.le a few un~atched qualities.32of the main concerns in program plannin o should be the operator's perception of the .program~ing. Programmer to know what is happening at all times and why it is happening. a thorough knowledge of manual programming methods is absolutely essential efficient management of CAD/CAM programming. tight discipline in program development. 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. (he difficulty in making to a and many others.. Short programs can manually. from CNC Software. cover the area crized manufacturing. by keyboard entry. programming systems are availahle various computers and can virtually job. A punched tape to the popular media of the past but has virtually disappeared machine shops. verifications and other related activities in manual programming are very time Other also very high on the list. "' . For a typical machine shop. To a la~ge degree.many years. graphic tool motion simulation. personalPART COMPLEXITYAt the drawing. consistently and one after A poorly deof Signed program is disliked by any operator. Very important is the tn-depth understanding of every detail during the program development. Programming it teaches a manually does have some disadvantages. Inc. 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.

Setup of the part 8. cuning tool inventory managemenl. The same computer could also used for uploading and downloadIng CNC programs. Control system features 5.integration. to reflect a particular CNC prostyle.The manual programming may somewhat frequently today and eventually will be used even less . terms of actual use. etc. 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. are some special computers cannot everything. the computer will prepare a part program. is no an even small machine can afford a systems are also programming system in house. at work. Technological data (speeds. setup sheets and tooling sheets.really understanding it . or in a logical methodical The first sion~ relate to what tasks have to be done and what goals have to be reached. The items are only in a offered for further This order may changed to reflect special conditions or working habits. popular because of their flexibility. Such a progressive method not only isolates individual problems as they develop. Machine tool specifications 4. there are ItO ideal procedures. Working sketches and mathematical calculations 11. regardless ofThere 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. Duplication breeds er-rors. Program documentationWhen a drawing is made in a CAD software (such asAutoCAD). ready to be loaded directly to the CNC machine. Determination of the tool path 10. most of the CAD tems incorporate a transfer method of the design to the seCAM system to be for CNC programming. The other decisions relate to how to achieve the set goals in an efficient and safe manner. etc. feedrates. Some items may be missing or redundant: 1. QT permanently.) 9. Typical transfers are achieved through special DXF or lOES files.but knowing it well . Sequence of machining operations 6. Manual programming for CNC machines serves as the source new technology . it also forces their solution before the next step can be taken. suggested procedures some changes for example. Remember. Tooling selection and arrangement of cutting tools 7.it must planning . One of the most important rules of using a CAD/CAM computer software is:TYPICAL PROGRAMMING PROCEDUREPlanning a CNC program is no different than any other . manual programming is the way to the ultimate control over such a project. future of Manual ProgrammingIt may seem that the manual is on the cline.is and always will the key (0 control the power of CAM software. Program testing and debugging 13.at home.PROGRAM PLANNING33the price. IntegrationThe keyword in the acronym CIM is . In order to avoid duplication. without knowing its andcomputers. and efficient CNC machining. there is a duplication. using graphical interface. For of example. may handle to an absolute If the control system can handle il.it is (he very concept on which computeropens the programming is door for developmem of more powerful and soft~ ware applications. often done by the pro""lnr'ln"l'''r can implemented on the same computer. Material stock (blank) evaluation 3.. then done again in a CAM software (such as Mastercam). material information sheets. foHowing items form a fairly common and logical sequence of tasks done in CNC programming. part programs. when other methods may not suitable. A typical computerized programming system not have to be dedicated only to programming . 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. The main behind a successful integration is to avoid duplication. this is probably true. how can the program output be exactly as intended? How can the CNC operator change any part of the program on the machine. il is necessary to keep in perspective that any computerized technology is on already well established melhof manual programming. with a well customized and computerized system. Study of initial information (drawing and methods) 2. a kind of formatter).all related tasks. for a given job. programming projects that a CAM software. It means putting all the elements of manufacturing together work with them as a single unit and more efficiently. Program writing preparation for to CNC 12. only the tool path related process is needed.

iflFlF!rinn drawingDate: Drawing number:6-2 Program using ABSOLUTE dimensions Only one change in the program is necessaryand contents of a title block coman the eype of manufacturing and internal usually a recl.. Both. it secutive . Revision dates in a drawing are associated with the title block. when developing a subprogram for tool path translation.6·1 A title block 8xa'mDIB of an .PART DRAWINGThe parl drawing is the single most important document used in CNC programming. etc. both types of dimensions are mixed in the same drawing. drafting and CNC programming mUSI be eliminated. The mosl common for CNC machines uses the absolute dimensioning method (Figure 6-2). 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. lts purpose is to collect all mation related to the particular drawing. 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 they are harder to study by the and may need to 'interprered'to be of any in CNC programming. special instructions. drawing number.mn./ ."'. Just as it helps the programmer to understand designer's intentions.:App . tolerances.. Often. and DimensioningDimensions on the part drawing are either in metric units. the designer and the programmer have to understand other's methods and find common ground that makes the whole process of design and manufacturing .or incremental dimensions intO datum . and the b) figure after revision. Individual dimensions can be a certain datum point or they can he from the previous dimension.. Only the latesl ver" sian of part design is important to manufacturing. in drafting the equivalent word would be relative.170170By110 . Both illustrations show the a) figure before revision.dimensions. Such drawings are erally correct in technical sense.. differences between the two dimensioning systcms cnn be compared in 6-2. dimensions. as they indicate how carrent is the version. Most CNC programs benefit from drawings using datum. traditional between design. details and sections.--a. rc-With the absolute system of dimensioning. In the CAD/CAM environment. The contents of the title block include such items as the pari name and part number. They are important to the programmer. material data.34Chapter 6 title block supvisions.". Title BlockThe title block 6. with different views.and the choice depends on the application. many program changes can be done by a single modification. using the absolute dimensioning using the incremental dimenmethod. divided into several boxes.. but may used for program documentation. Drawings of complex parts often cover many sheets. Typical examples are of a datum point methods of applying dimensions. The programmer first evaluates all the drawdata first.-lIblDr. tinish and many other requirements for the completed item. rather than the method manufacturing. Incremental method requires alleast two modifications.be the right choice .. that can be used as a program reference point and the view orientation in which the part is drawn.. an incremental method of programming may .or absolute . or absolute Similarly. When writing the more to all conprogram. positioned in the corner of the drawing..: Chk. it helps the designer to understand the basics of CNC programming..is typical to all professional infordrawings.. mainly because of the editing ease within the CNC system. and in word incremel1tal is more common in sioning CNC."'. It visually identifies the shape...angular box.

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. and even use Geometric Diflumsioning and Tolerancing standards (GDT) . What actual dimension should appear in the program?al70! ----.PROGRAM PLANNING35---. the actual dimension will become smaller as the CUlling wears out By programming X74.<. example. 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). Metric drawings use specifications expressed in microns.000 will be different from a mel ric tolerance +0. but when done too often. cutting of a tool wears out wilh more parts machined. Another apator may still be required. the the tolerance range). That means the machine operator has to fine-tune the machined size by using the tool wear available on most CNC systems. Many companies have upgraded their to the ISO system and to principles of CNC dimensioning. but for the technical points as well. during machining is Such a manual acceptable. its closest rounding. This is a poor practice and should be avoided.95 for the external (the bottom Iimil) or X75.00/-0.1719. A tional dimension was sometimes used to identify a importam dimensional tolerances (such as :1:. an English of +. It may be true thai CNC operator is ultimately responsible maintaining the part within the tolerances (providing Ihe program is correct) . 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... such as AutoCAD. where micro inch =. methods are not an ISO standard are nO use in programming.O for the inlerna] diameter (the top limi!). In the case of an internal diameter. rather than away it The lool offset adjustment by machine operfrequently. do not change the default setting of the number of decimal dimension ends up with four decimal places (inches) or three decimal (metric). 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.Surface finishPrecision parts require a certain degree of surface finish quality.._". The best approach is to for all dimensions require them.975 is also a Each selection is mathematically correct A creative programmer looks not only for the mathematical points. Dimenmu. The dimension on the high side mlly be programmed as X75.030 inches from the nominal number of digits following (he mal point often indicated a tolerance (the more digits specified. Some drawings use symbols .001 mm.but it is equally true. most part have a range of acceptable deviaLion fTom the nominal size.--' 40 ---' 60 --. it slows down the production and adds to the overall costs.TolerancesFor quality machining work.. Symbol for a micron is a Greek letter )1..Figure 6-4.60.95 on the low of the A middle value of X74.0 and X74. within its system of reference.05 mm.:I60eA drawing dimension specifies a hole as 075+0. Fractional dimensions have to be changed inlo their decimal equivalents. the tool edge wear will cause the actual dimension during machining to become larger. where 1 micron:: 0."Figure 6-3Program using INCREMENTAL dimensions Two (or more) in the program are necessaryFractionsThere are some choices. the wear of the cutting will move into the tolerance range. Technical drawing indicates the finish for various features (he part drawings indicate the in micro inches.0 mm.Drawings in English units contain fractions. In this respect.0011-.1/-0..1 sions of this type are usually critical dimensions be maintained during CNC machining. 00000)". drawings usthe metric units are much more practicaL Some dimensioning problems are related (0 an improper designers use of a CAD software.

unmachined Some may already premachined. but cutting conditions for machining as well.<u.. as they may significantly influence the example. detailing the route of each part through the manufacturing steps. tooling. One of purposes of a methods sheet is to provide CNC programmer with as much information as possible to shorten the turnover between programs. drawing dimension always shows thejinished In the program. with an arrow on the pointing towards ar~ that it to. often overlooked by CNC programmers. as well. A good quality methods sheet will save a lot of decisions . a is available. typically in a plastic folder. both CNC tional. CNC programmer acts as a . usually with both the previous and the new value exampl~:REV' 3 / DIMENSION 5. forging. .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.it is made by a manufacturing who specializes in work detailing. The time will be longer but can often be by elimination of any subsequent operations such as grinding. thus offering a overview the turing process. Make sure the program not only reflects the current engineering design. a certain hole on the drawing should be drilled and tapped and is dimensioned same way as other hole. For whatever reason.' ' ' " Drawing RevisionsAnother important section the drawing. a large number of CNC machine shops does not use methods sheets. It may solid or hollow. The shape of the material the setup mounting method. etc). Generally. billet. The of malerial (steel. .. Many programmers keep a copy of the part ing corresponding to the program in the files. may Many drawing instructions use a special pointer called a Usually it is a line. a larger cuLter radius and slower contribute towards finer surface finishes. cutting tool radius and amount of material removed.' ' . in words. routed from another machine or operation. plate.75 WAS 5..36The most important factors influencing the quality of surface finish are spindle speed. Material UniformityAnother important consideration. often neglected by and alike.!". routing sheets or lar documentation.. such as this. thus preventing a possible misunderstanding later. skills responsibility at same time. cast iron. will influence not only the of cultools.'''''' (known as revisions) made on the drawing up to a date. The ideal is one recommended manufacturing process closely matches establlshed part programming methods. brass. people dcvc\op a of machining . Their (routing that structions arc written in a methods accompanies the part through all of manufacturing. Special InstructionsMany drawings also include special instructions and comments that cannot with the traditional drafting symbols and are spelled out mClleoemlenlly. is the uniformity material specifications Within a particular batch or from one batch to another. develop machining seand setup methods. but also is identified some unique way to distinguish it from any previous versions... but a special instruction indicates the drilling and tapping must done when part is during assembly. example. 65Only the latest are important to the program development. Such instructions are very important for CNC program planning. Such an environment offers a certain degree of flexibility but demands a large degree of knowledge. For a leader may be pointing to a with the caption:~12MATERIAL SPECIFICATIONSAlso important consideration in program planning is evaluation of the malerial stock. Operations relating to such a hole are not programmed and if any overlook of a small instruction in unusable pan. For a ' ordered two suppliers La slightly different.REAM 2 HOLESis a has 12 mmto ream 2 holes with a reamer that.' ' . an I"ll"mpn! the part is identified as aground or diameter. shows the . honing or lapping. .6METHODS SHEETSome companies have a staff qualified manufacturing for determitechnologists or process planners of the manufacturing process. etc. this dimension muSI be adjusted for any grinding allowance necessary . If copy should become a part of the documentation.H . They allocate the work to individual machines. or the designer identifies such changes. with a small or a amount to removed by CNC machining. greatest advantage of a methods sheet in programming is its comprehensive covof all required operations. Typical material is raw and bar.

(milling) or (turning) . the spindle can be calcuper minute (r/min): Machinability rating in the English per minute (ftimin). not be practical in subprograms. For example. where the length of varies beyond an acceptable range.PROGRAM PLANNING37even A similar example is a macut into sjngl~ pieces on a saw. in turning..MACHINING SEQUENCEMachining sequence Technical skill help in program some common sense sequence of proach is equally must have a logical example. theT02::: Drill Hole4Hole 4Figure 6-5Il3r'where . 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. but no cuts will be too heavy to handle. periphper minute. Another important factor is the current position of a tool when a operation is completed. wi1l do as much as possible.is given in units terms surface feet or CS). The method is to cover all known predictable inconsistencies program control.re-mlmin = n: (pi) =DProgram planning is not an independent dividual . spindle speed (r/min) lOol diameter (for a or a given part a lathe) is calculated.I1<". It also creates potentially unmachining conuiLions.(1p('l for positioning the tool than for a tool change. then the semifinishing or finishing operations. when a pattern holes in of 1 the next tool as a boring bar.(g<::ste:a feeds for major tooling most common in programming. Charts with SUj. method is to program a roughing for the meter. then roughing all material on wili take place. In both cases.in inches or mmversetools and the setup method. for using the block skip function. a face cut may be on the part first. drilling must programmed before roughing operations before second. first operation order. properly identified.. Machinability RatingIS important aspect of machinability. parwhen an unknown is used.. reamer or a tap) should be order of 4-3-2-1 to Figure 6-5. At worst.it is a very interdependent and cally coherent approach to achieve a certain. but this method minimizes any shift of the material in the holding while machining. constant sUlface speed eml or just surface speed are For metric meters per mindesignation of the machinability ute (m/min) are used. there will some air Ctming or needed cutting feed. Another is in benefits by programming all heavy first... system. etc. when the material properties are known. Within this finishing..p. further of the order of individual motions is required for a particular tooL For example. If problems are encounthe best planning is to place emphasis on safety than on time. This inconsistency between blank parts makes programming more difficult and lime consuming. The suggested values are a starting point. a tool On most CNC less time is np. and can be optimized later. It may mean an extra tool change or two. approach is to non-uniform material groups and make programs for each group. common formuI-<n.141593 ... OftenFor acalculation. 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. r/min=121000 fVmin==Revolutions per minute (spindle feet to inches""''''"1''''!'1' may havetobemeters to millimetersPeripheral speed in feet per minute Peripheral speed in meters per minute value of 3.

\..n"' . a document serves as a guide to the operator job resetup. bored jaws 1"I ."". of spindle speeds is of the cutter and speeds and feeds.."' .. It should include at least the basic lating to the tool....~h_ own various versions.. all Other information in setup sheet to some establ ished planning stages of of clamps.. that shows the part orientation when mounted in a tool offset numbers by the program. Cutting lools remany other holding attention... a tooling ..lJ111'U. where (0 select a etc. the help determine what amount can be removed ~afely.they.cutting tool itself is tion.how to mount the raw or premachined material. each tool is assigned to a turret station. due to variety availableInare designed to more productive. of usage is also a The arrangement of subject of serious in CNC program planning. Mos:tTECHNOLOGICAL DECISIONSThe next stage of CNC "'. Mulfispmdle '''''~'''III'''~ can handle two or more parts at the same tures. 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 thatindexing.. CutterPART SETUPAnother in program planning to setup . how what supponing tools and devices should many operations are required to complete as machining sequences as possible. too. once the setup is demaking a setup sheet is a good A setup sheet can a simple sketch. . not (he machine mOllon.. Not to be overlooked is the proper selection of cutting fluids and lubricants .... designed mostly the use at the machine. etc. the number and offset and feed selected and other relevant information..the should know principles of cutcases.. application. A knowledge of tooling and its applications is a technical profession . clamps.where theAll tool offset and other program be documented in a known as the looling sheel. the in terms of the cutter .. idenlificaof course.." . the documentation may include its length and diameter.. elc.nn. Most .. All tors will have their Influence. setup rigidity..1. . It should be selected by twooQselec-Efficiency of usageSafety in operationMany supervisors responsible CNC programming try to make the existing tooling work at all times.'"" lection of spindle speeds.. Setup SheetAt this of program planning. chucks. tive may provide additional assistance. are 1ant for the part quality. Other factors (he program design mclude tool extensions.&>~'~M tool applications. indexing tables. most noticeable programming a machining to a lathe is the cutter rotation comIn both cases.. such as barfeeder for a lathe.6TOOLING SELECTIONtool holders and cutting is another important in planning a CNC category of tooling covers n lot more than Ihe cutting lools and 1001 holders . an or dual setup on the table.. On CNC lathes.it includes an extensive line of including nufixlures. For example.. is necessary and it should be doneThe key factor understanding this principle is to visualize the tool "... added as well. <" Setup sheet and tooling can source of Information. Often they the fact that a suitable new lool may do the job faster and more economically. culling tool material and its condition..

coolant functions vary between machines.f'n(lp.6/. position 3 is the from point 2 and so on.r"'CfIl'-Jl'(f dry. with a pipe or through a coolant in the tool. Formulas are available for power ratings.as intended (lathe or miff) Machine Power RatingMachine tools are power. Useful is ofkWandHP on I HP = 550 foot-pounds second):1 kW= 1.. a special option has to in the control unit Two of typical tooloPoint-to-paint81so calledPositioningoContinuousa/so calledContouringa point location operations.341 HPThe tool path all profiling tools has to into consideration the cutter radius. case.. If the contour is be in X Y axes.. becomes possibilities. which has to be cnIcuiated.l''vU''''vIJ. tool wear faclors. but air blast or oil mist may be allowed. conrinuous path generates a profile (contour). take the same care as with motions.. etc..6-7Contouring too! path motion with tdefltifil~d contour change pointsstart and end positions profile are identified and so are (he positions fQr contour change. Z axes.-. and similar operations. coolant should r'f'r'f'lIT. In turning..operator is responsible for a """""VI" the machine.PLANNING39require 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. A particular should be lO minimize tool motions and ensure'-UlIklll'"Figure 6-6 Contouring too! path motion . The order of locutions in the program is very important. so check the machine reference details..!.t1 proportions. lion is to reduce friction and make the flood of the coolant should at cutting edge. To more complex paths.. Heavy cuts require more power than cuts. The cutand may break... Such cases are 1I1"1<~f"f"f'nl must be prevented.of in can be comis not always in everyday programming. a for an extended peM. as a helical milling motion. To must be used. The CNC machine specifications the power rating of the motor at the machine rating is in kW (kilowans) or HP (horsepower).T r"Water soluble oil is the most common coolant. A propcoolant dissipates the cUlting edge it acts as a lubricant of lubricaremoval easier.. such as drilling. experience is often a bener teacher than formulas. all as features.1(\End-i:-.. Water to preserve the CNC n"I"\Or~lmYrlpr not. Coolants and lubricantsWhen the lool contacts the of Lime. the programmed data to the po~ition of the culter when a certain is This position is called the tool 6-7. Ceramic nn.. without a cast flood coolant.m. A depth or width of a cut that is too large can tool and stall the machine.. until the End is . a great amount of overheated. either by equidistant path center of the radius or ler radius offset. calculating removal rate... position 2 is the target position beginning at point I. Each tarposition is called the contour change point. machines for milling and provided with linear interpolation and lar interpolation. That means the tool position] is the target position commencing at the Start point.

Using color or point numbering as identification methods offers and organization. Fill-in all values. sketch can done by in an approximate Larger sketch scales are to work with. use point reference numbers and crepain! in ate a coordinate sheet fonn numbers.filled form for milling tool pathQUALITY IN CNC PROGRAMMINGAn important consideration in is a perapproach and attitudes. calculus. any lype often benefit from a pictorial Calculations representation. . Rather (han writing coordinates at contour change drawing. surface calculations. it cient? program quality is more than writing an error program.are required for programming complex molds. etc. Scaling sketch has one great advantage . Advanced of mathematics . complexity is only related to your knowledge and wilr to solve problems. the ~hape of an extremely small tail. well Can a be improved. Every is associated with mathematical calculations. Lriangle can calThose who can a right of the culations for almost any CNC program. the cutting edge cannot seen. spherical trigonometry.Coordinate sheet example . sure the coolant actually reaches the tool edge contact with work. CUHing are often messy.40 Identification MethodsChapter 6The of cUlling fluids outweigh their inconveniences. Such calculations usually need a working should sketch. attitudes a significant influence on the program development. similar In such cases. you should never use the sketch for:er use a scaled sketch to6-8 Coordinate. a CAD/CAM system is necessary. It should be a goa! to a program is the Set your standards high! programScaling a sketch is a and unprofessional that creates more problems than it ness or incompetence.. etc.anageometry. as illustrated in FigurePositionIX axisYaxisZ axisWORK SKETCH AND CALCULATIONSManually progTams require some mathematical calculations. it is often not the solution i{selfthat is it is the ability to arrive at the solution. by filling only the icable The aim is to develop a consistent programming style from one program to another. 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. At handbook is an of some common math problems.is when to turn the A coolant related programming coolant on in the As the coolant function MOS only turns on tbe pump motor. However. may wet and old all problems recoolant smells. proper lated to coolants can tie controlled. Programming the coolant on is better than late. but not more complex calculations. is it safe.A sketch can be done directly in the drawing or on paper.blank form Ino data)Such (\ sheet can be used for milling or turning. Almost any math problem in CNC gramming can be solved by the use of algebra and trigonometry. even those that do not A compleled coordinate sheet is a reference 6-9. Ask yourself some questions. When working with more difficult contours. part of preparation intimidates programmers but is a necessary Many contours will require more calculations.you can immediately see rhe dimensions the others. the relationship should be smaller or larger of individual elements. Are you attentive to detail.

even those same control This is common. Numbers applied in either mode can only be entered within the range that is allowed by the control system. and symbols IS led the alpha-/wmerical program input. preparatory misceLlaneous ftmelions and many Olhcr definitions .DigitsThere are ten digits.. numbers can with or without the decimal pOint. but some controls accept low case ters with the same meaning as their case equivalent.. each word begins with a letter that is followed by a number representing a code or the axes position. Such variations are usually minor but programming. in addition (0 the digits letters.toLettersBASIC PROGRAMMING TERMSfield of CNC its own terminology and terms and its jargon. for real (numbers with a decimal positive or negative values.e upon the demands individual machine control manufacturer 10 accommodate many original machine features.is composed one or several words and each word is composed or two or moreo Digito LetterSymboloCharacters are combined into meaningful words.41. written in tool. plac. There are fOllr terms used in They appear in professional books. The are used in two modes . These words are the key to the CNCWord . 0 10 available for use in a program create numbers. This input method of a procan be defined as an arrangement of machining formal the CNC related inSlrUCliolls. minus percent sign. The most common symbols are the decimal point. 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. Numbers can controls. CharacterA character is the smallest unit of CNC program.one for integer values a point). For example.PART PROGRAM STRUCTUREA program is composed of a series of sequentiaJ instructions related to machining of a parI. This combination of digits. bUI most are differences among manufacturers. depending on the options. lUres and so on.. WordA program word is a combination of alpha-numerical creating a single to the sys-Each term is very common important in programming deserves own detailed explanation. Typical words indicate speed. Normally. Each tion is specified in a format the CNC system can accept. and aimed at a particular have a different format. parenthesis and others. Capital letters are normal designation in programming.If in doubt. a accept only CNC la(he control will the letter as Y axis is unique to milling (milling machines and machining centers). feevalue. at leasl in theory. Most control letters reject others. It can have one oftem. Each· must also conform to terpret and the machine tool specifications. BlockJust 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 . ProgramThe 26lelters English alphahet are 1)11 available for programming. use CAPITAL letters only!SvmbolsSeveral symbols are used for programming.

lowed numerical with or without symbols.N 5 GO: 1~y ." . ~_O:Figure 7·' Typical word address programming format ProgramThe parI program structure varies different controls. ' mand a function M.:!block skip symbolB180."'I. It may represent a sequence number N. . program ends with a SlOp code or a program termination symbol. the tool function etc. three formalS had become significant in their time. block (0 end with a cial End-Of Block code (symbol).The !cHer in of the word and mllst alwaysis correct.'6 ~~~_L-"!. Both of them disappeared in the early 1970's and arc now They have been replaced by the much more convenient Word Address Formal.Jleg(llive value92500z-s . or symbol represents one character in the and Ihe control memory. When writing a program on paper each block should occupy only a single line on paper... unit a sequence block or simply a block.Miscellalleous funCTion Offiel nwnber selecfion millsCoordinale word Tool length value Sequence Illlmher(block Illunber)mosHOI YOIIwnberWORD ADDRESS FORMATThe word address formal is on a combination of one JeHer and one or more digits . one word is a series characters (at least two) that define a single instruction to control and the machine.!' 5 ..:>. but logical approach not one control to A CNC program usually with a program number or similar identification. iOlhe MDI (Manual II/pur) mode al the control.. followed by the blocks Instructions in a logical order.decimal pointIDOD2S XS.Figure 7-1.Chapter 7c6 IFWordsF2 7 5'.42In the control system. an number D or H. program block contains a series of single instructions that are executed together. where the letter the address.0TOSOSTOS/MO 1Feedmlejunction Tool funclioll .""1"I" . 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.75 TOSOS NiOS HOI T05 /MOl YO S2500 B180.0 XS.~_~_ 2J. as the percent sigll %. above typical have the following meaning in aG01PreparaJOI)! comml1J1tiFormatNC only no decimal NC only· no decimal pointooFixedWord Address FormatNC or eNC . must be allOlhers. No spaces characters. kl1hes TooljilJlClioll.0Individual arc instructions grouped together to form sequences of programming code.~.. 0'Block011N15. a coordinate word Y or the feed rate function F.75Only the very' early control use the tab sequential or jixed formats. The word address \0 a specitic register of the memory. This is as EOB on the control panel. a n . When preparing the program on a computer. In some applications. This varies greatly and on the preceding <1UlHC.mills". This unique alcreates l) word.) but are only allowed before [hePROGRAMMING FORMATSthe early days of control. Each teller. (he EHler key on the keyboard will terminate the block the same result (similar to the old Carriage on typewrirers)..14F12. Internal clocumentation and (he operator be placed in strategic places wi The format has evolved cantly during the formats emerged. Some arc:GOI M30 D2S Z-S. the spindle function S. such a combination can be mented by a symbol. Each will process a of instructions simullaneously.14 F12.' such as a minus or a point. are allowed wlthill a the word.. meaningblock written is no\. They are listed in the order of their original introduction:o Tabnumerical assignment.0CoordiJlaJe word· zero l/aJue SpiJuUe speedjuJlctioJl CoordflllJJe word .

Consider the following complete nnd not abbreviated description of the address X· as a coorin (he metric system: dinate that isY axisJJ+4. and their position in word is Some are in custom macros. point is no sign is usedfORMAT NOTATIONEach word can only written in a specific The number of digits allowed In a word. is set by the control manufacturer.3X ± 53B--Number of digits decimal pOint Decimal paint allowed Number of digits decimal point Positive or negative value possible Described address1+4. The column is the format first column is the address. digits maximum in front of the decimal point.4 (1+5.3-----. Symbols can be used in only some words.. a few others.unit is . depending on address and maximum number of decimal places.Q Y4. format and description is listed in the notations based on a following tables. as long as the blocka random word order lS firstF3.decimal point is allowed. two digits maximum behind the decimal point.The next blockpositiona rapid tool motion to (he X 13.SMOBSequence or block number Absolute mode motion mode Coordinate location ON functionThe of a decimal point in the notation means the decimal point is not used.38+5.-FGHnumber (tool position1001and/orlengthFigure 7-2 Word address format notation ._--. no decimal point or sign digits maximum. Most controls in a block. Control limitations are imporused tant. the notation and third column is a description: Short FormsControl manufacturers often specify the input format in an abbreviated .4 (J+5.X axis format in metric mode shownArc center modifier for X axis Shift amount in fixed (X) Corner vector selection for X axis (old type of controls) Arc center modifier forThe full description each would unnecessarily too long.6. Listed are format notations for milling units. No! all can be Only ters with an assigned meaning can be programmed. There are no industry standards and not all conmanufacLUrers use the same methods.0Y4.Figure 7-2. decimal point.used about the Y axis Cutter radius offset number (sometimes uses address H)Feedrate runction . Milling System FormatThe description for pending on the input units. The table below lists formal descriptions (metric format is in parenthesis.may vary4I·-iII-iII-4I-e002F5.0 Y4.N25 G90GOOX13.. These samples format notalion explain the shorthand:G2N5Two digits maximum.never partially. Symbols supplement the and letfers and provide with an additional Typical symbols are sign.2 Five digits maximum. except in a comment. All symbols are listed in aBe careful when evaluating the shorthand notations from a manual.PART PROGRAM STRUCTURE43Address 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 . no decimal point or sign Five digits maximum.a lack means a positive value implication..3)degrees· Rotary or Indexing axis . list dresses. the absence of a plus sign in the notalion means that the value cannot be negative .3)Shift amount in fixed cyclesCorner vector selection for Y axis type of controls). They typical Fanuc control system.6 MOSt6f' where . with a coolant turned on:N25 G90 GOO Xl3. applicable). no decimal point orThe control will process anyone block as a complete unit.Address NotationDescriptionRotary orAA+5. so the the short forms may vary significantly.

4 (W+S..3}X axis coordinate value designation-----ooicondsvaluez Turning System ..6LMNM2Miscellaneous function Block number or sequence number Program number (EIA)or (:4 for ISO)Precision feedrate forFeedrale function'''p.JDescriptioninput Chamfer for directinputxcC+4. ric notation is in parenthesis.4 (X+5.3axis Dwell function with G04Incremental value in Z axis Stock allowance in Z axis Absolute value in X axis Dwell function with G04wW+4...3)Arc center modifier for Z axis04Number of divisions in G73Depth of Cul in I and Relief amount in G74 and G75 Depth of first thread in G76DFixed cycle repetition count Subprogram repetition COUnt044(053)E2.~ ~"""~"~~'"Description"KK+4.."~.....4 (K+S.. .3) Z+4. Notation is in to the address. ifAddress ANotationA3uUS.4 IZ+5..6may varyGG21+4..3)z.4 (Y+5.3) X+4.7Notation.4(C I 5.used with G 10 Dwell time in milliseconds Block number in main program when used with M99 Depth of peck in fixed cyclesG73 and G83pMotion amount in X in G74Arc center modifier for Z axis Taper height in Z for cycles Z axis relief in G73 Direction of chamfering Motion amount in Z in G75 Thread depth in G76KQLMNL4Subprogram repetition count Miscellaneous functionBlock number or sequence numberM2N5Rin fixed cycles Arc radius designationS5sTop04Spindle Tool functionin r/minProgram number (ErA) or (:4 for ISO)Subprogram number call Custom macro number call Offset number with G I014xy Y+4...~FF2.~. Similar chart as for same are included only A number of definltions are the met~ for convenience.>"..3)Preparatory commandsArc center modifier Taper height in X for X axis relief in G73 Direction ofX axisP4Subprogram number call Custom macro number call Work offset number .J) X5...4 (1+5.'+Ihis one is for lalhe systems.

TOP FACE ) (STATUS .. Many them an additional ters.. ZERO .. the preparatory command G will the at other times it will be theor a setting of parameters.. next sample of items that may be used in(FILE m:ME .R. 19: 43)addition sign in Fanuc macrosMinus signNegative value or subtraction in Fanuc macrosMultiplication*/MultiplicationinFanllc macrosBlock skip function symbol or divisioll sign in Fanuc macros(PROGRAMMER ..0Negative value Posimte value Positive value (-+...J"'".S. even more variations may be necessary..... OKK .......0 Xl2S.. If the the number becomes positive..... DRILL-BORE-TAP) (STOCK MATERIAL .. Some the addresses an established meaning (for example. In addition..BOTT EDGE) ( ZO ......orPROGRAM HEADERComments or messages providing are enclosed in of inlernal documentation is to both the programmer and operator..The Plus and Minus SignOne of the most common .. scribes all symbols available on the SymbolDescriptionFractionalPositive value""'''. as they would cause an error. A series of comments at the top is defined as the program where lures are identified. Y and Z are coordinate that giving would be confusing...LEFT ( YO ..0 X+12S... H... Multiple Word AddressesOne that is in both dance different meanings for some This is a necessary feature of a word address format. on the other are not used very often and a multimeaning for is quite (addresses I. the meaning of varIes the milling and turning systems...0system has to have sam!. and All character combinations are not allowed..plus or can be either or negative.. with (in this case the tool position):anX-12S. Crrl.. XO . NC) (LAST VERSION DATE . there are only 26 in the English but more than that number of commands and functions..1I#SelmiCI)lon Variable definition or call in FanI Sharp signmacrosEquality in Fanuc macros(UNITS . symbols for applic(ltions. means of acceptinga particular word with a precisely defined meaning in the In most cases...... .... As new contTol features are added. 07-DEC-Ol) VERSION TIME .ANOC 15M)!I... NOT VERIFIED).sign is ignored)Commentof a numberSymbols supplement the and digits and are an integral part the program structure...... F.. 01234.VMC) (CONTROL .. K.. These symbols cannot used in s(andard programming..must always be programmed. PETER(MACHINE ...-.. if no grammed in a word:X+125. . X.. PLATE) SIZE 8 X 6 X "... for example)... J..is {he same asX125.'''ES.. (JOB NUMBER 4321) (OPERATION ...0SYMBOLS IN PROGRAMMINGIn addition to the basic symbols... convenience. After all..... This IS positive the control Positive lerm i nrlicating an MS\lmed positive value. virtually all systems allow for an omission of for all values.PART PROG RAM45table lists symbols are only with custom macro option.. Typical standard symbols are found on the computer keyboard.

CUTTING MOTIONS WITH TOOL TOA---)N62 GOO GSO Z2. Many CNC systems will an alarm if the 1001 change command cannot find tool in the the following program example. The XY value in the block N88 should be current position00701 MAX 15 CHARS)If a 1001 has 10 repeated. F .0 M09N63 G2B Z2.1/4-20 PLUG TAP ***)Chapter 7identified as well.BLANK LINE --) (TOOL T03 INTO WAITIN'G POSITION . MO) T03N39 G43 Z2..(SAMPLE PROGRAM STRUCTURE)SMID .CL. )(.COOLANT ON) (FEED TO Z DEPTH IF NOT A cYCLE)N33 GOO GaO Z2. S ..SPINDLE OFF) (HOME IN XY ONLY) (END OF PROGRAM) (STOP CODE .E. MOl T02 NG G43 Z2. )(--CUTTING MOTIONS WITH TOOL TOl ----)(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 .CLEAR ABOVE WORK . Y.07-DEC-01}N1 G20 N2 G17 G40 GSO G49 N3 T01N4 MOG N5 GSO G54 GOO X. rather than its exact contents. N38 and N67.TOl INTO WAITING POSITION) (TOOL LG OFFSET CLEAR ABOVE WORK .Program blocks use only sample block numbers.1\NSFER). the lOa! repeat blocks will be NS.0 MOSN3S MOl(CLEAR ABOVE PART . M03 TOlN6S G43 Z2.COOLANT OFF) (HOME IN Z ONLY .T03 INTO WAITmG POSITION) (TOOL LG OFFSE.0 M09 NB7 G28 Z2.46Within the program.COOLANT OFF) (HOME IN Z ONLY-SPINDLE OFF) (OPTIONAL STOP)(-. Note the tiveness of blocks for lool and note the addition of a blank line (empty block) between individual easier orientation in the program.BLANK LINE --) (TOOL T02 INTO WAITIN'G POSITION .. Y.T02 INTO WAITmG POSITION) (TOOL LG OFFSET . it wiH do no harm to look at a typical program structure. each tool(*** T03 . Study flow of the program. block to the incremental verSlon:N88 G91 G28 XO YOOther comments and to the operator can be added La the program as required. Each block of the program is identified with a comment Note ..END OF FILE TR.CHECK ONLY) (T02 INTO SPINDLE) (T02 RESTART BLOCK . F .COOLANT ON) TO Z DEPTH IF NOT AN36 T02N37 M06 N38 G90 G54 GOO X.AR ABOVE WORK .'T . make sure not 10 include the change block for the current tool.Na9 M30%(CLEAR ABOVE PART ~ COOLANT OFF) (HOME IN' Z ONLY . with some minor changes to be expected.CHECK ONLY) (T03 INTO SPINDLE) (T03 RESTART BLOCK .COOLANT ON) (FEED TO Z DEPTH IF NOT A CYCLE)Na6 GOO GSO Z2.1001is a machine with The program structure random tool selection mode a typical control system.CUTTING MOTIONS WITH TOOL TO) ----}(CLEAR ABOVE PART . F )(-.0 MOS N34 G2S Z2.0 MOS NBS G2S X . S .0 H03 MOS (N69 G01 Z.the X changeY axes.0 H02 MOB (N40 GOl Z.SPINDLE OFF) {OPTIONAL STOP} (-.0 MOS N64 MOlN6S T03 N66 M06 . Y . Blocks in parentheses are not required for fixed cycles. Developing a structure is absolutely essential it is going to be lime..TYPICAL PROGRAM STRUCTUREAlthough iL may be a bit early to show a complete program... N67 G90 G54 GOO X Y S . If Ihe absolute position is unknown..-.0 H01 MOB (N? GOI Z-.

N7 G90 GOO X13. providing that there is no change of allY G code mode between blocks N4 and N6 in the examples B.Oa look at this block shows that the coordinates X J3.owing the G in a specific way. The block does no! indicate whether the coordinates are in the Clbsohl{e or the mode. NS . example. neither can Ihe control system. processed by Ihe control). when the block is executed (i.CExample C:N3 G90 GOON4 NS N6N7 X13. The supplied information in such a block is incompleTe. often called the G code."'r~IPCheck machine documentation for available G codes!CCN4NSExample A :APPLICATIONS FOR MILLINGThe 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.0 Y10. etc.0Y 10.OGOON4 . the of lypical G codes Will different for the milling systems and Ihe turning systems. so consult the machine control manual to make sure. C and D. Each group G codes must kept "pn.0 Y10. others are unique to the particular control even the machine tooL Because of the nature of machining applications. Each conlrol has own list available G Many G codes are very common and can be found on virtually all controls. or (0 a certain mode or a state of operation. all these instructions . 0 Y10.. The listed G codes may not be applicable to a particular machine and control system.0 YlO. Some additional for the block are required.OExample B.PREPARATORY COMMANDSThe program address G identities a preparClfory command.or commands . The same applies for other types of machines.N6 .All four examples have the same machining result. Some G codes listed are a option that must available on the machine and in the control system.O47. Neither it indicates whether the motion to this specified target position is a rapid motion or a linear motion.0 relate to the erul position of cutting tool. therefore unusable by itself.N3 G90N6N7 GOO X13. If a look at the block cannot the of the block contents.N7 X13. term preparatory command indicates meaning a G code will prepare the control to accept the programming instructions fol/.that is to or to prepare the control system to a certain desired condition. the address sets a rapid motion G81 the drilling cycle.must be specified before block or within block:Modal and non-modal will described shortly. This address has one and only objective .in order to make the block N7 a tool destiFor nation in a rapid mode using absolute dimensions.0 YlO. It not whether the values are in English or the metric units. the address GOO prefor machine tool.OCN3Example 0:N2 G90DESCRIPTION AND PURPOSEA one block example will illustrate the purpose of the commands in the following program entry:N7 X13.e.

double increaseG48G49Tool length offset cancel Scoling funclion cancelrunctionG98G99Return 10 R level in a fixed.Chapter 8G codeG codeRapid positioning Li near interpolation Circular intcrpolallon clockwise Circular interpolation counterclockwise Work coordinme Local coordinateGOOGOlG02 G03G55 G56G57Work coordinate Work coordinate offset 3 Work coordinale offset 4 Work coordinate offset 5GlOGllG15 G16G58 Data Seni ng mode cancel Polar Coordinate Command cancel Polar Coordinate Command G59GSOG61 G62 G63G17G18 G19 G20 G21 G22 G23 G25 G26 G27Automatic comer override mode Tappi ng mode CUlling mode Custom macro callG64English units or input G65 G66 check ON Stored stroke check OFF Spindle Spindle fluctuation detection ON fluctuation detection OFF G67 G68G69G73Machine zero position checkG74 G76Lert hand threading cycleFineGSO2)G31 Skip function Culler radius compensation cancelFixed cycle cancelG40eep hole drilling cycle)compensation -decreasecompensation .

in this handbook. mOSl codes arc identical. B Type A is most common.conSlant leadG94 G94895CUlling cycle B(Group type A) fvpe D)G35G36Circular threading CW Circular CCWG40 G41 G42Tool nose radius offset cancelG96Constant surface speed modeTool nOse radius offset leflosc radius compensationIe per minute. all examples and explanations are A group.one block only Programmable data inputData Selling mode cancelunits of input. Only one type can set at a ~nd B. More details on the G code is listed at the of thisandG54Work coordinate offset I Work coordinate offset 2G56Work coordinate offset 3 Work coordinate offset 4 Work coordinate offset 5G57G59Work coordinate offset 6 stop modeG codeGOODescriptionRapid posilioningG61G62 G64GOlLinear illterpolationCircularG03clockwise Custom macro modal callCircular interpolation counterclockwiseG04 G09Dwell (as a separate block) Exact Stop check . including Types A table below. can be sel by a control but lype C IS optIOnal. only a few are different In the A and B types. Generally.Z axis direction Setting)Gl0Gllfor double turrets cancelG23Stored stroke check Spindle speed fluctuation detection ONG25G26sSpindlenuctuation detection OFF (Group type A)Machine zero posilion checkG28 G29Machine zero return (reference poinl I) Return from machine zero point 2)G90 G91 G92Absolute command Incremental command(G roup type B)(Group IYpe B)Toul pUSilioli .PREPARATORY COMMANDS49G code DescriptionAPPLICATIONS FOR TURNINGFanuc lathe controls use three G code group Lypes .A.

S Y6.. The most of is of modality... G codes are described in general.)1..5N6 G90 GOO XlSO..OThis is exact of the previous front. In this section. so is command for absolute reason neither GOO nor G90 has been is v . G are used so often. but it the modality commands. these may be the result:~ Example C .0 YlO..O Y22. However.program does not have any practical application by from one location to another at a rapid rate.12S F20.Here... it is to Modality ofEarlier. QI. example. G02 and G03 under Interpolation.OBoth methods will during a '-v. when in a single block mode.125 F20.O Y3.0N3 G90 GOO XS. it will come feedrale is ignored in this block. precemotion at.in In fact.I.O Y:220.0If the structure is changed slightly and filled with data.S Y6.75 Y10.0 N7 Xl3.0 YlO. .modified (as programmed) :In the example. The cerm is to this characteristic.u individual applications. general considerations rules of application to G codes used with other data in a block. 75 Yl0. block will require pressing the Cycle Start key to activate the The shorter method is more practical. providing with each other: they are not in a logical conN25 G90 GOO G54 X6.modified (as processed I :N3 G90 GOO xso..ON4 xo NS Y:2O. The of modal values is to unnecessary duplicaof programming modes. but for the connection between individual commands within block.Sto repeat a example interpretation~ Example C .Unlike the miscellaneous and described in next cm~ptl:r rator·y commands may be used in a block.both remain active from the moment of their first in the program. reof the type of machine or unit.ON74 GOl GOO X3. Fortunately.U::'::'c.0 N7 G90 GOO X130. providing they are modal.o Y30.. the following C was used to the general placement of G codes into a program block:~ ExampleN3 G90 GOO N4N5c· original:N6N7 X13.50Most of the preparatory commands are Ul~'i. etc.OThis method of program writing is severa! blocks shorter single blockN25 G90 N26 GOO N27 054N28 X6. writing them in the program can (he majority of G codes can only once. thal tedious.O N6 XlS. two commands GO 1 and GOO are m conniCL As GOO is the latter one in the block.8G COIN A PROGRAM BLOCKNote rapid motion command GOO does it in the program? Just once .0 YlOO... for Inrerpolation.. processing. therefore the G01 will the GOO is in motion will take place as a of 20. prepaas modal and unmodal.0 N4 G90 GOO XO N5 G90 GOO Y2QO. In the control specifications..0 in/min.. not only length.nn [0 have a rapid motion and same time. ratory commands are Conflicting Commands in a BlockThe 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'!.N74 GOO GOl X3.

always be placed that only non~conflicting block..0 51500 M03 (G90) N46 G43 ZO. S (G90 MIXE:D WITH G91) N49The Gthrough N47 are all in the aU:'U1Ul\. unmodal or non-modal.. sometimes using [he They are only active in in which they were proare to be effective in grammed.O Yl.I. G02 and same is not so or~oarat.. jf used carefully.25 F5.S GOl G9lis nol the case in a block:two-digit codes in one from the same f1icl with Group Numbersare typically numbered from 00 to different control models.S GOlunusual. the ". Most likely. One of one and perhaps the mosl these groups .625 F8. after the block number. making a 45" motion.. Strictly there is to:N40 G91 Z-O.5. what is the benefit of the next three blocks?N56 G04 P2000 NS7 G04 P3000 NS8 G04 PlOOOWatchfor situations like this! What case IS Ihat cutting motion G01.orv commands.. N48 is executed. position of X2. motion commands as GOO.....the most important as well .HV..is the Croup 00.5 combined with of 1.62S Fa.0 N48 X2. is no reason to switch between the two in some unpleasant surprises.. the depth Z will combined and executed using the current If current mode is absolute.. Z executed as an absolute value.. SAll three blocks contain the same another.. the block N48 WIll be written in absolute mode:N48 X2.1.62S Fa. For example.... brings benefits.. It can There are some V""'''.0. next method of positioning a GN40 Z·O. but quite correct.onthat if thethe control purpose of the G codes is to to a cenain condition. Each has a Fanuc assigned governing the simple. will be X2. the G91 will remain in effect for all subsequent blocks. .. A typical correct feature can be illustrated in this example:(G20) N45 G90 GOO G54 Xl.. they are in con-G codes are normally programmed at Ihe beginning of a other significant data:N40 G91 GOl Z-O. when this special in subprograms.. Il makes sense. tealtur(~s It can even be higher for the newest controls or more G codes are required..5 inches along the Y axis.. unlil the G90 is programmed.PREPARATORY Word Order in a Blockblock. is no need to prodwell in two or more consecutive blocks.. can a feature. the target location is "V"'VIUl.. modes.51GROUPING OF COMMANDSof conflicting G codes in one forefront. After all.SThis is a traditional order.. All preparatory commands in the 00 group are not modal.0.. this case.. 5 Y2. 5 G91 Yl. 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.c. the absolute the axes X Y is 1. The program can by simply entering the total dwellN56 G04 P6000Normally.l H02 N47 GOl Z~0..5Y2. recognizes preparatory commands into arbitrary groups. 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. If two or more G codes the same block.. not an mcrernell1reason for this exception is values in the same block. forfollowing groups are typical for the Applications for milling and turning distinguished by the M and T letters column of the table:control...

Japan and other counmetric system is the standard.. in mind that a of one code meaning will affect the meaoing of another Using units for a lathe. and the most common group. the G type is the most practical can be Such a practice. Several preparatory commands in this group are related to a particular machine tool or are not typical to described in this handbook. a clever control manufacturer tries to reach them both. Many earlier US controls used 070 for units and G71 for units. if done at all. any programs have been wriuen il.. This fnct distinguishes Fanuc from many other controls. Change of G code type at random is a guaranteed way to create an organizational nightmare.Cutting Cycles SelectionDimensioning ModeGOO GOI G02 G03 G32 G35 G36 G90 G92 G94 Gl9 G90 G91 (U and W for lathes) G22 G23 G93 G94 G95 G20 G2lMITT T-----+---1M02 03 0405M TStored StrokesMITTFeedrateRadiusMITOffsetG40 G41 G42 G43 G44 G49 G73 G74 G76 GSO G81 G82 Ga3 GB4 Ga5 Ga6 G87 GSS Ga9MM M08Tool LengthOffset0910CyclesMMM M T111213 Coordinate System Cutting Modes 5 G56 G57 GSa G59 G6l G62 G64 G63G66 G67MITMMITMG6a G691718 Input Speed FluctuationG96 G97 GlS GI6 G25 G26TM24MIT G Codes and Decimal Pointinclude a G code with a 1 (Rotation copy) or (Parallel copy). the most typical iIluslIation are G used English and metric selection of units. common system of dimensioning still uses {he English both are substantial in the world trade.52TypeG04 GIl G30 G45 G52 GSl GSO G70 G74 G09 GIOChapter aGroup 01 is 1101 summary .group relationship makes a perfect sense in all cases. In aG27 G28 G29G31 G46 G53 G60 G37 G47 G48 G65 G92MIT MIT00Unmodal G codesMIT MITM TG CODE TYPESFanuc control system a nexible selection of preparatory commands. Although majority of the G codes are same for lype.if a G code from Group 01 is specified in any ofthe fixed cycle 09. should done only once and only when the conlIol is installed. the is immediately but opposite is not true. if G70 means an English input of dimensions.byOfrom Group 09. One possible exception is Group aI for Motion Commands and Group 09 for The relationship these two groups is this . In America. an active motion command is nO! by a cycle. you cannot use it to program a roughing Fanuc provides a code. tern has 020 and 1 codes for and metricSetting up a parameter. one is typical a particular geographical user. 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.. 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.G71 G72 G73 G75 G76T T01Motion Commands. Always with the G code All G this handbook use the default group of Type A. In words. 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.

example ..progl1lmmers ofcertain aspects of the ten some means of machine operation or controlling flow.tllCaIltly different I'InlMI'ITHI ferent the same manutactlmer also have functions.. M functions previous "'''''''Ull-''. example is a coolant... Fanuc 16/18. These functions use the M address and include the following0 0 0 0 0 0Spindle rotation Gear range change Automatic tool change Automatic Caolant operation Tailstock or quill motionCW ATCOfCCWlow 1 Medium 1High Program Related FunctionsIn addition to the machine some M functions are to control the execution program.... '''. functions are called machine specific junctions.. '"'.. A machine than a numerically controlled wire cutting machine will many unique typical to that kind of machining and on no other machine. orientation... to ensure fully automated machining... Without availability of such means. ous falls lnto two ular application: o oControl of the machine functions Control of the program executionor OFFIN or OUTThese operations vary be1:'wef~11 machines. ..normal rotation Spindle reverse rotation SpindleoDESCRIPTION AND PURPOSEthe structure ofa CNe prclgr(!Jlt..rpTnmiscellaneon a partic-TIlls handbook covers only the most common miscellaneous functions.". will each other.othree possibilities.. during the change such as a part Another example is a where one proone or more subprograms.. for the same type of work...... used by the majority controls. spetwo other and Machino Related FunctionsVarious physical machine must be controlled by the program. from the point of view. is on a certain primary application.. Coolant can only controlled as being ON or being OFF. In such a case. due to the different designs by various manufacturers. A machine design. there are many functions that vary between maand the control system..'"".\a miscellaafunctions are related toCNC machine .&L. . An interruption of a program execution an M function. Unfortu~ nately.. can three . reason.MISCELLANEOUS FUNCTIONS.~. if they have a have functions ditterjent ferent CNC SlgOJ.. always consult the documentation for the machine model and its control system.. The more sui tab Ie term miscellaneous is used throughout this UW1UL'VVr."'. each to have a program the number of etc. two vertical machining center. fonowed by no more although some control allow the M function. let's look at the 18neOlIS functions to operation of the ma.and only three bleQitself. Even two for example. there is a "'''''. operations are typical to most CNC All with an M function...quite a few are related toNot of a ofAll for metal removal by have certain common features and capabilities.... For example. program would be mcomplete and impossible to run.. also a machine tion. M a CNC neous jUnction. A CNC milling machine will functions related to center or a CNC lathe. sometimesall thelun'-UIJfI. even with the same model of the CNC <II'UC!.the true machinefonctions.

IN OUT. A (ypical distribution is contained in the following table:beM03Spindle rotation normal. An example of such a: function is a step by tool for machining for service 'rnr\<'tH" only. on the specific of the miscellaneous functions within each group. M functions in this hoodbook are based on the following table:M04 MOSSpindle rotation reverse Spindle stopMo.ubprugl"uB callSubprogr{lm endM07 MOS M09 M19 M30 M48 M49 M60 M78 M79 M98 M99M41 M42 M43 M44 M48 M49(deactivated) (activated)( deactivated) (activated)(nonstandard) (nonsfandard)IM9a M99B axis unci ampSubprogram call end Special MDI functions'''''IF''"'''' M functions cannot be used in CNC n. These functions are outside of the scope of this handbook.pi oriental ion (optional}Compulsory program stop Optional program stop End of program (usually with reset. note type of activity these functions regardless of whether such activity relates to machine or program. no rewind)MIS M19 M21 M22 M23 M24 M30~ rotation normalSpindle rotation reverse Spindle stop Automatic lool change (ATC) Coolant mist ON Coolant ON (coolant pump motor ON) Coolant OFF (coolant pump molor OFF) .for reasons of consistency..pindle orientation Program end (always with reset and rewind) Feedrate override cancel OFF Feedrate override cancel ON Automatic pallet change (AB axis clampTailstock forward Tailstock backward Thread gradual pull-out ON Thrcad gradual pull-om OFF Program end (always with reset and rewind) Low gear selection Medium gear selection 1 Medium gear selection 2 High gear selection FeedralC override cancel OFF Feedrate override cancel ON. never in the program. etc.549TYPICAL APPLICATIONSlearning the functions. This group is in the Manual Data Input mode exclusively (MDl).lo{'k quill INMl0 Ml1 M12 Applications for MillingM codeMOO MOl M02 M03 M04 MOS6:ription"""'=M13M17TailSlock quill OUT Turret indexing rurward Turret indexing reverse . described can further into several groups. such as ON and OFF.r.or~m at all. Always check your manual . Also nOle Ihe ahundance two way toggle modes. no rewind) Application GroupsThe two major categories.. Applications for TurRingM codeMOOMOlDescriptionCompulsory program stop Optional program stop End of program (usually with reset.-r Coolant mist ONMOSM09Coolant ON (coolant pump molar ON) Coolam OFF (coolant pump motor OFF) open Chuck closeil<. Forward and Backward.

. than olhers.The miscellaneous functions used throughout the book. place immediately..N45 MOlQM function activates at(when the tool motion has beenof acOl1nDl~!tedblock is correct . . reflecting functions that do not l"""".. The correct answer the example block N319 is that the MOO function will be activated after the tool ~.474 MOBAccessoriesor moat this combination . Neither it between machmes. On the other hand... when..U.7 M21 M78 M11 M13 MiS M22 M79N56 GOO X12.. . . the other is when exactly it will when the MOO function is activated. how do they behave in a block? them next. For example..r\nn control system are not However.Will the place while the tool is on the way . . 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). One is what exactly will happen...n will be during executhere is no logic to it. "·uv.". The actual startup of a M function is groups . Remaining are described in the sections covering individual apAt this stage..""''''".0 MOOThreading Gear rangesM23 M24 M44 M48 M49 M98 M99 M60This is a more situation and two answers are needed.. only the more general functions are covin significant detail.... il does indicate types of applications the miscellaneous functions are for in everyday CNC programmIng. and three questions to There are1.at the same time the cuuing tool to a certain part location there is no conflict between may look something like this:GroupTypical M-functions. only itself will be executed.....·~ .during a motion? Will the program command is place when the motion ..but which one? examples may nol be to know how the control a tool motion and aIn this chapter. 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.at the end of the block?One of the Even if a practical apparent at this system interprets miscellaneous function.not three:Qinto twoM function activates at the start of a (simultaneously with the toolM FUNCTIONS IN A BLOCKIf a miscellaneous function is programmed in a block with no other data supplementing it.3.. .an M function entry. the concepts for their most control systems2. Makes sense? Yes.)ProgramSpindle4 MOSTool changeCoolantM06M07 MOB M09 M10 Ml.. but what about functions..-.S4S6 F20. completed..MISCELLANEOUS FUNCTIONS55method of programming certain is in a block that contains a tool turning the coolant on and .98S4 Y9..it is also designed to make a common sense.""y.at the start of the block?The table does nOI cover aU M functions or even all possible groups.2 Ml.a Z with the program stop functionNG19 GOl Z-12.. the stress is on the and of the most common miscellaneousEach M function is designed logically .".

MO l. M09 and M30. no rewind)Mfunctions activated at the START OF A BLOCKAutomatic too! change (ATC)Coolant mist ON SpindleUNTil CANCELED or ALTEREDrolation reverseCoolant ON (coolant pump motor ON)M functions activated at thelVIUVOF A BLOCKCompulsory program stop Optional SLOpM01 M02M05 M09End of program (usually with reset no rewind)Spindle stopCoolant OFF (cool an! pump motor OFF) Program end (always with resel and rewind) Automalic pallet change (APC)The classification is quite logical and shows some common sense. Either one will active for one block only. out for certain. and watch theM30 M60PROGRAM fUNCTIONSMiscellaneous functions that control program processing temporarily can used either to interrupt (in Ihe middle of a program) or permanently the end of a program). In the majority of applications this will be a SOltllion. no to individual M best place to find functions and exact actlv!tles.If there is an uncertainty about how the function will interact with the lool motion. The MOO function rotation coolant function they have to be grammed in subsequent blocks. based on the previous nOles. all automatic operations of the machine tool will stop:oKnowledge of when the M function effect is logically followed by the question about how long the function will be active. The coolant ON function M08.. All program data currently active are (feedrate. Others will continue to in until canceled by another miscellaneous function. anyone of the following functions will cancel the coolant ON mode .MOO. take misfunctions. Add a toolmotion to try to determine the way lhe function is going to behave. is to study manuals supplied with the CNC run right on the machine. Duration of M Functions Program StopThe MOO function is defined as an unconditional or compulsory program stop. There is. 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.Chapter 9Startup of M FunctionsM functions completed in ONE BLOCKTake a look at the list of typical M functions. Some miscellaneous functions are active only in the block they appear. safest choice is to program That way the function the M as a separate will always be processed before or after relevant program block. will be until a canceling or an altering function is programmed. Any time the control system encounters lhis function during program processing. A bit of logical thinking provides a good chance to arrive at righ! Com pare) he two following groups to confirm:""='"'=~==-==9t. program processing can only resumed by activating the spindle the Cycle Starr key. M02.. Several functions are available for Ihis purpose.). cellaneous functions MOO or MOl. Compare these two tables:Motion of all axes Rotation of the spindleFurther program executionooo Coolant functionThc control will ItO! be reset when the MOO function is prclce:5scQ. spindle etc.

From the two options. the MOO function.. 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 manualWhen the MOl function behaves the MOO function. It is similar to MOO function. Manual lool change in a qualifies for MOO.FUNCTIONS57oIn the program itself. The lime loss is stops at the end of under the for example. usually' motion. lion is encountered in the program. before the program is executed.E CHIPS)N39 Xl3. A tool also requires the in theOptional Stop switch settingResult of MOlONOFFan optional program stop MO I.is to program MOl function at the end of followed by a blank line with no If the program processing can continue witham Slopping.i'E CHIPS)c::> MOO programmed after a motion command "N38 GOO X13.5682 N39 MOO[C]c::> MOO programmed with a motion command:N39GOO X13. when MOl funcone diffe.. comment section must be enclosed in (three versions shown):[Al[8]MOO function can be as an individual block or in a block commands. The motion of coolant and any further execution will be temporarily interrupted. If the MOO is programmed together with a motion command. the switch will be set to ON and 100i. 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 toprogram stop CNC operator's job common use is a the part is still During the stop. the operator the control panel. part check may oOl if is infreneeds it. always inform the operator why the function been used and what purpose is. REMOVE CHIPS.rence. during a trial will be no practical difference in aula mode pro(Single Block switch set to OFF). The main rule of using MOO is need of a manual every parl machined.5682 MOO (REJM'O'. etc. Although quent. to a dimension or theBLOCK N3 9 . the Optional Stop switch will be set to and no production time is lost. the motion will be completed then (he program stop will effective:109 MOO (REMmr. before another operation can start.5682 MOOIn both cases. The control described next. for example. the part sions or the lool condition can be checked. 5682 MOO (REMOVE CHIPS) 108 Xl3. the comment section in the program. If there is a need to program temporarily at the end of a tool. the processing will nOl SlOp. setting. the actual between the two cycle time can significant for large When usi'ng the MOO function. MOl will is slight. is The built-in can be read directly from the screen control paneL Optional Program StopThe miscellaneous MO I is an optional or a COIIdirional program stop. issue a comment section with the necessary information.Practical UsageAnyone of the methods will give Ihe operator the necessary information. Chips accumulated in a bored or drilled hole can be removed. program stop function is also necessary to the current setup in the middle of a for to reverse a part. A choice. Feedrate. coordinate settings. the motion will first. The further prospindle program can only be reactivated by (he Cycle All programming rules for the MOO function also MOl function. are . the second one [B]. as blind hole tapping.. The between the two examples is apparent only in a block processing mode (for example.

58
Program End
the program must include a of current program. are two

Chapter 9

Percent Sign
percent sign (%) after M30 is a special stop code. This symbol terminates the loading of a from an external It is the

M functions available but a distinct

M02 and

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.

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

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.

MACHINE FUNCTIONS
Miscellaneous functions relating to operation of the tool are of another group. This section the most important of them in detail.

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
Is M02 the Same 8S M30 ?

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 Mis! ON Flood ON Mist or Flood OFF

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 N67 mo %

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 Heat dissipation

xo

YO
(E:tiID OF PRQGR.ll.M)

On some controls, the M30 function can be used together with the axes motion - NOT recommended !:
N65 . . . N66 G91 G28 XO YO M30
%
OF PRQGR.ll.M)

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:

Coolant should always be programmed with two lant considerations in mind:
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

C)
N110 M07

A - oil mist is turned ON, if

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

Spindle functions
all aspects of conprogram. Miscellathe spindle control its

C) Example B - coolant is turned ON :
N340 MOS

=

Example C - coolant is turned OFF:

Chapter 12 - Spindle trolling the machine neous functions that are rotation and

NSOO M09

Most spindles can rotate in
(CW) and

C) Example 0 - axis motion and
N230 GOO Xll.5 Y10.O MOS

ON:

=

E - axis motion and

OFF.

Lion is always relative to a viewpoint is lion along the spindle center lion in such a view is as M04. assuming the

0\.L1,llV<.U\J

clockwise of rota· point of view. The spindle as the towards itsface. CW rotaas M03, CCW direction rotated either way.

N4QO GOO Zl.O M09

The examples show cessing. The gen;;ral rules
o o
Coolant ON or OFF in 8 the block in which it is
:>e:IJ'I1TClIe:

pro-

Coolant ON, when programmed with the axes motion, becomes active simultaneously with the axes motion (Example 0) Coolant OFF, programmed with the axes motion, becomes effective only upon completion of the axes motion {Example E)

o

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.

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
M03
<:

9
CW)

Machining at the current location . :>
a tool change ... :>
(SPDmLE CCW)

M05
<:. M04

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.

<. . .

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
o
Automatic tool change (ATC) Tool shift during a boring ",",or<>+i,," and boring cycles only)

Ranges

M function
N/A

Gear
None programmed
Low range High range Low range Medium range High range law range Medium range 1 Medium range 2 High range

2 available

M41 M42 M41 M42 M43 M41 M42 M43 M44

3

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 In conclusion. the M 19 gram. It IS aVailable as a ... r~'''''''''''''''' chine operator for

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.
Ar.r.fHrt~n

Machine

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
M function
M06 M60 M23 M24 M98 M99 Automatic Thread gradual pull-out ON I OFF Subprogram call J Subprogram

Description
M M

Gear Range Selection

T

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

o o

Block number
Preparatory commands

N

G
M

a
o o

Auxiliary functions Axis motion commands

XYZABCUVW ...

Words related to axes

I J K R Q ...
S FT

o Speed,

or tool function

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

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.

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:
{EXAMPLE (EXAMPLE 2)

Nll G43 Z2.0 S780 M03 HOl N98 GOl X2.1S Y4.575 F13.0

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:
5 ZO.l T0202 MOS
1)
(E.XAMPLE 2)

N67 GOO G42

rectory more descriptive useful. The program description can be read on display screen provides an easidentification of program stored.

N23 G02 X7.5 Z-2.8 RO.5 FO.012

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

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
OJ.005 (LOWER SUPPORT A.RM: - OP 1) 01006 (LOWER SUPPORT A.RM: - OP 2)
the control screen display can show only the siXfeen characters the name, the "'''IV'''!H'''''

PROGRAM IDENTIFICATION
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.

names will be ambiguous when
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)

Program Number
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 The

If a more detailed description is
to
01005 (LWR SOPP A.RM:
(OPERATION 1 - ROUGHING)

the description split over one or more comment lines:

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.

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.

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)

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.

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-

SEQUENCE

63
Sequence Block format

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

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 5
10 100
N2, N4, N6, NS, N5, N10, N15, N20, N10, N20, N30, N40, . ..

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
-

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

block number
I~
- - <- " " " " - « - <

1 2
5

N1 N2 NS N10 N50 N100 N99999

10
50

.

100
99999

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.

=

Example A - one face cut:

mo

N40 GOO G41 Xl.S zo T0303 Moe NSO GOl X-0.07 FO.Ol N60 GOO WO.l M09

=

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
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),
"""'1"1"''' in

10

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

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.

Q Example B . two face cuts:
N40 GOO G4l X3.5
N4.2 GOO WO. 1

zo.os

T0303 MOS

N41 GOl X-D.07 FO.Ol

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

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.

Numbering Increment
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 numbers in a prog(am can

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

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

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

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

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-

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

or

on not be proare not sure, place the

o

two or more blocks can
Nl G20 N2 G17 G40 G49 GSO

66

10

PROGRAM COMMENTS
included within (he program body as
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

CONFLICTING WORDS IN A BLOCK
In a program not impossible. For' the first block of the following words:

Nl G20 G21 G17

e Example A :
NJ30 MOO (REVERSE

What contains is simpJy not logically possible. It instructs the control to:

e
N330 MOO

8:
(REVERSE PART / CHECK

'Set the English system of dimensions, also set the system of dimensions and set the XY plane'.
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

e

Example C:
PART / CHECK TOOL)
IS

N330 MOO

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.
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

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

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.

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
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.

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

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:

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:

e Example A
Nl2 Nl3 N14 NlS Nl6 Nl7

without modal values:
Y3.4 Y3.4 YO.S Y6.5 Y3.4 FIB.O F18.0 F1B.O F18.0 F18.0 Y3.4 Zl.O

or a turnthat a direct raBoth of the in a 90° arc with a

G90 GOl Xl 5 G90 Gal XS.O G90 GOl XS.O G90 G01 Xl.S G90 GOl Xl.S G90 GOO Xl.S

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

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
N22 G02 Xl6.85 Y12.848 Rl.5 11.5 JO

N84 G28 XS.37S Y4.0 MOS

G28 cannot be removed from command is not

N84, because the repeated.

except in special cases.O MOSIn the block N4J 0.6 S8S0 M03Chapter 10Functions (hat will be executed simultaneously with the cutting tool motion:M03 M04 M07 MOSFunctions that will be executed after the cutting tool motion has been completed:MOOMOlMOSM09M98andNS60 GOO ZS.. the result will be different. Similar situations exist with a number of miscellaneeus functions (M codes).0 Y34. the rapid motion is programmed together with two spindle commands. To complete the subject of a block. In the block N560. Here is a refresher in the form of a list of the most common results:Be careful here . The chapter describing the miscellaneous functions also covers lhe duration of typical functions within a program block. a Z axis tool motion is programmed (ZS. such as another command or function to be active For example. the spindle rotation must be stopped first. M30. M60) should be programmed without any motion in effect.68EXECUTION PRIORITYThere are special cases. when programmed together with a motion. the spindle function will take effect simultaneously with the tool motion. 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. for safety. this lime together with the spindle stop function (M05). Here. For the mechanical functions.It never hurts to play it safe and always program these possible troublemakers in a sequence block containing no tool motion. Functions relating to a mechanical activity of the machine tool (M06. Not all M functions are lisled in the examples. M03 and M04 will only work if the spindle function S is in effect (spindle is rotating). M 10. mentioned earlier. program it safe. M99) should stand on their own and not combined with other commands in the same block. make sure the program is structured in such a way that it provides safe working conditions .. Some miscellaneous functions require an additional condition. Mil. but they should provide a good understanding of how they may work. let's look at another situation. Chapter 9 covering Miscellaneous Func/ions explains this subject. 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.O).these funClions are oriented mainly towards the machine setup. otherwise machine may get damaged. 1n the case of M 19 (spindle orientation). MI9. Here are two unrelated blocks used as examples:N410 GOO X22. On Fanuc and many other controls. where the order of commands in the block determines the priority in which the commands are executed. many of them for logical or safety reasons:Functions indicating the eod of a program or a subprogram (M02. Other miscellaneous functions should be programmed in separate blocks.if in doubt. The spindle will be stopped only when the motion is one hundred percent completed.

Y. The default conditions come into effect the moment the CNC machine tool has been turned on. but merely shifts the decimal point. Tens.so the meuic s~stem is active until the English system replaces it and vIce versa. L J.Without specifying the preparatory command in the program. it is imperative to consider the impact of default conditions of the control system on program execution. That can be done either through the MOl mode. which means the selected a code remains active until [he opposite G code is programmed . only some conversions take place.INPUT OF DIMENSIONSAddresses in a CNC program that relate to the tool position at a given moment are called the coordinate words. partially because of the Japanese influence. as applicable 10 a particular CNC system. Typical coordinate words are X .. Z. The following two examples will illustrate the incorrect result of changing G21 to G20 and 020 to 021 WIthin the same program. The metric system is common in Europe. At best. etc. Absolute or IncrementalDuring the program development.offset screens. This reality may suggest a certain freedom of switching between the two units anywhere in the program. the default value may be overwritten and will remain changed from that point on. as well as the demands of their customers. millimeters and mefers are used as units. if the English unit selection is made. mainly the United Slates. Once a command is issued in the MDI mode or in a program.. to some extent in Canada and one or two other clluntries. The dimensions in a program assume two attributes:oDDimensional units Dimensional references. The dimensional unit selection in the CNC program will change the default value (that is the internal control setting).metric or English. for example 1/8. the number of decimal places can be controlled. Coordinate words always take a dimensional value. Both preparatory command selections are modal. 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.Selects English units (inches and feet) Selects metric units (millimeters and meters)ENGLISH AND METRIC UNITSDrawing dimensions can be used in the program in either English or metric units. including Fanuc. are based on the metric system. R. Machines that come equipped with Fanuc controls can be programmed in either mode. All controls. the suppression of leading and trailing zeros can be set and the decimal point can be programed or omitted. Japan and the rest of the world. With the economy reaching global markets. but mainly because the metric system is more accurate. a program block. The reference of dimensions can be either absolute or incremental. the control system will remain in that mode until a metric selection command is entered. are not allowed in a CNC program. in the English format it is incites andfeet that are used as units. even thousands of values may have to be calculated to make the program do what it is intended to do . In the metric format.you may find a few surprises:69. common in the USA.. This is not true. In other words. The initial CNC system selection (known as the default condition) is controlled by a parilmeter setting of the control system. Regardless of the format selected. but can be overridden by a preparatory command written in the part program.to accurately machine a complete part.bul not all . They are the basis of all dimensions in CNC programs. or a system parameter. not the actual digits.. K. For example. G20 or G21 selection will convert one measuring unit to another on some . it is imponant to understand both systems. Read the comments for each block . The use of metric system is on the increase even in countries that still use the English units of measurement. control system will default to the status of current parameter setting. not all. English or metric. hundreds. regardless of the default conditions. Any 'switching' by the use of the G20 or 021 command does not necessarily produce any real conversion of one unit into the other. This handbook uses the combined examples of both the English system. almost at random and indiscriminately. English Dr Metric. a preparatory a command is required at the beginning of the CNC program:G20 G21The units of dimensions in a program can be of two kinds . This applies even for situations when the power has been turned offand then on again! To select a specific dimensional input. Fractional values. using the currently selected units.

"'..from metric toG21GOO X60. I.70Chapter 11c::> Example 1 ..the control ""<:1"""'" mer makes preting them.. but it the units setting in a ".from English toG20GOO X6.for CNC lathes)Fmm/min mm/rev mm/toothDimensional words (X..'. lecled by a .". called or program zero.1ooScreen positionManual pulse generator· the HANDLE (value of flllIll<.fecled by the changeo o Constant SurfaceFeedrate function Offset values and tool preseteven if the selection of the difference how some confollowing functions will one system of units to the(eSS . terms between the two mensional systems (older terms are inEnglishftlmin (also FPM or SFPM) in/min (also IPM or fpm) in/rev {also IPR or ipr} (also IPT or ipt)mlmin (also MPM)In it is unwise to control system aTe n . For this reason.3622047 inches)c::> Example 2 . . the system parameter "'... or program point . etc. Some control system parametersadimensional units can The initial selection setting.ial unit seleclionX valueG21Both examples illustrate problem by switching between the two dimensional units in the same program. when frequentlyReference to a common point on the part . The are based on a milapplication.lU\AJ command will always the program. always use only one unit of If the program calls a dimensioning in a subprogram. known as the last tool position for INCREMENTAL inputoIn the example.>'-""'.. Y... nate system produce incorrect results. ority over . so some added to the program.. . There are twooInHand 0 offsets for millinganumber of rlol"i.. known as the for ABSOLUTE input Reference to a point on the part .0 In program and the units are millimeters. the dimension X35.... 0G20units: Comparable Unit Valuesare many units available in the metric and In CNC programming.0 incites (real translalion is 60 I'I1m 2. example. If G20 or G21 is ""lI.". the rule to subprograms as well:next table shows theMetricMany programming terms use abbreviations. low this ng unils for different jobs.!II'lII1'l.. point of reference. The Engdepending on for the differentMillimeter Meter Inch Foot mm m inftIniTial wUt selection (metric) X value . J."h"-".:J""...r.0units:1niJ.all terms have the same meaning.)(p/JPrevious value will change into 6.t Always motion... 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.. Z axes. arrPI. LUIl.. or fore any and G54 La G59).H.. system will trol functions will work.. offset selection.. statement does nol i where the dimension of mm has needs more information to correctly. only a very small of them is used.<..1"1 ..)kWHPooABSOLUTE AND INCREMENTAL MODESA dimension in either input units must have a rn". value can be measured from the tool current position for the next cannot distinguish one two statement alone. if X3S........-.. K modifiers.0 (and any as well) can from a selected fixed point on the part.

Such a program is mosllikely written in the more practical absolute mode. the program still starts up in the absolute mode. or by a small amOlJnl. the part is safely mounted. This setling can be changed by a system parameter that presets the computer at the power startup or a reset. Because the dimensional input mode is missing in the program. in the case of neg<1li ve target values. It may come as a surprise that the common default setting of the control system is the incremental mode.!Figure 11-2 Incremental dimensioning . Everything seems fine. there is no guarantee. is programmed the same way for either point of reference. It is a good programming practice to always inclurle the required setting in lhe CNC program. the control system 'assumes'lhe mode as incremental. The question is why the incremental default? The reason is .There are I wo preparatory commands available for the input of dimensional values. lherefore they will cancel each other. some additional means must be available \0 the programmer. even if the incremental programming is used frequently. as illustrated in Figure J /-2. the chances are that the tool target values will be positive or have small negative values.I Figure 71·1Both commands are modal. using either one of two available commands . which is the default value of the system parameter. Without them. In addition.G91 is the standard default mode for input of dimensions. G90 and G91.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 locationSince the dimensional address X in the example./L-______________________~__ _//~/ :J:. the cutting tool is at the home position. Follow this reasoning:Absolute dimensioning . Of course. offsets are set and the program is ready to start. IG91---Incremental mode of dimensioning01'4-cF~ 1r1_/:---. so always program with safety in mind.. The selection of the dimensioning mode is controlled by two modal G commands.the G90 or G91.-01. the system setting can be controlled by including the proper preparatory command in the program. The lool motion. WhaT will happen at the machine? Think before an answer and think logically_ When the first tool motion command is processed. the control system would use a default selling of a system parameter. in the case of positive target values.measured from part origin G90 command will be used in the program-. The control had just been turned on. not to count on any default setting in the control system. In either case. rather than the absolute mode. not always reflecting the programmer's intentions.:_~:_:_ _:START AND END=I===:I==I==. After all.the machining safety. which is usually the incremental mode. and al I dimensions ina program measured from the current position (last point) are incremental dimensions./I~'IIORIGIN.INPUT OF DIMENSIONS71 Preparatory Commands 690 and G91All dimensions in a CNC program measured from the common poinl (origin) are absolute dimensions.measured from the current tool location G91 command will be used in the progromConsider a typical start of a new program loaded into the machine control unil. For individual CNC programs. absolute programming has a lot more advantages than incremental programming and is far more popular. The control system uses an initial default setting when powered on. except that the absolute G90 command is missing in the program.0. will take place to either the overtravel area. as illustrated in Figure JJ-J. to distinguish between two availabJe modes:G90 Absolute mode of dimensioning0 0/203-. generally in X and Y axes only. written us X35. the chances are that no damage will be done to the machine or the part.as in many cases of defaults .

specify direction of the tool motion.S111 Fle. Here are some typical examples for both applications:C Milling example. It is mostly when developing or repealing an equal distance.example a lathe shows a tool motion. modes are modalremaIn In unby the opposite. The X and Z contain the absolute values. such as XO. but it may not work on allC Turning example:N60 GOl X13. U Ware the incremental values. 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. Both types can be wriuen in the same block without a problem. but are significant benefits this advanced is in one mode only plication. will be no motion for any axis omitted in the block.at/he same time to move 2. YO or ZO to the at program point. Normally. where the cutting tool has to reach the diameter of 13.. Some lathes use I. lathes with Fanuc controls. origin is the promeasured from Ihe gram poinT also known as program zero. If a zero axis value is programmed in inmode. the motion command must programmed in a block. the common repreof the absolute is the axis as X command..N68 GOl G90 X12.5 inches into the Z direction.pnt.'7TH'PThe milling shows a motion the cutter has La reach the absolute position of 12.ero values.rPI. The [+] plus or H refer to the quadrant of coordinates. On controls. A change of one dimension does not any other menslOns m program. not the quadrant of rectangular coordinates_ Plus for positive values does not have to be written.:. not to the motion itself. nor direction motion. MostG91 are not For lathe work.G91programmmg. the absolute there will no motion for that is omitted in the program. The zero value of any axis must written absolute The preparatory command G90 mode remains modal until the command 091 is programmed. but not those with controls. The main advantage of programs is their portability between individual of a An program can called at different locations of the part. such as XO. where G90 is between the X U axes and the Z and Waxes. or G91 is not nonnally the Group A G codes is the most common one ~nd does not G code of dimensional mode selection.Chapter 11 Combinations in a Single Blockmany Fanuc the absolute and incremental modes can be combined in a single nrr'O'f':~rn cial programming purposes. by the neremer tal address W..5031 G91 Y4.S FO. main advantage programming is tbe ease of modification by the programmer or CNC operator. for a specific It may one block or several blocks. the common representation incremental is the axis designation as U and W. For controlled CNC lathes.it is Important.013signs + or . all program dimensions are as de"'<:l. without the G91 command. all are of origin.S Incremental Data Input . for cremental motion along one axis and an absolute motion along other axis in the same block.elln-". and do not have to written at all. This usual. for to the opposite mode. All zero input values.72 Absolute Data Input . YO or ZO mean there will be no tool motion aiong that axis. do not to program an inSuch controls. it will preparatory comincremental is G91 and remains modal until the absolute is programmed. but sign must used. 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. Some lathes Fanuc controls. thatLhe original selling for (he proRemember that both the absolute and . The actual the is the di fference bet ween current absolute position the tool and the previous absoposition. even in different programs.at the same rime to move Y axis by 177 inches in the Note position commands G90 and G91 in the block . AI! z.nf'rp.S6 W-2.56 inches and . a mode. Positive does not have to written for any address. the either in the absolute mode or incremental mode.G90In the absolute programming mode. is a switch the absolute mode in a CNC program..5037 inches and . me programmer must be careful not to remain in the 'wrong' mode man The switch (he modes is Iy temporary.

00003947 inches0.if the diameter programming is used. cerlain caution .0 T0404 MOS GOl z-24. when set by (j paroJllelervalue is rnrrpt·. The changed to interpret the XGOO X4. the intended X mOlion will Inlhe U as a distance and be programmed as on n direction to For example. that all incremental dimensions in the program must be specified per dial1letel.0)(Xll.0 X1l2..~Converted equivalent.o(X95. when an incremental is required.OOl mmof minimumMinimum increment.asprogramming and Normally. use the diameter di for cylindrical suring diameters at machine is common.:ds movement the control syslem is capable supporting. 0Dia.me/erdimellsiollThis approach simplifiesthe program to read.0)o Decimal.0 T0404 MOS GOl Z-24. represents the part IS where the X much more common in the absolute mode.2 0)Z-40.0 Z2.(ABSOLUTE START)FORMAT OF DIMENSIONAL INPUTyear of 1959 is numerical . The diameter is easier to by both the programmer and operator. controls is system parameter can as a radius inpul:.0 GOO .001 mm .00254.INOF DIMENSIONS73DIAMETER PROGRAMMINGAll dimensions along on a CNC lathe can beMINIMUM MOTION INCREMENTMinimum increment (also called the leas! increment) is the smallest amount of an a.00005 inches minimum increment per is much more tlexjble machining the metric than in the Englishare O. two sections of the following metric programs are . .0 FO.0ill 7 .Absolute diameters:GOO G42 X8S. The diameter programming. setting. which less accuraleJ54% more accarale the English systemmetric system.that means a mm or . very imporLant. 0ooZ-120. the defauh ler programming. mode. is the the absolute or the incremental mode of dimensional input.note Ihal Ihey bOlh starr in the ab~ solute mode and only the diameters different:most com0...Incremental diameters:GOO G42 X85. 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.00 I mm or but is measured on the diameter .3 X9S.. data can be one of the four possible ways:QFull address formatleading zeros suppressionzerosmo.ot":lminGOO . In those cases. lIot radius.0001 inchIn theAnother consideration. that intluenced the nrr.Q Example 1 .(Xl16..0001 inches for metunits respectively.. all tool wear offsets for X must be treated as applicable to the diameter oJfhe not to il$ single (radius value).. when sel 17)' {J {Ifl1'ffJl1l'lf'YR(Jf/ilis. 0 GOO X2.Units systemMetricMinimum increment0.0 Z2.0 U4.0 FO.0001 inches0.0 Z-40.3 (ABSOLUTE START)Even to this day.001 mm ..."'''''~'"' have taken format of dimensional considered to be the Since that lime.0 Z-120..Q Example 2 ..0the metric system system.0X116. a typical CNC increment for the X axis is also 0..

The reason iscompatjbility with lheexisting programs (old programs). is written with the lending zeros suppressed as:X420the X axis.9999 inchesor or00000.74In to understand format back some years may be beneficial.0001 inches 9999. J. systems thaI allow point programming can also accept programs written many years earlier (assumed that the control and machine tool are also compatible).42 mm. 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. this knowledge becomes very useful and subject is not trivial any more.625.42 mm with the suppressed will appear in the program a. will be written as:X00006250rOsThe same dimension suppressed. but is correct even today. a comparison of input values should be useful:. illustrate results of zero suppression.but the accept all the earlier formats. For modern CNC programming. modern programs.001 mm 99999. 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.\:X0000042zerosfull formal programming is applicable only to early control un its. decimal point programming method is latest of available.Preference for Leading SuppressionZero 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.999 mmis nol written. ranging from 00000001 to 99999999:o o Minimum: Maximum: 0000. For example. also applied 10 the axis. Zero SuppressionAlthough the examples above illustrate only one small ieation. if even one decimal point is omitted (forgOlten) in the program. even decimal format is most common. Z. which is determined by position of the dimension within the block.625 inches is to programmed in the leading zero suppression format applied to the X it will in the program as:X6250 fun Address formatThe full format of a dimensional English metnotation of +44 in That means ali eight digits have to len for the words X. the full format is obsolete and is used here reference format will quite comparison.study it carefully. If the program uses zero suppression either type. programmed was usually without the designation. K. status determines which zeros can suppressed. knowing how the interprets a number that 110 decimal poim is for all motion commands andChapter 11 Since leading zeros suppression and the trailing zeros suppression are mutually exclusive. but only for reasons of compatibility with old and proven programs. control (mainly the old NC systems as compared to the more modern CNC were nOl able to accept the input of dimensions . but don't used it as a standard. applied to X axis. The reverse is nor true. willinches with the trailing zein Ihe as:X0000625The metric units input of 0.the decimal point formal .X00000420dimension of 0. will be earlierJr the English input . 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. written as:whentoThe same dimension of 0. is the reason why . Yes. In the extremely unlikely evenl the system is with zero suppression feature as the only programming the decimal point will not be possible. It may be the zeroes zeros allhe end of a dimension withallhe beginning or out a decimal poin!. withoUl a decimal point.is a very imponant issue. although today the subject is more trivial than On other hand. the actual stnLuS must be known.. the English of . I.42 mm. Don 'I allY WiThoul a reason!the dimensional input the syslem can accept eight digits. although default mode can be optionally set by a parameter. y. etc. because its practicality.

important for example.millimeterspoint Leading zeros suppressionXOOOOOOOl XOOOOOOl XOOOOOl Xl-O XIO.errors that can be avoided good knowledge. mode in effect.5No trailing zeros Decimal pointaXI0000000Xlleading zero suppression is much more common. If they are used rrw'r".OOOl XO. J. 0leading zerossuppressionXl XIO XIOO X1000 XlODOOTrailing zeros suppressionXOOOOOOOl XOOOOOOl XODOOOl 00001 0001 XOOl XOIthe I can programmed with the X fo!lowed by the of eight digits. The programmed formal will always adhere to the notation of the address. always positive. K. I. it is the principles of programming and the traiJing zeros.O XlOOO. K. dwell is expressed by the dentally. Y.INPUT OF DIMENSIONS75.O XlOOO XIOOOO XlOOOOO X1000000 XIOOOOOOO XOOOOl XOOOl XOOl XOl XlNote thaI the format is the same dwell as for the words.inchesInputDecimal pointXO. in some P address. W. makes the CNC program much to develop and to read at a later date. If control system the decimal point. complete the section on zero suppression. program the as a standard approach. used. bebencfits numbcrs with a small parI than a large integer part.FThe control system that supports option of programming the decimal point.O XlOO.and common . to allow with older programs. Chapter 24 covers the delails relating to the dwell gramming. let's look at a program input that uses an axis letter but no/ as a nate word.l Xl. use the basic format and one second dwell The dwell formal is the dwelling This format tells us that=>Turning control programs:X. If the leading or the trailing zeros have to is very important dwellaX0000050zerosa NoaX500 X000005 XO. which a decimal point at all and the leading zero suppression must be programmed will be equal to P500. not all can be The ones that can arc those millimeters or secondsThe following two mal point is allowed in controls:thedeciand tum-control programs:X. there will be no problem to the various dimensional formats to any other old or new. In such cases.Rtime. U. If possible.. Z. Decimal Point ProgrammingAll modem will use the decimal point for dimensional input the decimal point.From all the available nT"""""'"".Ol XO. C.OOl XO. R.O XIOOOO.1'" explanations). the programmer forgets to point or CNC operator forgets to punch it in? . I.5 or X. can also dimensional values without a decimal poin£. Z. A command will be to explain. particularly for program a fractional portion. there is no confusion. A. the metric input the resulls willInput value comparison .

but they are for learning. etc.lF12.76compatibility enables many users to load their old in format).Calculator InputX345RO. If all before or after the decimal are zeros."'!\rT\ zeros as in the left of the example. ..on the other hand.X345.00 I mm mInImUm while in the English the increment is . to store the contenls of a tape in the memory computer.48YO.67Z7. -selling of a system the decimal point and they will asas X25.5 X40.42 mm :Full format No leading zeros No trailing zeros Decimal pointX00000420 X420 X0000042 XO. 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.one.0:::X. notxO..In case the input value the decimal point.0... the same examples will shown.:.sY40. Z 1000 in I mode will be equivalent to . ". there are two options if .0 XL 0Any zero value must be written example.12S.42 or X. it can written as usually.Z-. the Y-IO is shorter decimal poin! equivalent of y-o.625 inches: X00006250 X6250 X0000625 XO.lF12..000 I an inch (leading zero suppression mode is in effect as a default). Once the parameter is the trailing zeros do not to example. For X4. much better able software possible. 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). as before:Q Englishinput of .125 ::: R.4BNormally. Fanuc provides a solution to such situations by the feature called calculator input.jormefriculliiswithout the decimal the same block:N230 X4.625 or X. One more time. the decimal point would always be followed with a zero.. In this all the program examples use the decimal point whenever possible.calculator type input parameter.0 Y-10This may be beneficial extreme conservation of system memory. XO cannot written as X only.OO I (both examples are in English units).625Full format No leading zeros No trailing zeros Decimal pointQ Metric example input of 0.0. the control system is set to the suppression mode and the non-decimal preted as of the smallest units.Jor English units Y12560 . cializing inin the metric system assume 0. Using this feature can shorten program size.Xl YO. will the normally expectedIn someis isYl25 600 . (hey do not 10 wriUen:H l r . Many programmers prefer to nrr"'. They memory. In these cases. have someone to install a tape reader in possible and (probably not).67Z7.Y12 56 Y12.5611 Input ComparisonDifferences in the input format for both and metric dimensioning can be seen clearly.0 word WIll fewer characters than the X40000 .0. .42CALCULATOR TYPE INPUTsuch as woodworking or (especially metric) not require decimal only whole numbers. Here are some Standard Inputi·Z-O. .

. JJIUllII5OnSPINDLE FUNCTIONto spindle speed is conS. For CNC CNC machining centers. or as some established and standard this case a reference point ofVLa'UUll Spindle Speed InputThe address S relates to and must always the CNC program. numeric value in alternatives as to what function may be:. does not information.. all three alternatives may on the control system.. spindle speed selection by special code number is an obsolete concept. 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... machining centers mateuse spindle rotation when removing a rotation may be that of the cutting tool or itself (lathes).. In both cases. r/min. clockand similar directional terms. spindle speed code number and the direct spindle speed are. machine.! CNC lalhes. spindle and the working feed rate of the to be strictly controlled by the program. For the CNC mill' terns..lhe spindle rotaMost can be rotated in two directions clockwise or counterclockwise... The programis usually within the range of point is allowed:5110ndle speed designation S is not ". is quite simple to understand. 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.. methods to control the spindle and cutting they all depend mainly on the type of the CNC the current machining application... to 400 r/min or 400 mlmin or 400 on (he machining application). ftlmin or mlminThe direction rotation is always relative to the from the spindle side of the poim of view that IS ".. require instructions that relate to the selection of a suitable speed of the machine spindle and a a given job... 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-59999machines is not unusuaJ to For many high to five digits. in the range have spindle available of I to 99999. we look at the spindle control ancl its programming appl '('<lInn. namely..SPINDLE CONTROLmachines. old controls· obsoleteo Spindle speed code numberooDirect spindle speedPeripheral spindle speed. within S51 to 599999DIRECTION OF SPINDLE ROTATIONand left. A spindle speed example. are the numeric value (input) of the spindle function..... as clockwise (CW). up and down... is /lIe relative to some known reference.... depending on the type and setup of the cutting tool used.. peripheral spindle speed is not applicable...rl by itself..) :lUlI'. and will77..I-'... This part a headstock.. the.. that contains the spindle. In this chapter. are exactly the same.. no! required on modern controls.

perpendicularly towards the part. the terms clockwise and counterclockwise can be used accurately. they are correcL The reason is that there are two possible points of View. The definition of spindle rotation for lathes is exactly the same as for machining centers. therefore. The common standard view is from the operator's position. Figure 12-2 shows a front view of a typical CNC lathe. or into the same general orea. as they relate to the spindle rotation . same as when facing a venical machining center. Figure 12-4 shows the view from the tailstock and arrows must be reversed. This is an incorrect view! Compare the following two illustrations . The second method of viewing establishes the relative viewpoint starting at the tailstock area.To establish spindle rotation as CW and CCW.CCWDirection of spindle rotation. and they are both using the spindle center line as {he viewing axis. correct.Figure 12-3 shows the view from the headstock.CW= M03HeadstockCCW= M04Figure 12-3 Spindle rotation direction as viewp. looking towards the tailstock area. the operator also faces the front of a machine.M03M04The first and proper method will establish the relative viewpoint starting at the headstock area of the lathe.look from the headstock towards the spindle face.78 Direction for MillingChapter 12It may be rather impractical to look down along the center line of the spindle.d from the headstockcwccwFigure 12-2yTailstockCW= M03Typical view of a slant bed two axis CNC larhe.Although the descriptions CW and CCW in the iHustration appear to be opposite to the direction of arrows. facing the front of a vertical machine. the clockwise and counterclockwise directions are established correctly. From this position. Based on this view. Front view of a vertical machining center is shownDirection for TurningA comparable approach would seem logical for the CNC lathes as welL After all.Figure 12-1.R/H tool. CWand CCW directions only appear to be reversed Figure 12-4CCW= M04Spindle rotation direction as viewed from the taifstock. Only one of the viewpoints matches the standard definition and is. facing the chuck.CWFigure 12-1R/H tool .

04 T010l S420 (ROTAT.Milling application:N1 G20 N2 G17 G40 GBO N3 GOO G90 G54 X14. One without the other will not mean anything to the control.SPINDLE CONTROL79second example B is technical1y correct.Turning application with GSO :N1 G20N2 GSO X13.if the rotation is counterclockwise.lNS .(ROTATiON SET)(NO ROTATION)(ROTATION STARTS)oIf the spindle speed and rotation are programmed in separate blocks.S S600 M03N1 G20N2 GSO X13. if another program was processed earlier. the spindle speed S in the program is dependent on the spindle rotation function M03 or M04. On the other hand. but it is not tical either.Milling application:G20N'2 G17 G40 GSO NJ G90 GOO G54 X14.(ROTATION SET) (NO ROTATION) N4 G96 GOl ZO FO. Direction SpecificationIf spindle rotation is clockwise. 0 Y9. M04 function is used in the program. the spindle speed and the spindle rotation will start simultaneouslyeC .eExample B . On machines. There is no benefit in splitting spindle speed and spindle rotation into two blocks. There is no danger. 0 Hal S600 M03 (SPEE.l FSO.O S600 N6 .".O HO 1 MO) (ROTATION STARTS) N5 . so foHow a simple rule: Spindle StartupThe 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).N4 G43 Zl.0 Y9. M03 will the spindle rotation... This makes the program harder to interpret.625 Z4. There are at leasllwo correct ways to program tbe spindle and spindle rotation:oIf the spindle speed and rotation are programmed together in the same block.0 T0100 N3 G96 S420 M03 (SPEED SET .Turning application without G50 :N1 G20 T0100 N2 G96 5420 M03 N3 GOO (SPEED SET . Because spindle is se~ as CSS .Constant Surface Speed.·A·'·' N5 eExample E Turning application with G50 .SThis is the preferred example for lathes. 020 in a separate block in not necessary for Panuc controls.O HOlN5 GOl ZO.This example is one the preferred for milling applications. This could create a possibly dangerous situation. but logically flawed. M03 function is used in the program . 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).. the machine spindle speed will be calculated for a tool offset stored in the Work Geometry Offsel register of the control system..In more contemporary example (GSO is not used as a position command anymore).'O WITH . 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. particularly when the machine is switched on.eExample 0 . STARTS)Q Example F .0 Y9.<:>mExample A . if the G50 setting method is used.Milling application:N1 G20N'2 Gl' G40 GSON3 G90 GOO G54 Xl4.0 ZO. 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. the spindle will nat start rotating until both the speed and rotation commands have been processedAgain.S M03 N4 G43 Zl. if the machine pewer has been switched on just prior to running this program.62S Z4. system will perform the ca1culation of actual r/min when the block N2 is. there is no or default speed when the machine power turned on.0 TOlOO M03 N3 GOO X6.0 Y9..ROTATION STARTS) N4 ... the C example is not wrong. 5 S600 (SPEED ONLY) N4 G43 Zl.ROTATIONSelection is a matter of personal preference.

MI9 function is used. on the control system. such asNl.~fll'I'". such as MOO.. to slop the spindle rotation. It means to be absolutely sure as to when rotation will take spindle place and what it will be. in programming. or after machine zero depending on the application. the spindle stop should always Counting on other functions to is a programming practice. In some is audible. Both functions are connected and placing within a sing1e block w i l l ' and logical program structure. turret position. mainly with limited experience. rotation. the control unit may still store and rotation from the last tool of the previous Any toolfollowing programmed speed "'-:I<::L"'" tool.. The spindle cases. is M 19. the internal activated. If onJy the 31.. or the function M05. Any one of them will automatically stop the spindle. the following action willThe spindle will tum in both clockwise and a short period. it is mainly during setup. rlll". in the Manual Data Input mode (MDI)." tion.20 Z1. the spindle must be stopped first. If only the direction code M03 or M04 is programmed.80These examples are only correct methods for a spindle start. This function is exclusive to milling systems.. M02 and M30). the clockwise or the counterclockwise V\(l.. the will be locked in a and rotating it by hand. tool motion to the . then the spindle will be This is a safety feature built inlo control remember to program M03 or . The beginning of a program has been selected intentionally.20 MaSblock containing the tool motion. Some typical in tapping.. The function can only be used when spindle is stationary. Be careful if a program program stop functions MOO Or MOl. the speed S will the same as the previous tool. is most commonly used to set a machine spindle an position. ". In some cases.AlI. the functions MOO. for example M20 on same spindle orientation function is a very specialized seldom appearing in the program itself. Because M05 does not do anything (unlike other functions that also stop the spindle.nT<. most work requires a speed. before change or reverse a part in the middle a program.n . there is no active or rotation in effect (normally carried on from a tool). All contain rotation at the beginning of a program milling and turning applications. For example. will not be exact locking position is deterby the machine tool indicated by the setting angle .. Using one of the cellaneous functions that automatically stop the is not required. it is used for situations.SPINDLE ORIENTATIONThe last M relates to a spindle activity.FigureSPINDLE STOPNormaHy.. can beasaNl. M30 and others).lIV'1.Ifn exactly what is required.t.1'11"":''-' for the next tool.0 M05The motion will always be completed first. use function MOS. MOl. M02. must be stopped without other programmed activities. IJ"'-''"'''''''-' for any first tool in the program. Other M codes may be valid.Chapter 12but it willmethod may result in a slightly longer easier to read and maintain it. a desirable. The spindle must also be during a tapping operation and at of proSome miscellaneous functions will stop the spindle rotation automaticaHy (for example.. MOl. On tile . However..". because only specially eqllipped may require it. usually ter the spindle When the control system executes the M 19 function. assume the last rotation direction. in a particularFigure 12-5 Spindle orientation angle is defined bV the manufacturer and cannot be changedma.. Spindle rotation will during certain fixed cycles. speed selection and its rotation the same block and for tool..

However. or a direct rating in terms periphor sUiface speed. a calculation will the spindle is directly proportional to the programmed An incorrect spindle speed will have a negative on both the tool and theFigure 12-6 Built-in notch in 8 tool holder used for correct tool orientation in the spindle .not a/l machines this feature Material Machinabilityspindle speed. orienlation of cuttmg edge dunng setup lS extremely important. The amounts of speeds indicate level of machining difficulty with a given tool material. deis intentional. In to prevent damage to the finished the tool retraction must controlled. matches internal Figure In order to find the the holder that has the there is a small dimple on notch side. designate the spindle directly in revolutions per minute (rlmin).R/MINprogramming CNC machining centers. for tools will much speeds for high speed lower then for cobalt tools and. in point boringSPINDLE SPEED . a proper preparatory command is used to. course. when fixed are used. G97 tion between them is discussed next. such a~ ing bars. the orientation of cutting edge to the spindle is not that important. nO peripheral speed is used. There is no need to use ~ sp~i~l preparatory command to the rlmin setllng. they must be with the same type of cutting tool. each material a sugtool material.sary Those machines spindle either way still shift when or G87 tool holder the proper setting tools that cycles are programmeu. or values are not allowed the r/min must always within the range of anyA few machining centers may be equipped with the option of a spindle selection . An accurate setup is ne1ces. etc. To comparisons meaningful fair. The (he surface speed. A basic that contains spindle speed 200 rlmin. in meters system. . end mills. Note the on the words 'given fool material'. To ~chieve this goal. is used penpheral direct of r/min. guish which is active.. Spindle orientation guarantees that the tool will shift away from the finished bore into a clear direction.direct r/min a peripheral speed. the more difficult it is LO machine the material. The distincspeeds. face mills. Surface speed is specified in eral feet per minute (ftlmin) in units. the 1001 holder has a special notch of the spindle built-in. for require this enu-y:N230 S200 M03CNC centers (oat all) use tool holders that can be placed into magazine only one way..format is typical to milling controls. The two cycles that use the built-in orientation.SPINDLE SPEED . It IS the a mInimUm control default. reamers. such as mild . Later chapters will provide more about Ofland applications.SPINDLE CONTROL81In CNC machine lool operation. minute (nt/min) in for jtlmin is FPM. as drills. as as for all gramming. rule is that the larger the the slower the spindle r/min must Spindle speed should never guessed . the MI9 function enables machine to place a tool into the manually and guarantees a proper 1001 holder orientation. The r/min value must crement of one. In this case. or part diameter (lathes).SURFACEProgrammed spindle speed should be based on the machined material and the cutting tool diameter (machining centers). example. point . G76 G87.it always be calculated. This machinability rating for a is either a percentage of some common material. for carbide tools_tools with flutes (cutting edges). meaning Feet Per Minute. the retracts from mahole without rotating.

the spindle is not practical of the many should be selected to is to use the sUrface r/min? The the lathe(3..'I"'(''''is an acceptable allemaformula:rim in12ft/min1t :::Spindle speed in revolutions Multiplying factor .. Spindle Speed ..meters to mm Peripheral in mlmin Constant3.82 constant may as an easier calculation a units must be applied "'Y'r. machine spindle speed can be calculated in revolutions per one mathematical for English units another when are programmed. etc.English UnitsTo calculate the spindle the material as well as theperipheraltype must tool or the part:speed is 30 mlmin meter is 15 mm:=the cutting tool= =(1000 x 30) 636. 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.. cut or during roughing operations during a eterchanges in Figure 12-7.Chapter 12on the surface speed (he cutler diameter (or part diameter for lathes). but within an acceptable mostPeripheral for the selected and the cutting tool diameter is I::: (12 x 150) / 327.n".(or even 300). 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:. not the rlmin Operations IlS drilling.1415x 15)A version of the tive and almost as accurate asItir where . changes constantly.Itir where .82 x ft I min DILl. the machining is different from process. " .feetto Peripheral speed inDConstant 3.1415927 Dia.previous formula issame.meter in mm (cutter diameter or part diameter for Spindle Speed .r/min 1000 m/min1to= = = = =Spindle speed in revolutions per minute Multiplying .1415927 Diameter in inches (cutter or part diameter for turning)for milling.6 637 r/minI.nG>rl not be correct.. tapping.. the r/min willAgain. The has to be set to the surface mode. by replacing the constant 31 with constant 320 somewhat inaccurate.4 327 r/m..CONSTANT SURFACElathes.Metric UnitsWhen metricis in the program. the 3.inis 150 fUmin.1415 x L 75)Many applications can use a mula."" . As the machined. butunits areis only a half of the To select a The other half is to communicate this selection to trol system. without losing any significant accuracy:r I min =3.

0 inch before the spindle speed fully to the 764 rfmin. 409 r/min .50 :::. the updating is constant.00:::. [t is different. both values are ters_ translates to an actual motion of only the X24.0 TOlOl MOBthe tool willcut using constant surface speed mode 696Althougb only selected diameters are shown in the illustration.~.00 :::: r/min 01. options. are most func-Spindle speed at the start of program (block N3) will the same as in previous example.02. a facing cut starts at (06.2).milling.20 231 r/min -""'-. the spindle will rotate at 64 r/min.00.0 the tool motion terminates at X20.00 :::. at 64 r/min. it allows tool to remove constant amount of material at all cutting too) excessive wear "". It is a feature that not only saves programming time.06. along with their revolutions per ute. 024. Note the sharp increase in r/min as tool moves to machine center When the reaches XO (00.. This rather in spindle speeds may have an effect large on some What may happen is that cutting tool will reach the 02. the control system allows setting of a maximum.0.O T0100N3 G96 S400 M03N4 GOO X20. r/min 01. described a speed a lathe.50 2865 .00 ::::.0 ZS. the calculated for inch will 764 rfmin. The difference is very to warrant any programming. Consider another example:o2:On large CNC lathes. depending on rent diameter). In following examples. the 1001 position is at X24.SPINDLE CONTROL83G96 S M03G97 S M03Swface speed selectedo Example 1 :""rl-""c> speed is set right aftercoordinate setting.0 the previous example.00:: 286 r/min . the control enters a special known as the ConstaJlt Surface Speed or CSs.0 . 573 r/min 02..a typical example.o ExampleFrom initial position of 024. 6000 r/min ::Figure 12-7 i-IfR1Tlnlll at aN1 G20 GSO X16. move to a small of 2.. The gear tions are omitted for all examples. a tool moves to a much smaller diameter. example:N1 G20 N2 GSO X24.0 TOIOl MOB83756000 r/min max. if the starting position is at a diameter.'~.50:: 318 r/min .and~GSO (orcommand:By the G96 for turning boring. automatic Constant Surface Speed is built in systems for most CNC lathes.00:: 1432 r/min .-/''''"'''' finish.0 it will rolate at 76 r/min. In this the spindle revolutions will and diameter cut (curautomatically.0 ZS.0).04. at X20. In the next block (N4). rIm in :::. important ones will be examined. the actual spindle speed will be on the current diameter of 16 inches. 239 r/min :::: 260 r/min 05. however.' ' ' .0 ZS.03.O T0100 N3 G96 MOO MOlIn this quite common application. this will be too low. In r/min in block In some cases. spindle speedIn the 2. GSO of the X diameter is quite large. but in case it is. In order La correct the problem.25 := 5730 r/min ~ 00. the CNC program to be modified:.!min 00.0 .00 :::. spindle max. 6000 was the spindle of the ftlmin 06. and faces the part to the centerline (or slightly below). tool may start removing material at a speed much slower than intended.04. within the current gear As this speed may be too high in some cases. G96 was used program.N1 G20 N2 GSO X24. this distinction normally does notspindle speed in rlmin is always assumed.O TOIOO N3 G96 S400 M03 N4 GOO X2. target diameter the next tool motion was nat important. the speed will be at its maximum.0.50 :::. automatically calculated by the control. 477 r/min ..

...0 pobefore the spindle speed accelerated to full 764 if it is not calculated and programmed earlier. are always n"'(. It is but that is exactly what will happen. at the 024.. would be only 64 r/:min.mlUI11 setting is clamping...0 Z5.. Maximum Spindle Speed :t8t[lngCNC lathe operates Constant Suiface the spindle speed is to the curdiameter. _.O in N4).0 ...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 programming must be taken into consideration with the tool nose offset and to the machine center will hapline. 5 ZO TOIOl MOB(1500 R/MIN MAX) SPINDLE RANGE) AND 400 Fl' /MIN) CENTER L...0 TOIOO N9 M01. 0oAlso sets the maximumtoasGSa X9. 0 TOIOl MOeWhenever the mode is active reaches spindle center at XO) the result will LLY"''''.. surface speed... the spindle speed will be...0 (X24. the tool tip reality. .0 S1500N3 M42NSModern CNC lathes today do not use the G50 setting and In this case.. does not chuck or fIXture lOO out. 0.~. the acuse the Geometry Offset setting diameter at machine zero position is normally tual this case. using a feature available and other ""_"rA'~ mode can be highest limit...lnstead speed mode..What actually happens in program 0120 I? Block N 1 se.._... The smaller diameter is."4.~~ spindle ma:u. . program gramminga rect rlmin for the inches.1 N8 G40 X9..program function setting is normally G50. 07 Fa. the does not because a direct r/min is proi gramnle<1 During a cutting operation... case of a zero diameter is when facing off a solid part all the.. 0 ZS. be the highest spindle possible... the tool is strong and so on.:ullea . center similar are programmed at (XO). The spindle be a formula described ter~ N6 is the actual cut. Any calculation zero....' . eX~Ha.. the end point is spindle center line.0 ZS. natural question is . is controlled directly. based on 400 to calculated first..E>"_'~L~ON5 G96 S400the example.'C1T~ITT1Tnf"n using 097 con:uru:ma. Some experience can program a short dwell the actual cutting.("~'ml1nprl a subsequentN1 G20 N2 G50 X24.012 inlrev. will be 764.8412eExample 3b :The modification in block N3..mrevolutions per .. not change. . way to the center is a different diameter situation. ..O 81500a Duringmotion..AWP)until the spindlefully accelerated..0 in N2). .5"'" the material removal continues center line. The tool may reach X2. Do not position registerNt G20 TOIOOis a simple solution to this problem. the actual the 02.. 012N7 GOO ZO. ~ to Figure 12-7 for H'W'UU""~'""'. Such when the part is weD mounted. the aIa1meter V'lX<U1. the first case..N4 G96 8400 M03 GOO G41 X5.0 TOIOON3 G97 S764 M03 N4 GOO X2.0 Z5.. When is mounted in a special or an eccentric setup is the part has a long or when some other adverse conditions are present.0 Z5....ml'1nl"l1 ter line All drilling.~..~.. called maximum spinthis G50 with its other is an example:CNe lathe does not modern lathes have ato wait before ac-01201 (SPINDLE SPEED c::t.. tool noseant function are activated. maximum spindle at center line may be too high for operating safety. A later explains what pen during. as in:GSa X9. units of measurement. will result in ~ at the center line tIl .0 (Xl. within the gear range...I.."'.... all operations at XO.N2 G50 X9.. zero diameter i~ t'lT'l'1. not known..'". . The setting will be .NE)N6 GOl X-O... critical block N2oonly the tool coordinate position. No.

it represents just another meaning of GSa command.5 N40 GSO Z4. 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. If the S function is in a block not containing GSa. the CSS will be clamped when it reaches the 01. at a rapid rate. The following examples are all correct applications of G50 command for both. With the preset maximum spindle speed limit of 1500 rlmin (GSa S 15(0). the control will interpret it as a new spindle speed (eSS or r/min). A typical speed may be 3500 rlmin or higher. Either one can be programmed In a StOgIe block.SPINDLE CONTROLBlock N7 moves the tool tip .1415927 Preset maximum spindle speedo Example . To program the GSa command as a separate block.3369 inches:D :: (12x 350) /(nx 1000). as the tool tip faces off the part. the spindle will be constantly increasing its speed. keep in mmd that they have exactly the same meaning and purpose. think of what happens in blocks N5 and N6.75 S700Single meaning Double meaningFrom lhese examples.At the control. Typically. the spindle speed at the center line will be equivalent \0 the maximum rlmin available within M42 gear range. then it will remain at that speed for the rest of cut. Now. G50 command should be easy to understand. between facing and turning cuts using the same tool.English units:If the preset value in the program is GSO S 1000 and the surface speed is selected as G96 S350.. Spindle speed is preset (or clamped) to the maximum Y/min setting. the formulas based on the English system. block N2 contains both settings. but only until it reaches the 1500 preset rlmin. On lathes..~f the CNC lathe supports G92 instead of G50.J 00 inches away from the face.S Z2. the separate block selling is useful if the need arises to change the maximum spindle speed in the middle of a tool.3369015 01. just issue the preparatory command combined with the spindle speed preset value. the coordinate setting and/or the maximum spindle speed preset:N12 GSO X20.Wirhout the maximum spindle speed limit in block N2.5. completely independent. ]n the remaining two blocks. active from that block on. CNC operator can easi Iy change the maximum limit value.feet to inches Active surface speed Constant 3.82xft I minr I minDouble meallingSillglemeaniJlgFor completeness. Such a block will have no effect whatsoever on any active coordinate setting. can be adapted to a metric environment:D::=1000 x m I min 1t x r I min. for instance.The maximum spindle speed can be clamped in a separate block or in a block that also includes the current tool coordinate setting. by programming the S [unclion together wilh the GSO preparatory command. 3369The formula may be shortened:D ==3. mean~ngs?f the G50 command. or they can be separated into two individual blocks. the G50 command is more common than the G92 command but programming method is the same. This error nwy be very costly!Use caution when presetting maximum r/min of the spindle! Part Diameter Calculation in CSSOften. The spindle will rotate at the speed of 278 rlmin at the 05. 0 SlSOO N38 GSO S1250= = ftlmin = 1t = r/min =12oDiameter where CSS stops (in inches) Multiplying factor .1. 0 Z3. To find oul at what diameter the Constant Surface Speed will remain fixed. In the example 0120 I. the combined setting is useful at the beginning of a tool. There are two. the diameter is becoming smaller and smaller while the r/min is constantly increasinJrN1S GSO XS. the formula that finds the r/min at a given diameter must be reversed:D=1211xft I min x r I minI@"where . Since the CSS mode is in effect. Such knowledge may mfluence the preset value of spindle speed clamp. anywhere in the program. to reflect true setup conditions or to optimize the cutting values. knowing at what diameter the spindle will actually be c1~mped can be a useful information.

Metricft I min=the preset value in the program is S1200 and the surface speed is selected as G96 S165.64 CSS CalculationThe Constant Suiface (CSS) is required mosttunung and boring on a CNe lathe..1415927 maximum spindle speedmet-Justthe English version. Now ... Can COlllQl1nOIlS be applied to subsequent jobs? they can . the cutting (eSS) can be calculated and used any other toolr/min::::=requirementsare met3."'W.625 x 756) / 12 : 123....stops (in .768 nme EXAMPLE:drill works very speed in ftlmin?:at 756IS(3.. there on. J.'! . It is also the cutlnng data.111UllQ... from spindle speedis calculated for all machining center operations...U.that of Constant Suiface Speed..em ofusing is a significant respent at the CNC machine." that certain requirementsC EXAMPLE:well at 1850 -whatism/min = (3..1J:l.767609 043.'VlF' .14 x 7 x 1850) / 1000will be satisfied:QQ= 40.14 x 0. usully requiredto find and 'fine-tune'or part opttI1lli!:aU()DQQoptirmnn spindle speed duringOther common conditions are satisfied.meters to mm Ac:t:ive surface speed Diameter Muftiplying= D 1000 = mlmin =1toptinrum spindle speed is known...12If these requirements are met. it is a simple matter of IV1..86I1iilf' where .. also as the Cuting Speed (CS).66Machinepart setup are equivalenttools are equivalent Malerial conditions are equivalentDeD. so they are favorable.consider a very common scenario . the ess will be damped when it reaches the mmD = :::: :::: (1000 x 165) / (1t x 1200) 43. you may shortenric formula as well:In a nutshe14 the whole subject can be quickly up by categorizing it as a . the most important source data is spindle speed actually used during machining.the CNe tor has the current conditions.. when tool or part diameter the spindle are known.. the speed.

CNC machining centers and lathes. Such a belong within feed rate wHi smaller than the controlin G codesfor ma-range of theFEED RATE Per minute revolutionMillingTurning Group ATurning Group BTurning Group CG94G98G99G94G94 G95In milling. A different programming expected special machine designs. the feedrate range a Fanuc CNC is between .1 English system and F4. sometimes called a rapid motion or rapid traverse motion. Note that difference tween two umts IS a decimal point not an actual translation. of the is the a cutting tool travel in one minute. or other action (flame cutting. Decimal place is allowed. cutting.0 jn/min or 0.0. feed rate per A. The feedrale function is in the CNC to select the value. usually to remove exhandbook. it is much more common to use the jeedrale per minute on machining centers and the jeedrate revolution on lathes. In tioning.nil'Y"1:Ilm""Inches per minute Millimeters per minutein/min (or older mm/mino oFeedrate per Feedrate per revolutionformost typical format for feedrate minute is F3.the address F.000 I and 24000. can programmed in either feed rate mode. for example). usmakes it ing a large variety of tool diameters.. use primarily jeedraJe per revolution mode. Standard abbreviafeedrate minute are:CJ CJThe cutting action be a rotary motion of the (drilling and milling. the programming command (0 code) for the per minute is For most it is set autype of a feedrate is the inverse is not discussed in tomatically. In programming. While spindle function controls spindle speed and the rotation direction. the rapid materiaJ (stock). followedaFEEDRATE CONTROLCutting feed rate is the at which the ing tool removes the m"f"YI~1 bV cutting action..5. water electric etc. There is a significant chining centers and lathes. by the written in the default and not have to For lathe operations.For example. the molion of part (lathe operations). In practice.1 for metric system. is not considered a true feed rate and be described in Chapter 20. feedrate range of the control always that of the machine servo system. In metric system. It ishandbook.). In is G98.time jeed rate. This value is modal and is only by another F address word.FEEDRATE FUNCTIONword in the program isof digits. of 1 inches per be programmed as 5. the 0 for seldom.. amount of mm/min will in the F250. The number of digits following the F depends on the feedrate mode and the machine tool application..The most common of machines. feedrate controls how fast the move.0 mm/min.FEEDRATE CONTROLFeedrate is the closest programming companion to the spindle function. aJl cutting feedrale in linear and interpolation mode is programmed in inches (in/min) or in millimeters per minute (mmiminJ. important item to remember feedrate is tbe feedrate values. only feedrates that specified can be used. feed rate per MinuteFor miHing applications... suitable for the Two feed rate types are in CNC . example. Groups Band C it is G94.0001 and 240000. main of the feedrale minute is thai it is not dependent on spindle useful in milling operations.

one that is most suitable a given job.. This format means the feed rate of 0. ThisJeedrate per revolution is common on lathes (099 for Group A).ACCELERATION AND DECELERATIONDuring a contouring operation. a programming responsibility number one. and equally impossible to stop a feedrate WIthout a deceleration. to control the feedrate when the spindle is stationary.FEEDRATE SELECTIONTo the feed rate. standard abbreviations are used for JeedraJe per revolution:aInches per revolution Millimeters per revolutionoCIspeed . points In contouring. than it is to proafeedrate per revolution (095) in a milling program. or a pull-put to 'pull' the bar OuL Rapid feed would be too and feedrate revolution is not applicable.in rev/minTool diameter! M J or the tool nose radius [ T JFororequirements of Cutting tool geometryMachining forcespartooo Setup of the part o Tool overhang (extension)o Length of the cunlng motionin/rev ~or older ipr)omrn/revfeedrate per revolution is four decimal places in thc system three decimal places in the metric system. Safe speeds and are only two aspects of safety awareness in CNC programming. command controls example.and from the part. is an important of process and be done A depends on many factors. then start Y motion. a part stopper is used to 'push' the to a position in chuck or a collet. Only in' point threading. usuaJ about it. For boring operation.429 on most controls. error cause corners on the profile to be cut with an undesirable overshoot. not the rapid motion mode 000. this is the system default. with all the intersections. 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.0833 on most The metric example of 0. per minute is instead. a possible error may occur.42937 mrnJrev will be programmed as F0. the deceleration is automatic . reason is that on a CNC lathe. without an acceleration. Many modern control systems accept fecdratc of up to decimal for English units five for metric careful when rounding feedrate values. During the rapid mOlion. most notably on:Exact stops increase For used on older machines. they may be required in some cases. particularly for long or very can programmed with up to decimal places feedrate precision for threading only. the feedrate is not measured terms lime. the feed rate is critical for a proper thread lead. the feed rate while the spindle is not rotating. ever encountering such an error. Since it is impossible to start at a full instantly." or extremely narrow angles. particularly during very high TO"''''''''. the control must stop tion first. In a routine CNC machining. It only occurs during a cutting motion in 001. as the distance the tool in one spindle revolution (rotation). The programming for the feedrate per revolution is G99. Lathes can be programmed injeedrate per minute (098). some general knowledge of machining is useful.. reasonably feedrates are quite sufficient. Its vaJue is modal and another feed rate cancels it (usually the G98). to assure safety the people and equipment. 003 modes. the direction of the cutis nothing unting motion is changed quite often. Both commands are modal and one cancels the other.083333 inJrev wili be applied jn the CNC program as FO. so it does not have to written in the unless the opposite command G98 is alsoo 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 considerationsThe last item is safety. In cases G98 099 commands are used in the lathe program as required. a barfeed operation. For most lathes.88 Feedrate per RevolutionCNC lathe work. it will likely within two commands is a small chance of if the error is controls provide problem:It is more common to program a feedrate per minUle (098) for a lathe program.

0 (in/min). This command is active until the G61 command (exact stop the comG64 (cutting mode) mand (tapping mode).0 N17 Yl2.0 Automatic Corner OverrideWhile a cutter radius is in for a milling cutter. but not the cycle when the G09 would be too too same program.FEECONTROL8901304CUTTING)Commandof two commands that control the feedrate machining comers is G09 command .0 N14 G09 G01 X19.. ' ..0 Y12.0 Y12. A'''01301 (NORMAL CUTTING)~3N13 GOO X1S. there is no provision That may cause uneven corA'""''''.0 Y12.0 N15 G09 Y16. only one corner is for sharpness. Exact Stop Mode CommandThe second command that corrects an error at ners is G61 .Exact SlOP Mode.0 G09 Y16. The that G61 is a modal command that remains in is canceled by the G64 cutting mode ens the programming time.0The G09 command is useful only if a require the deceleration for a sharp corner.0 Nl4 G61 GOl X19..0Y16.0 F90.Exact This is an unmodal command and has to be repealed in evit is required.01302~3(G09I'"'r'l"I""l'TU':!'GOO X1S. the feed rate at the contour points is normally not overridden. program the G09 command in the block that terminates at that corner (program 0 I01303 (G09N13 N14 N15 N16C'U'I'T1NGGOg I G61 USEDFigure 13-1 Feedrate control around comer Exact Stop commands The overshoot is for clarityGOO X1S.0 ~6 G09 X1S. In a case like this.0 G01 X19..in re-N14 N15 N16 N17GOO X1S.0N16 XlS.0 Nl8 G64of F90.0 F90. It is than G09 and functions identically.0By adding the GOg exact will the motion in that motion in the will start. command the cutting feedG62 can be used to automatically rate at the corners of a part.0 Y12. 0 X15..0pointf\Target pointExample 01302 11 comer Ilt all three positions of the part.Nl7 Y12.0 N15 Y16. making it Tapping Mode.0 Y12.ONl7 Y12. ery block.0 F90.0 F90.0] 30 I.0 Xl5.0 G01 X19. or is programmed. all corners must be the constant the G09 is not very efficient.

neither will the automatic corner G62 or the mode G63. the 'normal' must be adjusted or lower. rather than to the center line of the cutter. [rom practical of view. exact stop check 061 will not be performed. is (he standard calculating a linear feedrate:TheG62 USEDG64lEi" where .. 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). no' the actual cut at the tool center.n :::.In case of arc (after applying cutter may be much larger or much smaller than the arc programmed to drawing dimensions. depending on the offset value for tool motion.90 Cutting ModeWhen the cutting mode G64 is programmed or is active it represents the normal cutting mode. not to linear Circular Motion feedratessame as feedrates for circular motions is generally linear feedrates.F.feedrate (in/min or mm/min) Spindle speed Feedrate per tooth (cutting edge) Number of cutting edges (flutes or inserts)outside arcs. normal process is to the coordinate values for all the contour paints. the radius cutting or arc) and the cutting conditions. The G64 is not usualJy programmed. In programming.for compensated arc motions is on the linear motion Look for a more explanation in 29.Figure 13·2 Corner override mode 662 and default 654 cutting modeCONSTANT fEEDRATEIn Chapter 29. the wards. the cutter radius is and the path arc is offset the cutter radius. by system When command is active. Usually. to a higherup-lEi" where . in cases where the surface finish is of great importance or the culler radius is This consideration applies only to motions. unless one or more of the other feed rate are used in the same To compare the 064 modes. That means the acceleration and will be done and the feedrate will be effective.. offset this adjustment is not necessary. most programs do not feed rate for circular tool motions.FI == r/min : : :F. based on the part The cutter produces the center line the tool path is typically disregarded. see il in FigureChapter 13It is important to understand that the effeclive rawill decrease in for all internal arcs crease in size for arcs. the feed rate applied to the programmed arc relates to the radius. with an and First.F~R==Outside radius of the part Cutter radius. with consideration of (he cutter radius. If the part surface finish is important. In fact.n''''''''> than its applicaJion. The cutter radius. cutting feed rate programmed arcs will more reason some correction. At this point. the actual arc radius that is cut can be smaller or larger.. When gramming arcs to the drawing dimensions.chapter are explanations wining Q constant cutting feed rate inside and outside arcs. the eus is on the understanding the constant "'''''''.. Since the rate does not change automatically during cutter radius it must adjusted in program.

F.FEEDRATE CONTROL\ . the wards. When unusually heavy and fast spindle are used in the same progF. They arer)RIlii" where . it is advisable to the final feedrate does not exceed the maximum the given It can be drare per revolution. the feedhold function is automatically disabled and ineffective. to a lower value:is generally adjustedx (RdOW~fEEDHOlD AND OVERRIDEWhile running a program.iJ100 110I// ~'<0Figura 13-3 Typical feedrare override switchJri" where . If the 110%. 200% doubles all programmed rates./"'tpl1 by the programmed spindle maximum rapid traverse rate of It is quite to the feed rate per revolution too high withit.6 in/min.2.r/min =Max. the actual will be 13. 092 and Maximum feed rate ConsiderationsThe maximum cutting feedrate per rp. allowed feedrate per revolution in/rev of the maximum feedrate. will remain active during a feedhold state. G84 and 074 cycles on machining centers threading operathe 032. ' '>I I''1'''1'l from the X and the Z in revolutions per minuteThis rotary switch has marked settings or indicating the oj programmed jeedrate. This problem is most common in sin-feed rate Override Switchis nonnally by means of a switch.in in/min or mmlmin.machining operations.'I'II1. A typical range of a override is 0 to 200%.. where revolution is the main method of programtool. If override switch is set to 80%. One is jeedhold switch. R r=Feedrate for arc Linear feedrate Inside radius of the part Cutter radius Feedhofd SwitchFeedhoLd is a push button can be toggled between ON and Feedhold It can be modes. according to'\~". 0 may beThe Rmtlx isinput units In feedrate limits for threading. located on the control panel of the13-3.A cannot deliver heavier than the maximum it was designed for.\ \'O~Q. the results will not be accurate.:tr. depending on the 38 nre details tono motion at all or the slowes( motion.F. A programmed of 12.. depending on the machine. the is a jeedrate override Both switches are standard allow the CNC operator to control the feedrate during program operation panel. the actual cutting will 9. For although machine may several times to all but there are addiconsiderations for CNC lathes. This is tapping and threading... rate revolution..i"P.\91arcs.. 003 in effectprogram funcstop the rapid motion GOO. programmed be ~emporarily suspended or changed by using one of two avatlable features of system. not manufacturer.f'l11'lMAXIMUM fEEDRATEmaximum programmable jeedrate for the CNC mais determined by the machine manufacturer. results could be unacceptable.dffi.0 in/min (FI is the 100% feedrate.. On many not only a cutting feed with 00l....

0001control:/()10E :::: O..."'"". depend on type of feed screw input units in theM49Feedrate override cancel function is ON.. If a feed rate revolution is required... the programmed feedrate ."'.. . feedrate etc.. bUl in will not for exama feedrate of .IUI.. '1.0132 at I feedrate is not required..0 Moe ZO. be the setFor example.92simple logic to metric "'\f<'I''''f'''n programmed feed rate 300 mmlmin.. which means feedrate override is inaclive. the function will cause to be of the on the control panel.0000 in/rev 50. for the feed rate Override functionsAlthough the function uses the address F..The tapping occurs between blocks N 16 and N]9 override is disabled fortheE ADDRESS IN THREADINGSome older rather lathes use feed rate address E for the more common address F.rnfeed rate function E is similar to the F function..0 I in/rev.. the On the newest is no E address). .. In will be . Y M05N21 MOlthreading Feedrate ".:lUL/I/::U. FS-OII 011 J/1S/16T. it . in in/rev or in mmJrev..62S F41..offers two override functions for cutting other than tapping or threading They are M48 and M49.Chapter 13feed rate override switch works equally well forfeedrevolution. A change by one division on the ... If the CNC decides that programmed feedrate has to be or decreased.001E::0control:to10500. because of fIxed 10% crements on the override switch.0000 rrm/rev0. It also thread lead per revolution. The following examshows the teChnique:moN14 N15 N16 N178500 M03(usnroTAP 12 TPI)GOO X5. 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.FanucF 0. during machining handy.a ". this switch is very other hand.. programmed is FO.0 MOS N18 ZO.'" tapping and G74 on single point threading G92 and milling tapping mode is used mand G63...through the program . example. dial will increase or the programmed by a full 10 Therefore.01 in/rev with 130% override. available feedrate ranges between ferenl control systems..0108 at 90%.25 M04(ENABLE FEEDRATE OVERRI:DE)N19 M48mo GOO X.014 in/rev will in actual feedrate of . hut it ha.000 500.'"" . 00000150.0120 at 100%.ratesM48 function the CNC nn.'np switch to set to I 00% only. "uj. These are programmable functions. rrlm/ An 80% override results in 240 mm/min cutting setting is feed rate and a 110% to 330 mm/min cutting tool.. two miscellaneous functions M can be used in the On the operagram to set the feed rate override ON or lion panel. where the exact programmed feed rate must be maintained... not to any are special tapping operations without A good cycles.. Lions M48 and are used precisely for suchFeed nil t! cancel function is OFF.000000Metric . the safest way are similar the available specifications is to lookup control system.0 Y4." a decimal place accuracy.0126 in/rev with 90% feed rate and .. which means feed rate override is activee eEnglish .25M49 (DISABLE FEEDRATE OVERRIDE)GOl Z-O.0001models.. may not be for all<"""Ip. . . both the feedrate the feedhold functions are disabled . On the cutting feed rate must be as programmed.. in revolution... The two functions is tapping or most common usage of threading without a cycle. control system model 6T...0I2..FanucF '" 0. a switch is provided for feed rate override. using GOl and GOO preparatory commands.'nr to use the rate override switch freely..

nH'<"as small as len or on special cenler may machines will or oval (larger It consists of a where the tool holder setup.aTOOL READY POSITIONF.aZifleFixed typeRandom memory typeTo understand the is to understand the general tool selection.nJ>'""" Tool Storage MagazineA typical CNC machining center is designed with a special 100/ a 1001 carousel).1U11HJ'P is one special posi-or horizontal) called by the profor the (he commonly typical 20-toolposition isthe tool-ready posi-93. or just the lool (.. where the T tool number selected by the programmer. This magazine is not a tools. available for many centers. used Cor aligned with the tool waiting position. Thert~ are twu major Iypes uf luul selCX:lion in automatic tool changeo oTypical side view of a 20-tool ma(.rnn.for {he tool function uses the address T. the T function the tool number only.". If magazine is illustrated in"". the tool required al all.T FUNCTION FOR MACHINING CENTERSAll vertical and horizontal CNC machining centers called the All/omalic Tool In the program or MDI mode on uses the function T.-. the type of the (001 selection for that machine must be known....rlri . describe the tool number itself.TOOL FUNCTIONly controlled machine using an automatic must have a special tool functlon (f7ifnc£ion) used in the program.gure 14-1programming for a particular center begins. tion. depending on the Iype of machine tool. [hat contains all gram. This function controls the of the cutting tool.machining centers. On with a manual tool change. Each pocket is is important to know for each pocket The during and auloor MOL The number of tools that Within the travel of lion. For the indexing to (he tool stalionnumber. are noticeable differences between T on CNC machining centers and those used are also differences between si Ihe same machine type. The normal program. but many used tools there at all limes. rn""..

in the form control is no need to worry too much about system parameters. Immediately. while T04 is cutting. will cause the tool to return to the magazme pocket It came from. the latter means the tool number of next tool. 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 ~utomatic ~ool change junction .. 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. (001 number I (called as TO I in the must be into the magazine pocket number I. Registering 1001 Numbersand CNC in ""..94 fixed Tool SelectionA machining center that uses a fixed tool selection rethe CNC to place all into that match the tool numbers. so the sysl~m can for that tool while another tool is productive work. and so 00. the required input first. that will the tool number selected during a tool change.N67 T04 M06orN67 M06 T04first block. In the to random tool selection method. the machine using another to cut a part. This of a tool selection is commonly machining centers. where T04 will become the active tool.. When machining been completed. 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. Such an operation is a normal of machine tool and various shortcuts can used. and the information into the system.. It also stores alltool5 required to machine a part in the tool magazine away machining area. Mac:i111'unf! wiIh previous 1001 .In example illustrates that the T function will not any physicallool change at a!1."""uu~. example. the tool takes the way to select new tool. >the lool is easy the T function is used in program.. What will to the (001 that is in the spindle at The M06 cha~ge . lool 7 (cal~ed as T07 in the program) must be placea-~b.M06 . the CNC operator lS any tool into any magazil1e as long as actual setting is into the unit. actual tool will take place. to make the computer work in our .. the CNC work. Random Memory Tool SelectionThis is the most common on modern machining centers. the 1'04 tool was called into the walting of the tool while previous was CUlling. system will for the next tool (TIS in the example) and it into the waiting position.. example.also later In secMn. or on some found on many older centers.. tool selection. this type of a tool selection is considered impracliand in a long run. is needed and must be programmed.Chapter 14 position the too! This can simultaneously.just acceplthem as the collection various system Registering tool numits own entry screen.7D4 .. not the current tool.. CNC identifies by a T usually in order of usage.. fVU7r""'I1'" with 10014 .. inexpensive). The is concept of next tool waiting where the T function to the next tool. Today...e magazme pocket 7. Actual tool change can take place anytime later.. Calling the required tool number by program will physically move the tool to the. >M06 T15(ACTUAL TOOL CHANGE . magazine pocket is mounted on a side of the usually from the work area (work With the fixed selection.rll can process data quickly and with precision. the new tool will be loaded. For that. operator will the required tools into writes down the numbers (which tool number is in which pocket number). The call is programmed earlier than it is needed.orN67 T04 N68 M06means to bring number 4 into the spindle (the las( is preferred).T04 m SPDmLE) (MAKE NEXT TOOL<. In the the next tool can made by simple blocks:T04(MroCE TOOL 4 READY)<.

Some programmers prefer to shorten the program somewhat by programming the tool change command together with the next tool search in the same block. There will be no time lost. brings TO) imD the spiJulJe . not T20). always use the three-block version.alllools not assign. ThIS next tool search happens while the control processes blocks following the T function call.N82 M06 T02The results will be identical . ready to be used for machining. This method saves one block of program for each tool:N81 TOlOften. with a three digit format as T999. as applied to CNC machining centers. In block N81. otherwIse the system WIll assume the leading zero and call the tool number 2 (T2 equals to T02. Innkes T01 ready=Empty Tool or Dummy ToolThe three blocks appear to be simple enough. free of any tool. elc. an empty tool station has to be assigned. with a two digit format. the tool addressed as TOl in the program will be placed to the waiting position.written.TOOL FUNCTION95Q Example:N81 TOl Programming FormatProgramming format for the T function used on milli~g systems depends on the maximum number of lools aVaIl-able for the CNC machine. Leading zeros for tool number designation may be omitted. For Ihis purpose. where the actual tool change can lake place.. T20 must be written as T20. two-digit tool function will used.r. will activate the actual tool change tool TO I will be placed into the spindle. this method assures that the tool changing times will be always the same (the so called chip-to-chip time). will not cause the actual 1001 change . N82. If the magazine pocket or the spindle contains no tool. T02 in the example. In the ex~m~l~s.TOI can be written as Tl.ng posilion . usually a too! motion to the culling position at the part. an empty spindle. even if no physical tool is used.. Such a tool will also have to be identified by a unique number. do not identify the empty tool as TOO . Most machining centers havenumber of available tools under 100..the miscellaneous function M06 must be used in the program to do thaL The purpose of tool change function. For example. WIthout POSSlble complications. to be placed into the waiting position. an empty tool number is necessary for maintaining the continuity of (001 changes from one part to another.MOSThe tool function T. rnakes 7D2 ready = Irxuled in the wailing position.e magazine and place the selected tool into the wall!n~ POSItion.. Conditions for Tool ChangeBefore calling the M06 tool change function in the program. covenng tools wlthm~ range of TO J to T99. .1001N82 M06N83 TO 2loaded in the wairi. The safe automatic tool change can take place only if these conditions are established:o oThe machine axes had been zeroed 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 machinesUTOOL CHANGE FUNCTION . The search will ~ake place simultaneously with the program data followmg block N83. T02 will call tool number 2.The X and Y axis positions of the tool must be selected in a clear area The next tool must be previously selected by a T functiono. T02 as 1'2. etc. i~ to exc. the empty 1001 should be identified as TIS or higher. Most machines have a light located on the control panel for visual confirmation thai the tool is at the tool change position.Some machine tools wilJ not accept the shortened two-block version and the three-block version must be programmed.h. For example. It is a good practice to identify such a tool by the largest number within the T function formal. but let's explore them anyway. This nonexistent tool is often called the dummy tool or the empty tool. This block will cause the control system to search for the next (001. Immediately following the actual tool change is T02 in block N83.the choice is personal. the TOI tool command will call the identified in the setup sheet or a tooling sheet as tool number 1. r?tate th.ed may be registered as TOO. although very large machines will have more tool magazines available (even several hundred~. is required. As a rule. The number of an empty tool should be selected as higher than the maximum number of tools. always create safe conditions. The next block. In a typical program. howeve. on the contrary. Trailing zeros must always be . There ~re. machine tools that do allow the use of TOO. if desired . for exampJe. if a machining center has 24 tool pockets. the empty tool should be identified as 1'99.ange the tool in the spindle with the tool in the wallmg pOSItIon. T20 will call tool number 20. This number is easy to remember and is visible in the program. The purpose of the T function for milling systems is La.. If in doubt.

(MACHINING WITH T03).'.. . In the following block N78. IL will on Random Mem01)' selection (described which mean:-. the next tool should placed into the waiting position as soon as possible after (he tool 1'''''''''''''' note that when T02 is """'''1. .\ (T02(OPTIONAL(BLANK LINE BETWEENN78 T03 (T03 CALL REl?E1!... the next 1001 can be moved to a and be ready for a toolFigure 14-4 ATC example . Typical ATC SystemFront view of machineA typical Automatic Tool system may have a double swing arm. another for outgoing tool....Block N79TOOL MAGAZIreferences to Automatic were made in some examples... To save lime. .. in block N80. tool. the can for this is not necessary.---. thoroughly familiar centers in the shop .Hll1NGl~) (MACHINING WITH (RETRACT FROM ". ot. with ON.... I""fYI.N76 represents the end of machinIt will cause tool T02 to moveATe Front view of the machine14·2ATC .. to repeat the tool that just finished working. but may come very tool Block N79 is the actual tool in the spindle will be replaced with T03 that rently in the posluon.... the\ /'method of programming times quite a bit.T03 IN THE SPJCNDLE) NBO G90 G54 GOO X-lS.S6 Y14.Block NBD (new tool waiting == next tool). 0 N76 G28 Zl.Blocks N51 to N78zerosame optional program stop lows in the block N77. on various machines andtoChanger (ATe) designs of from one to say.0 MOS N77 MOl( T02 IN SPJlNDLE) ( TO 3 READY FOR TOOL c:. Note at block end.ATCSPINDLEATC example .... Everything Programmer and operator with the type of ATC on all10under program control. if it n .. 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 " .43 9700 M03 T04"4tN81 ..... (·r\Tm~'"TOOL MAGAZISPINDLET02Front viewFigure 14-3AUTOMATIC TOOL CHANGER ... . the rapid motion in X and Y axes first motion of T03...1'''''' N77.... The machine will automatically index the proper order..A program sample illustrates the tool (ween tools in (he middle of tile program illustrated in Figures 10MAGAZINE SPINChapter 14Q Example for illustrations:N51 N52T03EN75 GOO Zl. one the ....TElDI N79 M06 OUT .

I. Any physical contact of the tool with the machine. Figure 14-6 illustrates the concept of the tool length. However. The typical lime for the tool changing cycle can be very fast on modern CNC machines.there is not much that can be done to interrupt the ATC cycle. If both adjacent pockets are empty. screws. If even a slightly heavier tool is used. including collets. Since the word 'slight' is only relative. except pressing the Emergency Switch.9 inches (150 mm). pull studs and similar parts. the ATC should not be used at all.. because the majority of tools are lighter than the maximum recommended weight. They relate to the physical characteristics of cutting tools when mounted in the tool holder:o oMaximum tool diameter Maximum tool lengthOf~toOIGAUGE LINEo Maximum tool weightTOOLNGTH Maximum Tool DiameterThe maximum tool diameter that can be used without any special considerations is specified by the machine manufacturer. the best advice in this case is . Keep in mind that the ATC is largely a mechanical device. for example 24 lb. Such a condition could be very dangerous . Weight of the cutling tool does nol generally makes a difference in programming. often measured in fractions of a second. while the current tool works. A small CNC vertical machining center may have typically 10 to 30 tools. By using tools with a larger than recommended diameter. (l 0. Larger machining centers will have a greater tool capacity.change.use a manual tool change for that tool only. This machine feature always guarantees the same tool change time. It assumes that a maximum diameter of a certain size may be used in every pocket of the lool magazine. is the projection of a cUlling tool from the spindle gauge line towards the part. a given CNC machining center may have the maximum recommended tool weight specified as 22 pounds or about 10 kg. the maximum tooJ diameter can be increased to 5.do not overdo it! If in doubt. Examples in this chapter illustrate how to program such a unusual Lool change.Adjacent pockets must be empty for oversize tools!For example. from as few as IOta as many as 400 or more. The maximum number of tools thaI C(ln be 10(lded into the tool magazine varies greatly. a machine description lists the maximum tool diameter with adjacent lools as 4 inches (100 mm)./ Empty pocketFigure 14-5 The adjacent pockets must be empty for a large tool diameter. the fixture or the part is extremely undesirable. when developing a new program. The machine spindle may be able to withstand a slight weight increase but the tool changer may not.8 Kg). always consult the manufacturer's recommendations. providing the two adjacent magazi ne pockets are empty (Figure 14-5). there is a decrease in the actual number of tools that can be placed in the tool magazine.I/For example. some programmers will easily forget to consider the tool overall weight. and as such has certain load limitations.Do not exceed the recommended tool weight during setup!J (\i OVERSIZE TOOL. providing lhe tool weight is safe.Figure 14·6 The concept of too/length Maximum Tool WeightMosl programmers will usually consider the tool diameter and the tool length. Many machine manufacturers allow for a slightly larger tool diameter to be used.TOOL FUNCTION97 Maximum Tool lengthThe tool length in relation to the ATC. The longer the tool length. the more important it is to pay attention to the Z axis clearance during the 1001 change. which may be quite a large increase. The weight of the lool is always the combined weight of the cutting tool and the tool holder. Apart changer features. programmer and machine operator should be also aware of other technical considerations that' may influence the \00\ change under program control. which is usually too late.

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 upo T02 '"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. Single Tool WorkCertain jobs or special operations may only one to do the job. In this case.98 ATC CycleA programmer not have to know every related to the automatic tool changer actual operation. It is strongly recommended to stop the spindle with the MOS function (spindle stop) before the tool cycle isIn all examples. 3... for the horizontal machining centers it is the Y axis. bUI not necessarily standard for CNC machining center. 7.~~-.. a CNC operator should know each and eVel) step of the inside oul. or they can be adapled to a particular working environment.9.. that knowledge will resolve a problem on lool jam during the tool changing. usually localed near the 100\ magazine. Regardless of the machine 1001 used.Chapter 14 MDI OperationIncidentally. never count on it.. if the CNC (001 uses exactly the same formal.theftrs! tool the tools used in the middle of the program and the last tool used in the program. 8. In the following example. the tools will always used..often.. a tool changer with a double the cutting (001 from arm swing system is used.. although it may quite a useful knowledge in many applications. usfunctions are only for special M functions. On the other hand. whether a manual tool elc. Hopefully. the following is to a typical CNC vertical machining center and may a little different for some machines... It is not a vital knowledge. these examples will illustrate the concept of many possible applicalions.10. that is needed is programming format for three tools . an example. tool is generally mounted in the spindle during setup and no tool t:alls Uf 1001 changes are required in the program:1001. the empty tool only if required. Check instructions for each machine to get details about functions. 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.. whether an extra large tool isIn (he next several examples. To program ATe successfully. examples will use only four tool numbers tool number will represent one of the four available programming formats:o TOltool designation represents the first tool used in the CNC program tool designation represents any tool in the CNC program between the first and the last tool2.. tool designation an empty tool (dummy tool) as an empty tool pocket identificationoo The spindle must be stopped (with the M05 function)o The tool changing axis must be at the home position(machine position)aXIs ISFor CNC vertical machining centers. 5. step of the tool can usually executed through the MDI (Manual Data Input). so them only as a close example:1.4. what tool number is to the spindle (if any) at the start of ajob... For the following examples.. change is required. some typical options will be examples can be used directly. two conditions are to perform the ATC correctly: alwaysoT03T99tool designation represents the last tool used in the CNC program. 6. make the whole concept even easto understand. Always study individual steps of lh~1:C operalion .PROGRAMMING THE ATCA number of possibilities exists in relation to the auto-marie tool Some of the important ones are number of tools used.. The benefit of this feature is that a \001 changing problem can be traced to its cause and corrected there. !>ervice via the MDl operation and cannot be used in a program. some conditions must be established that will help to understand the subject of programming a lOoi change much better. Another situation is in situations only one tool is used in CNC program. the tool changing Z axis. The M06 function will also stop the spindle. This is a possible time loss that can be Some machines have a step-by-step cycle with a rotary switch. All steps are quite typical.

In the example 01402...... most machines. M03 T03 (T03 READY) G43 Z H02 MOS ' .. Y S..N2 G17 G40 G80N3 G90 G54 GOO X Y S M03B .t... Any Tool in Spindle .N53 G43 Z .... . All are irrelevant. M03 '1'02 ('1'02 READY) (APPROACH WORK) NS G43 Z Hal MaS< . this tool should not the tool.. :>N46 GOO Z M09with this practice. >(TOl MAClUNING OONE) (TOl TO Z HOME) (SAFE XY POSITION) (OPTIONAL STOP)N26 GOO Z M09N27 G28 Z.'T TO 1 READY) (TO 1 TO SPINDLE)AsN4 G90 GS4 GOO X Y S. the various lool changing meththe cutting section of the program.·rfiJu... The operator sets aU tools in the magazine.... only the start tool (before machining) or the end of the tool (after machining)... more complex (00\ will (ake place..... TO) working ..i. 1001 waiting and tool in the spindle...a.~c~k~N=u~m~b~er~'"==T=oO=I~W=... TO}.01402N1 G20Inlool is in the way of part changing. T02 working .'.. start from the program top and occurrence of the T address and M06 function. MOS N28 GOO X . In later examples. All are comments. permanently for the job....N4 G43 Z HOl MOB< . settings but leaves the last tool measured in the "1-"""" ..Y TOOL WORK DONE) TOOL TO Z HOME) TOOL TO XY HOME) (END OF PROGRAM)N30 N3l N32 N33M06(T02 CALL REPEATED) (T02 TO SPINDLE) G90 GOO GS4 X....1"Y1. From the viewpoint.. 7rJ3 working .. the required tool can be changed automatically.u .TOOL FUNCTION01401N1 G20(FIRST TOOLI ... matches this too! changing method within following example is probably the one that the most useful for everyday work.... it remains "I... . the will filled as a practical sample of usage... M05N48 GOO X Y N49 MOlMACHINING DONE) TO Z HOME) (SAFE XYN50 '1'03N51 M06N52 G90 GOO GS4 X Y Keeping Track of ToolsIf the lool is easy to keep a track of where tool is at moment. Y (T03~N69mo('1'03 TO Z XY POSITION) (END OF PRCiGRAM)%.. H03 MOS< ..i. M09 N67 G28 Z MaS N68 GOO X ..n WORK)T02%< . :>N66 GOO Z. Each tool is loaded into the spindle various ATe processes.. :>N26 N27 N28 N29 %GOO Z M09G2B Z MOSGOO X . Y N29 MOlG28M30x.lo. .... Y M30(TO 1 MACHINING DONE) (TOl TO Z-li0111E (SAFE Xi!' (END OF PRC)GRAM)fill the table.. .. but a large volume ofNS7 G28 Z . Keeping a track which tool waiting and which tool is in the spindle can with a 3 column table with block number.. for example: zero returnN393 N394 N39S N396 GOO Z M09 G28 Z MOS(ANY TOOL IN SPINDLE AT START)(**** NOT THE FIRST TOOL ****)N2 G17 G40 GSO TalN3 M06(INCH MODE) (GE... . 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.n g LT 001 in Spindle ...Not the firstis the most common method of nr/"\"'r'lln1... Programming Several Toolsusing several tools is the most typical work...

" m3 working ..not the first tool.100The filled-in table below shows the status of tools for theChapter 14first part only.Block Number-Tool Waiting?in Spindle? ?Nl N2 N3 N4 N30 N31 N32 N50 N51 N52Tal?TOl TOl TOI T02 T02 T02 T03 T03T02 T01 WORKING T02 TOl T03 T02 WORKING T03 T02 TOl T03 WORKINGA few comments to the 01402 example. Also note beginning of each tool.. >N66 N67 N68 N69GOO Z . The fIrst tool in the program must be loaded into the spindle during setup.. Then.. the tools tracking is simplified and consistent.. Y mo%(T03 MACHINING OONE) (T03 TO Z HOME) (SAFE XY POSITION) (TOl TO SPINDLE)(END OF PROGRAM)IDO. containing the next tool search. In the program.. S M03 T03(T03 READY) N33 G43 Z... Y .G28 GOOMa6Z . This is a common practice for the ATC programming. m2 working . Compare the next table with the previous one . _>N46 N47 N4S N49 GOO Z.it will be easier to repeat the tool. '?' represents any 1001 number.there are no question marks. there is no need to make a tool change at XY safe position. if necessary. H02 MaS (APPROACH WORK)< . . First Tool in the SpindleProgram may also start with the first tool in the spindle. if the work area is clear of obstacles. It makes the program easier to read (tool is coming imo the spindle will be known) and it allows a repetition of the tool. The table shows where each tool is. the first tool is called to the waiting station (ready position) during the last tool .. S M03 N4 G43 Z. The first tool in the program must be firs! for all parts within the job batch. S M03 TOl (TOl READY) N53 G43 Z. The repetition of the (001 search at the start of each tool has lwo reasons. H03 MO] (APPROACH WORK)< .< .... Wl working . HOI MOB (APPROACH WORK)When the second part is machined and any other part after that. Y .. 'l ..01403 (FIRST TOOL IN SPINDLE AT START) N1 G20 (INCH MODE) N2 G17 G40 GSa TO::! (GET T02 READY) N3 G90 G54 GOO X . M09 G28 Z MaS GOO X . The tool in the block containing (he first motion has already been called compare block N4 with N30 and bluck N32 with N50.... MOS x . MOS GOO X . Y MOl(T02 MACHINING OONE) (T02 TO Z HOME) (SAFE XY POSITION) (OPTIONAL STOP)(TO 3 CALL REJr"EATED )NSO T03N51 M06(T03 TO SPINDLE) NS2 G90 G54 GOO X Y. Ma9Examples shown here use this method as is or slightly modified. Always program MO I optional S!OP before a tool change .. For most jobs. a tool change will be required in one of the last blocks in the program. Study this method before the others. MOl (Tal MACHINING OONE) (Tal TO Z HOME)Block NumberTool Waiting~Tool in SpindleNl N2 N3 N4 N30 N31 N32 N50 N51 N52TOl Tal T03 T02 TOl WORKING T02 TOl T03 T02 WORKING T03 T02 TOI T03 WORKINGT03 T03 TOl T01 TOl T02 T02 T02 T03 T03(SAFE XY POSITION) (OPTIONAL STOP)mo T02 (T02 CALL REPEATED) N31 M06 (T02 TO SPINDLE) N32 G90 G54 GOO X . It wiJl help to see the logic of some more advanced methods a lot easier. regardless of which tool is currently in the spindle.. >N26 N27 N2S N29GOO Z M09 G28 Z.

103 working.1 Ihe cycle time.u.n. 103 working . . Y.L STOP)TO Z(SAFE XY POSITION)MI9 MOO(SPINDLE ORIENTATION)(STOP AND UNLOAD TOl MANOALLY)NSO T03N5l M06(TOl CALL REPEATED) (T03 TO SPJlNDLE)N52 G90 G54 GOO X. .. M03 TOl (TOI READY) (APPROACH WORK) G43 Z. >N26 N27 N28 N29 NJO NJl N32 NJ3 GOO Z M09 G2B Z M05 GOO X Y MOl(OPTIONAL STOP) (T99 CALL REI)Rl\..method is not without a a tool in the spindle. Y S . dIe tool in the program may 100 heavy or too through the ATe must tool change can be done bygram supports manual tool cl1tmf!e.lOis No Tool in the Spindlespindle at the start and end of each machined productive than with the first tool in the eXlr.'nIT'" an obstacle dur':program the is no IDol in the spindle condition). >N26 N27 N2e N29GOO Z Ma9N5 843 Z. HOI MOS(APPROACHGl8 Z. Y S. M03 T99 (T99 READY) \. " >N66 GOO Z M09 N67 G28 Z M05 N6S GOO X Y (T03 MACHINING OONE)TO Z-HOME) (SAFE XY' POSITION) (T99 TO SPJlNDLE)N66 GOO Z M09 N67 G2S Z...MOO is a the machine without carefully. Sit. for of each program run.FUNCTION101"... This tool brings the first tool into the spindle.. it or part changing... ""7D2 workingN46 GOO Z MagN47 G28 Z MOS N48 GOO X Y N49 MOl>(T02 MACHINING OONE)(T02 TO Z HOME) (SAFE XY POSITION) (OP"l'I(JN. 1D J working ..2 M08N34 G90 G54 GOO X ...n WORK) N53 G43 Z . G43 Z NO... .OGRAM)OF PROGRAM)NIl M30 %... M03 N4 G43 Z HOI MOS (APPROACH WORK)01404 N1 G20{NO TOOL IN SPINDLE AT< .TTi:l)) (T99 TO SPINDLE)READY)(TOl MAcmNING DONE) (Tal TO Z HOME) (SAFE XY POSITION) STOP) (T02 CALL REPEATED)(T02 TO S M03 T03(T03 READY)NJO T99N31 M06 N32 TO)NJ3 MOO(STOP AND LOAD T02 MANUALLY)(NO NEXT TOOL)T02M06 G90 G54 GOO X Y . ... M03 T02 (T02 DVJ\""... in such a way that part setup (spindleSince there is first Tool in the Spindle with Manual ChangeIn the next example... Y S ..."". S . H03 MOB< . HO:....N46 N47 N48 N49 N50N51 N52 N53 N54T02GOO Z. MOS N68 GOO X Y MACHINING DONE) (T03 TO Z HOME) (SAFE XY POSITION)N69 M06 mo ICO%moN69 MOlM06(OPTIONAL STOP) (TOl TO SPINDLE)(END OF PR... M09 G28 Z MOS GOO X Y >(T02 MAan:NING DONE)<..! MOSWORK)(APPROACH WORK)<..except that there is an extra tool change at the program. 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 .r\to use MOO program scribing the reason good selection . MOSGOO X Y MOl(TOl MAanNING OONE) (TOI TO Z HOME)(SAFE XY< ... 10) working..t"J:\. M03 N3S G43 Z....{INCH {GET TOl N2 Gl7 G40 GSO TOl (TOl TO SPJlNDLE) N3 M06 N4 G90 GS4 GOO X Y....JJ:'i.!!.. > < .t:". HO) MOS(TO) CALL REPEATED) TO) (T03 TO SPINDLE) M06 G90 GS4 GOO X . 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 CNC01405 TOOL IN SPINDLE AT START) (INCH MODE) N1 G20 N2 G17 G40 GBO T99 (GET T99 READY) NJ G90 G54 GOO X .

. _ Y. HOl MOB (APPROACH WORK) No Tool in the Spindle with Manual ChangeThe following program is a variation on the previous example. . > No Tool in the Spindle and an Oversize ToolN66 N67 N68 N69 N70 N71 GOO Z M09 G28 Z .. >N46 N47 N48 N49 GOO Z . where the tool bit cutting has to be positioned away from the machined surface. 7rJlN26 N27 N28 N29. ..N66 N67 N68 N69workiJlg ..Chapter 14 First Tool in the Spindle and an Oversize ToolSometimes it is necessary to use a little larger tool than the machine specifications allow. G20 (GET TOl READY) N2 G17 G40 G80 TOl (TOl TO SPINDLE) N3 M06 N4 G90 G54 GOO X. theoversize 1001must return tosame pocket in the toolit came from and two adjacent magazine must empty. 7rJ2 worJdng . within reason.. Y .. This consideration is mostly important for certain boring cycles... S M03 T99 (T99 READY) (APPROACH WORK) N5 G43 Z... M03 Tal ('1'01 READY) G43 Z H03 MOB (APPROAOi WORK)MOG< . Y S MU3 N4 G43 Z .o HOl Moa< . miscellaneous function will orient the spindle to exactly the same were used. H02 MOB (APPROACH WORK)< . 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. H02 M08 (APPROACH WORK)< . Do not use a tool that is too heavy! In [he example 01407. Y M01 M06 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 is important that the adjacent pocket.. >N26 N27 N28 N29GOO Z M09G28 Z . 7rJ3 working .. It also assumes the next 1001 is target" than the maximum recommended diameter. G20 N2 G17 040 GBO T99 (GET '1'99 RE1IDY) N3 G90 G54 GOO X . a boring bar is used. ... M09 G28 Z MOS GOO X Y MJ.1Note the M19 function in block N49. .. Y . S M03 (NO NEXT TOOL) 043 Z.. It assumes no tool in the spindle at the program start. except that there is no tool in the spindle when the program starts. S M03 T99(T99 READY) (APPROACH WORK) G43 Z HOJ MOSGOO Z M09 G2B Z MOS GOO X. In this case.. In that case. the oversize tool must return to exactly the same pocket it came from...(NO TOOL IN SPINDLE AT START) 01406 (INCH MODE) N1..... >(TOl MACHINING DONE) (Tal TO Z (SAFE XY POSITION) (OPTIO:N1\L STOP)001 MOGN32 N33 N34 N3SGOO Z M09 G28 Z M05 GOO X Y Mal(T99 CALL REPEATED) TO SPINDLE) T02 ('1'02 READY) M06 (T02 TO SPINDLE) G90 G54 GOO X Y...9 (T02 MACHINING DONE) (T02 TO Z HOME) (SAFE XY (SPINDLE ORIENTATION) (STOP AND UNLOAD '1'02 MANUALLY)(T02 OUT OF SPINDLE TO THE SAME POT) T03 (T03 READY) M06 (T03 TO SPIND1.E) G90 G54 GOO X Y S .. . are both empty. >N46 N47 N48 N49 N50 N5l NS2 N53 N54 GOO Z MU9 G28 Z M05 GOO X Y .. it is to Its cutting tip. MOl mo M06 N7l lOa %< . 7rJJ working . 7rJ2 working .. MaS GOO X . >(T03 MACHINING DONE) (T03 TO Z HOME) (SAFE XY POSITION) (OPTIONAL STOP) (TOl TO SPINDLE) (END OF PROGRAM)NSO MOONSl NS2 N53 N54('1'03 CALL REPEATED) '1'03 (T03 TO SPINDLE) M06 G90 GS4 GOO X .. the large tool is01407 (FIRST TOOL IN SPINDLE AT START) (INar MODE) N1. MaS GOO X Y MOl(TOl MACHINING DONE) (TOl TO Z HOME) (SAFE XY POSITION) (OPTIONAL STOP)N30 T99< . Mal('1'02 MACHINING OONE) (T02 TO Z HOME) (SAFE XY POSITION) (OPTIO:N1\L STOP)N30 T99 N3l MU6N32 N33 N34 N35(T99 CALL REPEATED) (T99 TO SPINDLE) (T03 READY) T03 (STOP AND LOAD T02 MANUALLY) MOO G90 G54 GOO X Y S M03 (NO NEXT TOOL) G43 Z ..

>N26 N27 N2e N29N30 N3l N32 N33 N34 N3SGOO Z M09MaS GOO X . ting tool. T02 working.(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... the T function must be programmed according to its proper formal. TOI wor/dng . > Tool rndexingN66 GOO Z .. T03 working . Hal MOB< . This may be a design whose has but il is still commonly used in industry. Y . the one selected cutting will always carry along all other tools into the work area.TOOL FUNCTION103 lathe Tool StationA slant bed uses a polygonal turret holding all external and internal cutting tools in special holders. MO) (NO NEXT TOOL)G43 Z. ting tools .illustrate some of ATe programming methods. >N46 GOO N47 G28 N48 GOO X .01408 (NO TOOL N1 G20 N2 G17 G40 GSO TOl N3 M06thetool. CNC lathes use the tool function T..mSPINDLE AT START)(INCH MODE) (GET Tal READY) (1'01 TO SPINDLE) N4 G90 G54 GOO X Y S . this format calls for the address followed fourdigits .(TOI MACIaNING DONE) (Tal TO Z HOME) (SAFE XY POSITION)(OPTIONAL STOP)(T99 CALL REPEATED) 1'99 (T99 TO SPINDLE) M06 READY) 1'02 (T02 TO SPINDLE) M06 G90 GS4 GOO X. Y.. 10. but with a completely different structure.. M03 1'99 (1'99 READY) (APPROACH WORK) NS G43 Z. MalG28z.. The is not difficult once the tool changing mechanics of the machining center are known. These tool stations are similar to a tool on a madesign 8.. 12 or more cutchining center..Tool number is tool WEAR number Tool station number is GEOMETRY offset numberT fUNCTION fOR LATHr _ _ __So rhe tool function was as it applied to the CNC machining centers.. . but collision for ail< . N49 MOl MACHINING (T02 TO Z HOME) (SAFE XY POSITION) (OPTIONAL STOP)Many type tools availableCNC lathe models start adopting the tool to with many more away from work area. S M03 1'99 (APPROACH WORK) NS4 G43 Z HOJ MOSSince all tools are held in a single turret. .In (he 01408 example. For the CNC lathe.. Y . Y N69 MOl(1'03 TO Z HOME) XY POSITION)(OPTIONAL STOP)(1'99 TO SPINDLE) {END OF PROGRAM}NiO M06 Nil M30 %To program a tool change. H02 MO 8 (APPROACH WORK)Figure 14-7Typical view of an octagonal lathe turret< . or rather to index the cutting tool into the position. cause a possible between a tool and the maor part....Figure 14-7.. M09N67 G2B Z MOS (TO 3 MACHINING DONE)N68 GOO X . S.Figure 14·8 Structure of a 4-digit tool number for eNC lathes.. care must be taken not only of the active cutall orher tools mounted in turret.Figure 14-8..

La the pairs. Most controls have 32 or more offset for and another wear olfsets registers. geometry offset 01 and wear offset 11The first pair is always tool station number and the geometry offset number. two or more different wear offset numbers must be grammed the same 1001Q Example:T0101 for turret station . For example.TOOL OffSET REGISTERSword offset has been mentioned already several times with two adjectives . Each pair has its own meaning:1001Chapter 14 display of a typical Fanuc control. if only one number is assigned to the tool number.Txx01 . What exactly is an offset? What is the difference between one offset and the Olher?.~ Example:TOl xx .J 1 shows a typical measurement tool.The first pair (the first and the second digits).12 shows a lypical measurement of the geometry offset applied to a common internal tool. The examples assumed that tool wear offset 11 is not by another tool. How to actually measure the geometry offset is a subject of CNC machine lOol operation training. control the index station and the geometry offset.."''''P'''. offset can be applied to the CNC by registering value into theThe from the zero position will the distance from the tool reference point to the part refer14. 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. reasonable) sample entries.''wear offset register number oneIt is customary. if ble.104It is important to understand this function well. another suitable wear offset number must be selected. If tool ! 1 is ~with the offset II. tool function TO 10 I will select 1001 station number one. there is a two screens.with the expression geometry offset and the expression wear offset. it is not possible to malch Ihe pairs:In such a case. Leading zeros within omitted.selects the tool mounted in position one and activates geometry oHset number oneThe second pair (the third and the fourth digits).WEARIf two or more different wear ~l!sets~e used for the same Lool. both very in appearance.Q Example:T0111for turret station 01. notFigure} 4. and program it as TOI2l. This format is easy 10 remember and be used every time.~ Example. The axis values will normally be (positive are but impractical). control the tool wear offset used with the selected tool. One is called the Geometry Offset screen. the other is called lhe Wear Offset screen. ometry for all tools used in the program. geometry offset 01 and wear offset 01figure 14-10Example of the WEAR offset screen dispfay Geometry OffsetGeometry the same as the turret operator measures and fills-in the gestation number. not arbitrary. Think about the four digits as two pairs of ralher than four single digits. with typical (Le.Figure 74·9 Example af rhe GEOMETRY offset screen displayOFFSET . for example 2J. Figure 14-9 and Figure 14-10 show examples of both screens. geometry number one and the assotool wear offset number one.

PATHIIJPROGRAMFigure 14-14/Programmed tool path and tool path with wear offsetTool tipThe wear offset only one purpose . for example of the 3.Tool tipif-r---' Wear OffsetTO 101.00.J4. X3. It shows geometry offset on the spindle center line (at XO center drills.rvofiset for external (turning) toolsprogram.fine-tuned. This is of the (001Geometry X (0)figure 14-13 Typical geometry offset for center line (drilling) tools.0.TOOL FUNCTION105tty relating to the geometry off13.0 the as measured The differential register..""!Geometry offset X (0)14·12 geometry offset for internal (boring) toolsIII1/I1/ . 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.000 and X3.14 ill ustrales the principle of the tool weartip detailtheis exaggerated for prnnn<l.il compensates between the programmed value.0000 is programmed as not reflect any implied dimensional X3. For examof 3. X3. the same are used as in the finished drawing.Geometry offset X (0)tr(:JnmJ'>f. will always be the same. drills. . The program itself will not be but a wear offset for the selected tool isdifference between the measured size of the part. to match the machining conditions.0000 same result. taps.

recut may damage the a concern. If no G4] or G42 is programmed. R column requires the tool nose radius the cutting loot the T column the tool tip orientation number of the tool. it can have only one of possible inspection results:ooQdimension Undersize dimensionIf the part is measured on is no need to inlerfere.01 or 0. will apply. The subsequent cut should result in the part that will be measured within specified tolerances. If G411G42 command is used.JJJldersized. T0404 in the program will be used as an examThe is to achieve an outside diameter of 3.0010 in the X part is a positive direction. The relevant section {he program look something like this:N31 MOlN32 T0400 M42 N33 G96 S450 M03The principle of the wear offset adjustment is logical.0 in the example may result in 3.0 inches and tolerance ±. the wear offset must adjusted by +. The following table shows Inspection results all existing possibilities:MeasurementON sizemRADIUSiExternal diameterSize OKInternal diameterSize OK SCRAPRecut possibleFigure 14-15OVER sizeUNDER sizeArbitrary 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 the part in the example is undersize. starting value the wear offset in the Txx04 will be zero.0000 value in the X register of the wear 04 to -0.S FO. the emphasis is (hal this is an example of an outside diameter. it bewhich could comes a The aim is to prevent all subsequenl parts from being as well. The operator.0469 or 1.OOOS. an inside diameTer. in more detail. If (he part is undersize.0 ZO. Thetool lip numbers are arbitrary and indicate the tool orientation number used to calculate the nose tool setting in the turret. Again. Whether the pan will be or.0313 or 0. most common tool nose radii for turning and boring are:1/64 of an inch =: .! T0404 Moa N35 GOl Z-l..004 oversize . The tool setup and program are working correctly.. who is in charge of the offset adjustments.8 mm 3/64 of an inch == . 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). non-zero values for that tool must be set in both columns. the T column is tip orientation column (Figure 14-When the machined part is inspected (measured). The action to take is adjusting the wear offset value. Both are described in Chapter 30.4 mm 1/32 of an inch == . The Rand T SettingsThe last items are theN34 GOO G42 X3.1 Wear Offset Adjustmentillustrate the concept offset adjustment on a rear lathe. and versa.The diameter X3. If the is oversize.9990 inches. will change the current 0.2 mmLet's go a little further. The offset screen columns are only useful during(001The R column is (he radius column.004 diameter That means il is 0. it can usually be recut for machining an outside diameter. If the machined diameter IS larger then the drawing dimen(he wear is changed the minus direction. say at 2. the exact oppofinish. values in these columns are irrelevant. of. Chapter 34 presents several practical examples using the wear offset creatively.Ol2N36 RT columns (Geometry andWear). something has to be done to prevent this from happening again.on diameter.0040. towards the spindle center line.

.... etc. arbitrary location machine.one available groups:A+ Control system (CNC unit)Workpiece Tool+ Drawing + Material+ Cutting toolmaiep!~nOentenvironment two. both cases By itself... A 1001 from one manufacturer.. workenvironments . Finally. shape.".~"'_ . using machined on a manufacturer. are three major "'... this ellvironment is combined with .. Machine zero or Home . do not normally manufacture machine tools or cuttingshop.. If the relationship (he sources of each . considera Machine reference point. Allratings.nThe common point here is that all cannot useful without some 'leam they have to interact.. a table or mounted into a or other work holding of numbers to consider.\\Ilrrm an established mathematical RelationshipMachine tooln1o""". The parr size.. Program zero or Part zeroa Part reference pointaa MACHINE TOOL is made by a company specializing inor cutting toolsTool reference point.REFERENCE POINTSenvironment.a CONTROL SYSTEM is made by a company specializingin the application of electronics to machine tools. A program zero.. these reference have somewhat more meamng. ""'"meet when a customer buys a \hese sources engineering design (part). or cutting and holders.. importance. is a fixed or "''''"".. the control CNC machine toolaCUTTING TOOLS are a specialty of tooling companies. In these three refpoint for each of erence points are needed . a 1001 that cannot be is not going to benefit manufacused on any turing cannot be machined without tools.they are they are actual values programto work with individually as wellas107. are terms commonly used reference point. its height. tools a control and 1001 from yet another sources are similar to a fourth source. A machine withoultools will not yield any profit. control systems. ... Home posior a machine zero are terms for machine reference point.".. They have tothatpurposes.In a typical language of ao PART {workpu~cells aengineering design developed in a company that does not manufacture machine tools. deduring manufacturing reference are established by the during the progralmrmnlg process.. These companies do not manufacture machine tools or CNC C:\J<::rl>nH:H . the third group of numtools. diameter.which mayor may not make cutting tool holders. And name tool tip or a tool command point are commonly used {he tool reference point.. usually notof the other right away. who never played . must CNC machine.. Toolor Command point.REFERENCE POINT GROUPSThe for short... environment is not very useful.n'Jlrrmmachine tools.. _. these relationships and interactions are based on one common denominator of each en. Each CUlling tool its indias features that are with the have a . on the rool A fixed referis a precise location two or more axes. tet of first is a need to create a harmony...a reference point.

range is usually for If the CNC erator exceeds the range on an error condition known as over/ravel will occur. at the pan in the plane. 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 . On all CNC machines that use typical coordinate system. from day to day. depending on the type and model. To understand the work area and machine zero point in a at the machine the top (XZ machine (YZ plane). In top view. or more axes.Figure 15-1 Machine and axes orientation for a vertical machineMACHINE REFERENCE POINTThe machine zero point. In general terms.. unless the machine zero return command been performed at least once . programming and the majority of work is done with one or two axes at a time. particularly after the power has been turned on. A CNC machine has at fixed point. This goal can achieved by understanding principles of ence points and how Ihey work.. namely the vertical and horizontal models.MACHINEview15·2 Top view of a vertical machine as viewed towards the tableSpindle Gauge line/'0 . actual silion is in programmer's hands. is straight down from the tool position (tool tip). on machines. but one that could be During setup. A reference point (program is a flexible point. programmer of freedom. A safety feature.Figure 15-1. from one part to another. end of each the machine zero is located at the For a lypical vertical machining center." 0 .108 Reference Point Groups Relationshipany successful CNC program is (0 make all to work in a coordinated way.. Figures plane) and from Ihe J5-2 J5·3 illustrate both views. the position of all axes has to preset to be the same. Not a serious problem. or floating reference pointoA point is set by the machine Lurer as part of hardware design cannot be physically by the user.. 1FRONT viewFigure 15-3 front view of a vertical machine as viewed from the frontthe two views. a CNC machine two. the the spindle center line shown inright corfront view. When it comes to ence points for the part or the cutting tool. by performing a machine zero return command. Fanuc and m~flY control systems prevent automatic operation of a machine tool. reference point can have two The key10Chapter 15oFixed reference Flexible.The cubical shape shown is useful only for understanding the work area. depending on machine design.when the power to the has been on. often called the machine zero. The point for the cutting tool can either or flexible. is the of machine coordinale location this may between the manufacturers. but most obvious is individual machine types. On older this prois done by setting a grid. Also look into the XZ plane (operator's front of the machine). home or a machine position. has a maximum range of travel that is fixed by manufacturer..

Because the coordinate point that selected by the represents program zero can anywhere. it is not a fixed point. The butcontrol panel the position screenMachining accuracy is paramount all parts must be maexactly to the same specifications. the selected axis should machining centers and the X In bolh cases. as a standard practice. power had reA clearance 1.5.0 inch (25. is also important repeatability. although true in terms. An experienced CNC nrl". a the efficiency setup and its machining in the shop.ine operations. ifil is not to zero automatically by control. Ule actual position should be set to roreach axis. The machine is now at its reference position. When the axis has reached machine zero position. a good will go one step further. turn power to the while the are at or very close to the machine zero pomachine Silion.0 mm) or more each machine zero is usually sufficient. it isAlso note that in front there is a dashed idenlias the gauge line. subject of tool referencing is later in this Return'to Machine ZeroIn manual mode. often in the comfort of is that will office. either axis will be moving away work.. The part is commonly known as a program zero or a part zero.REFERENCE POINTS109This vital reference point will be used in a . Working desire. into the clear area. but ajloQling this point is more details can covprogrammer who part zero. Every must mounted in a that IS suitable for required operation and not change position other part of the job run. the operator physically moves the axes to the machine zero position. ProgramSelectionng the program zero.. or at homeever term is used in the The indicator light is confirmation for each the machine is ready for use.. All the in the balch must the same and all subsequent jobs must be the same as well.." the relationship with reference ence point of {he and the drawing dimensions. Program zero lot to do with the We look allhe lypical considerations of program zero severtical centers and lathes ally. a small indicator light on control panel turns on to confirm that axis actually machine zero.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.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. On the posilion display screen.. Within practical restrictions the mach. part reference canSafety is always important to whatever we do machine has a and part setup are no different. Z motion illustrated will shortened by the tool projection.. 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. Three such considerations of program zero: should governIS2.6.. 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. at the machine zero.3. . The operator IS to register inlo the control if necessary. Always allenlive (0 all are for and against a zero selection in a zero point may be selected not much of an advice. or at the machine point.".4. too close will make manual machine zero return more difficult later. only the most advantageous possibilities should be considered.after all. It slows down the setup process evenWorkingPART REfERENCE POINTA part for machining is within the machine motion \lmils."IT. A typical proto physically the machine zero position will follow these1.Convenience of Setup Bnd DperationOperating setup can only be considered once (he machining accuracy is assured. if necessary[) Accuracy of machiningooConvenience of setup and operation Safety of working conditionsMachitli"q Accuracysafety reasons.. Differences in part influence the zero selections as well.7.

The process of selecting zero starts with drawing evaluation. nltJWhen selecting a zero. Step 2. dealing is next.Machining Centerspart are both parallelloIJvr\<Tr"' .Chapter 15CNC machining centers allow a variety of methods. sions they can varySince part touches only one point on each pin. increasing available options.. 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 . run and ing surfaces must be fixed during measured from. some clamps and surfaces. These basic methods can be adapted to more complex applications. should be no question about programming the point except at lower left corner the part. in a or a fixture mounted on Ihe table..!4. on a machine table involves simplest the part. all machine axes must considered.0 r-~Decide on the method of part setup and holdingProgram zero almost presents ilselfin the any make sure all critical dimensions and tolerances are from one part to another.. in the IS any of What is the actual size of The drawing specifies a rectangular stock of 5. so all drawing will appear in the program using these drawing dimensions. chucks. study the The designer's dimensioning style flaws. but two steps to be first:Step 1.. dimensions are usually not critical. Figure 15-5 illustrates a lypical simple engineering drawing. In addition. The part orientation is the same as drawing. In to select a program zero.Study how drawing is dimensioned.rated 15-6. the setup is very accurate..00 x 3. Clamping is usually done with top clamps and The left and bottom of the. It seems that this is a winning setup .5Figure 15·5 Sampleused lor selecting program zero """::.110 Program Zero . In the example. the drawing origin and it will become the part origin as well. the part has positioned the vise a left pan stopper. It also satisfies Step 1 of the program zero selection The 2. programmer selects the program zero protion for each program.. for the or rotary axes. The~e are open dimen10 or more and be acceptable...Figure 15-4. Depending on the type of work. use it as a practical example of how to program zero.. A typical setup with work holding device CNC machine vise could be the one iIlust. but it still is the engineering drawing. \3THRU1. programmer the setup method for any given perhaps in cooperation with machine tor.-. dimensioning alJ holes is the lower left corner of the work. What are the most common setup methods? Most machining is done clamped on table...0 1020x 0.50. Machining centers with additional axes require zero point each of these axes as well. subplates hundreds of special fixtures.concepl is common for virtually all setups.. some most common setup methods usc vises. with all the expected dimendescriptions material1210 75 .ced location must be established with a stopper or other fixed Since a machine most common work holding device parts.MACHIPARTN LOCATORSFigure 15·4Three-pin concept 01 a parr setup (all pins have the same diameter)In the setup identified as Version 1. which dimensions are critical and which are nottwo Themachine axes and perpendicular zero (part is at (he intersection edges. this is actually poor. the program zero of the part itself?For this example. actual If a part is mounted in a vise jaws must be parallel to or perpendicular with machine axes the fi. CNC milling systems allow a setup..yet.

The critical Yaxis000 ::E>yi !reference is against a moving jawlThe program zero edge should be the fixed jaw .(2) ~ . Drawing dimensions can be used in the program. the most useful program zero is at the center of (he circle . Is there another method? In most cases there is.Figure 15-9 Common program zero for round objects is the center pointChapter 40 describes the G52 command that may solve many problems associated with program zero at the center.Version 2h\!~_¢_00In Version 2. forget the minus signs.-. away from the part.. the common practice is to select the top face of the finished part. the program zero position may be built into the fixture. but as negative. In order to hold a complex part. but can produce inaccurate machining results.-. Just don'.Figure 15-8 A sample part mounted in a machine vise . where it IS located in the fixture.ed jaw! What is the solution? Rotate the vise 900 and position the part as shown . VersiOIl 1 setup can be improved significantly by rotating the part 1800 and aligning the part stopper to the opposite side .Version 3--xTo select a program zero for the Z axis. That will make the Z axis positive above the face and negative below the face. The benefit of programming in the first quadrant (al! absolute values are positive) is attractive.a jaw that does not move.Figure J5-7. as per drawing.----.FIXED JAWoo0y lIMOVING JAW--xFigure 15-6 A sample part mounted in a machine vise· Version 1~ <: -:IX0 LU-:I<:~(!)0. In many applications of special fixtures.PROGRAM ZERO f I ~ -Q..Combine any acceptable tolerance with the vise design. unless the blank material is 100% percent identical for all parts (usually not a normal case). Special fixtures can also be used for a part setup..REFERENCE POINTS111If the choice is between Version J and 2.the part is located in the third quadranti All X and Y values will be negative. Part program will have all dimensions in the first quadrant.'"Zu. Selecting a program zero for round parts or paHerns (bolt circles. the part reference edge wiU be against the fix. a fixture can be custom made. and the problem can be seen easily. select Version 2 and make sure all negative signs are programmed correctly. Part orientation by 1800 has introduced another problem ..·¢-----~--cB· -nr--9--~I '--xfigure 15-7 A sample part mounted in a machine vise . The final Version 3 will offer the best of both worlds.Figure J5-9.FIXED JAWoo)0MOVING JAWy 1x:. Many programmers incorrectly use a moving jaw as the reference edge. circular pockets). Also. results are consistent with the drawing. where one jaw is a fixed jaw and the other one is a moving jaw.Figure 15-8) if possible. Another method is to select the bottom face of the part.

Many lathe pariS During the first operation.. ._[tpl / __'. with the tails tack as a possible obstacle...--~-P. Because of the lathe design. the CNC programmer probably the most important.. . During program devel· opment It IS to forget a minus sign for the Z cutan error. normally with value. as measured along Z 15-1 J shows some common tool tip points. the reference point is Ireme tip the tool. the X axis program zero is always the spindle center line. In millingxoperations.1---. It is a wrong position. are only two axes to consider . but a better one than hilling pari. The to understand.. the program zero for the X axis MUST be on the center rine of the spindleis setting program zero on the This is not a perfect selection other advantages.----. will positool away from part. . front of the finished part.. Examples in this handbook use program zero at thefrontfinishedface. The only disadvanthere is no finished face.. Many opface to the setup or cut aWhat are the zero at the front One is that many dimensions along Z axis can be directly into program.112Chapter 15 Program-lathesOn zero selection is simple.StockX J_.zo Chuck o othree popular methods are used:. the reference point of tool is the intersection of the tool centerline the culting lip (edge). is a a tool motion indicates the work area. zero located on jaw or fixturetool reference toofsAllare connected. a is in the clear area.~ ~-X!.JAW~-- < _.On eNC lathes. ifnotcaught in time.the vertical X axis and thehorizontal Z axis. 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. main face of the chuck. such as castings.'Stock)". locating face of the jaws.-----CHUCKStockTOOL REFERENCE POINTreferenc~ point is related to the lOol. is the main reason why CNC programmers away from program in special cases. turning and boring.. material operation must always be added to Z value. An error on another. This location may shapes. unless otherwise specified. A depends on the of cases.ARTCommon program lero options for 8 eNC lathe· center line is XDa chuck with the On a negaadditional drawingJawor fixture face presents more face can also be touched with tool all parts.

do begin in(used in milling) in turning)lalhe5: also lise G92 but lathes supplied with and similar controls normally use G50 command instead.e. TO ..". tool tip) there has to be some to fit them together. negaor zero) is always required. In a correct sign of each value (positive. " " . it mentions current tool position.!-'v" . data associated with the G92 command will (i. described in Chapter 19. 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. and the Tool Length OffseT (G43). registration command is an standing the skill. Programming FormatAs the name (he command suggests. note the emphasis on from-to By definidistance is unidirectional.p'n Position Register DefinitionA little more verbose defi could beof the position way:locationrell~ISli:::rPosition registerasFROM the program zero. Programmer provides all coordinates based on the reference point (program discussed earlier. is a very simple command. A typical description only specifIes Position Register Command. e. In practical applications. This been one some grammers and found a little difficult to stand.In all cases. register is only applicable in the absolute mode programming. . by a much more and called the Work Offsets to U59). while G90 command is jn effect.n r. the tool current position. measured along the axesaNote that the definition does not mention the machinezero at all . In cases. stored) into control system memory. The current tool position may be at machine zero. There are many but still compames developed years running on equipment.The formatcommand is asfrom theof each axis specifies zero to the tool reference point (tool tip). In reality. there are still quite a few older machine tools in shops that do not the ury of the of commands. It has no use in the incremental G91. before it can oldest method to do all lhis is to register the current of the control system. 10 lool never reversed. between the program direction is always the current tool location. Havharmonized to rPt.'{"wlt . 'nr.. ditional axis will also have to be registered with the indexing table on example the B axis chining centers. described in Chapter 18. a look at some more detailed definition this command. First. which by itself is not verytoullocation. it may within travel limits of axes.POSITION REGISTER COMMANDThe command for the tool position register is 092 for machining centers and lathes:ition register commandilion regisler commandis a very important distinction. the113. means to associate them must be some means LO 'teU'the control syslem exactly where each tool is physically within the mawork area...REGISTER COMMANDSreference points CNC programcorrectly. zero. lathe using G50 command will explained later. In programmmg.instead."'rPlnrppoints for program zero) and tool (i.. However.

Figure 16-2 shows an a set at a live X axis and a positive Y axis. H an axis was not specified with there will no change of display for that At the machine.0 Y7. within limits of the machine axes. There could be an advantage. AI all the position display some values for each They could zero or any other values. without some speIt is an almosl impossible task. A program is usually done away from the machine. the same lime.0 inches away from machine zero in the X axis.5. tool seHing with the18-1Current tool position (only XY axes shown)machine zeroMACHINING CENTERS APPLICATIONIn programming for CNC machining centers without the Work Coordinate SysTem feature (also known as Work Offsets). trying 10 setup part (without a fixture). if a special fixture is permanently attached to the machine A subplate with a grid is a common example.to match the actual specified in the command. for example. the has a major responsibility .5 ZS. method of starting program at machine zero is useful. but the part position on the tabJe must be speciG92 X12. The same effort has to be done for the Z axis as well. This is not will necessary and definitely very impractical. the CNC operator can setup the part anywhere on the table. at cial fixtures.0 could have easily been 12. there is no for machine zero itself.nothingMACHINE ZEROcan be seen on the absolute position effect of screen display. Tool Set at Machine ZeroThe first method requires that the machine zero position be tool change position for all axes. It is definitely an extremely unproductive There is no need those numbers. There are two methods:o The tool position is set at machine zeroFig ure 16-/ a G92 setup on tool sel at machine zero position. There are numerous variations on this lype of setup.o The tool position is set away from machine zeroWhich method is better? We look at both them. When G92 command is current values of the display will with the values fied with G92. in any reasonable position.114Chapter 16 Tool Position Settingonly purpose of command is to register the current 1001 posilion imo the control memory . the operator must the same exactly inches away from machine zero Y axis. they are strictly X 12. with no benefit All this difficulty is encountered has chosen the machine zero only tool change position (mainly in the X reference poi nt andYIN1TIAL TOOLPOSITIONMACHINE ZEROFigure 18·2 Current tool position (only XY axes shown)set away (rom machine zero.375Numbers in the example look innocent enough. Consider il for a moment and think why it is impractical. Permanently set one or more vises may also benefit. to 12. Tool Set Away from Machine Zerosecond 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. But conCNC al the machine. the Register must be for each axis and each lOol.

'T TOOL 1 READY)N4 G92 X9. ThisIn order to place tool into the tion. nprlpn.55 F5. the tool change position is lost. for 092 command along shows a typical o 1601 ill ustrates the concept. length. 050 092 command:MACHIIf 092 isa the command is similar:same definition and programFigure 76-38machine zero fDr the Z axis different setting).REGISTER115change posi1001 from the pro· statement.0N5 NoN'7 N8~(TOOL 1 TO SPJCNDLE) (SE.S Z11.LATHE APPLICATIONthe with Fanuc and similar controls. 5 MaS Nll NOl(RAPID TO Z MACHINE ZERO) (RAPID TO XY SET POSITION) (OPTIONAL STOP FOR TOOL 1) Position Register in Z Axisa typical vertical machine.0 N09 NlO X9. assuming the tool length is different for tool.0 (FEED TO DEPTH) X).the prosame. the operator physically moves the gram zero by amounts in is a lot easier job and also much more jng setup to the machine zero. at the start of a new day.0 (CUT A SLOT)GOO Z11.l NOS (MOVE TO CLEAR ABOVE) GOl Z-0. When the power to chine is turned off. Programming ExampleTo illustrate how to use the position a part program for vertical have to be followed:thatOnce 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.example to write but more difficult to setDon't worry about unknown program explanations should beatInsetting position must always It not maHer the tool is made. tion. the Z axis must be fully re[0 the machine zero.n CNC operators solve this problem by finding the actual distance from the machine zero to tool position. of the values will Only one but normally. the XY settings will not change. the 092 selling will be the same for all [here is a good reason to change it. at machine zero or away from it . a rule. in order to make (he automatic tool change.'T CURRENT XY) GO 0 XL 0 YO.2 G17 G40 GBO G90 TOlN3 M06The only major disadvantage of this method is new tool change position is only system while the power is on.~p. 7 5 Y6.ooThe cutting tool should be changed first G92 must be established before any tool motions all the cutting is completedo Tool must return to the G92 position whenAll three rules are followed in a01601 N1 G20N. 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. Normally. register it once for particular then move the tool by that distance for example. There is no other option. S S800 M03 (MOVE TO ZO.O Y4. each Z value as the position register.7S Y6.(PROGRAM NUbmElR) (SET ENGLISH ) (GE.0 F7. each tool will have a different Z value of the command.

. where tool on the lathe resembles the milling type. some are . the center line tools will have zero Lo the tool a fairly large that means their GSO value the Z axis wm small. but less common. a toolFigure 16-4 a using an indexable drill as anTOOLfor center line tools. It is not efficient at is a solution. Several new designs of lathes are available. to prevent a collision with the chuck. All tools in this group have a common denominator. whereby the tool tip is always on spindle cenler line. are other. However. except that they belong to two different G groups. Much more efficient method is to select tool indexing position position as close lO the part as possible. 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. POSIto move the turret 10. Based on history. just control panel The position registcr to machine zcro /00 far for have one major disadvantage it most jobs.. Three-Tool Setup GroupsOn a typical slant bed CNC lathe. and so on... " lathe op-Probably the most to have the tool change to the machine zero position. equipped with a Iygonal turret (6 to 14 stations). due to design of CNC lathes.'-"" will also be enough clearance of two position at the X not too distant) and JUS! On a lathe. for lathe applications is very similar to that for the mills.typical Japanese made controls use GSO.116Commands G50 and are identical. whereby typical US made controls G92. For the Z axis. or the machine. tools used. Center line Tools Setupas center line tools are typically standard twist drills. whether the tool is in the or not. Even an end mill can center line. During tool the tool is in the active station.C"" .. If there is enough clearance the IV"!:. when compared to external tools. while they cut These must be setup exactly at 900 to the work face (parallel toThe position value in the X axis is from the spindle center line to the center line of the tool. Fanuc actually offers three G code for lathe controls. should always be based on the longest tool mounted in the turret (usually internal tools). however.. the projection from the turret holder must possible interference must be mounted inaclive one that is used for tools move cutting. 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.16-4 Typical 550 setting for center line lathe tools. carreamers.. where all tools are mounted in turret.. which generally do not project too much. methods to the GSO command. the used for CNC lathe three groups normally do:oQTools lAtn'''''tn on the part center line Tools working externally on the part Tools working internally on the partQfor each group is understood well. all cutting individual stations of the turret. particularly on larger lathes the Z axis. it to any tool within a group. Tool SetupThe most important work relates to the tions to select from.. the position value is measured from program Iy. In all are safely out of placed in a tool magazine. do not forget to keep in mind layout of all tools in the turret.

the choice is simple.5 inch diameter:. part-off andand approaches register value is tool tip of the this chapter). the programmer has to know (and also tell operator). mcluding chuck those tools where the Corner Tip DetailTypical turning tool contains an indexable with a strength and surface finish When command is used for a Lool that a built-in. we may first a boring bar. 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.REGCOMMANDS117 External Tools Setupexternal machining operations such as diameters. but can be used as well for various internal operations. 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). Figure next page shows settings for the a corner radius. value is meaintersection of program zero to the X and Z tool shape and in the will vary. which edge corresponds to.zero toforFigure 16·6 Typical G50AT TOOL CHANGE POSITIONfor internal lathe toolsFor reasons.TOOLthreading. for safety reasons. most common orientations of a including two grooving tools. (his is a more advanced strict safety COI1Sllaer'an. Figure J6-6 be made to the setup for an internal 1001 shows a typical example).mnC'lPt1 to cut a the tool is programmed to cut a 2. the tip the insert.tum a possible order Note that the turret position is for a typical position. Programming ExampleThe example showing how to use a position register command G50 on a lathe will be very similar to that of a machining center. the tool change is made. First. taper cutting.sl 1001 is proor". When the machining is with (ha( tool. In cases. (boring bar shown in16-4.ons no extended zone for the X axis above (only about .16-5 illustrates a typical position tool (turning tool shown in example).Internal ToolInternal tools are core or other inside of a part. times. even at the mawhere within chine zero. in a premachined Typically. For exand i nlemal threading are comample. In case of tools tool. 16-5 and /6-6) All three iIIuslrations operations (drill . it to return to the same absolute position as specified in the The following simplified example is two the fir. this zone can entered to make a safe tool for very tools. G50 amuunl is usually the insert.02 inches or in the sure toG5D setting for external farhe toolsconcern relating to long tools is {"lp~r~lnt'p area. not necessarily as identified as a tool That means G50 may be set machine zero of the machine. followed with G50 setting for the tool.

B T0200N16 !rOO %important blocks to together are the blocks N7 and N 10.5 TOlOONB MOlNote blocks N2 and N7 first tool.OO?N6 GOO ZO. Block N7 is the tool change position for the tool.l T0202 MOB Nl3 Z-1. and N 10 and the second tool.OOS N14 GOO X2. All that is done G50 command is telling the control where currenr is from program zero always that in mjnd~.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. For second tool.75 FO.3 Z4. block N15 forces the tool to return there. Z.01 FO.the heavy dot indicates XZ coordinates set by GSO X. pairs of are exactly same.N 15N9 T0200 NlO GSO XB.B Nll G96 S425 M03 Nl2 GOO X2. for the tool above01602N1 TOlOO N2 GSO X?4S ZS.3 Z4. What program is the system here is that block N2 only registers the current tool position. block NIO registers the current tool position.l M09N7X7. block NIO is the tool register for toot . 7 H09 N15 X8.5N3 G96 S400 M03N4 GOO X2. but block N7 actuaJly returns that tool to the same posilion it came from.4S ZS. For tool.S ZO.? ZO TOlOl MOBN5 GOl X-O.118Chapter 16Figure 16-7 Positionsetting G50 for common tool tip orientations .

IJV~"LJ\.POSITION COMPENSATIONIn this handbook. programmed with the adH. the operator enters machine.screens. the programmed leuercan be D. the zero taken from the cast surface will be subject to change. modem controls offer many features to both programming and machine an easier... For example. with exactly the same meaning. the position compensation is called fixture offset or an offset and a cornlJ(!ns:aoffset. these numbers." . the part in a fixture on the table whole setup is this reason. Programming Commandsand similar controls. there are four preparatory available to program position com-It is only one of severalincrease in the programmed direction compensation amount decrease in the 1pro..DESCRIPTIONThe maIn purpose compensation is to correct any difference between machine zero and program zero 1001 positions. Today."r...as the majority of users interpret it.the programmer and machineterm is used in the same meaning limited replacement of the culler is not covered at all for its obsoleswill be on positioning of the t~".) available in is called a position As the name suggests. this method is still compatibility with older programs.Lll\..IJlIl . If required in \. None of is and are which they appear.. the actual tool position is compensated to its Iheorelior assumed position. when working with castings. methods available to On modern CNC systems. An .lmrne(pensation amountG47 G48Double increase in the Iprogr~lmrne( by double the compensation amount Double decrease in the programmed direclio1n by double the compensation amountI'. A coordinate offsets and compensations are typical support in programming for One of the oldest programming l""".gn. .. in the next chapter handbook. using position functions... many are exactly. and more precise activity. The H address points to the memory area storage of the control system. The lion is often and for any practical purposes. using appropriate setup."~ the part. where the distance between the two reference points is subject to vanations or is not known at all. Ppsition compensationcan also be used for aLikeD ..)" compensation is that requires mput the CNC maspecifies the number. well before the actual part programming. The current chapter'describes some can benefit from ustypical programming ing the old-fashioned method. mally. It been replaced by the much more flexible Work Offsets (Work Coordin. if Programming FormatEach G code (G45 to G48) is with a unique position compensation number. (Wo terms are sami!. depends on the of a control system parameter.~".definilions are based on stored in the control meaning of all are inverted. programming are expressed as than not.ate Syslem). Whether the H or D is used in the program.. Using position the need to make constant compensation will program of the fixture setup.. On most Fanuc control systems..U in any subsequent block.. U~~.. In it is in those cases."' ... Fortunately.. this technique is not really needed... 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.

in block N5. by the distance of exactly 12 inches and there will be a similar motion along Y axis. for example:G91 GOO G45 G45 Y . all possible combinations available must be evaluated:oTABLE1 '-. The control will evaluate the block and interpret it as programmer's intention to go to the absolute zero.0000 inches. the H address is also used with another type of compensation. Earlier definition has stated that a single increase is programmed with G45 command and a single decrease with 046 command.The applicable preparatory G code will determine how the address H or address D will be interpreted. is followed by the target position and number of the memory storage area (using H or D address). from absolute to incremental mode. which is the target position. The D address is also used with another type of compensation.. specified by G90. known as the cutter radius offset (or cutter radius compensation). or a negative valueo ofigure 17. Note that the example uses incremental and rapid mOlion modes and only one axis. 11111--_ _H31---MACHINE ZEROH32T. Normally.Figure 17-J. the machine zero [s the absolute zero. if the absolute motion is programmed to eIther XO or YO target position. the compensation has to be applied to bolh X and Y axes. There will be no motion.Incremental ModeorG9l GOO G45 X D .. known as the tool length offser (or tool length compensation).general conceptCompensation amount may have a lero value. Note the absolute mode setting 090 in block N4. However. Remember that the main purpose of position compensation is to allow a correction of the distance between machine zero and program zero. Interpreting the way how the control unit manipulates numbers is important for understanding how a particular offset or compensation works.. finds it is at the absolute zero already and does nothing. coordinate settings or active compensations. typically programmed at the beginning of a program with position compensation:N1 G20 N2 G17 GSa TalN3M06(NO x MOTION) (NO Y MOTION)N4 G90 GOO G45 XO H31N5 G45 YO H32N6x .where the appropriate G code (G45 through G48). to program zero. Take the following example of severa! blocks. it must be specified on separate blocks. Since it is most probable that the compensation value will be different for each axis. D31 G45 Y D32(D31 STORES THE X VALUE) (D32 STORES THE Y VALOE)For the record._Either an increase or a decrease is programmed (G45 or G46)Axis target can have a lero value. described in Chapter 19. Both G47 and G48 commands are of no consequence at the moment. it is the only zero the machine control system 'knows' allhe time. H31(illl STORES THE X VALUE) (H32 STORES THE Y VALUE)orG91 GOO·G45 X . If the G90 is changed to 091. and without any offsets.. or a positive value. H32The question may arise why the compensated motion [s in the incremental mode. In the examples. along XY axes. there will be a motion along the negative direction of X axis.. The normal use is when starting the tooJ motion from machine zero position. Motion length CalculationLet's look a little closer at how the control system interprets a position compensation block.This example illustrates a motion from machine zero (the current tool position). It checks the current position. or a negative value.120A typical programming format for position compensation function is:G91 GOO G45 X H . regardless of the compensation value setting. with two different offset numbers H (or offset numbers D). described in Chapter 30.7 Position compensation .\PROGRAM ZEROJ"'"\ PART__ ~ _ J .. or a positive value. The conclusion? Use position compensation commands in the incremental mode G9 J only. Since both commands are tied up with a particular axis and with a unique H address. Assume that the control system is set (0 H31 =-12. By default. only a single measured amount can be stored under either H or D number. more common address H will be used .

TARGET) (INCY-TARGET). 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.0 H99 N17 G28 XO YO Nle G91 GOO G4S X-1S.0 inches alongvalue of axis target the same formulaG91 GOO G45 Xl.0 H99 Nl1 G28 XO YO N12 G91 GOO G4S X9. decision 10 set asIt is cruc1al to understand how the control interprets information in a block. could be quite confusing and but it would work quite well.S H31 will ber".. The modal were not repealed01701 Nl G21 N2 G92 N3 G90 N4 G46 NS G28-15.5 H31AND G46 TEST} G17 XO YO ZO GOO G45 XO H98 YO H99 XO YO(ABS (ABSxoTARGET) YO TARGET)the motion will try 10 the X axis direction and result will be overtravel.5000However.0 + (-1.000willinterpreted asthe X and Y axes respectively.0 H98 NlO G46 Y17.S H31is a non-zero andFigure 1 shows for the following example 701.-'"17-2Position compensation applied to different target locations: zero.'or.0 H98 N13 G46 Y17. positive and negative . assume the memory I stores value of -15."" . the compensation is measured/rom mane zero to program zero.5000(INC' Y+ TARGET)(AES X-in the .. In compensation.0 + 1.0 inches.0 H98 Nl9 G46 Y-13.. and machine current location is at zero position and setting on Ihecontrol is also set to zero.0 H99 Nl4 G28 XO YO NlS G90 GOO G45 X-1S. Then theG91 GOO G459'-1H99r1713. the H address would the same way).----15 .see 01701 program Pll::l'mn/I'!xoH31will be interpreted as -15. ":1'. example.. The applies to the X and Y axes exactly (he same way.5 = -13...O 898 Nl6 G46 Y-13.'"j. on vertical machiningcenlers.0000resulting the X axis.'/]N6 G91 GOO G45 XO H98 N7 G46 YO H99 N8 G28 XO YO N9 G90 GOO G45 X9.0 H99 N20 G28 XO YO N21 M30 %(INC' XO TARGET) (INC' YO TARGET)(ABS X+ (ABS Y+TARGET) TARGET)asX+-15.S16.l. Since [he value of X is G45 command cannol be used and G46 command must instead:G91 GOO G46 X-l.the Iota I motion of negative \5. it is important to set cenain standards and consistently abide by them.TARGET)(INC' X. no compensation place. example. If the value is zero...0 + 0 = -15.0000 .POSITION COMPENSATION121In programming..next example is 1/01 correct:G91 GOO G4S X-l. To see the possibiliprogram 0 J70! is not dOl ng very much. The compensation values and H99 were set to:H98 H99 = -150. value could been value.5) '" -15. In written in metric units and has tested on [ I M..1. means a negative result is a lion from the operator's viewpoint. 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/ ).G45TARGET) Y.. it evaluin memory called by address H (or ales Ihe value D).

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.5G46G45 G46 FaceIn a later (Chapter 28). milli ng wi II be explained in more detail.122control syslem will the way it was (symbol orr means an the and direction ofN317each motion block or the wrong way condition.Position Compensation Along the Z axisPosition compensalion usually appl to the X Y axes and will nol normally be used with the In most cases. Using G41 and G48N4 N6N7G90 G90Gn G9lG90G90-> -> -> ->G45G46G45G46G45-> -> -> -> -> -> -> -> -> -> -> ->000 0no motion no motion X-2S0. However. the Z to be controlled by another of compensation known as the too/length This. 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. preceded WiLh method is described in Chapter 19 of the handbook. compensation feature was used only between the zero and program zero.G4. The single mClrea~.0 Y+ OITN9 NlO N12 Nl3 Nl5 Nl6 N1e Nl9G91 G9l G90 G90 G9l G91-> -> -> ->-> -> -> ->G46 G4SG46+ + + +X-241.0In the examples.0 X+ OjT Y-163. If the Z axis is programmed with G45 or G46 commands.0 Y+ OjT X-241.e using G45 and the were used. as a method exactly is the part on the table. i( will also be affected. they can still used. 0 Y+ X+ Y-163.

To achieve this goal. normally up to six. up to six parts may be set up on the machine each having a different work offset number.12. usingWORK AREAS AVAILABLEsome more detailed descriptions can be covered.-'. offset commands. a preparatory for the active work offset is needed in control system will do rest. Commands are fully described in the next[X]MACHINE ZEROAXES MOTION LIMITSFigure 18·1Basic relationships of the work offset methodThe same relationships illustrated for the def~ult apply exactly the same way for the other able work offsets 055 to G59.c{'nhlf'cBasically. will automatically make any adjustment for between the two part locations.n''-'' rl. 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. very SImIlar approach as in the position compensation method. although the Z controlled independently. but much more advanced and flexible. the n1"I''''.."'lU~I. without is a knowing its exact position on the machine table.'rn contain a different compensation number zero of the previous part. lalter term seems to be more popular because it is a little shorter.. Using the workprogram zeros are measured from the machine zero lion.-.r.WORK OFFSETSIn position compensation. In work system. We will use Work Coordinate System feature of any modern control whether it is called the Work Coordinate System or the Work Offsets. Un1ike the position cmnOlens:aU'OI more axes may be offsets.or a work offset? Work offset is a method that allows the CNC programmer to a part away from the CNC machine. Think of the work offsets as an alignment bctwcen two or more coordinate systems. just what is a work coordinate system . but more areare available onThe six work coordinate systems Fanuc control lowing preparatory commands:When the control unit is is normally the most modem methods to coorrelationship between machine zero reference the program zero reference point. the work ent work areas as a the unit areto independvalues input into measured from the maare up to six work zero positions can be relationships. to switch machining part to another within the same setup. ease. can move the tool from one part to with aV"Vluc.

---. a multi-~irlerl part on a horizonttll machining table.S Y3. Keep in mind that the control still has to have accurate work coordinates stored in the G54 register. anyone of the 48 work offsets can be accessed by programming a special G code:GS4. for the total of 54 (6+48).4462 Z 0.5543 Y . the control will automatically select G54 .1 SlOOO M03For work offsets G54 to G59.0000Figure 18·3 Typical data entry for the G54 work coordinate systemThe presence of PI to P48 function within a block will select an w. What options do exist.By using the G54 to G59 settings in the program. for the majority of vertical machining centers. In programming. the Y axis as a negative value and the Z axis as a zero value.1 P48Selection of additional work offset 1 Selection of additional work offset 2 Selection of additional work cffset 3 Selection of additional work offset x.as an option . never the other way around. This is done by the CNC operator at the machine. G54.7.i Pi XS. for example? Fanuc offers . where P = I 1048t>NoPART PROGRAM\ ZERO \.1 command.WORK OffSET DEfAULT AND STARTUPIf no work offset is specified in the program and the control system supports work offsets.1 P.. If tbe PI to P48 parameter is missing.. the default work offset command G54 will be selected by the control system.1 S1000 M0301 (GS4) X -12. Figure 18-3 shows an example of a typical control system entry. a typical entry into the coordinate offset position register will be the X axis as a negative value. Additional Work OffsetsThe standard number of six work coordinate offsets is usually enough for most types of work. example:G54. Note that the measurement direction is from machine zero to program zero. for example. even if the default G54 is used constantly from one program to another. For comparison with the position register command G92.1 P.. However.he older method of G92 {lnd m{lchine zem a<.up to 48 additional work offsets.Selection of additional work offset.S Y3..Most Fanuc controls will allow omission of the decimal ponion of the G54. If this option is available on the CNC system. There should be no problem programming:N2 G90 GOO G54 Pl X5.1 P3 G54 1 Px. it is always a good practice to program the work offset command and other default functions. Selection of additional work offset 48AXES MOTION UMITSFigure 18-2 Basic relationships of the Position Register cDmmand G92The utilization of additional work offsets in the program is exactly the same as that of the standard commands:N2 G90 GOO GS4.0)(!)lQ G54... whenever desired.1Ji/ional work offset.1 Pl G54. there are jobs that may require machining with more program reference points.G92 [ X ) ~ MACHINE ZEROChapter 18Part position on the machine table is usually unknown during the programming process. the minus sign must be entered in the offset screen. 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. Note the opposite arrows designation. if the job requires ten work coordinate systems. Figure J 8-2 shows the same part set with t.from program zero to machine zero.1 P2 GS4. The main purpose of work offset is to synchronize the actual position of the part as it relates to the machine zero position.124The 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. The machine operator will have a better feel for the CNC program. If the direction is negative.that is the normal default selection. indicating (he direction of measurement . a ~tart point.

bMINUSMINUS and MINUS becomesa -(.. under the G54 heading.mathematically.A == Actual motion length (distance-to-go displayed) M = Measured distance from machine zero P == Programmed absolute target position (axis value)Figure J8-4 illustrates this concept. For simplicity.4462. The computer will determine (he actual motion by a simple calculation .5 Y3. usually at the head of program or at the beginning of each tool:N1 G17 G40 GBO G54The 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..1 SlSOO M03II3f'where .b0--rIWoJ+------'-----IMINUSMINUS and PLUS becomes3.either as a separate block. The actual tool motion in'the block N40 will be:If any other work offset is programmed. that after setup. What will actually happen when this block is processed?. There is no need for them. plus and minus combination creates a negative calculation:-10 + (-12) = -10 .1 = -4.allBe very careful when adding a negative value .0543 + 3. later in the chapter:The work offset can also be programmed as part of a startup block. the work offset setting stores the distance/rom the machine zero to the program zero 0/ the each part in the setup. Assume for a moment. with no additional information. Work Offset ChangeA single CNC program may use one.12 = -22Note thaI there are no X or Y values associated with the G54 command in the illustration. within the GS4 work offset. il can be assigned into a simple fonnula. In all mulli-offset cases. the measured distances from machine zero to program zero were X-12. In (he above block N40. as in this example:N1 G54x=Y= -7.-5. the absolute position of the tool has been established as XS.5543 + 5.. squares it up.b):::a-I-bPLUS In the example. the work offset may be established in two ways . it will be automatically replaced by the new one.it will always add the programmed target value X to the measured value X.5Y3. The whole calculation is so consistent.5 = -7.WORK OFFSETS125In the program. before the actual tool motion takes place. or all work offsets available.5543 and Y-7 .4462-12.b) = a . but are explained separately.3462These calculations are absolutely unnecessary in everyday programming . 1_t1-. The CNC operator places the part in any suitable 10calion on the machine table.5 --1Figure 18-4 Direct too/ motion to a given location using G54 work Dffseta -(-I-b) == a . two. the seuings of the EXT (external or common) offset are not included in the formula.1. the double signs are handled according to the standard rules:PLUS and PLUS becomesG54 [X]--'a + (+ b) == a+bPLUSPLUS and MINUS becomesa + (.they are only useful to the thorough understanding of how the control unit interprets given data. finds how far is the program zero away from machine zero and enters these values into the control register. The entry could be either manual or automatic. and the programmed target value Y to the measured value Y.

the target position does not have to be part zero (program zero) as shown in the exampJe . The control will do the restOlSOl Nl G20N2 G17 G40 GSOThe ZO offset entry is very important in the examples and in the machine control.0 M09 N9 G9I G54 G2a ZO MOS NlO MOlChapter 18(SWITCH TO GS6) (SWITCH TO GS4)r--. In the majority of programming applications. only the X Y posi~ tions were considered. Note the return to the G54 work offset in block N9. The only time there is a need to consider Z axis within the work offset setting is in those cases..1 NB GBO ZI.take care of the transitions between tools from one work offset to another.14 P100 FB. This important subject is discussed separately in the next chapler.it is only a suggested good practice when the tool operation is completed.Compare all possibJe motions in Figure 18-5:G90 GOO G54 xO YO... Return to the default coordinate system is not required .nOr1liaJly. the tool will be moved to the first cutting position right away... to the program zero position of theftrst part.819 ZO (GSS) X-1S. even if the XY setting does. the work offset is used only within the Xy plane. Of course. will rapid from the current tool position. there was a conspicuous absence of the Z axis from aU discussions relating to the work offset. So far. Study the simplicity of transition from one work offset to another .3S2 zo (GS7).an advantage over the position compensation and the position register alternatives. will rapid from the current tool position. as long as (hey are in the same positions for the whole setup. within the G56 work offset. The following program exampJe will illustrate that concept. a single hole will be spot drilled on each of the three parts to the calculated depth of Z-0. Although any selected work offset can apply to the Z axis as well. 5 Y3. The method used for Z axis is in the form of G43 and GM commands that relate speci fically to the too/length compensation. as they had been the ones changing. Bringing back the default offset G54 may always be helpful at the end of each tool.l Z-O. That was no accident .122 zo (GS6) X-22. will rapid from the current tool position.14 (program 01801).733 Y-8.Nt G56 XS. 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. 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.G56 X G55XG54X -IiBlocks N3 through N5 relate to the tirst part. new work offset. more commonly known as the tool length offset.l HOl ~8 NS G99 GB2 RO. This is the greatest advantage of using work offsets . The block N6 will spot drill the hole of the second part of the same setup..N3 G90 GS4 GOO XS.G90 GOO GSS XO YO Z Axis ApplicationSo far.O N6 G55 X5. where the height of each part in the setup is different.5 Y3.126For example. to the program zero position of the second part.1 S1000 M03 (G54 USED) N4 G43 ZO. within the G55 work offset and the block N7 will spot drill the hole of the third part of the same setup. there is a better way of controlling the Z axis.just a new G code. if there are three parts mounted on the table.5 Y3..Figure 18-5 Using multiple work offsets in one setup and one program. and with exactly the same logic as for X and Y axes. to the program zero position of the third part. to save the cycle time. 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. Three parts shown in the example.76l Y-7.there are no cancellations . 1 (SWITCH TO GSS).387 Y-14.G90 GOO GS6 XO YO.it was intentional.. In the example. within the G54 work offset. each individual part will have its own program zero posilion associated with one work offset G code. The work offset selection is modal . All mounted parts may be identical or different from each other.

.. 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 . There could be as many faces as there are table indexing positions.. G54. .122 Z-O.0.c.. four.-""-.the switch from one work offset to another is programmed exactly the same way as for the vertical machining applications.g-. that change must be con~_ sidered by modifying the coordinate register selling of the control. but the programmer can learn an important lesson as well. if the tool length offset of a particular cutting tool is measured as 2-10.. The difference between part heights has to be always known. Machining two. In either case. For this purpose.._ _-""-.819 ZO (GSS) X-lS. Ihe programming approach would be similar if 20 were at the center of indexing table.644 within the 056 offset . The multiple work offset concept is especially useful for CNC horizontal machi ning centers or boring mills.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. discussed in the next chapler (Chapter 19).. . An example may help. three.. combined with the 2 values shown in Figure 18-6. the program zero at the pivot point of the indexing table can be set for the X and Y axes. This variable height is controlled by the Z axis...HORIZONTAL MACHINE APPLICATIONMachining several parts in a single setup is done quite frequently on CNC vertical machining centers...""""--... .. "" . Based on the data in the previous example..40S (056) X-22..----. but with variable heights... .--G56" _ _ M..r~:!'~-:-Dr... which is also quite a common setup application.408 within the G55 work offset.733 Y-S. shown in Figure J8-6. -~~8~. -10.387 Y-14.8180The 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. There is no significant difference in the programming approach . The work offset handles this application very nicely.jiIt:OA1"".. and -9.either choice is acceptable.. where many part faces may have to be machined during a single setup.. the work offset selection is a welcome tool.356Figure 18-71l1ustrates a typical setting for four faces of apart. the control system settings may look like this:(054) X-S.all using the examples in the previous illustration. . 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.0 Inches within the 054 work offset. 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... See Chapter 46 for more details relating to horizontal machining.""""""80Figure 18-7 Example of work offsets applied fo a horizontal machining center.761 Y-7.TABLEFigure 18-6 Setting of work offsets {Dr a variable part heightFigure 18-6 shows some typicaJ and common possibilities used for special parts that have a variable height within the same tool setup.0.3S2 ZO.WORK OFFSETS127If the 2 amouot changes as well. according (0 the setting of the tool length offset. This is the responsibility of the CNC operator... 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. For example. For instance. either from the part drawing specifications or from actual measurements at the machine.. . the actual motion of such a tool to the program zero along Z axis will be -10.. up to six faces with a standard range of the G codes. or more faces of the part on a CNC horizontal machining center is a typical everyday work in many companies. where 20 is at the top of each part face..

all programmable coordinate systems will name for special offset is Work or more often. Any nOll-zero work offset in a very important way:TIP' _. on a bed CNC lathes. It did not take to apply It to CNC lathes as well. machine will have one or the other but not both.o 00 o 00(EXT)(COM)LATHE APPLICATIONSOriginally.0000 0. On screen this special is usually located before or above for G54. the External Work Offset.0000 0. The designation also implies that this is nol a programmable at least not by using the CNC program~ing . The With computer market. Figure /8-9 illustrates reasonable geometry values for a drill. COM abbreviation become facto standard abbreviation for the word communications. to the same and has the Either ahhreviation same purpose. logically and physiis identical to that for machining centers. as well as any additional will be by the values set in the external offset.t:){tlll/ul/::of anwork offset display (EXT ::::: COM)GEOMETRY OFFSETNo.00 that this work offset is not one of the standard six G54-G59.0000 0. example. Xdifference between an or common is that it is not programmable with any particuwork G code. ly set to zero for all axes. including the conwith a personal computer. The operation.0000 0. work offsets CNC lathes eliminates awkward use or (. depending on the control model. work offsets are a possibility. work coordinate ~ystem was designed f~r CNC machining centers only. the abbreviation COM means Common.00000. more !han one offset is means the CNC lathe programmer on the G54 setting as a rule. turning tool and bar (TO I .. 02' -8.0000feXl'emi~IJ01 (G54) X -12. with the tool turret above the spindle centerline. offsets are identified by numbers 0 I 06.0000 05 0. some time ago. Two special offset features found on the control Wear offsets..4462 Z 0.92 and makes the lathe setup operation much andThe two zeros .101 .0000Geomerry is the equivalent of a known from milling controls. the geometry offset both X and Z axes will be negative. the COM designation is found on older UJ!'!'''I"I-'r\v the EXT designation is more recent.128Chapter 18EXTERNAL WORK OFFSETSA careful look at a typical work screen display reveals one offset that is identified by one of the followingwork offsets.. _ _ . to prevent possible confusion between the two viations in computing.0720 04 0. Geometry Offset00 (EXT) X Y 0. T03).6470 -9. Fanuc also supseveral communication methods.00000 3 2 0a18·9 Typical data emries for a lathe tool GEOMETRY offset. Fanuc Macro B option allow programming thIS The abbreviation EXT means External. measured from the zero along a selected Typically. as illustrated in Figure 18-8: Types of Offsetsmain difference in applying work offsets on a is that seldom will there a need for more than one offset. on the systems nre (he Geometry same screen dispJay.0313 0. It rpl"lf"PCf'ntc tool reference poinllo program zero. COM designation has replaced with the designation EXT.0469 0.5543 Y 7. 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. a maHer of curiosity. based on the setting . or on screens.

also part of machine training. the purpose of the wear ofrsel is identical to that for machining centers.~~-LU (!)--.0000 0.0313 0. except for the method and purpose of the posicion measuring. The second two digits are for the wear offset register number only. if possible. the tool number for a lathe has four digits. even end mills used for flat bottom holes.TURRET AT TOOL CHANGE POSITIONT01GEOM (Z)ooo~Depending on the control model and the display screen size. This offset compensates for the tool wear and is also used to make fine adjustments to the geometry offsets.70 Typical data entries for a lathe tool WEAR offsetFigure J8-10 shows some reasonable sample entries in the wear offset registers.0000 0.0469 0. Tool in station 4.WEAR OFFSETNo.00000.WORK OFFSETS129 Wear OffsetThe wear offset is also known and used on milling controls.00000. but only for the tool length offset and the cutter radiusTOOL SETUPIn the next three illustrations is a very similar layout as that shown in Chapter 16. Figure 18-11 illustrates a typical setting for center line tools. They do not have to be the same as the tool number. Center line Toolsoffset. As a rule. Usually. There is no choice here. Any adjuslments and fine lunillg of actual pan dimensions should be done by the wear offset only. not for the work coordinate system (work offset). the tool offset register may have a separate screen display (page) for (he geometry and wear offsets. The work offset values (work coordinates) are always placed in the Geometry offset column. reamers. spot drills. Remember. laps. for example. The tool nose radius and the tool tip orientation number are unique to CNC lathe controls. lhat setting should be Jeft unchanged.--<. various drills.0000 0. once the geometry offset for a given tool is set..0000032 0 0Figure 18.. describing the use of GSO register method (position register command used in the program). using one tool as a master and setting all the remaining tools relative to the mas/er tool. Z OFFSETRADIUS TIP _M··t01 02 03 04 050. 1'0404:oThe first two digits select the tool indexing station (turret station) and the geometry offset number.On the CNC lathes.0060 0. they have numbers on CNC lathes as well. All illustrations in the applications also match the reasonable data entered In the too! geometry and the tool wear offset screens of the control. At the same time. or both offset types may be shown on the same screen display. Tool and Offset NumbersJust like tools on CNC machining centers have numbers. but different tool numbers. for example.0000 -0.0000 0.0000 0.. 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. but thaI means the tool is above work and tool changing can be very dangerous. This area covers all center drills. There are additional methods. that allow faster tool setting. Typical values along the X axis are always negative (as shown in illustrations). lypical values along the Z axis are usually negative.0040 0. The tool radius and tip number seHings appear in both displays and the display in both screens is automalic after the oifset value input. it disqualifies all boring bars. Compare the TWO illustrations! The setup of the CNC lathe is identical in both cases. will also use geometry offset number 4. only one coordinate offset is used. A positive value is also possible. but it makes sense to match the numbers. 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.0000 0.Tools that work on the spindle center line are tools that have their tool tip located on the center line during machining.j X OFFSET.Figure 18-1 7 Typical geometry offset setting for CENTER liNE tools.0000 0.

or program zero. same as for turning operations.03lTURRET AT CHANGE POSITIONChapter 18 Boring ToolsBoring tools . If changing an it is to adjust the wear for precision work.01360.are measured the imaginary tip to program zero.-1~-0.0156 TOOLGEOM (2)RO. Cutting inserts are (0 very high but a certain anee devialion should be expected between inserts obtained from different sources. Command Point and Tool Work Offsetvarious reasons. along the X axis (typically as a diameter) along the Z axis. 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 X value of a boring tool will that for a turning or other boring operations. typically as a value as well. in order to prevem the part.0016a typical geometry for a turning (external) tool and Figure 18-13 illustrates a typical geometry setting a boring (internal) tool. the setup change marginal. so a good care is For turning. and the error for a radius that is (left) and one that is larger (right). it is quite common to ting insert in the of work. also be extra for a lool nose that changes from a larger to a smaller It is (he same as a turning 1001. The dimensions the amount in the example.Figure 18·12 geometry offset setting for EXTERNAL tools··0.01JFigure 18·14 Setting error caused by a different insert radius in the same holderexample in Figure for a 1/32 ( .0469) to lJ32 (RO. The scrap can be made very easily.130 Turning ToolsTurning tools . In majority of cases.0313) nose radius (middle). Tool inserlS of same shape and but with a different nose radius.0016Figure 18-12RO. change is enough to cause a scrap. ularFigure 18·13 Typica/g8ometry offset setting for INTERNAL toolsfor the partic-. primarily to favorable CULLing conditions and to keep dimensional tolerances within drawing specifications.0313bI0. imaginary tool tip to a negative diameter) and along the Z ative as well. from 3/64 (RO. be extra careful for a tool nose thaLchanges from a larger to a smaller for example. Always cautious when rean insert with an that has a tool nose radius. to be by the proper amount.or tools .

manufacturers build a precision reference position into the spindle.or tool holder and only a portion of the actual tool projectsFjgure 19-1Typical front viewCNC vertical machining centerWe use the gauge line for accurate measuring of lOa! length and tool mali on along the Z axis. would not have been very practical. own taper is mounted against an opposite taper in the spindle and held in tightly by a pullbar. actually. A of her cutting 1001 . The gauge Ii ne is one of a that is with another plane table131. BT40 and are examples of established European Any tool within its category will fit any machine tool designed for that category. the same rule applies (0 the Z is that the measured values will remajor main unchanged for all tools.LSPINDLE MOTION()wNeedless to say.JW« Actual T001 lengthtool By holding a typical physical length with a measuring drill. not on the Z axis. 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.GENERAL PRINCIPLESThe length of cutting tool has to be accounted for in every program for a CNC machinIng center.I. measured from one programming that is still true. Although the Z axis could have been included with method. In CNC inches. the rest is hidden in the holder. Since (he earliest applications of numerical control.TOOL LENGTH OFFSETfar. The precision manufacturing allows for a constant location of the tool holder (any tool holder) in spindle. 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. That is not the case with the Z The reason? tool has a different length. whether there is one tool used or one hundred tools. One method was the type. we have looked at two methods of compensation for the actual position of the cutting tool in relation to the machine reference point. position is used for reference and is comthe name it is an called the gauge line. main reason is the nature of CNC work. In both cases. out. it is important to understand length. decides on setup of a part in the fixture appropriate location of XYZ program z. the emphasis was only on the X and Y axes. XY axes are always measured from the machine reference point to the zero position. but not quite as relevant. Gauge UneWhen the 1001 holder with the cutting lool is mounted in the spindle of a CNC machine. called the machine rabIe.ero (part reference point or part zero). To understand concept of tool length in CNC programming.is normally mounted in a drill . we can device. each group requires its own unique programming technique. Gauge is by machine manufacturer is closely related to another precision face. For that purpose. tool holder is mounted in by means of a standardized tooling Tool designations. such as the common sizes HSK63. various tech~ niques of programming tool length have They belong into one of two basic groups:o Actual tool length is known Actual tool length is unknownGAUGE LINEAT MACHINEa« I. By a The strict definition.coI-. a six inch long drill has a length of to the other. the other was the contemporary work coordinate system method (work offset). HSKlOO. the table top face. called the gauge line. position compensation..t. In human terms. line for Figure 19-1. When usIng work offsets.

O H04In order to interpret how the CNC system uses tool length command.0000 0. 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. the programmer or operator should able 10 calculate distance-fo-go the cutting tool. without actually knowing the actual length of any-6. followed by the Z axis number: tion and the HN66 G43 Zl.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. Tooloffset cancellength offset number selection Distance-lo-Go in Z AxisTool length offset should always programmed in the absolute mode G90. A typical program entry will be the 043 or 044 command.0000 0.. second.4700 0.001 002 003 004 005 006GEOMETRYWEAR0. The control system will calculate the distance to go.0 inch above part zero. Although this is still (rue Loday and may have had some in the early days. il is best to avoid them.132 labia lop FaceEvery machining center a built-in machine taon which the fixture and part are mounted.All three commands are only applicable to the Z Unlike the work offset commands G54-G59.0000 0. Note that the actual display will vary from one and the wear offset may not be control to on some controls. First. based on the value of H offset stored by the operator during setup./9-2 shows a Lypical screen for the tool lengthTOOL OFFSET (LENGTH)No. They can only be used wilh an offset number designated by the dress The address H mUSI be followed by up 10 three digits.0000in CNC The most significant benefit of tool length programmer to design a programming is that it enables complete program.O H04 MUSThe resulting motion in the example will be to 1. the position commands are not used very much anymore and.7430 8970 -7. it has the dubious distinction of being the least used commands of all Fanuc G codes. This arrangement allows to accurately program a tool motion along the Z The tool length offset (compensation) can be defined:Chapter 19is also a convenient block to add coolant functionMOS for the current tool:N66 043 Zl. The wear offset (if available) is only used adjustments to tMllength as a separate screen entry. G43 or G44 cannot without a further specification.0000 0.0000Figure 79·2 Typical too/length offset entry screenTOOL lENGTH OFFSET COMMANDSFanuc systems and several other machine controls offer three commands relating to the tool length offset .0000 0. the table is located a certain fixed distance from the gauge line.0000 0.0000 0. The reason why will be clear in the coming descriptions of different methods of 1001 length setting.in fact. like the position of tool holder in the spindle cannot be changed. they can be used with the X and Y axes and do not truly represent the Z axisG44G49offsetHODH. on the number of offsets available within theG43044 command is hardly ever used in a program . Top of the table is precision to flatness and for located In addition. The logic behind the tool length is simple:. programming manuals suggest the or G46 commands can also used for tool length offset.all are G commands:set entry. Its comparison with G43 is described later in this chapter. using as many tools as necessary.

J.1) + (-6.u iseExample .. can be set directly on the U"\. Although the number of tools will take longer setting of a than setting a tools..0500. To be fair. i}. where:G43 ZO. or at least two professional skills .. 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.0500:The programcontalns a negative Z coordinate:-'\places a tool spindle and measures the d1S~t. but with values:Za== ==cases is the absolute Z target position in COOirQulate in the prognun.'.02) + (+1.J.28..1 ... Z axis target is -0. programmer has to __ ~~. descnbed in this section.the bulk: of on-machinere-= ="'"(+0....:!ralte..'-....the CNe programmer and the CNe operator.~1...0 and theCNe operator. both have to do something.an(~e tool travels from machine zero to part 'Zero (nf'."""l"1t the tool will travel towards the distance-to-go willIn the lasta negative target IJU".... ... is 0. options require involvement of two people.0200. + (-8. 02 + 1...625 the H07 is -8."'.0200:In this .743) o + 0.8 ~ 28-8.. the program containsG43 Zl.nor~m This work can only done between jobs definItely nonproductive..l H01G54 Z is set to lO... It can justified under stances.+HTOOL lENGTH SETUPof a tool used for (consisting of the and the tool holder).. The one major benefit of this it does not require additional a skilled person to op.743 -6. control system will use=(+0. jobbing shops and jobs or for with very few people.aThe value of the H offset will be added \0 the target Z position if G43 is used.... 05 .. Z axis value of H03 is~.. try toeExample Wr = 0.O. the fonnula worksand can be used'"'yr.. Typically.. an advantage and it corresponding relationship to the disadvantage. The question narrows down to who is going to do what when..0 .0) + (-7. negative tool length offsetsubtracted from the targetG44 is defined as the054 along Z is set to 0..05) + (-0..n_any distance-to-go calculation along the Z axis.41) 0 . 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.47-6. the Z axis target are all . namely using the master tool method..distance-to-go. 0 H03 ...T=~HDistance-to-go along Z axis Work coordinate value position in Z (Z coordinate) of the applied H offset numbereExample .L'" or away from it.. Z axis '"''"'". 625 . Which one appears to be will depend on many factors as well._ . The distance-to-go calculation uses the same fonnula.28) 0 ... the H value..643TheIndistance-lo-go will besure the fomru1a is always correct..855Again. These setup options are ofon-machine or off-machine tool length setups. can accurately calculated.Wz = 0:. Z setting of the (G54-G59). where: On-Machine Tool length SettingisZ is set to 0.Wz0.45The result is ".. ...7.... mentmlg with other settings may be useful...Zd :::: Wz +S' where .6. there are setup methods available to the CNe that allow reasonably speedy on-mach ine tool setup.1 and HO 1 is set to then the distance-to-go will~==:::::0 + (+0..TOOL LENGTH1G43 z-O. 625 H07 ... because G43 is defined as the positive tool length offseto The value of the Hoffset willZ position if G44 is used.

cutting tool. so it can by the program. looking from the front of the machine...r.of the part (distance between the table and ZO of part). Olher methods have later.. table top and the heightoMaster tool method is the most efficient method. dimension Din the illustrationIt is rather rare that the programmer or the operator would always know all four dimensions. can found in various instruction or service manuals. commercially available digital display device. This value is by and must be somehow supplied to the program. the sellmg procedure measured length is entered into Ihe control. All four illustrated dimensions are either known. Even If that were possible.f:S.. it is basedto the length of the longest tool. This equipment can a simple fixture with a height gage (even made or a more expensive.FigureLINE MACHINE ZEROfor'ir1A0IBPreset tool method is the original method.. or can be physically They are always considered as known or dimensions and used as critical for uceurate machineQDistance between the tool gauge line andthe tool cutting point. but to actually measure It.. a typical operator's viewpoint.1 Off-Machine Tool length SettingIn technical terms~ the off-machine requires the work of a skilled tool setter or a CNC operator..Chapter 19 Tool Length Offset Value RegisterWhichever method the tool length setting is used. .. but chining center layout. a special equipment is req~ired. To the tool length offset.. The is always well within Z aXIs travel limits of the machine. D<. The control syslem contains a special registry for the tool usually under of tool setlength o.Y'it ison the measurement at the ma. including the original method:QZ AXIS RELATIONSHIPSTo understand the general principles of tool length let's look at the schematic illustration of a typical a vertical machining center . Since the seltln o is done away from the machine. look at 1he XZ plane...{fset. before the job is machined.. It not possible to know the C (height of part with clearances). toollenglh compensation offThe figure a common setup a CNC vertical machining center. this dimension can be known as well. There is no ~ther method to find this dimension. The must register meusured value into the system.. cause it is distance determined by the machme manufacturer.. This limit switch tion positive Z axis travel and is necessary for the autotool change on vil1ually all machining centers. In earller of numerical control. The will be on the pies are identical. Today. which is the top part for both. adding to overall cost of manufacturing. On vertical and horizontal machining centers.the between the (001 gauge line and the tool cutting point. column is located a1 machine zero position.mfleFigure 19-3 Z axis relationships of the machine. yet still allows for clearances for the part and the tool Chan2. dimension C in fhe iJlustrationQTotal of all three previous dimensions (distance between the tool gauge line and the table top}. this A had to always known embedded in the program.. the heading on the control panel. dimension A in the illustrationQDistance between the tool cutting point and the ZO(program zero of the part)'" dimension B in the illustrationQof the exact heading. three methods are considered in programming length setup. '" a value that represents the length the selected lOol. it U\JI... That leaves A . but with planning common setup. some calculations would not be worthwhile The reality is that only some dimensions are known or can be found out relatively easily. try to fully stand theZ motion geometry orthe machine first.In the illustration. it is based on an external tool setting deviceQTouch-off method is the most common method"-...""a'J""" of the inconvenIences involved in finding this dimension.. the dimension D is known.

oooo.. Preset tools will the by already mounted in a tool holder. are disadvantages as well. scribed in the next secnon...Figure 19-4. T001 length by Touch Offmachine when jobs dois to enter the measured that portion of the by using the op-The tool length that uses the touch-off method is very common..-. As the illustration in Figure each tool is assigned an H number (similar to example)....... A medium users with vertical laClnmln~ centers cannot afford the additional of the culting tools during the part Ihe louch-off when method. they DIe of which setting method t". For proper unsubject CNC programmers. This the method of setting tool lengths.. This method may IS small job runs are machined... All the CNC operator tools into the magazine and register each tool length offset register. All the operator values into the offset setup can be done tional G I 0 command0405 068.GAUGEUNE-GAUGEUNE. number of the tool and with the list of measured to do. is to set retool lengths.5000. Preset Tool lengthto preset the length of cutting tools rather than during the machine setup... There are some in this approach ..0" cutting tip of the Lool to the gauge line is accudetermined . called the tool length offset number:This melhod also a person responsible number of small and for presetting the cutting tools. using the proper offset number.. Another to the center of centers.". The important notion is that the Z axis settings for any work offset and the common offset are normally set to ZO.. tool length externalcutting are set at the exmachine runs a productionIS no change.Figure 19·5Touch-off method of the too/length offsetT . ___PART19-4Tool len pleset away from the machine WOlk at (G54-G59) must be usedis to machine zero poThis distance corresponding H menu of the system.v. where zero is the rotary or table..TOOLOFFSET1the tool length measurement "" . jn spite some loss during setup.benefits.the most notable is the elimination of nonproductive time spenl durapplies to horizontal machining ing setup. to the selected setting in the a comment or message ..they are methsetup on the machine only. The CNC programmer conand chooses one method over these methods and operations do not process directly ...

two are and G44.not from7.3. and when . Illustration in 19-6 shows the concept of master tool setting.'6.643-G44 Difference5. and in appropriate H offset If the tool is an actual tool. when the part touch-off is used.OOO or lO. 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. permanently mounted in a tool holder. the procedure is logically same. and the work norcontain theZ set to 0. 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. Measure the tool length the master tool. Enter the measured under the H number.not quite dead but would to know how barely breathing. they have never used it. Measure every other tool. enter distance the tool new tool to the tool tip of the master tool. First.G43G44Plus offsetMinus offsetTool length offset Tool offset ~:I""_"""G43G44G43 G44Plus directionMinus directionThese definitions are correct only if within the context their meaning into consideration. is an attempt at explanation.Arter master tool into axis of work offset. In rare case where the measured tool will have exactly the offset entry for that tool same length as master too). rather a plain used for H offset value must be always set to 0. Within the Z travel.The will be from machine zero. a look at the definitions found in various CNC reference books and manufacturers' specifications In different versions of these publications.t the beginning of chapter indicates that Fanuc and similar CNC systems offer two commands that activate the tool offset.OOOO.Figure 19-8the master tool with setting of2. in the tool length offset screen. After touching the measured the tool in that position!4. think about use of the toollenglh on a CNC machine. the following are . While the master set the relative lis touching the measured face. usually the longest tool.all are quoted literally and all typical are correct:Choosing tool as master tool. will be zero. using the touch-off method described previously. What is the purpose of the tool length.0. 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:the master tool and place it in the spindle. lero the l axis and make sure the read-out on the relative screen is lO. using the touch-off method.Using a Master Tool lengthUsing the touch-off method to measure tool length can be a significantly speeded up by using a special method I1Ulster tool. Instead of registering the measured value to the toolThe greatest benefit of this seuing method is shortened setup If certain tools are for of jobs.0. This tool can a real or just a long bar with a tip. read-out to zero! master tool tip. this new '(001' usually extend out more anticipated too) that be used. is a good reason why G44 IS a dormant command .Hlliculty to interpret the meaning of G44 command.e Note:Initial a. That context is not clear from of these Plus to where? of what? (he context. 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 toollength offset number. Most programmers use G43 command exclusively in the program and may have some I. It will always be a negative value for any tool shorter than the master tool.or even to use one over the other.

that is the job the operalor. it will as a negative value. USing G43. a typical way of programming today . No work offset setting is required and 643 is the preferred choice.O H06 .6385 (1. and without knowing the cutting tool length prodevelopment.that lS done tool length offset can be set on or off the is measured and ther way.LENGTH1exactly the same not the tool length ming method). 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. That is reason why 043 is the standard command to program tool length offset. is used. G44 is just flOt practical for everyday work.043: 044:Z + H06 Z .6385LINEIt is{hat theactual Z axis is culated. programmer had to every mension specifled by the machine manufacturer and dimension of (he job specifically ZfJ to the tool distance.illustrates the other.6385 G44 Zl.(+7. Al number .. until the offset registers.Figure 19-7 illustrates one of two ITlF'. Program will command (043 or 044)..0 H06main and most important purpose of any tool length is to allow a CNC program to be away from the machine. H06 = 7. all work offset com.. either together with or 044 command is the programmer.. The fLfst one will show programming method if no tool length offset is available. Using 044. ifG44 is used (1001 motions will be identical):G43 Zl. program.054 or other work must be used.f Tool length Offset not AvailableFigure 19-8 More common method of using the tool length offset. G92 position register command was G the current tool position.. followed by the target position along the Z axis and the H number:043 Z1. away from tooling and fix\uring.GAUGE LINEPROGRAMMING fORMATSProgramming format for 1001 length is very and has been illustrated many times.(oollenglh machine with negative (touch-off) will result in The selup process can automatically input all the offset as negative.0)+ (-7..one is in the at the machine.r"v" to sel a length command .In the early days of programming.6385Figure 19-7 Less common method of Work offset (typicallythe tool length offset must be set as well.0.. process has two . the H value will be added (+) in the calculation.. the tool is entered into control . tool length offset and work were not available.O H06The system cannot any benefits. the following examples are some general applications of various methods.6385) :::: -6. and much more comIn this case. measured value for H06 is if the H06 has been as 7.H06 :(1.0) . and as a positive value. It is the machine that has a number of variations of only two Gor044 Zl. the H offset value will The a~avel motion will be:"'/U"bn (-).O H06 .!lli!nds will normally have a Z value set to 0. H06 +7.6385..6385) = -6.

H31 _ _ _~. 8(Y POSITION COMP) (TOOL POSITION R. or alleast quile old-fa<.l M09(Z APPROACH MOTION) (Z CUTTING MOTION)RAPID RETRACT) (MAC. 0mo(TOOL pas REGISTER (TOOL POS REGISTER Z) (SPINDLE COMMANDS) (Z APPROACH MOTION) (Z CUTTING MOTION)RAPID "-"' . Today.8Y2. 8 No G92 Z9.LECTED) N2 G92 XO YO ZO (MACHINE ZERO POSITION) N3 G90 GOO G45 JO.4 101 (x POSITION COMP)N4 G45 Y2. with the position.4Y2..:IOOIIS~rERLENGTH COMP Z)CClMMANDS)N6 G43 Zl.l F1S.. Each must start at machine zero . B H32 (Y POSITION COMP)01902 Nl G20 (INCH MODE SE:'. ifN6 G43 Zl.CHDl'E ZIi:RO RBTORN z)N8 GOI ZO. 0POSITION(END OF PROGRAM)%N13 M30 %When a program is developed using blocks N6 and N7 can be joined together for convenience....4Y2.Figure 19-9:In an improved program.'" (Ml\...l M09 Nll Z9.O N12 G49 DOO HOONl3 M3 0(OFFSETSCANCELLATI~(END OF PROGRAM)Nl2 X-.I .l F1S. H31 _ _ _--'. 4 Y2. this method position tian G45/G46 tool offset G43JG44 is obsolete.HJliIB ZERO R.ECI'ED) N2 G92 XO YO ZO (MAonNE ZERO POSITION) N3 a90 GOO G4S Xl..8GAUGELINEGAUGELINEG92Z9. 0N7 S850 MOl N8 GOl ZO.. only on the moment at which the spindle starts rotating. 4 Y2.0 GOO ZO.method has no effect on the tool length offset.8. Note that position compensation is still in effect in due to the lack work coordinate of.0 S850 MOl HOINI T001 length Offset and G92When the tool length became available.0NlO GOO ZO.0 MOS N9 Z-O.8Y2. the tool plied 10 Ihe firs! mOl ion command ofISm01901 G20 (meR MODE SEL.0 HOIN7 S850 MO)N5 a92 X3.!.0 (Block N6)Figure 19·9 Setting too/length without too/length offset· program 01901Setting tool length with G43 tZl and G92 (XYj mnr''''ITnThis early program reqUIred the position compensation in XY axes and the position register command G45 or command G92 in XYZ axes. with an assi~led H offset number . programming became The position compensation G45JG46 was SliH in use at the and had (0 be set for both X Y axes.89 F7. Position and the 1001 length cannot programmed in the same block... However.. 8 Zl.2 0 Yl0. .4 H31 (X POSITION COMP) N4 G45 Y2.E'I'lJlm)Nll G28 X3. 4 Y2..-_ _Chapter 19G45X ...Figure 10.138i""iII------G45X. Block N3 G92X3...hionecL Only (he in programming. Block N3 G92X3.0 M08 N9 Z-O.. G92 setting for the Z axis was replaced by or 044 command..8 832 N5 G92 X3.89 F7.

just concentrate on now It is the program structure that is note is no change in the program structure tool. or explanation of the is not ...01903N1 G20 N2 G90 GOO G54 Xl.Also note that is no tool offset cancellation. 043 with HO I must move in the clear. S GSO ZO.S GBO Zl. Figure 19through 059..5 S1800 MOl T02 NS G43 ZO...W}N4 G90 GOO G54 Xl.O F37. only in the programmed01904 Nl G20 N2 G17 G40 GBO TOlN3 M06example of using the tool length work environment:(meR MODE "''''''". Block N2 X3.O M09 G2B Zl.89 F7..S H02 MOB LG OFFSET FOR T02) G99 G81 RO.. (he blocks N2.89 F7.N.l Z-O.l F15.sM09G54X .S Zl.O Yl.4 Y2.5N9 GSOzo.O H03 N26 G99 GB4 RQ. rr.S MOS Nl1 MOl N12 Nl3 Nl4 Nl5 Nl6 Nl? Nl8 Nl9 N20 N2l N22 N23 N24 N2S N27 T02 M06 G90 GOO G54 Xl.S M09 G28 ZO.l Z-O. drilled and tapped.O Yl....a Yl. 092 is not same program that contains any work offset sethrough 059 or the extended series...4NlO G2B ZO. 0 Y2."fTI Tool length Offset and Multiple Toolsof CNC programs include more than one most jobs will require many different tools..0 N9 G49 DOD HOO NlO M30 %(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.0 H01N4saso M03N5 G01 ZO.5 S740 MOl TOl MOB (TOOL LG OFFSET FOR T03) Z-l.145 P200 FS.0 S850 M3 HOlN3 .Smo%Figure 19-11 Setting too/length with 643 (Zl and 1.to. optionally.0 JU. more.S M05 MOl T03M06GAUGE LlNEG43 Zl.NIU!<.0 Y2.4 Y2.O Yl..S N8 Xl.0 N7 GOO ZO.l M09 N8 G28 Xl. Normally.S N3 G43 Zl.O Yl.S HOl MOB (TOOL LG OFFSET FOR N6 G99 G82 RO..N2 G90work offsets G54 can be joined toup processing:GOO G54 G43 Xl.'''' ...The command will affect only the Zaxes.ON7 X2..139 Tool length Offset and G54-G59most programming has many and functions available and G54-G59 series is one The has been replaced with work offset sysand.0 Moa N6 Z-0. N3 gether without a problem..:1'!)~f-U~" (XY) program 01903N28 N29N31G90 GOO GS4 Xl.O Y2.0 X2. Cancellation will also explained later in this chapter.4 Y2. S Xl. holes need to spot-drilled..".. (independent of the previous drawings) enters a common method how the three tools.5 S1600 Mal TOl G43 ZO.. 5 Xl-O Yl.O 14'05 M30In this example.B Zl..

0 Ma9 NlO G28 Zl.. the top edge of the slotting mill is and the tool profile for the second groove first groove) at the depth of ally..875 YO.. we to decide on the l.S75 FlO..125 wide slot mill will be a good choice to file the circle..B75 D07 F1S. 7S N4 XO.. ..007 is mill width.125. Based we have identified 1) with tool offset H02..I01905(TWO TOOL LENGTH OFFSETS FOR ONE TOOL)Figure 19·12 Example of programming more than one tool length offset for a single tool· program 01905Based on the illustration.' . program can be shortened by subprogram method Chapter 39).BOTTOM) NS G01 Z-0.TOP) N7 G43 Z-O. Figure /9-/2 '11"Nr~. . method flISl (premachiril~g the 03..EARANCE) N4 G43 Zl. I .000 hole is assumed)...140Chapter 19CHANGING TOOL lENGTH OFFSETvast majority of programming only a tool offset command tool. The bottom tool will depth.1213..0LOa I//3~howsthat two ...f. methods of programming can calculating the difference manually.0 N2 G03 Xl.program... and ... Tool 2 (T02) with tool the tool some special may to be the same tooL In two or more tool length applications.. Because the groove width is caner..5cutter radius offset.4..220 is implied).75 YO RO.for exammethod usduring maIt is shown. multiple tool length offsets is Lo allow fine groove width example .VH.!"'(" groove dimensioned by its depth location bottom (groove width of .UlIllIl)t:.. For the <>"'..O N3 I-1.~.43) N9 GOO Zl. An example of a single tool length that uses two or more axis.'v.two in the first cut.o.43 827 NS M98 P7000 GROOVE AT Z-O.65 F20.... asNl G20 N2 G17 G40 G80 N3 G90 GOO G54 XO YO S600 M03 JOB CY.O N5 G01 G40 XO YO N6 M99%.. A . 0.". it will (again.0. The dIftS"8ni~8 between H07 and H27 offsets is the widih of slot (. milling method for a fuJI (see Chapter 29).875 Y-O...". the tool is lioned at the per drawing) and first cut at the bottom groove.H.65) EDGE ..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?4.1 L C!007H07 H27IrNote words .. . u cut. position~ are usedtwo"". more than one cut is needed .a7S RO..O MOS Nll M30 %07000 (SUBPROORAM FOR GROOVE IN 0190Nl G01 041 XO. there for one tool.875 F1S.0 HO? MOS ~~~ EDGE ...125 is the un.0 N6 M98 P7000 """""""""'"IY"I GROOVE AT Z.0Figure 19· 13 of two length offsets for a single tool.

TOOL lENGTH OFFSET CANCELIn programming. Figure 14 shows the tool motions in subprogram 07000..example. Figure 19-16 Typical tool length offset setting fOf a Program zero is at the face 0/ thetool. There is no Hoo on the control.. mill. cancellation The tool program. Note.The two illustrations show typIcal setup of the tool length offset for preseltools on a horizontal machining zero at the cen ter cen (er. the for each It is common to tool work different tool face.. A machining cenler allows programming of a lool on several faces of each has a different distance from the tool (along the Z axis). There is a special preparatory available lha( cancels method of the 1001 length offset. . 19-16 shows program zero at the face of theHORIZONTAL MACHINE APPLICATIONwere aimed towards a cenler. Although the logic of applies equally to any machining center.TOOL LENGTH1R1.750f4-G54Z(NEGATIVE)G43H .. Ihere is no G49 in the block for and HOG does the job of cancellation. command to Ihe 1001 length either G43 or offset in the program (or via MDl) is G49:G54Z(N.J5 shows the of the table..10One method of a single block -ison returning to the zeromZNl76 G49 Nl77 G91 G28 ZO'. Tool length offset commands are no exception.. Start and finish of cutting is at the center of the groove. It means cancellation tool length offset. tool tom reference edge of theH07 is used botmill and H27 is the ~.~ .. a well organized approach is always important. That means.:Amethodthe offsetN53 G9l G28 ZO HODFigure 19-15 offset setting lor a (he center of the tool..Hoo. Fig lire ) 9. there are some noticeable in (he practical applications on horizontal macenters (Chapter 46).N3 N2(Figure 19·14 Full circle milling . the is coupled with an H offset number zero .In this case. a program that is turned on when should also be turned not needed anymore. reof the Z axis orientation.subprogram 07000.'''' . D07 is for cutter radius only.

. 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.on of the same block:N1 G20 N2 G17 040 Gao 049is one more way to tlot program it at all. or a variaf. 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..any 028 or 030 com{both execute the tool return to the will cancel the tool length automatically.142A program commandalso be started with the length offset (under program contra!).N1 G20 G17 040 GSO 049. perhaps. usually In the block or initial TheChapter 19safety linerule is quite explicit . may be some differlength manufacturers and consulting ences between ma:crlme manual will be the approach. but founded.the tooloffset -doA strange suggestion. .

A typical limit set by the machine is a rate between 300 and 1500 in/min (7620 and [00 mm/min).0 F20. etc.0 N22 Y12. never by the control or the program. In the example N23modal and reanother command of the GOl command in changes the feed rate is reproat block N23.p. G02.5 F30. Unfortunately. The maximum rate is set by the machine manufacturer. 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. operator interrupt the rapid motion pressing the on the control panel.0N21. During program execution. the GOO command mains in until it is canceled same group. Rapid molion can as a single axis motion. G03. it goes through a (lons . It can be programmed in the absolute or incremental mode of dimensioning 11 can used whether the IS rotating or stationary. It isinThe rapid traverse motion iscurrent units traveled ill one minutein in/min or mmlmin). Its main objective is to shorten the time between operations.0QoQMotions between different positions on the partRAPID TRAVERSE MOTIONRapid traverse mOlion. From the moment the in a program. The rale rapid molion manufacturer determines of the machine axes.RAPID POSITIONINGA CNC machine tool does not chips. these motions cannol be eliminated to be managed as efficiently as For this the CNC system provides a called the traverse motion. or as a compound motion of (wo or more axes simultaneously. unless 11 new P function is cutting motion:""I"'I..oB:N21 GOO X24. or even set~ ting the feedrate switch to zero or a rate..5 FlO. GOO CommandPreparatory command is required in CNC program to initiate the Peed rate function P is not required if programmed.. where tool is not in contact with Rapid motion operations usually involve four motion:QoExample A:From the tool change position towards From the part towards the tool Motions to bypass obstaclespartN21 GOO X24.0 N23 GOl X30.143. will be ignored during the GOO Such a feed rate will be effective beginning with the first occurrence of any motion (G01. Another kind rate control can be achieved by dry nm function./Positioning motions are necessary but nonproductive.). it can be applied at regardless of the last spindle rotation function M04.some are productive (cutting).O N22 Y12. used. M05). while the X and Y axes have the same rapid motion rate. during setup. motion rate can be the same for each axis or it can be A different rapid rate is usually assigned to the Z axis. (positioning). particularly machines. and even Since motion per is independent of the spindJe rotation.0 N23 G01 X30.

G74 During a rapid motion. Some terfere examples of physical obstacles that can intool motion are:xPOSITIVEX axis NEGATIVEPOSITIONSingle axis motion for a ma. each containing to only a single axis motion. the obslacle control for one of detecting an obstacle. 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 modernlions in towards aon a lathe). rotary orpart itself. the programmed path the rapid palh of the tool are not always the same. motion rale can be the same for a[l axes.machineoFOR LA THES :Tailstock quill and body. In to bypass obstacles still assure a safe motion in the program at all limes. particulnrly when lWO or more axes are at the same No must in the way of the tool If there is an path. Keep in mind that only purpose of rapid from one part to another location motion is to fast . must progTammed In a rale block.Figure 20-1.144Depending on the machine design. other tool. This method programis preferable in cases where only the exact or approximate position of (such as or fixtures) is known during program preparation. the tool path is much less predictable than during cutting motions. It is programmer's responsibility to assure that any lool mali on (rapid motion included) occurs without any obstacles in its way. The resulting is equivalent 10 distance between start and end. Always aware of the actual rapid motion (001 path for reasons safelY. let's (ake a closer look at (he options while a rapidRAPID MOTION TOOL PATHEvery motion in the GOO mode is a.Several consecutive program blocks.fixtures. face plate. steadyrest. fix1ure.r:mllina center application (XY shown)1 !eeyN"--o FOR MACHINING CENTERS:Clamps. resulting compound motion can be from theoretical proand often is grammed motion. etc. chuck.table.during rapid motions GOO. rapid non-circularmotion cannot normally be made at the actual linear mOlion of the tool between two points is not ne(:es~. If this molion is a motion of two or more axes simultaneously. motion that is parallel to one available axes.ooThe rapid traverse rate of each axisSince 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. can be included in the obstacles to machining. part itself. etc. on several factors:o The number of axes programmed simultaneouslyThe actual of motion for each axis Single Axis MotionAny motion programmed specifically for only one at a time is always a straight line along the selected In words. Multiaxis MotionWe have already that the cuning tool is moved at a rapid rale using the GOO command.073. or each axis can have its maximum rapId rates for a typical 1181 inlmin (30000 mrnlmin) for in/min (24000 mm/min) lathe.but not necessarily straight.an the path in the form of a Programmed tool and the resulting actual will be different.cycles G81 to 089.

. may diagonal tool path at all.-. .but only.025not so common example. Since motion is not completed until both axes reach (he end point. the resulting motion will also include an angular departure.911. Consider in Figure 20-2. two axes is equivalent to a straight diagonal motion.but only(2.. however. il will takePROGRAMMED MOTION ACTUAL MOTIONx ::: 394 in/m inY::: 315 in/min(9. The actual departure angle is not always to be known.525 seconds (which is the common time to both axes).-to complete the Y axis motion. In this case.448inchesMOTION ACTUAL MOTIONFigure 20-3yxbut the Y axis motion will be only.812 location. the X axis rate is set to (10000 mm/min) and tbe Y axis rate is set to (8000 mm/min).. Figure 20-2..525seconds.RAPID POSITIONING145both axes..02 seconds left to The target must be rcacm~a continues along to reach the finalIn theory.452Another example. but not at because of the different rating of rapid traverse rate axis. it .525 / 60 x 394= 3.Ifrates usuallyrate for both axes is the same (XY rapid mosuch as 394 in/min.-.525 / 60 x 315 = 2.42 secondsis required to complete (he Y axis motion.. After target position ! . real mOlion.. that the actual tool path will be different from tool path.:9.1-0.44 secondsdeviation· different rapid rate for each axisto complete the X axis motion . In the terms of i IIcremental IIlOtool has to travel 9..452 inches along (he X along the Y axis. but it helps to calculate it for rapid some very tight areas of the part. It only trigonometric to make sure of path.452 x 60) / 394= 1. the rate is known.-_ _ _ _ _ _ _ _ _ _ _ _. . different forcoordinates in with the rapid rateosketch for rapid motion examples11. quired to the . It will than take(9../ _ _ _--1 _current tool position (the start point) is at X2.44secondsto complete the X axis motion .425 1.:.812 0._ .753 x 60) / 315= 0. During the 0."' __ _ position.753 x 60) / 394 = 0.753 inchesRapid motion deviation . the X axis motion will travel0.-. at the rate of 394 in/min (10000 mm/min) simultaneously inresulting motion is at 38..36 coordinate location.605" and a slight rounding applied.'8--------.same rapid rate for each axesFigure 20-3 shows a combination of an a straight motion as the actual tool path..452 x 60) / 394= 1... The tool motion terminates at 1.

used to bypass for example. a rapid is required to position. approach motion may be first. starting from the tool cutting .This consideration is more important In turning appJ lions than in . and it makes programming much So return we havecut. the tllilstock. the rapid rate is at 394 in/min (10000 mmJmin) for each The motion takes place between the coordinate of X2.36 YO. never take any chances . 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.it is always more practical to program the rapid motion without the accalculation the tool path but with safety as a primary consideration. the starting facing. In this case. Reverse Rapid MotionAny rapid motion must be considered in terms of approach towards a and the return to the tool changing position.we start at a certain position and then return cUlling activity for the tool is completed. 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. On CNC milling sysrectangly"of tems. will rapid the reverse order.Chapter 20""""<~""""<----~~~««««««<Both of above examples illustrate an angular motion along two axes. at a rate. the theoretical rapid tool path correspond to the actual tool path (with no bent line as a result).2 (slart poinL) XI1. a necessary precaution to bypass a potential obstacle. although not impossible. for example.787 ZO. elc. is a straight angle.TYPE OF MOTION & TIME COMPARISONlechnique of programming each separately in individual blocks of the program. to the diverted rapid tool path. but it is an organized method.O(endpoint). Note that the rapid rale for Z axis on machining centers is usually lower than the rapid rate for the X and Y axes. and then along the X The reverse motion axis first. due to the nature of programming for (wo In turning.Figure 20-5 Typical of a reversed rapid motion on a eNC lathe. 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. is when the rapid rating for each axis. a tai/stockAs 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. also its point.a rapid molion an actual the 1001 position. to avoid a collision with the tailstock. above example will enhanced by the third difnension and a three dimensional space must be considered. it is consislent. the cutting takes When cutting is completed. as we done is only seldom Taking some prewithcautions. To the cona three motion. It there. As an example. the rapid motion can be out any calculations. when is not a mandatory method. back to the Rapid motion will from D to C (0 B to A. as a typical tool proach in milling.. the third axis can also used. If no is within the work area imaginary rectangle by the diagonally posiis no danger of collision tioned slar! and end point). no should be chis same rules apply a rapid motion along three axes as a two-axis simultaneous motion. 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. then along Z axis moshould along tion. To be on safe side. is the way a cutting is normally programmed . Some manufactur~ ers provide this feature as a standard and machining center does should know situation the resulting feature or not. point C to poillt D.812 ZI.). 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. Straight Angular MotionIn some uncommon circumstances.

located on control panel.121 = 1. after the program been and optimized the tool performance productivity.2) x 60) / 394 .'-. any calculation relatmg to rapid traverse time.. depending on the rapid motion rale and rapid travel length.. Inches and inches per minute (in/min) must used with (he English Millimeters millimeters per minute (mmlmin) must be in the system.. on others.RAPID POSITIONINGThe required lime for easily calculated:I:lalong eachcanXtime:1.7B7) x 60) / 394~0. the override switch should be set to the ! 00% pointer.1. which is the longest time required any to reach end point..If all three axes are simultaneously.Figure 20·6 Rapid motion override switch set to 100% of rapid rateI:lZ axis time:«1. to shorten the cyclethis motion were to be into program blocks. actual production. The program U be:GOO X11.100% respectively.T == Required time in seconds R == Rapid traverse rate per minute for the selected axis .1.812 Y3. FO (FI) setting should always be Slower than any other setting.2.Figure The second.121 sec.812 Y3.in/min or mm/min L = Length of motion .25%.42 + 0. the measuring units cannot be.44 + 0.S4 Zl. depending on the machine brand and the type of control . length the motion and the elapsed time can be in the following three formulas:which is about 37..1<>.5% longer.O\Note that the modality of GOO rapid motion command does nol require repetition in the subsequentREDUCTION OF RAPID MOTION RATEa 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. typically identified by FO (or FI) is a motion rate set through a control system parameter. third and fourth positions on the rapid motion override are as oj the acrapid rate .0 .0The configuration of rapid override switch varies tween machines from On some machines. the total time would be vidual added together:1.«11.inches or mmapplied to the formulas must always be within the selected system of measurement in the program. measured each machine The program blocks will be written separately:GOO Xl1.44 ".0. percentage will vary.54Zl. Relationships between the rapid traverse ra1e. 50%. typically than lowest setting of25%..54 .420 sec. the total for positioning is 1.. are set by the machine manufacturer.812 .440 sec. the tool will move at the slowest percentage and cannot stopped the override switch alone. first setting.36) x 60) / 394I:lY axis time:«3..991 secondsRAPID MOTION FORMULAScalculations relating to the rapid tool motion can be expressed as used quickJy at any time by stituting the known parameters.. ~is adjustment is done by means of a special override switch. rapid motion may stopped altogether. switch has typically four selectable positions.

In this method. Once the prodebugged.S HOI GOl ZO. Let's have a look at some po-it might be a reasonable compromise to split motion into two separate motions:NJ14 NJ15 NGl6 N317 G90 GS4 GOO XlO. in mind that the general motion have (0 be considered for any machine.S F12.-n"""" not productive. the cycle time can by keeping the part clearances to minimum.0a melhoel of "'r"r.0ZaxisIn the following example.OS Halfirst to a much more comfortable position above the part (N315). an approach to the part is made along the Z with a clearance of .O 51200 M03 G43 ZO. at the has been given an opportuoverride switch for testing the first in a block mode). 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). Then..n"'Lset and part as it should he. 0 Y8. 0 S1200 M03 N31S G43 ZO.O Z-l. allows very little On the other hand.<1-Y. the rapid motion hasNG16 GOl Z-l.27 mm) in block N315:N314 G90 G54 GO 0 X10.S F12. Since this is still a .O YS. the motion continued LO cutting start point. the heavy feedrale in the will speed up the operation and at the an extra safety clearance.05 inches (1. using the linear I in block N316. a relatively heavy As may be expected in is a was slightly increased.05 FIOO. at a rapid rate.1Chapter 20APPROACH TO THE PART20-5 had an illustration to a CNC lathe. For CNC of part approach should be with equal care. an inmay not quite comfortable particularly during the early operator's convenience is considered to the overall productiv-(\.

..a zero position . looking XY plane .Although the design of CNC machining centers models. someCNC vertical machining the machine zero position at the upper left corXY plane... several of the convenient for setup of the part on removal when the machining isy.t'''.LlV~"""''-'HZ:::: UP (TOP)I XV:.Figure 21-1.It isa new from also necessary to make a lion and return there pleted. through the control panel..' ~ ! WORKAREAFigure 21-2The most common and standard machine r".. there are only four possible locations for zero.1..r. the standard machine centers is at the extreme travel in the positive direction.a home tion...cnlflma centert". MOL or program code execution. The exact posiby the machine manufacturer and is not h'.WORKRIGHTi y-. some unique location (hat can be considered the point of machine .~jZ-iXV '" UPPER LEFTI~.3r?lnrp position is for referIn order the CNC machine is accuwe need more than just the high quality components. on request.~ .X + . This is a built-in location.MACHINE ZERO RETURNa control system to return a cutting tool to machine position is a all modern CNC systems.lrH'rt'>rI during the machine working life.""'/""'"Machine zero is a fixed position on a CNC machine that can reached repeatedly. distance from the machine table and most machines.MACHINE REfERENCE POSITIONrpt.''''nr.Machining Centersto the Z axis in the description was machine zero position for a The Z center is always where the Automatic place. within the XY view:oZ:::: UP (TOP)MACHINE ZERO POSITIONLower left corner of the machineUpper left corner of the machineoo olower right corner of the machine comer ot the machine<'.. Return is automatic. Machine position is exactly such a21·1 Machine zero of a CNC vert}n located at the upper right XY comer ma. Programmers term mLlchine reference posiwith home posi(ion or machine is the position all machine slides at extreme limits of each axis. There are excepexpected.. tion for vertical machining centers is at ner of the machine.Machine lero position located at the upper left XY comer CNC vertical machining center21-2 illustrates. So.. on request from the control or via the program..

the arrows indicate the lool motion direction towards the work area. the CNC programmer.150In both illustrations. it is always a good idea to set the relative and absolute positions to zero on the display screen.. at desired places. depending on the control unit.x + Y+ Z+. there are three methods available to the CNC operator:oManually . The illustration in Figure 21-3 shows a machine zero for a typical CNC lathe. This is a very important consideration.using the control panel of the system The machine operator will use the XYZ (machining centers) or the XZ (lathes) switches or buttons available for that purpose. tn this case. the X and the Z axes have their machine reference position at the furthest distance from the rotating part.. Both. the tool reference point is determined by the tool length at the cutting edge. For the last two methods of a machine zero return.. if machine zero is locatedat the upper left corner:x. collet. 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. For the Z axis.Fixed machine zero means that all other references are dependent on this location.during a cycle operationUsing the same program commands as for the MOl operation. The work reference point (program zero or part zero) is always determined by the CNC programmer.Manual Data Input mode This method also uses the control panel. lathesThe machine reference position for two axis CNC lathes is logically no different from the reference position of the machining centers. remember that there is a direet relationship between the CNC machine. etc. Moving the tool from machine zero into the opposite direction will result in a condition known as overtravel . consisting of the chuck.. tool motion. This topic normally a parI of CNC machine operation training.. or the part program. the CNC system offers specific preparatory commands.In order to physically reach the machine reference position (home) and set the machine axes.compare the two possibilities:oTool motion from machine zero. the machine operator sets the MOl mode and actually programs the tool motion. tool motion will overtravelThe other two comers (lower left and lower right of the XY view) are not used as machine zero. tool motion will overtravelo Tool motion from machine zero. n. the machine reference position is always at the extreme travel away from the machine headstock. An easy access by the CNC operator 10 the mounted part is the main detennining factor. the cutting tool and the part itself. it normally means a positive direction towards the machine zero. which means away from the headstock area.y+ Z+. includes machine zero return command (or commands) in the program.ot the machine operator. during the parlor fixture setup.X-Ilfigure 21-3 Machine zero position for a typical eNC lathe (rear type)In the illustration. Moving the tool from the machine zero into the opposite direction will result in overtravel in the particular axis:When the operator has performed the actual machine zero return. directly at the machine.. for example. the arrows indicate the tool motion direction towards the work area. In both cases.oMACHINE ZERO POSITIONIn the CNC program . the machine zero reference position is always at the extreme limit of the travel away from the spindle center line. One or more machine axes can be activated Simultaneously. Only the machine reference point (home position) is determined by the manufacturer of the machine and is located at afixed position.. face plate. if machine zero is located at the upper right corner:Chapter 21oTool motion from machine zero of a typicalrear lathe:x+ Z+. G30). MDI mode.oUsing the MDt. will overtravel Setting the Machine AxesFrom the previous sections. For the X axis. the same as for the machining centers. also by the programmer. using the suitable program commands (G28.

.. used in one block the Z axis and then it is in the next block for the and Y axes. At least one axis must be specified with the G28 command. normally by one block. on the way to machine zero. is how concept the ate point (position) works. 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. the G28/G30 commands have a built-in motion to an intermediate point.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. it has to be repeated in each block as "pp. followed by one or more digits. By Fanuc design and tion. 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. to refuel". GOO or GO]!RETURN TO PRIMARY MACHINE ZEROAny CNC machine may have more one machine zero reference point (home position).MACHINE ZERO RETURN151For maN67 1328 Program Commandsare four preparatory commands relating to chine zero position:G27Machine zero reference position return checkshows G28 programmed by itself inReturn10 theblock . France. That means GOO command is assumed and not have to programmed. 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. many centers with a pallet changer have a secondary machine reference position. at least one axis must be specified in the block. and .prHII'"The G28 in block N23! must be If the command is omitted. and will be described shortly. each G code of the 00 group must be repeated in every example. always at a rapid traverse rale.N67 G28x .. The value of that axis is the intermediate point.No7 1328 Y G28G29 G30primary machine zeroreferencepositionReturn/rom the machine zero reference position Return toreference pOSiisecondary machine zero (more than one is possible)which only send the Y axis to the machine zero reference position. but it serves a certain specific purpose. The or axes of the desired motion (with a be programmed. (MACH:INE ZERO R. USA to Paris.... For example. It may not be the most direct route. Command GroupAll 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. or . last motion command programmed will be effective. reach this primary home p6s[lion.will only send the Z axis to the machine zerO reference position.of the intermediate or pOSitIon. example. When the or G30 IS used in the program. Commands G28 and G30 must always contain the interpoint (tool position). depending on its design.N67 G28 Z .. thallemporarily stops over in New York City. multiaxis requires caution watch for the infamous 'hockey stick' motion. when G28 command is block it is used in. N231 1328 X Y.Y Z .. is to shorten the program. reduction is so marginal that the philosophy behind the may debated. for example. Intermediate PointOne of the elementary requirements of programming is the alpha numerical composition of a word.rjpr!N230 1328 Z. concepl the intermediate motion in G28 or G30 is one of the most misunderstood programming features. as interpreted by the eonsystem. An ogy can made to an airplane flight from Los Angeles. In the program.The coordinate values of the axes associated with G28 and G30 commands always indicate an intermediate point. In designation. for example. Only the value) must axes will affected.this is anincomplete instruction.E'I'ORN Z AXIS) ZERO REI'URN XY AXES)will send alJ three specified axes to the machtne zero erence position. Absolute and incremental modes G90 and I make a great difference in interpretation the G28 or G10 behavior.-.

.0G28 Xl2.0 G28 Xl2. if the motion to the home position were directly. Normally.7S F4.0 Y4.they are the tool motion:The same program with an intermediate point at a safe 10will change slightly:G90 GOO X5. A could also be:G90GOO XS.7S Ma9(~>IN ABSOLUTE MODE)G28 USED IN THE INCR:EMENTAL MODE)Earlier examples shown reason behind this ble motion.c.(]IU'IB mode may resultFor example.OG90Nl2 GOl Z-O.N. Y4.0 Y4. it is morein an expensive andserious error...874N26 G9l G2B ZO M09 (G2a IN INC:REMENTAL MODE)Y4.o Y4. the tion may be useful.5 Y4. G28 USED IN THE ABSOLUTE G90. the XO word means no motion for theL .0X12. command... To review..0(MACHINED HOLE) (MACHINE ZERO MOTION)Nl2 GOl Z-O. Only the X and Y axes are An intermediate point can be location.75 F4.. -POINT27-4 Intermediate puifll lor machine zero return· XY axes shownThe tool motion in Figure 2J-4 is from the central hole of During sueh a motion.that is all. ' ..lathes use (he U and Waxes incremental on absolute X and Z axes respectively). the intermediate position. It is .0 G2B X5.. the tool can collide with the upper right clamp on its way to zero.rL\. used by the majority of the program.> a zero.. if the mode is absolute. because the current tool location may not always known. Absolute axes coordinates interpreted as the programmed indicate the nrt:HIT.rlmFIlP'n Comp./I Absolute and Incremental ModeThere is a in programming the zero return command or G30 in the absolute incremental Remember the b<lsic di fference between two statements:G90 GOO XO YO ZOG9l GOO XO YO ZO/. To switch to the incremental mode has its benefit..S Y4.only to save a single program block .1Chapter 21MACHINE/ /I!. purpose is to use onc block program to achieve two motions..0 Y4.by specifying a zero lool motion in incremental mode.0(MACHINED (SAFE LOCATION) (MACHmE ZERO RE'lL'URlN'1Laproducesameresult. the tool can be programmed to an obstacle on the to chine zero.0 M08N25 GOl X9.A failure to reinstate the "mS.·t1 whh care.are the two program are identical in terms( -. without making the program any program without an intermediate point can beG90 GOO xs. with same applications. This is done by specifying (he errne<jlaile point as identical to the current (001 position in absolute mode . means position at the point. that would otherwise require two blocks.. an 'v..0(MACHINED HOLE) 1t"la1..>....0 MOS N25 GOl X9. ZERO MOTION)Each statement XOYOZO is control differently.0make the equal to zero and move cutting 1001 to the zero directly.. the choice is personal preference.874 N26 G28 Z-O. If the mode is incremental.0 Y4. The disadvantage this method is that G91 is most likely a temporary setting only and must be reset back (0 G90 mode. but with an extraWhich method is better? both methods produce on a given situation or identical results.or ... for example XC.. rnn.

motion to machine zero. the cuuing tool will move \0 program zero to the mach i ne zero. 1. In both cases. while the absolute 090 is in effectBy thisGSl Xl.'has to do with values axes. the current tool motion must be equal to zero for each axis ·specified with the G28 command.always Many examples use the absolute ming mode . That is 110t con·eel. intermediate tool motion be performed first. the zero return to be in incremental mode..S Y2. If situation demands a zero without going a separate return to termediale point.. r~. change temporarily to mode gram a zero length motion for each axis:G90 Nl2 GOO XS.0 the current lOol position as position). the intermediate point locatioll..or it should . resu Itin a single definition of two 1001 motions. the program. This intermediate point is assigned coordinates relating to pan (in absolute In the example.. Then .'''''' point.5Y 4.to the point through which tool will the machine zero positioll. where mode is used repeatedly to move the incrementally (0 different locations. course.O Yl. and a drilling operation will simulated in.25 RO. in this case.163 F12. Such a situation typically happens when using subprograms.0 in the block N 13 must repeated. coordinate While in the absolute mode 090. the current tool coordinate location must be repeated for each axis specified with G28 command.always remember to back to absolute as soon as in order to avoid misinterpreting the consecutive program data. In the example. motions are used rather than a drilling to retract tool from the hole depth.. method on the 090 or G91 mode at theoIn example. is not likely toCIn G90 absolute mode motion to machine zero.0 Yl. an important is in place here ..O Nl3 G28 XS.. it ~ould to assume that the XOYO relates to lhe~machine zero. whichthe imermediate poinl in direct motion to the machine zero.O M09(X???? Y????) Zl. use a zero tool motion towards the n"I"''.6482 L7 (CANCEL GSO Zl. position from program zero . this is . Let's look at some other examples. for the majority of 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. reason is that intermediate tool posiwith the current tool position. For instance . rather than the part zero.O Nl3 G91 G2B xo YO Nl4 G90Is it worth the extra effort to find the absolute location at Probably no!.and only final return to the machine zero reference position will takeY 1. the coordinate values actual and direction the intermediate motion.O Yl..o In G9lXOYO Return from the Z Depth PositionOne common example of the intermediate tool in a program hlock. That is the detined point already known to be the intermediate position for the machine zero return command.3874 YO. [n a brief the imermediate point cannot be minated from the G28/G30 block.0(UNKNOWN~n~T'~Tf~T\In cases when current tool position is not known.0 (REPEAT 7 TIMES) XO. of the intended motion. is the return from a cavity to the machine zero.MACHINERETURN1above example can be so the intermediate as the current tool posimotion is eliminated or intermediate motion can never eliminated. it can programmed as a physical zero distance. This. XY values of G28 command that follows the position block are important:G90 N12 GOO X5. . This r'\r("\. but tioll.090Absolute mode of programming speci ties the currenltool at all times.where exactly is the cutting tool when drilling cycle is completed in the N35 block the following example?G90N32 G99 N33 G9l N34 G90 N35 G2SNl2 GOO XS..O Yl.l Z-O.874.O Nl3 G28 XO YOAgain. the current XY position is X9.the programming mode. When incremental the mode 091 is programmed. 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.after all.Ocurrent tool position. In the following solely the purpose of better explanation. In the part program.

l Hal MOS Z-O.75 M09 X9.4S F10.B74Figure 21-5Machine zero return from a hole depth .5 Y4.l positionAll axes will return to machine zeroThe complete program for Option J willN2l G90 GOO GS4 X9. then return the XV axes in the next block from the current tool positionQ2To retract the Z axis all (he way \0 then return the XY axes in the next Option 1.75In block N25.9?4zero as weJl:complete program for Option 2N2l N22 N23 N24 N25 N26 N27 N28 G90 G43 GOl GOO GOl G2BG2Bo Return XYZ axes to machine zero directlythe depth)The Figure 21-5 shows theoptions.7S M09zero:return the XY axes toN27 G28 X9. along the ZN27 G28 ZO.45 F10.5 Y4.O Z-O.l MOSfor Option 3:G90 GOO GS4 X9.ON24 GOO Z-0. 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.5 Y4.43 Z-O.S Y4.MACHINE ZERO POSITIONHole location in XY axes is X9.4S F10.874 S900 M03G43 ZO.45 F10.l HOl MOB N23 GOl Z-O. commonly used: the 'normal'N26 GOO ZO. as Faouc controls are Some programmers may with Fanuc on but that is how it works.43 Z-O.874 ZO.75 ZO.874 S900 MOl N22 G43 ZO.7S Z-O.Here isN2l N22 N23 N24 N25 N26 N27Q Option 1To retract the Z work in one block return the XYZ axes to the machine zero position.8740. then return XYZ axes to machine zeroRetract the Z axis all the way to machine zero.1N24 N25 N26 N27 N2Q GOO GOl GOO a28 G29 N29 Mal Z-0.5 Y4.miscella-.B74 S900 MOl N22 G43 ZO.874 ZO.l MaSfollowed by a returnLOtheposi-GOl GOO GOl G28 MOlZ-O. 1 HOl MOSThis block must lion.l M09 ZO. reasons.l HOl MOS N23 Gal Z 0.43 Z-O.7S M09 X9.S Y4.millingThis is the intended method of programming.l M09INTERMEDIATE POINT CURRENT POSITIONHole location jn XY axes is X9.l MOS X9.5 Y4.OAlso note rearrangements ofM09 neous Turning the coolant tical than stopping the spindle.874 MOS~tNIJ/'MOl~I/' /'/'/'e Option 3To 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:N26 G28 X9.43N2S GOl Z-O.5 Y4. the Z axis must retract first Several but three of them are the most common:o o Retract the Z axis above work in one block. return the Z axis toN26 G28 Z-O.S Y4.B?421N2l G90 GOO GS4 X9.B?4 S900 MOl ZO.zero will takeLWOZ axis will rapid to ZO.D Z-O.S Y4.zir-------+ ~I/'/'xvGOO G54 X9.S Y4.l MOSLaThe molionStep 1: Step 2:1<1'-"11:'<..

there is no motion applied. could result in a collision. the tool cn. of cycle time. along Wilh sian with an adjo.cffil'i"!ntthan the previa us option. It is safer La move the incremental mode U. older 050 setting. is only reasonably safe.an~:ehe effective.MACHINE ZEROPOSITIONIn both examples. until thebeen physically reached. it is the perceived safety the programmer puts into the program design. as for the linear axes... setup.cent tool in theG91 G28 YO ZO MOoFigure 21-6 illustrates a typical withdrawala from a hole. butone of allis the most any error inin terms of program cycle time..0. then the Z using the incremental mode W. This tical if the program uses geometry offset. The most common method of zero return on the lathes is the direct method.O Z3. In this rules for machine zero return are Assuming that the machine zero position is at the coordinate position XlO.. the XZ must always be known for this command. when the machining is completed. the other one with the 028 command. If the work area is clear (watch for [he tailslock). zero return is also ends at the machine zero true the X axis but not of the away on some lathe Typically.-...one without using command.MACHINE ZERO RETURN5 Return for CNC lathesAlthough this is a matter of opinion.'."". For example. both X and Z axes can be returned to the machine zero at the same time:N78 G28 UOwoHorizontal machining centers reach its reference position For safety extra grarruned as well. if it is with care. the program for the tool can be wriuen in two ways . a CNC lathe program will a way. If there is any . Axes Return Required for the ATCzero return is to make an axes must be moved for only the Zthat purpose. because no G91 i s ' an error is more difficult LO make:N78 G28 UO N79 G28 woo OPTION 1 . caB the machine zero return command. the B axis may be programmed ously with another axis:G91 G28xo BOAbsolute mode designation follows the same rules for a rotary or indexing axis.-'" for this preference. maywithin the .. the choice of many is to move the tool out of a cavity or hole first._.nrla". grammed in a separate · (\ I ndexmg onrotary axes point and are used with ear axes. To be there is nbsolutely nothing wrong with the alternate memoo. but any subsequent pan will from a safe tool change position..o OPTION 2 . thaI machining of the will start machine zero. Comparing' opwith other does some valuablework. a B will return to the zero reference position in the followingG91 G28 BO21·6Machine zero return (rom a hole depth.. without an termcdiate point. turning applicationIf it is safe.When using position register command G50.'A". a axis is required toG91 G28 ZO M06These two blocks win return the cutting tool to chine zero in incremental mode.

if that position is the machine zero in all specified axes (two axes in the example).S ZO. The error is displayed automatically on the control screen (as an alarm).where al least one axis must be specified.O Z3.l5 T0303 MOS Z-2.012 N63 X3.58 Z2.lS MOS N65 X10. the control system will return an error condition. 0 S1000 (OLDER METHOD ONLY) N59 GOO T0300 M42 N60 G96 5400 M03 N61 GOO G41 X4.45 FO.! T0404 MOa N6 GOl Z-1. 04 NS G27 G40 X7. 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 second example (Example 2) can be programmed in the incremental mode as well.5 ZO.0 T0400 M09Most 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 checking CarlllOI be dOlle properly. 0 Z3. Compare the starting position in block N2 and the return position in block N8.012 N7 UO.45 FO. although this position does not always have [0 be the machine zero. but no GOO or G28. Usually. The light indicating Cycle Scarr condition will turn off and the source of the problem has to be found. where the tool change (indexing) normally takes place in the same position.and nothing else.Nl G20N2 GSO r7.8 M09 N64 GOO G40 X3.. The motion can be either in the absolute or incremental mode.0 T0400 M09 N9 MOlN58 N59 N60 N61 N62 N63 N64 N65GSO GOO G96 GOO GOl G40 G28 MOlXIO.0 ZO.lS T0303 MOS N62 GOl Z-2. the program will not proceed any further until the cause (misposition) is eliminated. it is il good practice to return there as well. 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). The error is quite easy to make in either block. always check both positions. it is a safe position near the machined pan. 2 FO. Note that no G28 command is used. using the U and W addresses. to achieve the same target position:N1 G20 (EXAMPLE 2)N5 GOO G42 X4. If the position is not confirmed.RETURN POSITION CHECK COMMANDThe less common preparalory command G27 performs a checking function .. Now.85:N8 G27 G40 X7.156Q Example 1 :The first example does not use 028 machine zero return command at all:N1Chapter 21The format for G27 command is:G27 x .15 MOS T0300In the example. the control panel indicator light for each axis that has reached the position will go on.85 Z2.012 X3. The system will no! process the remainder of the program. 0 N3 GOO T0400 M42 N4 G96 S350 M03 (OLDER METHOD ONLY)Q Example 2:The second example will use 028 machine zero reference command. if the machine zero position is confirmed. Y .If the tool starling position is programmed at the machine zcro reference (home). as well as the end position block. This is quite commonly done for CNC lathes. When looking for the source of the problem. when Ihe machining with that CUlling tool is completed. Z .58 rather than the expected X7. block N8 contains G27.0 ZO. but it would not be too practical. the cutling tool will automatically rapid (no GOO necessary) to the position as specified by the axes in the 027 block.0 SlOOO (OLDER METHOD ONLY) T0300 M42 S400 M03 G4l X4.. and the X value was entered as X7. until the error is corrected.75 FO.S M09 X3. If the tool offset or the culler radius offset is still in effect.0 and check. because the 1001 reference point is displaced by the offset value. If the reached position is not at the machme zero. Also note that any axis not specified in the block will not be checked for its actual position. This block instructs the CNC machine to return to the position X7. the program processing is interrupted by an error condition displayed on the screen as an alarm.85 Z2..In this case.0 Z3. Assuming that this position is at machine zero reference point in both the X and Z axes. upon arrival to the target position.G20 (EXAMPLE 1) N58 G50 X10. 85 Z2. the start position block. A confirmation light will turn on. suppose that a small error has been made while writing block N8.l25 ZO. the above example will confirm OK position in the N8 block.0 T0300 N66 MOlWhen used in the program.

The absolute sta· tement in block N65 (in the example) can replaced with the version:N65 G27 U6.I/I/TOlOOLo this command. The G50 command i:0llder and not anymore on newest lathes.62RETURN FROM MACHINE ZERO POINTThe preparatory command G29 is exact opposite G28 or command. there is only a weak support comamong CNC programmers. into the command by the control system. wl1ich is the current modern method.6 W6.012N63 X3.5 ZO.rmN59 GOO TOlOO M42N60 G96 9400 M03is illustrated inN61 GOO G4l X4. (he standard cancellation 0 codes .G40 to cancel CUlter radius offset GSO to a fixed before the G29 command is issued in the program. ally unnecessary for everyday work. it is always to know 'tools of trade' are available in 1'\"". 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.0 Y3.0 G29 U-4. back to point B.0 W3. A schematic sketch the toolrnc.. point B is the intermediate point. jf either is employed in the program.again. comturn the cuning mand will return the tool to its original position .5IS~.0 ZO. there would be some appropriate action programmed the two blocks. 0 91000(OLDER METHOD ONLY)T0303 G2S U5. the command 029 usualJy follows G28 or 030 cOIllmanu.<n""~.0 Zl.N1 G20N58 GSO XlO. 1101 La any or point.7. then to point C. but many lathes are slill used in try that do need the setting. via an intermediate point. A small price Lo pay when this checking command is a slight cycle the deceleration of tool motion is built time loss.4S FO. but not the seciond Example 2. The G27 command tp seldom used with geometry offset setting of the tools. Block will become the aci tual check block.a6. about one to G27 command is seconds be lost number of tools use This be a significant loss if a check in every program. point C is the machine zero point.. point A is the starting point of the motion.86 W7.15 T0303 MaS N62 GOI Z-2.8 G29 U-14.l75The celedcommand should always be In of both cutter radius (G40) cycles (080). 030 command block. An example for a application lustrates the concept:Of course.0 ~. change or some otherSimilar to G27 command.They come. and point D is the final point to the target position. Note that the can be modified to accept will only move to the coordinates specified. starting at rent [001 pOSition.62Figure 21-7 AutDmatic return from machine lero positionG28 G29The illustration shows a tool motion from point A to point B first. In normal programming usage. However. curequivalent program commands.O TOlOON66 MOlmachine point return check can be in either the absolute or incremental mode.lS MaSN65 G27 X10.85.0 Ma9N64 GOO G40 X3. which is point and resulting in the A to B to C (0 B to D lool path are quite simple:G28 018.M"Irnlno. The control system will move the machine axes to X 10. While G28 will automatically reto machine zero position. 0 Z3. for a tool activity.0 and checks this position is in fact machine zero reference point This is the reason Example J could modified.80--'-.MACHINE ZERO RETURN157(LATHE EXAMPLE)Here is how the FLTst (Example J) listed G27 command. It is one of virtumands that can be very useful in some rare cases. to point D.

.. as specified by the mamanufacturer.. P3 and P4 to identifytheXVZ:::: is 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. the G30 command is in exactly the same way as the much more common machine zero return command.. or even point. address P is added in the G30 block (there is no P "t1rl .G30P:::: indicates the selection of a secondary reference position :::: can be P2.Y .). many examples apply equally to G28 and G30 commands and were sometimes tn identified as G28/G30 to cover both.15821RETURN TO SECONDARY MACHINE ZEROG28 machine zero command. except thaI it refers to a secondary program zero.same asG30 Plx . In virtually all G30 is identical to the G28. '~'" used If the machine has only a sinsecondary machine position. with an addition of the P address: In addition toi&where . PI is assumed inG30ISx. and not every mflchine machine even one.. not second. specific machines also have the G30 command.. preparatory command is a machine zero return cummand tu the machine zero posilion. In to other programming considerations. and handbook generally. programming format for G30 command is similar to the G28 command. So what is G30 and why is this command needed it in the first By definition. the selling of the second point is within the of the control system. That position must available on the machine at the lime of purchase. Thi~ ence point serves only some very special purposes. mainly for horiwntal machining centers. the Pis not required in the program.. zero can be the physical third. Not every CNC machine a secondmachine zero position. Note the descriptive word is secondary. In ler.Y In this case..

.LINEAR INTERPOLATIONLinear interpolation is closely related to the rapid positioning motion. which means they may be omiued in all subsequent I blocks. drilling. rhe end position is often called the target The start of a linear motion is defined by the current position. a simultaneously.159. three.. the points. linear interpolation is u .. etc.0 Y4.. All calculations are automatic .. bevels. Single Axis linear InterpolationThe 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"". linear interpolation first program block that starts mode must have a feed rate in otherwise an alarm will occur during the first run. in contouring and angular motion (such as chamfers. a single or the ho. It is easy to see !. is a motion two end points of the conLour.. Any start position has a start position is often called position.. It position. Command Gal and feedrate F are modal..... "" . for actual material removal.54 -+--'--+--+3 2~~~~~~~-i~ -~~--. through all contour points. angles.. other motion in CNC ming. 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..!f1<:l'lflof the rapid mode and the linear irrt8rpo/ation modeIn GOl mode. as the tool moves along part. axis name for a motion rhat is parallel to a horizontaf or vertical only. 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.. or more axes. the function F must be in effect. in this mode to be accurate. Wbile the rapid tool motion is meant to be used from one position of the work area to withour curling. Only a location is required for the axis designation in a along two or dition to a single axis motion.. once they have been designated and the feedrate reunchanged. the end is defined by the target coordinates current block.0means that the control thousands of intermediate coordinate points between start point and end point of the cut.the control system constantly and adjusts the feedrate for all cutt~axes. as facing. but at different feedFigure 22-1 forHorizontal motion. The result of this calculation is rhe shortest path tween the two p~nts. which requires two. normally two or three.) must be can be generated in the linear Three types polation mode:Cl Start and End of the linear MotionLinear motion. A singJe axis motion can never be motion...rizonral within the current (working) plane. power on.f-1LINEAR COMMANDa1 2 3 4 5 6 7 8x:nml1. such as contouring.hat the end position one motion will become the start position of the next motion. face milling cutLing motions. three axes be alsomachmmg centers and the tool motions (hat are parallel to table motions. tapping are In all cases. this mode. On the CNC lathes. single axis onlyo Vertical motionoyaxesAngularMotian from XOYOto X7. pOj:Ke~ung.

vU.4Axes linear InterpolationA motion can also be along two axes simultaoeously.. F . particularly when motion of this working with complex parts. Such n . . " ." .. such as powerful and Mastercam TM.022543to X2.Motion fromX2.a lool motion in the interpolacommand GOI along with one. as well as a feed-Figure 22-3 Two axes simultaneous linear interpolation motion ThreeInterpolationA linear that takes place along axis linear same time..0 Y3. This programming is using desktop by virtually all machine shops. in Figure 22·4.0 Figure 22·4 Three axes54linear interpolation motion32PROGRAMMING FORMAT1axIn order too1 234 5 6 7 8two.. "'I..0 Y1.linear motion is(j nterpolationSingle lJxis linear interpolation motion the Y axis.0 and toX6. The will always be the shortest between in a slraightline the end point and at an by the controlyj. btl[ its genera! concepts are discussed briefly in chapter of the handbook 53)..1yMotion fromX2..0 Y3. Due to many difficult lions involved in this type of tool motion... or axes rate (F address) suitable for the job at hand:GOI x . that IS based on modern computer combined with machinknow-how.. Z.0 Y1..0 Y3.... motion may be absolute or n"... ming projects more an investment into a computer based system. IS simultaneous linear motion along three axes is possible on virtually all CNC machining centers. and is Computer based programming is not a subject of this handbook.021O~·~--·--~···~·····~·····~-·~·········~-·Xgramming method is not enough. result of two-axis motion is a straighltool at an angle..·"'''''''' lory commands for milling and W forthe linear·. the manual pro-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. Y.. Programming a linear is not always easy. Lool maLian..F' .o22-21 234 567 8three-axis (XYZ) '''" .Depending on which programming melhod is """ ... while in linear interpolation mode GO I..0 to X6. 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.

per spindle revolutionsubject of actual cutting feed rate per is not eruin programming al all. drills.. There is no to know the following calculations at all system will do them every time. mms.0001 ·240000.500..00 mm/min deg/minEND POINT'-/"--r. The is for All first table is for milling.rlr<ltpa certainthe CNC system. For all practical the result is a straight line. in case is to allow the machine manufacturers flexibilIty within current technological advances.00000 mm/min0. even under magnification.0 Y 6.001 degree ..00001 .0 GOl X14..END POINTMinimum motion increment 0. 0.5= 7.... Depending on the motion (its angular value).50...001 mm 0. all the automatically. Control system only prorange.<:PfItf>P. that ranges are to the control The will feed rate.point at X 10.. the cornup' one and 'hold back' the other ax is and it will do it constantly during the cut The result is a between !. that is true.001 mm 0. here it is as motion unit must always calculate individually.the feed rate is programmed at 12 in/min asThat means the actual travel motion is either known or it can be calculated:XcZt14.0001 inchGOO XlO.06~O= 4. or deglmin. etc. by increasing the ranges. it is not a straight I with edges so diminutive in that hne but a they are Iy Impossible to see. typical " ..000001 ..5= 1.. the second units used in pan programming are rpXlrp. wire EDM..O Y6. per timeo ..LINEAR161 Individual Axis feed ratea defined tool motion canInLINEAR fEEDRATEThe actual be programmedtwomm/min or in/min mm/rev or in/revo . For actual cutting.0001 inchMILLING 0.==.001 degreeTURNING.25 -10. Strictly speaking. cally use feed rate per Feedrate Rangeonly within in milling applicais 0.0tothe endatY7.~centers.. according to the macapabilities.. The following two tables point out typical ranges a normal CNC system can support.he start and end points of (he linear contour. and can be calculated byTheorem:. It is included here for matically oriented and interested individuals only.Minimum motion increment 0.00000 deg/min . protilers..lhall!!t: maximum feeurate thaI can high... £lanaI units used. according in Figure 22-5.250tool total mali on (as illustrated) is motion..The calculations are to the followingmachine type and dimenThe selection depends on .""un.S Yi. routers.0linear motion takes place between two end points.25 F12...0001 \ as in/min.500.000000 in/minFigure 22-5 Oal8 fDr the calculation of individual axis linear feedrate. The lowest for linear interpoin turning is dependent on the minimum increment of the coordinate axes XZ. that is more for the benefit or than the actual user. flame lathes and turning centers lypiuse feed rate per time. On the other hand.25 .-. As technology control system manufacturers will have to rechanges as well.00001 . Typically..

TOTOPROGRAMMING EXAMPLEIn order to illustrate the .6703854 x 12= 0.O Y3.S Yl.o1 23 45 678Figure 22-6 Example illustration for a simple linear interpolationI-V<l. use of interpolation mode a CNC program.2117263X4. X7. as well the Y (1 plus the length of motion il(4.S YO. that win travel length in the22543~~+.IS) (PS TO (6) (P6 TO P7) (P7 TO (8) (pa TOeFx2:=0I4.S Y3._ .0 Y3.S F .5 YO.0X1.162yabove formula is root of the total sum value of 4.WJ:SE DIRECTION FROMFx = 4... is a simple example.6703854 as common. CUlling must be in this mode.6703854).25I4.TO (2)TO (1)Linear interpolation means of programming all orthogonal (i. If Z axis were part of the lool motion.6703854x123.. ...5 X4..~.there no motion that takes place0 ......6703854 x l2 = 11.0 X6. 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. with the inclusion of Z axis in the calculations.Q X3.GOl X4..5 X6.0 F X3... 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.0(P1 TOTO P7) TO PO) TO P5)\..++2 1control system will internally apply the and calculate the actual motion along we X axis (4.~~~~~~~. "Jo1.o(ABSOL'!J'TE MODE) (Pl TO (P2 TO (3) (P3 TO P4) (P4 TO !.5 Y4.X .e.S Y'3.S X4.SXl..0Fx = 1.. horizontal) molions. values.. for a simultaneous three dimensional linear motion.5I4.+-.. 0 Y1.(CLOOK. there is no Z axis motion. _~. based on the square sides. as well as angular tool motions as the shortest Hnear distance between two points.~~.25). we example will presented twice..0 X7.On. For even more comprehensive understanding.5 Yl. the system will calculate the X feed rate . ~. shown in 22-6.-. procedure will be logically identical.562215G90 G01 Xl.0(COUNTERCLOCKWISE DIRECTION FROM PI)G90 (ABSOLUTE MODE)In this example.0 Y4.

pfOgTam reset. with tool mo. but a single program that covers both options is a better choice . The expression 'block delete' offers rather a misleading description./ ' ing the slash code. If the block skip function is turned OFF (block skip function is air cutting for those parts that require only one cut.BLO-CK SKIP FUNCTIONIn many control manuals. If the block skip function is turned ON task can be done quite easily. The In those cases. the tions covering facing cuts for both possibilities. by.. when the control system does allow the most obvious solution would be to prepare two separate block skip within a programmed block. etc. aJl instructions beprograms. For most of CNC programming applications.-"CONTROL UNIT SETTINGRegardless of the slash code position within a block. since no progTam blocks will actually be deleted but only skipped during progTam processing. This is not nn uncommon occurrence in CNC shops and is not always handled efficiently. 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)TYPICAL APPLICATIONSTo understand the idea of two connicting possibilities. Either in its entirety. time consuming and definitely an inefficient process. skip function will be provided in the program and applied to all blocks relating to the first facing cut. Some blanks are slightly smaller in size and can be faced with a single cut.it can be very powerful:Q Example 2:N6N7 GOO XSO.O N8 GOl . a block not active). The system will recognize the slash as a code for the block skip. the more accurate description of the function is the block skip function. This block skip function symbol is represented by a forward slash [ / ]. the block skip function is also called the block delete function.but only if the block skip function is used in such a program. Such a fore the slash code will be executed. Also useful are applications for bypassing a certain program operation. the block skip code can also be used selectively for certain addresses within a block. only the instructionsfollowother solution is to write a single program. The 'second' cut including the coolant function. Others are larger and will require two facing cuts. consider this programming application. will always be needed! Other common applications of the block skip function indude a selt!Clive ON/OFF sLalus LOggle. Any programming deciSion that requires a choice from two predetermined options is a good candidate for the block skip function.IMOBThis challenge illustrates a situation. To avoid coolant function M08 (block N7) will be skipped. This function is a standard feature of virtually all CNC controls. The only (block skip function is active)./ N4I IN5 N6 N7 . each covering one unique possibility. applying or not applying a selected tool 10 a part contour and others.BLOCK SKIP SYMBOLTo identify the block skip function in a program. regardless of the block skip toggle setting. the program will be processed in two ways. each properly identified as to its purpose. Its main purpose is to offer the programmer some additionaJ flexibility in designing a program for no more than nvo conflicting possibilities. Check the manual if such a technique can be used . In the absence of a block skip function. optional program stop. In the Example 2. rather Ihan at its beginning. the whole block will be executed in Example 2. a term used in the handbook. the only alternative is to develop two individual part progTams. The problem is that the blank material for parts delivered to the CNC machine is not consistent in size. will be skipped. but it will be a tedious. For this good reason. N8 On some control systems. The final decision whether or not to use the block skip function is made during actuaJ machining. Making two inefficient programs is always an option. where two connicting options are required in a program at the same time. The assignment is to write a program for a facing cut. a special programming symbol is required. sUl:h illi the coolant function. or the instruction foHowing the slash will be skipped (ignored).

skip function canCExample A . Just repeat all modal commands in the program thal will not affected by block skip function. also listed a slash in block slqsh symbol is preceding miscellaneous function M08 (coolant ON). depending on the of this purpose..0N7 Z-l.l F30.. In such cases. If skip funcrion switch is ON...O YS. and also when to use it.""'Tl'"NS GOO X10. the contents ofIn examples A B.Modal commands are not repeated:NS GOO XlO.. that modal commands can be tied only once in the program.. be if block function is ON. or a menu item .. Remember that a command established in a block using the slash code will not always be in effect. From block N7 it is apparent that Z coordinate position and the cutling [eedrale value changed.""u".""fHUlI"BLOCK SKIP AND MODAL COMMANDSTo understand the way how modal values work with skipped blocks."" MOTION)NS GOO X10. but only if block skip function i~ in the (OFF) mode. unless they are canceled or changed in following block.O Z2. contai ns several modal functions.. the I M08 commands are not repeated in the example A will not in effect. F30.. Both examples A and B will identical results...0 MOSN8 .Modal commands are nat repeated:. In programs where the block skip function is not at all.0 / N6 GOl ZO. to bypass the coolant flood during verification.. 0 N8 (RAPID MOTION)CExample B Modal commands areron. The control will then execute the instructions in all blocks.0 MaS N7 Z-l.0 YS.. if no manual override is available. llisled earlier..(RAPID MOTION)(FEEDRATE MOTION).O Z2. a push button key. The example B uses careful thoughtful approach with very extra work. 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. ZO... They will be processed.. if the swilch IS The 2.1. When the block function is used. the setting mode for the block skip function on the control panel is irrelevant.. if the block skip switch is set ON. the coolant wi!! be if it is OFF. the program block containing position as slash code indicates an intermediate Z I.O Fl2.0 N7 GOl Z-l. are the when block N6 is skipped:The processing resultLJ". a switch..O F12. If the block skip function is active (ON) block instructions following the will not be next example A yields an unacceptable result.164the operator.. identified in the as N6. programs will not require any skip codes.n"'. Modal commands are nol repeated in quent as long as they unchanged.O Z2..or inactive (OFF).0N8 (GOl AND MoaExample B . . The block.. selection is provided on Selection of the mode can be either as (ON) .O YS.0 M08N8 N4.l F30. recommended. 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.. control panel the CNC unit. in the of . but OFF mode is strongly switch setting important.0 and MOS will all remain in effect.0 / N6 Gal ZO. with a fairly possible collision. This position may only certain cases during machining will decide whether to use it or not... there is nothing to do.o\. The commands GO 1. However..0 YS. ..Chapter 23A simple programming solution to this potential problem is available. 0 F12.O Fl2..=CtwoExample A . It on the setting block skip switch.Modal commands are repeated:NS GOO X10. watch carefully all modal commands. in the block they occur first.""n'\ be different each programexample shown.O Z2.0 M08 N7 Gal Z-l. the coolant funclion will application may be useful in <I dry run mode.

correct it After the correction.35 N9 GOl ZO FO.4 MJO%. listed as B.Variable stock face:A cutting a that in sIze is a common problem in CNC work. even if it means repeatingsome program values and commands that have to be preserved. covering both types of processing.r"n.N1.35result of this double check must be always satisfactory.""'"rn has been designed for bOfh options.. causing a potemially dangerous correct version.0 T0200 N1.0 Z2. F 12.) or rough facing on lathes. problems may oceur during Programming TWO cuts all parts a program.S N13 G40 Xl2..5 mm) Figure 23-J.the should include tool motions for two cuts and the skip function will be on all blocks relating to theftrs1 cutslash symbol can be into the nT"e. In the following examples.N111I z Icoh~X-O.c:>Example .OS FO. "'''""' will be run as intended.l N12 X3.GO 1.is a lathe face cut. it ficult to determine number of cuts. there is one basic developing programs with blocks using the block skip function:Always program a/l the instructions. the facing siock varies mill) and .IN9I0I I~.. whether the block skip in or without it. but will be inefficient parts with a minimum stock. 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.Ol N1. After considering several machining options.OS N1. the F30.. Many programs can benefit a creative use of this The type of and some thinking ingenuity are the only criteria for successful implementation. the programdY~'" that the maximum stock that can CUI will (3.1 GOO ZO. in those blocks that define the optional skip lected blocks. example.BLOCK SKIP FUNCTIONNote that the motion I. often neglected. some castings a given job may have only the minimum excessuffimaterial. yet.. In the summary.275 (7 mm).CHANGEX3.OS FO.Figure 23-1 Variable stock for fBcing in 8 turning I!JOfJ'ilCOtion .... In next section this chapter we will look at principles of program design for different practical applications.'-' . etc.0 X-O. the examples as start points for a general program design or when covering similar machining applications.25 I NS X3.0 and M08 . it is a powerful programming tool. conclusion is that the example motion in two consecutive A will result a Z axis In the blocks. the programmed repetilion all commands . so one roughing or facing cut will Other for same job may larger and two roughing or cuts arc nceded.135 T0202 MOS I N6 GOl X-O.program 0230102301 (TURNING)(v:ARIABLE FACE STOCK) Variable Stock R'movalRemoval of excessive material is during a rough cutting. check the program at twice again. There will too many tool motions as 'cutting . when the is minimal.assures the nrr' .OSI I N7 IPROGRAMMING EXAMPLESblock skip function is simple.35 ZO. A suitable solution is for turning milling . G20 G40 G99 N2 GSQ S2000 N1 GOO TQ200 M42 N4 G96 S400 M03 NS G41 X3.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. Always check program!Any eNC program containing block skip function should be checked at least twice. some of the skip function are shown.a way that there is only If the program is designed in cut.Ol I N7 GOO ZO .. an error is even a very minor error. When machining irregular (castbe difforgings. nrr.

375 / N'8 GOO Xl!. front at ZD.. Exactly the same logical approach can be for more than two cuts and can also be applied to operations other Ihan face cutting.FIRSTCUTBlock does not need a for a reason .. ~----------~.0Figure 23-3Variable maj:/If~lina pattern .Chapter 23NS contains initiallool approach motion.O S550 MO) Hal N5 GOl ZO. The only difference will is very cuts .it will be either FIS..023-2 Variable stock for facing in 8 ml1ling application· program 0230202302 (MILLING) (VARIABLE FACE STOCK)N1 G20N2 GI? G40 G49 Geo N3 GSO GOO GS4 XlI. In the other example..O / N7 ZO..0X11. There are no other blocks to be skipped block N8....0 Zl.. Following two examples show typical possibilities of programming a change of the path. and N8 returns the tool to initial X position. 0 N9 GOl ZO NlO x-J. The next blocks can be if necessary.OM13 M30X43...177 (4. During the first evaluation.one. Nil is the N lOis the front motion. the emphasis is on the pattern change itself.. In one the emphasis is on a skipped machini ng location...O Nll GOO Zl.0 Mn8 / N6 X-3.Nl2 GSO SleOONl3 GOO T0600 M42 Nl4 G96 S100 MD3.. N7 is the tool motion after cut..-------~~. the second time..0 Y4.5 mm) ..it shows what exactly happens. tool next three blocks are preceded by a slash.l N7 moves the tool away cuts off to initial face.. A minor deviation in a machining pattern one adapted in a single program usdrawing to another can ing the block skip function..0-"L-. The is very important block 10...166. The (ween . is a simple programming. where the block function may be efficiently..X-3. the lower picture shows the result with block the -"arne skip function set OFF.0 Y4. followed by standard final blocks. the mill actually cuts at ZOo I position. Figure 23-3 is related to program 02303.------. depending on whether blocks N6 to N8 were skipped or not..O or FIS....O Y4. In miiling. Evaluate the example not once least twice .lhe An for a milling application uses a inch face material to faced varies bemill.turning applicationupper picture shows result with block skip lion set ON. at 177 level. In the N6 block.02303 Nl G21%Block N5 in the example contains the Z axis approach to the first cut. Machining Pattern ChangeAnother application.~~~----. Such a variation between similar is often a prospect for block skip function.1?7 F15. block N8 is a rapid diameter..0 N4 G43 Zl. In N6.O M09 Nl2 G2S X-l.0 FIB. There are no other blocks to skipped after to the fronl block N8. not two.I---X35.Figure 23-2..a F1B.0 Y4. read all blocks and the block skip function.. using the block function.120 and . Both are In illustrate a simple operation.:. largest reasonable depth cut selected will be . when actual cutting takes Both lathe and mill examples should offer at least some logic used in program developbasic understanding of menl. N9 contains a cutting motion.O. Such a repetition guarantees the required rate in the block.3! 5. The term family programming means a programming situation bewhere there a slight difference in tween two or more parts. ignore all blocks containing slash will be identical results when compared with the first the number of actual uation. the lathe example.

+ 5 4 <B...t-Y25.0 / mo GOO X43..0.result with block skip OFF (top) and ON (bottom)Figure 23-5 Program ()2305 .BLOCK SKIP FUNCTION167Both variations of program 02304 machine a hole pattern with 6 or 4 holes. if it is required. In the example.0 Y75. This is a good example of similar parts program..0 T0600 MOlProgram 02303 demonstrates a single program for two parts with similar characteristics..0Figure 23-4 Program 02304 .()X. but neither one will not be drilled when the block skip setting is active (ON).N1 G21 N16 N17 N18 N19 G90 GOO G54 X30.0-$12$.:Xa . the bottom shows the pattern when skip function has been set ON.0 S1200 M03 H04 G99 GS1 R2. Evaluate the more important blocks in the program example.0 F100.0moI N21 XSO. The only difference between the two examples is the number of grooves and the second groove position. result with block skip OFF (top) and ON (borlom). in N19 the groove is cut In the block N20.:a .... Block N23 will always drill hole number 6.0 / Nl9 GOl X3S..0N24 GSO G28 X30. The milling example shown in Figure 23-4. The top of Figure 23-4 shows the hole pattern when block skip function is set OFF. That is the reason for the block skip code.variable machining pattern for a milling application ..0 Z2S. In the block N 18.2 and 3. Top of Figure 23-5 shows the pattern when block skip function is OFF.I 235-<it4-$-I$3I-Y75.Y75.-$ .0 Z-20. Nl6 and N 17.0 Y2S. There arefive hole positions.aa (")000><JXI<0r.02304 (MI. Machining the part will require the block skip function set ON or OFF.ciMaaIX X X ><ILOuja Lri 0 a co . The middle hole will have a different Y axis position.047 4 -$ 47 31-Y75.they have the same width and depth and are machined with the same tool.0f!10 0t0 . using block skip.0 Y25.. also in metric.0 Y50. The N15 block is the initial tool motion to the start of the first groove at Z-20.0 Y54.0 MOS G43 Z2S.06$3$-5' Y25.0XI05.O FO.LL..0--"""""~~~""""w -$ .0 ml X400. the tool retracts from the groove to a clearance position.0 / m2 X55. ><-Y25.....13 N17 GOO X43. the bottom shows the hole pattern when block skip mode is set ON. to control only the Y position of the hole.5 Z-4... The foHowing three blocks will cut the second groove.0a 0 C"')XaI...0 Y7S.. depending on the setting of the block skip function at the machine.0 Y7S. The program handles two similar patterns that have four identical holes for both parts and two missjng holes in the second pari only.0 / Nle Z-50. both grooves are identical .0N25 MOl(HOLE (HOLE (HOLE (HOLE (HOLE (HOLE1) 2) 3) 4)5)6)Blocks NI8 to N20 will drill holes 1.0 Z4S.0 T0606 MOS N16 G01 XJS.variable machining pattem for a milling application .00XI-M0X<0r..0.. the groove will be cut and the tool returns to the clearance diameter.0 m3 G98 X30. but the block skip function is used within a block. depending on the grove to be machined.--$.. In the next two blocks.Y75.Iuj$61II"'i"'\I $-+. Block skip function has been used to make a single program covering both patterns.'-. the tool moves to the initial position of groove 2 at Z-50. A variation of this application is in the program 02305.ING EXAMPLE)N15 X43. Hole 4 in N2! and hole 5 in N22 will be drilled only if the block skip function is set to inactive mode (OFF).. One part requires a single groove. the other requires two grooves on the same diameler. is represented in program 02304..O Y50.

0563 X2.3 FO. with block set ON.4 FO. In this case. a mo Y7S."e.tho? ex. approach to part programming is more efficient.0N24 MOl(HOLE l)(HOLE 2) (HOLE 3) (HOLE (HOLE 5)/'.rm{'J on a lathe ..0 / YS4.0 N2l X67. Such a repetition is very crucial successful in both modes of block skip function.0. if the block skip mode is The address Y54.67S ZO.0563 ZO. If it is omitted. a trial cut programming method that employs the skip is used Setting the skip mode the machine operator checks the trial dimension.0563 DlCHES) Trial Cut for MeasuringAnother application of the block is to the machine operator with means of measuring the part before any final machining on the part been done. What is the logic it? The trial diameter can be other size. that case.ample shapes.. as it a recut.0.0. part is difficult to measure after allinachining is for The same me. It is true a different diameter could have selected. That would leave a .O Z-O. applications arc the function but they the fundamentals of a powerful programming technique and an example of logical thinking.n'Y"". the Y54. the only op.programmers may a three or aeC:lmal number .O Z2.67Shole 4 In block N21 will drilled at the location of X67. It is a method lhose parts..0 position from tion of X67.Figure 23-6. With the block set ON.5 Z-4.0 T0600 MOO/ (TRIAL Dn IS :2. the the block N20 will overridden. the part may slightly outside of the required tolerance range.l T0606 MOS / Nl4 GOl Z-O. including the trial cut and finish profile..0 MOSN17 G43 Z25. the to maintain accurate offset settings.. MOO in N16 stops the machine and enables a dimensional Selecting trial of in the example may be questioned.the.0 Y54.to psychologically "./ N17 G96 S600 M03 NlB GOO G42 Xl. In either case.062S FO.. . and can even prevent a scrap.0 S1200 M03 H04N1e G99 Gal R2.025 stock per for the cut.""lIn" executed will be the to size. general equally applicable to described in example are and milling . the individual offset.l T0606 MOS N19 GOl Xl.~~lJ. 75 ml X3..0 from block N22 will precedence in block skip mode.0 m2 G98 X30.0 in N21.O Z2. Due to dimensional the cutting tool comwith other factors.0 F100.03 / N16 GOO G40 X). increases finish. Using the block skip feature is the simplest way of dea family of parts.007 mo Z-l.16802305 (MILLING EXAMPLE)Chapter 23Nl G21 N16 G90 GOO G54 X30.. the cut. will not processed.0 N23 GSO G28 X30.5 FO. if necessary. If the block the hole 4 will drilted at coordinate mode is ./j--X3.0 Z25.0 X1.0 Y7S. following method of programming is very useful for parts very tolerances.0 Y75. significant instructions are retained by repetition the key commands (NI8 and NI9). Many detailed explanations and examples of programming complex families of parts can be found in a special Custom Macro option Fanuc fers on most controlFigure 23-6 Application of 8 trial cut for ml!l. four decimal numwas only selected for one reason .program 0230502306(TRIAL COT -N1 G20 NlO GSO SHOO Nll GOO T0600 M43 Nl2 G96 SoOO M03 / Nl3 Gt2 X2.0 TOSOOm3MOLWhen program 02306 is processed the block set all blocks will executed. the block N22 must written.O N19 n05./I~~~=t~-X2. to the proper drilling at position 5.0 Y25.0 Y7S.OOS / Nl5 X2. such as is also quite for parts cycle Indlviduallool is relatively long and all the offsets have to be fine be/ore machining.Ol N22 GOO Gto XlO.

6 FO. but for a di reason .73 FO.2 FO.2 FO.06 WO.375 Z-0.. the trial cut dimension is usually more the finishing than for the roughing 02308. yet maintain the full tion rate during operations for productivity.l T0202 MOS. and slower.03 / N7 GOO GtO XIO.B75 N19 GOl X4. 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 finished02307 (TRIAL CUT FOR TAPER.03 / N7 GOO G40 X10.I T0404 MOa / N1l GOl Z-O.. the operator can set ride rate to 100%.6 ZO.OOa / Nl2 UO.0 T0200 MOO/ (TRIAL CUT DIA IS 4.012 N21 GOO G40 XlO. although it does present many applications.Ol N18 GOO XJ.4 FO..03 / N13 GOO G40 X10.42823-7 Trial cut for 8 taper cutting on a lathe program 02307In program 02307. a form.OOS D1500 FO.46 INCHES)X4.008 Nl3 X4.0 Z3. When two cutting for tools. It a logical way of the block skip function. T04 is ting (ools ous is used. over 1500 in/min.X3. 428 m:::H:E~S02308 can be improved further by includcontrol of taper on the width.trial cut will also the actual machining..-NlO G7l Pl1 Q13 UO.O Z5./ NS G96 5500 M03 N9 GOO G42 X4.0 Z5.37S· .''y"t''' tools for roughing and finishing may be depending on the of required accuracy..2 FO..OOa / N6 UO..Figure 7. Programming a trial cut is useful but often a neglected technique. most controls.4 FO.0 T0200 MOlProgram Provinga common where a cutting tool is used for both roughing and finishing operations.0 Z5.O Z5.06 WO.87SGSO S1750 T0400 M43 / N9 G96 S550 M03 / NlO GOO G42 X4.BLOCK SKIP FUNCTION16902308 (TRIAL CUT FOR TAPER.IAI.428 ZO.0 T0200 MnO/ (T02 TR. At the rapid approach to the cutting position on not add to the operator's confidence. COT DIA IS 4. The next two 02309 and 02310.Ol Nll GOO X-J. .0 T0200 MalN22 GSa 51750 T0400 M43N23 G96 5550 M03N24 GOO G42 Xl22.875 N12 GOl X4.l T0202 MOB / N5 GOl Z-0.O Z5.OOB / N6 UO.l T0202 MOB / NS G01 Z-0.OOS N20 X4.6 ZO.6 FO. In most applications.l T0202 MOB N17 G71 PIS Q20 UO.ONE Nl G20 G99 G40 N2 G50 S1750 T0200 M42N3 G96 S500 M03/ N14 GSO 51750 T0200 M42 / Nl5 G96 S500 M03 N16 GOO G42 X4. On the rate cannot be done..O Z5. the block skip function is illustrated is for roughing.73 FO. <'''' .NIn the next'!WO TOOLS)ciN1 G20 G99 G40 N2 GSa 51750 T0200 M42 N3 G96 S500 Mal / N4 GOO G42 X4. approach is \0 the close lenal.0 T0400 M09 N27 M30%/ N4 GOO G42 X4..46 ZO. common concerns of operators is the towards a particularly when the The rapid motion rate of many modern be very high.428 ZO.0 T0404 MOBN25 G70 P18 Q20 N26 GOO G40 XlO.375 Z-0.0 T0400 MOO/ NS/TRIAL COT DIA IS 4.can to check it limited experience easy to run a for the first time. for example. show a typical method to eliminate the problem during mosetup and program proving.OOS D1500 FO.4 FO.012 Nl4 S550 M43 Nl5 G70 PH Nl6 GOO G40 XlO.

Incidentally.[n both examples.ocK SKIP GROUP . the II selection is same as a plam slash only.004FO. Both 02309 and 10 are typical of breaking with tradition to a specific result. Watch for one possibility... for a continuously running machining. This technique is in 44.... the block skip is used within a single of two block. the first command is GOO. but it will GOI.....r" . This changing block mode in of a program can unsafe and create problems.0 8600 M03 H01 FlO.. LInder matching switch number.. FO.Nl . the block skip can be set ON.. the block ON or position and function is set to the in this mode the wholeprogram. SKIP GROUP 1)N4N16 N1?12During 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. to prevent the GO I motion from processed. the Cycle SIart key to seuings can be done before initialize the program. block will preceded by block skip symbol and will be placed before the M30 code in the part program..INlPrograms the selective skip function can be very clever and even efficient. the operator to be usually in program comments. The selection mode is on the control screen (Setrings). a program may tmee groups.(BLOCK SKIP GROUP 3) (BLOCK SKIP GROUP 3)rules apply skip function as for normal version.. This option allows the operator to select which portions of the required the ON setting and wbich portions OFF setting.. tbe techniques is quite The typiprogram will actually have n.0 MOS Nl G4l Z-1. be a plenty of programming available by the standard block skip function.lN7 02310 Nl G20 G17 G40 GSo N2 G90 GOO G54 X219. but they may place quite a on the machine For the majority of jobs./2 Nl8N19(BLOCK SKIP GROUP 2) \"""-"'-"-'" SKIP GROUP 2) (BI. the feedrate switch control system will become effective. When the program proving is and the tool approach is confirmed.0 Y7S.I N4Numbered block skip function is not i:lVCllll:lDle on all controls.N2 N3 N4 NS N6GSO GOO G96 G41 GOlS2000 T0200 M42 S400 MOl X2.vo ends one will use M99 function. the end will use M30 function.An optional feature on some controls is a selective or a numbered block skip function.."nPT allows it. the block skip function can in barfeeding..:2)N29 NlO/3 NllN4S . example. NlnSKIP GROUP 1)(BLOCK..ON4 GOl X. if the block mode is both skip is set OFF. could have also writte~ (his Barfeeder ApplicationOn a lathe.. If the n'>rr. F12. each expecting a different setting of skip function.. the GOI motion will a pnonty. if the control supports such a method. If the ON seuing is required for one section of thebut not for another.. so blocks N3 and N4 above. the switch the symbol.02309 (TURNING EXAMPLE) Nl G20 G40 G9SChapter 23 Numbered Block SkipFor machining..0 NS . In both examples. offering additional flexibility. if block skip is set ON. the falter command used in block will become effective. already emphasized:N2 .75 ZO T0202 M08 X . the slash the control will accept GOO. If two conflicting commands in a single block. but followed by an within the range of I to 9...170Block function in examples a less usual . When the block motion commands will be read second in that block effective (GOI overrides GOO). This also uses slash symbol. are clearly and all operator must do is to match the control seuings with the activity.. second L Normally.it is used for a section of a block. rather than the block itself. design of both programs lakes conflicting commands within the same block.

before the next block. IS attributed to the tool during cutting.so be used while turning or boring. the dwell command must programmed as an independelll block.. or in seconds.. the dwell function is useful to control deceleration of the cutting feed on a corner during feedrales. When time expires. but the rent status of cycle171. programmed dwell time will allow full completion of a certain as the operation of a tailstock.r/ The still to supply the exact peof time for the This time to be sufficient . It IS not important the mamaterial in chine spindle rotates or not.. P or U (address U can only used for a lathe).l"rl('''''~c In this period of specified in a CNC . machine accessories. although the two are not used simultaneously. dwell is programmed together with the cycle not in a separate block. G04 used by itself only will do nothing. Typical examples of a dwell lathe are described in Chaprer44. The time specified by the address is either in milliseconds. Applications for CuttingOn some CNC the command may also be required when spindle speed. ticularly machining operation to dwell command 'forces' fu.!""t. A dwell can be applied during machining a number reasons. In cases. other G commands. is a only one block uO(~tlOin and is not modal. custom features. Only fixed that a dwell time can use it in the same all applications. curis unchanged. both cases. many other applications. covsubject. Dwell may al.any motion is while all program commands functions unaffected. Several such functions are to control a of CNC as a barfeeder. The machine spindle may be stationary or rotating in cases.isDuring actual when the tool is in contact with materialFor operation of machineaccl~ssoowhen no cutting takesEach application is equally important to programmers. Since there will no contact of the tool with part category.M functions.·tailstock. grooving or parting-off. fixed eycles machining centers also use dwell. dwell execution. It must always another address. It will remain for that block only and does over to the next block.lly completed in one block. in order to eliminate physical left on the by end of the 1001. Some control systems use a different address for purpose as dwell but the gramming methods remain identical. quill. it is contact with the machined part. the control resumes processing the program with the block immediately following the block that contains the dwell.Applications for AccessoriesPROGRAMMING APPLICATIONSProgramming a dwell is in two applications:oand canquite usefulsecond common application the dwell command certain miscellaneous functions .It IS an intentional delay applied during program . This use of dwell could be parfor older systems.. usually after a range This is used mainly on CNC lathes. the application of a dwell mainly used breaking chips while drilling.can be I'>"<.. The correct addresses dwell are X. depending on address. guidance as to how and to program a dwell time is to follow the recommendation of the CNC machine manufacturer. This.DWELL COMMANDDwell is another name a pause in program . example. counterboring.common preparatory command for dwell is G04. part catcher. and others. If spindle is the spindle rotation is very importanta cut is practice. in this case specifying the amount of time to dwell (pause).DWEll COMMANDWhen cutting tool is removing material.neither too short nor too long.

One millisecond is l/lOOOlh of a second..s = ms second millisecondpl0Ploa. the address P dues nat accept lhe decimal point.for theX5 3Chapterfunction is:AU machines. The time delay for completion of a particular machine operation or a special machine accessory is usually by machine manufacturer. After all. the relationship can be established:The control unit interprets such a command as a dwell. TOO millisecondsExamples of practical application of the dwell fonnat are:G04 X2. without a decimal point -1304 X2..3 N23 Z-2. asDWELL TIME SELECTIONSeldom ever the dwell lime will exceed more than just a seconds. the only. This will never be the case.. X axis is lathe application. Allmtlchines. 3P53In any case. most often much less than only one second.) X and U can also seconds. 46 minutes and 39. the format using range of programmable time varies.0(DWELL COMMAND O.. the dwell is 2 seconds or 2000 milliseconds. I m. a CNC program. some programmers often overthe dwell duration. Unfortunately.0is equal to1304 DODO1s= 1000mslms = O. Since milliseconds or seconds can be used as units of dwell. typical representation is five digits before and three digits after decimal point. That means the dwell. tion whatsoever. so the dwel1 is programmed directly as the number of milliseconds to control the pause duration.001 of a and up to mInI99999.S G04 P500 1304 UO. all three formats are shown.noteN21 1301 Z-l. All are shown."IlC~'i:>"'. 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. 01304 P2 000 1304 U2..or format .. use the third alternative the address P.Jisecond . but U address can only of either or used in lathe programs. particularly to new may incorrectly be interpreted as an motion. one second seems short but think about this example: In one block of program. Selecting redwell time for CUlling purposes is al ways sponsibility. perhaps during a operation.0 N22 1304 XO. 5 F12. 0pYt[ferredfor long dwells n.OOlsII:~Leading zero suppression is assumed in the format withpoinl (trailing zeros are out thePlPOOOlPOOIOP01DOwhere . Keep in mind. up to hours.. The nexi example is similar:1304 XO. the U common to all CNC machines. l(jJhe in secondsp'Depending on the programming for dwell. therefore one second is equivalent to 1000 milliseconds. By definition. or one half of a Again.7 F8. Dwell is a nonproductive lime it should selected as the shortest time needed to accomplish the required action. For digits in front of a decimal point and three oigils follOWing it.not as a axis mOlion.iJ. the is 0. The English dimensional units has no effect on the dwell funcis not dimensional. 3 SEC)Programs using X or U addresses may cause a possible The X and U confusion.999 presents a range from mum of l/lOOOth of a second.999'''TI''lIH-In example.5Dwell programming applications are identical to both machining centers and lathes. cycle lime for each part 50 seconds longer with without dwell. the X axis and its is the dwelling axis.. pnd"erred for short or memwn dwells . 10 milliseconds . of the preparatory command 004. This is because of theaU. the dwell function may appear in the dwell as a separate block: following way .edcyc/esus . If using the X or U address for dwell not feel comfortable. although that vary on different control systems. excludingJlXed cyclesl£JJhes. which establishes meaning of the address that follows it. Fifty seconds may not then it wouldexample illustrates a dwell of 500 milliseconds. illcludingjix..172 Dwell Command StructureThe structure .

then G04 XO.DWELL COMMAND173~ee~ too unreasonable.This minimum dwell is eightMinimum dwell is the time to complete one revolution of the spindle.". revolution. applications are normally programmed in per revolution. but selting or number of revolutions).143 seconds dwellThe 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.. all dwell values in specify dwell time of 143 which is a second. If minimum dwell is used rather estimated dwelL the wlll crease by only 6.a significant improvement in programming effion the machine.'uuuG04 XO. the G04 XO.2. but are they really necessary? Give Jl a Itnle thought or . It is easy to the dwell arbiby and without much thinking.999 revolutions.if a double value is used . become 004 XO. as revolution .or millimeters per revolution mmlrev. than 50 sec. represents the dwell of the spindle. a simpleseconds. cancalcu-Minimum dwell (sec)=60r /minSETTING MODE AND DWEllMost programs machining centers will use feedrate per lime (programmed in inches per minute ..\to 1000 Number of Revolutions SettingFor the of spindle revolutions the dwell is expressed as the number of the spindle rotates. but such a practice not represent consistent slyle.143 wlll G04 XO. pending on parameter setting.)".or the number ofspindle revolutions. and productivity Minimum dwell calculation and other issues related to it are shortly.in/min . the dwell comwill assume a different meaning with setting:CExample:To calculate minimum dwell in seconds for spindle rotarlmin into sixty (there are 60 tion of 420 r/min. On many Fanuc controls.143 G04 P143 G04 UO. within the of()'OOI to 99999..minimum d:ell definiis unimportant (time= 0. Each has practical uses and benefits. Since 50% spindle speed override is minimum on most CNC controls.tion is important. In example.3 LO round off theG04 PlOOO. the double mini· mum will at least one complete of production lime. calculated minimum dwell is only mathematically correct not be most practical value to use. or .in/rev . for example:G04 P1000.mrn/min)..I may dwell slightly upwards.dwell of one second. or even G04 XO.the durationone revolutionreasoning 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%. divide in one minute):60 I 420 = 0.even better calculate it If the dweU·MINIMUM DWEllDuring a cut. without. It is allowed to m one program. the minimum dwell required is only 0. a parameter setting allows programming a in the elapsed in seconds or milliseconds .practical dwell applications in a program.25 seconds. represents mi lliseconds. programmed lated. sure to calculate mlllllnum dwell that can do the job.or millimeters minute .143 Time SettingRegardless which formal is used.Minimum dwell.125less thanprogrammed dwell of one second. It is always and better to round off the calculated value of the minimum example.143 of a . is for operations where cuttino tool ismust used at all.286.125 seconds:60 I 480contact with the machined part..

Note that the point is still written. 60 : : : Number of minutes (translation factor) n :::: Required number of spindle revolutions r/min:::: Current spindle speed (revolutions per minute)In a lathe tion programmed to groov i ng tool to to clean up time in secomlSC) Example:To calculate die revolutions. 003 revoluJions Time EquivalentThe two modes cannot in one program deliberately and even between the mix is difficult. followed by the number of "-u"'''I "UG04 XO..adwell in the durevolutions. Since control are normally set for the rather than the dwell exdwell in seconds or mil spindle revolutions. represented as the number of spindle revolutions. to allow fractions of a such as one half or one quarter of a revolution. The only input values of the dwell input. The above formula can easily reversed:ItEach format same result .429The program block die revolutions in terms of following forms:the required three spintime will take one of System Settingis set to accept the dwell as the number of spindle revolutions.UIj'IJ11Sto be equal to the follow-formula: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.. the that is needed is to the dwell command 004.. spindle speed (in rlmin) must always be known in a case.17424NUMBER Of REVOLUTIONSIn the other dwell mode (selected the format only to the same.5 re\l()f... to one half of a""W''''''''"rev '"420 x 0.429If the controlG04 >3... the equivapressed by the number lenllime must be calculated. =420 x 0.. but be much different.429 / 603 .oa good to backwards and ca1cuthe equivalent ofdwell time. 3.. system parameter can set to only one dwell mode at a time. We have to know the control settings. clue may be the rather 3.. Usually. at can be applied:Dwell~in seconds for full three of 420 rfmin. All milliseconds.429 "". rather than for a~where . It is more than that the calculation will start with a dwell that js alrounded. result will not be an innumber and will rounding to the nearest value upwards. for example.0G04 P3000 G04 m. How can we tell from ration of three means time or revolutions? the program whether the We cannol." at 420 rfmin:""""=..0 secon(]s of dwell."<>''''''"'''1'1 numberconfirms the formula is correct.rny". In some appJicafor a certain desirable to program a revolutions. rather than as time in or is very straightforward.".. forExample: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.429G04 P429 G04 UO.5 / 60 .0 revolutions are shorter than 3. the formula= 60x 3 / 420 = 0.

there is not much use type of calculations .most programming assignments can be handled very well with the standard dwell per time calculations. spindle speed is then increased to 500 r/min the dwell lime to 1200 for minutes. This aImachine to a ambient t".0SSOO G04 X1200..leaving the spindle rotating for full Ja minutes.Machining Centers Spindle test:(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)S100 'M03 G04 X600.:E:I 80 =0.0 S1S00 004 X1800. maintenance (service) program wi)) be a little different for machining centers than for but the objectives will remain the same. The dwell has La calculated. The for one half a secondExample . Then the speed is increased to 500 r/min and remains that for another minutes (1200 seconds). of 0. to 'warm-up' the machine before running a critical job. guarantees a 10 minute constant run. is a program developed by maintenance technicians testing the spindle functionality. all safety considerations must have a high priority in all cases.. 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. This warming activity takes place typically at the start of a morning shift during winter months or in a cold shop.The example for machining centers starts with the initial spindle rotation of 100 rim in..0MOS(SPlNDLEis very similar to one for a mafirst The initial spindle speed range for example. carefully the following actual situation common to machine . In a typical the maintenance department rea small program. In the machine "'1. one more is done . Seldom ever there is a need to dwell time during a part machining in excess of one. or four seconds.e:>Example . will rotate 10 minutes aL 100 r/min.be beneficial. cases is to Slore testing proceA better choice in dure as a program.the spindle speed increases to 1500 r/min and remains at that for another 30 minutes (1800 seconds).6666667which is less than one complete spindle revolution. The will consist of running the at various for a certain period time of selection.0MOSDwell is programmed for one half of a second duration.5 seconds is therefore not sufficient.". As usually. The of follows. directly into CNC memory. followed by the spindle rotalion at highest rate of 1500 r/min additional 30 minutes.n'lT\Pr".LONG DWELL TIMEFor machining purposes on CNC machines. before the spindle stops.. then for minutes at r/min. fore the is stopped. 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. same approach can also be used to gradually the maximum spindle speed for high-speed machining (5000 r/min and up).a spindle of the CNC machine has repaired must be before the machine can baqk to production.1' II. last selection is 1500 spindle speed running far 1800 seconds.0 S1S00 G04 X1800.Spindle test:(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)M43 G97 S100 M03G04 X600. M43. That selection is followed by the dwell of 600 seconds. spindle been set to 100 r/min.5 I 60 = 0. The range available on the system (over 27 hours) more important to the nl(lintl'nat1a pnthan to programmer. or 30 minutes. the formula presented earlier:60 x 1(1800 SECONDS IS 30 (SPINDI. Machine WarmaUpA similar program (typically a subprogram) that uses a long dwell time is favored by many CNC programmers and CNC operators. two.0aox 0.tl before any precisian components are machined.".lathes . A~ an example of a typical application when a long dwel1 may. three.75 secondsGenerally.DWELL COMMAND175e:>SSOOG04 X1200. The reason for programming the dwell function in place is not honored and the lime has to creased. with spindle rotation set to 80 r/min.

is programmed as a separate block in a fixed cycle mode.N9 GB2 Xl.0live upon motion).. etc.sel1 must gram execution~tool or inspection.3 dwell will become motion along the Z axis (actualrapid return motion. Why the .. at the X display of the (position) screen of a typical will be as X.._u as the dwelling axis and not any is a reason .because the X axis is the only common to all machine tools . regardless of P or are programmed... They all use XYZ axes.. machines.H.. if absolutely necessary as a manual operation.2 Z-O. as the dwell to fixed cycles. Also cyclescan be programmed with aGSB.Several fixedo oNormally. are just some comments relative to the subject of dwell..o RO.7 P300 F12. to avoid duin the same block..o:.the dwell function is 'built' into all fixed cycles thal allow the dwell (technically all cycles do). flame cutters.2 YO. can by lV'-'!·'. particularly or '1"1""""''''''' The CNC machine should never be unattended.. The dwellQ Example. mills... no cycle will be definition is not updated.GS9and G84. If are not someone else should chine serviced. for example between the G82 block and the in that block and the block."'. in the clear executed while the cuttingThis feature is seldomY~""'lIr~'fl.24fiXED CYCLES AND DWELLChapter of handbook covers the subject of fixed cycles for CNC mach in i ng centers and dri lis in a detail. machining centers. as for any machining application.1 X Axis is the Dwelling Axiscontrol display screen shows how much time is still the dwell time expires.e. (there is no Y axis) and wire EDM uses no Z machines are similar. In case of long for warning signs should be prominently posted to prevent a potentially unsafe situation.0.. If this is used. and so on. but.. On value of P in the fixed the/latest controls.i.."YPTr''''''''cycles is always P. The address U and the command are never programmed in a cycle . this time. function will always is out of a hole. dwell time remain the same rules for fixed cycles. a system setting enables or disables this usage. only by parameter setting Safety and Dwellreminders have a great degree of caution dwell limes._ . In-deplh descriptions of all cycles can this For purpose of the current topic. will be active tool rapid motion from location just completed. neverprogram control!If a 004 P. the command G04 P. lubrication.

The hole and is by cutting tool Ihe cutting depth is controlled by the part program.' many different hole a well planned anu of programming applications. . spot drilling and drilling are together with related as tapping.r.. tapping. rJ:l'mnnl approach. Even in the traditionaJly known for their complex parts. spot drilling and standard drilling.. . and in the Z at a cutting feed rate. motions to a new X Y axes resume and the Z are repeated.FIXED CYCLESMachining holes is probably the most common tion. this of motions occurs at locations. along the ZaxisPOINT-TO-POINT MACHININGMachining holes is generally not a very sophisticated procedure. When the tool completes al [ motions the Z axis and returns from the hole to the position.. standard center drilling.four also I'pn. Such a difficult Lo inLerprogram could be extremely loug and pret and In fact. we probably think first of such operations as center drilling. holes machined with having the same they may even be at combinations are Illd'lUlIl~ one hole may be a ::. along the Xand/or Yaxis Rapid motion to . and aerospace components manufacturing... tools.. boring and related operations.. elementary structure for point-topoint machining can four general (typical drilling sequence shown in example):a Step 1:Rapid motion to the hole location . along the Z axis point of the cutaoo2:3: 4:Feedrate motion to the spe:ClTIl90 depth . hole operaa great number of similarities from one job to another..: When we think of what machining holes means. it may even too long to fit into the memory.rp.... virtually aU CNC control manufacturers have incorpoingenious for in their control use so the or .. countersinking even backboring. along the ZaxisReturn to a clear position .. The only when actual is along a single . Some motions along Z axis may also include rapid motions.. Usually. this category is wider. using common tools..177. optical holes is a vital part or mold making industries.. Other related tions also belong to the category of machining holes.111111111. There is no contouring required and there is no multi axis motion.normally. All this means is that there is no cutting along XY axes for operations. method of machining is Iypical to fixed cycles for reaming.. mainly done on CNC milling machines and iog centers. of the manufacturing nr-r. 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 . In 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. there are in a part and several tools to be used to hole to engineering specifications.virtually always cutting lype of machining is commonly known as the Z axis.~<..point-to-point machining.<:"nr required to program a programming method.. instrumentation. without is only one or two holes a is more a program length is of no imporis not the common case .Ihefixed cycles.morecnmmnnly . Hole machining is a reasonably predictable operation and operation that is is an ideal subject to be very efficiently by a For this reason.. However. point boring..

the same depth.40->-1--+----'Y1. use cymachining holes.l Nl3 X2. 8'7 Y3.04'7 Y3.Y3.6813 Nl5 G04 P200 Nl6 GOO ZO. " J Luses same efficiency. for more complex holes.9 Yl. It shows an application of a 03116 standard drill Ihat is used inches.5 G04 P200 . even if a single is machined.047 Nl4 GOl Z-O.4 NlO GOl Z-O.for (he first hole of the pattern. but02502 (EXAMPLE 2)(PROGRAM USES FIXED CYCLE). No explanations lO the programs are at this stage comparison is only a visual Lration between two distinct programming methods. The the des is to for programming once .89 S900 M03 G43 Zl.8925·1 Simple hale. updates and olher changes can be much whenever required. The become modal for the duration of the cycle Lo repeated. even cycles.4 ZI. X and Y axes locations are ent each hole of pattern.178 Single Tool Motions VS. only nine blocks were needed. the same same dwell.l MOg Nl7 G28 X2.O M09 N9 M30%2502501 required the total of 18 blocks.I Z-O. 047 N8 GSa G28 X2. Fanuc and similar control the following fixed cycles:High speed peck drilling cycleG74G76Left-hand tapping cycleGSO GalG82Drilling cycle with dwell Peck drilling cyclecycle)G83The second hole pattern.l MOB GOl Z-O.G87GSBBack boring cycleBoring cycle BoringNl N2 N3 N4G20 Gl1 G40 GSO G90 Gs4 GOO XS.l N9 X3.6B13 Nll G04 P200 Nl2 GOO ZO.programs 02501 and 0250202501 (EXAMPLE 1)(PROGRAM USES INDIVIDUAL BLOCKS)Nl G20N2 Gl'7 G40 GSaN3 N4 N5 N6 N7 NSG90 G54 GOO X5.047 Y3.4 Zl.O HOl MOBGa9.6813 P200 F4.0 HOl MOB ZO. . Fixed Cyclesfollowing 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). S7 Y3.6S13 F4.0 NlS IDO%A fixed is called in program a ratory G command.FIXED CYCLE SELECTIONfixed cycles by control turers to eliminate in manual programming and allow an easy program data changes at machine. L._ GOO ZO. and until one or more change. shorter program 02502 is also easier to there are no repetitious blocks. In program 02502.5 N6 X3. The moditications.9 Yi.89 S900 M03 G43 Zl. Only holes are to cut a full blind depth of lf1 programmed in the example. This is usually for location new but other may be for any hole at lime. three only.NS G99 GS2 RO. etc. For a number of identical holes same starling point. 4 N7 X2.

depending on the control parameter setting. G84 and other fixed cycles. G. R.. depending on the control systemIQ= Address Q has two meanings I '----------------------------------~0When used with cycles G73 or G83. )Explanation of the addresses used in fixed cycles (in the order of the usual block appearance):The dwell time is practically applicable only to G76.L9999 (KO .001 to 99999....G9a returns tool to the initial Z positionG99 returns tool to the point specified by the address RIo= Shift amountG (second G command)o=Cycle numberMust include the X axis shift direction for boring cycles G76 or G870. depending on the control parameter setting. Think of fixed cycles in terms of their built-in capabilities. G88 and G89 fixed cycles.G86~.Position at which the cuning feedrate is activatedQL (or K) = Number of cycle repetitionsMust be within the range of LO . although there is no reaming cycle directly specified. not always the only use.. J.. not their general description.'--________ __ __ Y_= H_O_le p_OS_j_tio_n in Y_a_X_is________ ____Y value can be an absolute or incremental value~1 1~o________F_= F_ee_d_r_a_te __ __s_pe_c_if_i~ t_io_n________~ __Applies to the cutting motion onlyR = Z axis start positiono= R levelThiS value is expressed in in/min or mmlmin.9IY one of the following G commands can be selected:G73 Ge4 G74 GasThe I shift may be used instead of Q ~ see above. Y.. 'Within the range of Nl to N9999 or Nl to N99999.. P.The list is only generaJ and indicates the most common use of each cycle. Q. oDwell time can be in the range of 0. For example. it means a depth of each peckoWhen used with cycles G76 or G87. The next section describes programming format and details of each cyde and uffers suggesliuns fur their proper applications. GS7G76GelGe2 GSSGe3 GagoJ= Shift amountx = Hole position in X axisX value can be an absolute or incremental valueMust include the Y axis shift direction forboring cycles G76 or G87The J shift may be used instead of the Q . X. (or K. programmed as Pl to P99999999___________N = BI_o_ck n_um b_e_r__________~ ____ __ __ .o Z.. G82. It may also apply to G74.. certain boring cycles may be quite suitable for reaming..K9999) II (Kl) is the default conditionThe R level position can have an absolute value or an incremental value.see above..FIXED CYCLES179Z = Z axis end positiono Position at which the reedrate endsThe Z depth position can have an absolute value ot an incrementaJ value. G. L. F. depending on the dimensional input selection. 1.999 seconds. it means the amou nt of shift for bo ringG (first G command) = G98 or G99o oThe addresses I and J may be used instead of address Q.= Z depthP = Dwell timeoProgrammed in milliseconds (1 secondPROGRAMMING fORMATGeneral 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):= 1000 ms)IN ...

arelanguage programming but about a Fanuc or gramming. No fixed cycle will be processed in a block containing GSO..aao If both X and Y axes are omitted in the fixed cycleaoIf neither G98 nor G99 command is programmed for a fixed cycle. The command GaO will always cancel any active fixed cycle and will cause a rapid motion tor any subsequent tool motion command. Q.\SymbOts and abbreviations used in fixed cvcles illustrationsoaIf LO is programmed in a fix'ed cycle block.". the meaning of all symused in the illustrations is described. a Milsubishi or example. Y.. the control system will store the data of the block for a later use.125is the SOJ11eGSorGOO Zl...it means there are jimitaprogramming is not a a lot with it. to the position where vated.. 'fixed" because their internal format cannot These program instructions relate LO predictable tool motion that rpn. R . Address P for Ule dwell time designation cannot use a decimal point (G04 is not used) . namely GOO.ABSOLUTE ANDVALUES~ Example:GSO Z1..125Gao GOO Zl. menIal method.method lated to the point of origin program zero. P .. L ... L F .1'I 1/'lI~l'Il'I/'n of one axis and the current location of the the cycle will be executed at the current tool position..180Chapter 25GENERALtions.and a motion command of Group in same block. the control system will select the default command as set by a system parameter (usually the G98 command). Z . the XY position of one hole is from the XY position of the previous the distance from {he last Z value.fixed cycle is processed. In Figure 25-2. but be performed..aaAbsolute or incremental mode of established before a fixed cycle is anytime within the fixed cyclecan orillustrations use shorthand graphic symbols. P . Z.. At fixed cycle.---"l>Rapid motion and direction Cutting motion and direction Manual motion and direction Boring bar shift and directionG90 must be programmed to select the absolute G91 command is required to select the incremental Both G9D and G91 modes are modal! If one of the X and Yaxes is omitted in the mode.ed cycle.... The Z depth value is the and the termination of feed rate motion.dwell is always programmed in millisecon~s. the order of programming those commands is importantGOO Gal x . are the main motion comany fix.. which isuations at all costs!In this chapter. [001 motion 10 the R will rapid mode. lhe individua1 fixed cycles arein detail and each cycle has an illustration of structure. each with meaning.. while inGal GOO X. but will not execute them at the current coordinate location. Fixed cycles arediscipline ....modules that contain a grammed machining instructions. Q. G01. F Consider fixed cycles as a set ules .""'lc sic rules and restrictions to summed up in the following items:fixed cycle is JIot processed. other values will tion of the F feedrate value.12S01. We talkCaution: In case of command . Y. R.tu. the cycle will be executed at the . one established calling the cycle.

unmachined areas. Obstacles may include clamps.O Y4. That means a fixed cycle block requires two positions relating to lhe Z axis . the cycle would have to be canceled and the tool moved to a safe positIon.see Figure 25-5. 0 HO 1 MO B (INITIAL LEVEL AT Z2. and another for the end point indicating the hole depth.one for the start point at which the cutting begins.lwO inches above ZO level of the part. The Z level can be selected at a standard general height. always select this posilion as the safe level . protruding sections of the part.lO(Z DEPTH)Figure 25-4 Initial level selection for fixed cycles.R LEVEL lO--+-Figure 25-3 Absolute and incremental input values for fixed cyclesThe following program segment is a typical example of programming the initiaJ level position:INITIAL LEVEL SELECTIONThere are two preparatory commands controlling the Z axis tool return (retract) when a fixed cycle is completed. etc.1 Z-O. A collision occurs when the cutting tool is in an undesirable contact with the part. Basic programming rules do not allow the same axis to be programmed more than once in a single block. Therefore. Safety is the determining issue here. Since the Z axis is closely associated with depth. A simplified term of reference to this position is the R level. The obvious solution is that one of them must be replaced with a different address. . Think of the R level in terms of 'Rapid to star! point'. will cause the cUlling tool to retract to the R level position R address designatiollThe fixed cycle (G8! in the example) is called in block N 13. Use the initial level with other precautions. It is important that the level to which the tool retracts when G98 command is in effect is physically above all obstacles.before a fixed cycle is called· Figure 25-4. in the G90 mode. holding fixtures. Without these commands. Their main function is to bypass obstacles between holes within a machined pattern. Then. unless the cycle is canceled first with G80. accessories.. With the G98 and G99 comm\1nds. or the machine itself.S RO. This is setting of the initial position . by definition~e absolute value of the last Z axis coordinate in the program .0. the initial Z level can be changed and the required cycle be called. The last Z axis value preceding this block is programmed in block NI2 as Z2. This address uses the letter R. or it may be different from one program to another. for more efficient programming.~ Example of the initial level programming:/----->t/R. where the emphasis is Of! the phrase 'Rapid to' and the letter 'R' . The replacement address is used for the 1001 Z position from which the cutting feed rate is applied. the initial Z level cannot be changed..=G98 and G99 codes are used for fixed cycles only. 0) Nl3 G98 GBl XlO. The cycle could then be resumed.INITIAL LEVELR LEVEL---++--'-.NQl G90 G54 GOO XlO. to prevent n collision of the cutting tool during rapid motions. Once a fixed cycle is applied. InitiaJ level is.not just anywhere and not without some prior thoughts. will cause the cUlling 1001 10 retract to the inilial position = Z address designation . if the programs are consistent..R LEVEL SELECTIONThe cutting Lool position from which the feed rate begins is also specified along the Z axis.0Nl4N20 GBOG98 G99.O Y4.FIXED CYCLES181INITIAL LEVEL INITIAL LEVELFrom the practical point of view.82 F5. it retains this meaning in all cycles.S Sl200 M03 NQ2 G43 Z2. The initial Z level is programmed as an absolute value. some adjustment in the control design must be made to accommodate both Z values required for a fixed cycle. such obstacles can be bypassed without canceling the1ixed cycle. the holding fixture.

225 = 2. the tool will the part. with only a lossinitial level in the example is in N30.. 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 may tempting to round-off the depth . a S850 M03 N30 G43 Z1. only G98! However. 7 YB. area.1 Z-2. retract will to the level. if preparatory command G99 was programmed.75 consider the hole detail in Figure inch drill to a hole.. ..'" it is also the Z to which cutting tool will retract upon cycle completion.c::>of Z depth calculation:illustrate a practical example Z depth We will use a 0. 087 cycle is an exception.:y.. The most common values are .'A a positive value.3 x . pO...u. In case. should one develop later.avoid it! It is not a question of triviality or whether one can away with it. without guessing its value or even rounding it off.for thec::> Example of Alevel programming:N29 G90 GOO GS4 X6. the depth value will automatically .225 2.. and justments to the setting if necessary. In case programmer to write the !l. Recall the absence of a sign in an axis address means a positive value of that This has one strong advantage.. In that case. The point for the depth cut is programmed as a Z value.(Z DEPTH)Figure 25-5 R level selection for fixed..6979 to .475total Z depth of 2.100 above work...475canG99 G83X9.75 .0. same block.. the G87 back boring cycle will described as an exception.1)N32N45 GaoOn machining the ZfJ is programmed as top of finished part face.L.£>"". it moves along the XY axes only at this Z height level .. This cycle not use G99 retract mode. if the application from such a change. The R is commonly programmed as an value. Its design has a typical 1 to 1200 point and we have (0 add an additional . the of Z address will always be programmed as absolute a negative value. a) N31 G99 G8S RO. The R is set in block N3) (cycle block) as .VL. with a full depth a standard drill is the tuullip consideration.0 H04 MOB (INITIAL LEVEL IS 1. It is a malter of principle programming consislem. to feedrate acceleration 10 reach maximum. The move away easily corpart program win not be rected.l Z-1.6 F9. Z depth calculation isQon the following criteria:Dimension ofhole in the drawing (diameter and depth)o Absolute or incremental programming method o Type of cutting tool used + Added tool point lengthQMaterial thickness or fulldepth of the holeo Selected clearances above and below material(below material clearance for through holes)or four R level usually increases about tapping operations cycles G74 G84.20 of an inch (I mm) above the part ZOo Part setnp has 10 considered as well. always make a cffort to program the calculated Zdepth accuratelyexactly.0 ® LEVEL IS 0. in but into an incremental mode I.To achieve a of a high quality.."I.of cutting .100 inches. all the R level must be selected carefully. Later.182Chapter 25Z DEPTH CALCULATIONSfixed cycle must include a depth of cut.lgn. set to .25 + . Again.--'·"..125 F12. If these two levels coincide.. normally lower the R level the initial level.6980 or even to .0 Y-4. due to its purpose.'\ilion is normally lnwPr Ihe initial The R level position.0 RO.:>vv. ".47S Q1.04-. is the at which the cutting tool stops feeding into the maleDepth is programmed by the Z address in the block.0. If G98 was programmed. the start and end points are equivalent to initial position.225 inches 10 the depth:. With this apand it will be so easier to retrace the cause of a problem.

the knowledge of the internal structure wiB help in deIn area of cussigning any unique cycles.-<~G98 (G99) G81 X.1 Z0Z-2.~~~-.. Common also be described.Figure 25-8 G82 fixed cycle . G82 or G73 tion is described inis used in the example for best Z would be the same tool point length calculain Chapter 26..'-~</7"/.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."-z..fnL/C:/c".. G81 . anytime a smooth is at bottom of hole.Description of Ga2 cyclemotion to XY position5WHEN TODrilling with a dwell tool pauses at the hole bottom.FIXED81"""""'7"777"7i--t7:'177""'7'7'7 -RO.25_. it isstructure of each cycle important to understand the and details of its programming format. spotfacing. althoughfor G81.Mainly for drilling and center Z depth is not If used for produce a on the holeDWELLa dwell at the G81 cycle will during retract. Often used when slow spindle needs to be programmed..G82"C"".Figure 25-7 . etc. In the following descriptions.20INCREMENTALFigure 25-6 Z depth calculation for a drilling fixed cycleABSOLUTE25-7 G81 fixedlVVII~I:IIIVused for drillingA peck drilling cycle machining. each fixed will be evaluated in detail."J~<. tom macro programming. The cycle heading' programming format of the cycle.OF FIXED CYCLESIn order to understand how each fixed cycle works..Drilling CycleIf used for boring. followed by the explanation the exact operaof each cycle will tional sequences. R.'"''''Step!1 23Description of GBl CycleI Rapid motion LO XV positionI Rapid motion to R Level I reedrate motion to Z depthI Rapid retract to initial level (with G98)4or Rapjd retract to R level (with G99)WHEN TO USE 681 CYCLE ..4 75--++--i-. spot drilling.2. Y. Used for center drilling. countersinking. the G82 cycle will produce a scratch mark on the hole cylinder during retract. Ga2· Spot-Drilling CycleDESCRIPTION..typically used for spot drilling.

0--. 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. Unnecessary drilling of will accumulate total hundreds or thousands of can very significant. The number of in a cycle must an integer and fractional calculamust always rounded upwards:Description of G73 motion to XY position2G83 andRapid motion to R level Feedrate mOlion to Z depth by the amount of Q value3. ..Deep Hole Drilling Cycle . because at the time saved by not retracting to the R level after peck..WHEN TOG83 CYCLE ... For predictable results. where the drill has to be retracted above the part (to a clearance position) after drilling to a certain depth.Standard4Chapter 25retract by a clearance value (clearance value is set by a system parameter) Feedrate motion in Z axis by the Q amount plus clearance Items 4.Z'DEPTHFigure 25-10 G73 fixed cycle .lrp"". also known as peck drilling...typically used far deep hole driJling (this cycle does not retract to R level after each peck)Number of pecks calculationFigure 25-9 G83 fixed cycle .typically used for deep hole drilling (this cycle retracts to R level after each 613 . Compare this cycle with the high speed deep hole drilling cycle G73. and 5 repeal until the programmed Z depth is reachedRapid retract to iniliallevel (with 098) or Rapid retract to R level (with 099)Step156 Rapid motion to R level23Feedrale motion \0 Z deplh by the amount of Q valueRapid motion to the depth less a clearance (clearance is set by a system parameter)7WHEN TO USE G73 CYCLE· Figure10:67Items 3...For deep hole drilling. when a retract is not very important.184 GSJ .... The G73 cycle is often used for a long series drills..Deep Hole Drilling Cycle· High-SpeedWhen using G83 and G73 in the always have at least a reasonable idea about how many pecks will the tool in each hole. Compare this cycle with the standard deep hole drilling cycle G83. also known as peck drilling.Figure 25-9 :The G73 fixed cycle is slightly faster than the cycle. 4.. which can too many pecks hole. and 5 repeat until the Z depth is reached Rapid retract to initial level (with 098) or Rapid retract 10 R level (with G99)For deep hole drilling.~ Z DEPTH·:::=d-." -. . where the chip breaking is more important than the retract of the drill from the hole. the name 'high speed'. Try 10 avoid lost time. Calculation the number of in G83 and G73 is on the of the Q <>/""I.... the number of number of pecks calculation applies equally to both fixed cycles.G83Q G98 Q QG99.

.. by ing the Q value. This method is depth of peck~ consider the overfor the job.P any cycle time benefits. the between the R level and Z depth is exactly 45 mm and the Q value is ]5 mm.0 F ..666667The goal in gram under That means n .drilling value of Q hole .Y .FIXED185The result of the must be rounded to 18. (0 Q ICUt 1 CUt :2 CUt 3Q Example 1 . the distance is inches and fourQ : 2.English data:G90 G98 GS3x . the number of pecks may nc'. R2. so there is not much can be done there. L~~U number ofQ value can be manipUlated in (he Q value skillfully. because most places for English units units.45 F ..S Z-42.example... The to top face of part as is practiR level is usually as cal..666.00256 mmCUt 4Total4 EnglishQ Example 2 .. The setup rigidity.ISQ Example 3 the distance between R level and Z IS mm. so only other available to change the number of is to change the R level the depth of each peck.cannot be changed will have an equal the possible exception peck.667 or 18. That leaves peck. The calculation of each peck depth is simple:56 / 3part fixturing. so each hole will reThe nearest higher quire four pecks. depth is 1. the depth of the total number of will be fewer. O.667 lS.450.= 18.6660. The result mustTotalIf the result is rounded to Q I 8. RO. which equals to and the num-QO.:>:><11suit jn exactly four pecks.... The cannot be changed. each ofby 15.l\:.. change the current Q value to a number. the machinability contribute to what thenecessary.666.66656 mmThe result has too used as is. as an exact position of penetration. the total number of pecks will be higher.666 18.666 18.S Q15..all pecks in aif it is actually cala precise numthe R level The result :><.18. The number of pecks will be 45 exact value of 3. the of cutting tool.5 I 4 = . If the amount is greater than the remaining distance to Zdepth....4593333l8. By increasmg this the Q value.Y..5567 of pecks can be1.00] mm) is at it will make a big difference way the rounding is If only three pecks are round off upwards.45= 3.. (\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.. Although it looks that only on..667 18.5567between the R the Q value is ..In the example.MetricG90 G99 G73In this example..625 will redepth.625R level and Z are required:x. of material and other tool can withstand.'". No of pecks executed per In order to increase change the current QIn order to decrease the number of pecks. .case.1 Z-L4567 QO. so theand ZI . the numof pecks will be four and practically no cutting will take during the last peck:CUt 1 CUt 2 CUt 3is four.e (0. and exactly three pecks are required. only that will be drilled. no rounding is uO.

.Tapping Cycle .. the normal spindle rotation M03 must be inRlevel should in the tapping cycle than in the other cycles to allow for the stabilization of the feedrate. .""cwFigure 25-12 G74 fixed cycle ....Description of G84 cycleRapid motion to XV Rapid motion to R!JV~'l"\.."Step1hand design for the in effect.exclusiveJy used for left hand tappingThecyclemust be of the left hand design for the rotation in effect.The tap design must be G84 cycle with M03 "'1-'''-'->\.. In tappinIL there is a relationship between the spindle speed and the lead of the tap ... ..M04. processing..s...Feedrate selection for the tap is very important.Tapping Cycle ..this relationship must be maintained at all timas.StandardG98 (G99)Description of G74 cyclemotion to XV position motion to R levelThe sequence of G84 fixed is based on the normal initial spindle rotation <>1-". due to acceleration.ReverseThe initialof G7 4 fixed cycle is based on rotation .... by M03...mg.'ll62eedrate motion to Z pindle rotation stop7Spindle rotation reverse (M04) and retract to initial level (with 098) or remain at the R level (with G99)WHEN TOFigure 25-12 :hand thread.. are ineffective G84 or G74 cycle prol:ess. Tapping motion even if the feSll:lMla is "./USII'IBIV used for right hand tappingG98ccw . .:>1-'111 ."..G84G98Q?---i-f---t--QSPIN ZOcwoG7425-11G84fixedeXC...56Spindle reverse (M04) and feedrate back to R level Spindle rotation stop Spindle rotation (M03) and retract to initial level (with or remain at the R level (with 099)various techniques of hole macnrnH""lUn'u""7notes cover only the most important tapand apply equally to bothWHEN TO USE 684 CYCI£ -11 :QOnly for tapping a right hand thread..186 684 . The override switches on the control panel used for spindle speed and feedrate. At the start of die Irotation M04 must be in effect."'. At the start of cycle. for safety reasons.

the tool retracts while the spindle ofthe machine tool is rotating. 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.Although this cycle is somewhat similar to the G81 cycle. try another boring cycle. it has characteristics of own..WHENUSE G85 CYCLE· Figure13: INDLE CWboring cycle is typically used for boring and rPRmlfifi operations..Rapid motion to XVNOTE . its dimensional tolerances and/or concentricity.typically used for rough and semifinish G81.CYCLESStep. If for boring. to save . This cycle is used in cases the tool motion into and out of holes should finish.Backboring CycleThere are two programming r".the one (using Q) is more common than the I and J):Figure 25-13G85 . In the standard drilling cycle Gal.typically used and lBi1rlllllUStep G8G· Boring Cycle2 Spindle rOlation SLOpRapid molion to R level645Shift in by the Q value or shift back in the opposite direction of! and JSpindle rotation on (M03)Spindle rmarion stopRapid retract to initial level (with 098) or Rapid retract to R level (with G99)78Feedrate motion to Z. Never use the GaS fixed cycle for drilling .!t<:: available for the backboIing fixed cycle G87 . etc.Boring CycleWHEN TO USE 686 CYCLEboring rough holes or machining operations. but the is stationary in the G86 cycle. since any deposits of material on the drill flutes may damage the drilled surface of the or the drill itself.m!.for example.20G8S. The difference is14 :that require additional cycle is very similar to thespindle stop at the hole bottom. roundness.. This cycle GB 1.

-4-_. This may be used by some tool manufactures for certain operations. It can only be used for some (not all) backboring operations Its practical usage is limited. )WHEN TO USE G89 CYCLE Figure 25-17 :boring operations..1. reversal of the part in a secondary operation is an option.The boring bar must be set very carefully. CYCLE START will return to normal cycle121314or shiftin the opposite direction of I and Je rotation onWHEN TOCYCLE -Spindle rotation on25-16 :WHEN TOG87 CYCLE Figure 25-15 :is a special cycle.. The dwell is the only value that distinguishes the cycle from G85 cycle.. Its bit must set in the spindle oriented mode.SPINDLE START. Z DEPTH .ION G99--~-:~zoI G88NOTE . when feedrate is required for the in and the out directions of the machined hole.Rfigure 25-15 G87 cycle . Ga9· Boring Cycle-.T~e GSS cycle is rare. used when manual ""'Il>"""'~" is 'HHlI""'".(_Z DEPTHG98 ONLY---~-zo25-16 G88 fixed. with a specified dwell at the hole bottom. It mustpreset to match the diameter required for backboring. due to the ~pecial tooling and Use the G87 cycle only If the costs can be economically.1889 Spindle rotation stop Spindle orientation Shift out by Q value or shift by the amount and direction of I and J Rapid retract to iniliallevelShift ill by the Q valueChapter 2510115Spindle rotation stop (feedhold condition is and the CNC operator switches 10 manual operation mode and a manual then 10 memory mode).. facing the opposite direction than the shift direction..t:}(GIUSI'VBIV used for backboring GSS .Boring CycleStepRapid motionDescription of GSB cycle(QXY position5 6 etract to initial level (with G98) in at R level (withRapid mOlion to R level3 4Feedrate motion to Z depth Dwell at the depth . 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.in milliseconds (P .-~Q~--_----. In most cases.

The G16 parallel tois also axes.O Y-S..rnn"\'''nr1 that would indicate cycle.J...75Block N35 does notplies it.. u:v.. or both. This is the the assumption that most holes In the CNC program. ~ G98 [ G99r------+-~--+---zoDWELLz~--->---Z DEPTH25-17 689 fixed cycle ..75milliseconds(P~)(ifused)Both of the examples will prOiaU(~e identical results.are very important tocases. That is true. there f'r..Figure 25-18 :Boring operations.FIXED CYCLES189I G89---l Q.'typically used for boring or reamingfigure 25-18 676 fixed cycle typically used (Dr high quality boring G16 ~ Precision Boring Cycleis a very useful cycle for high quality holes.... is automatically transferred to a rapid mOltlon GOO:N34 GSO N3S XS... tion within a part. the cornmana it In fact.7S6 78I and Jretract to initial level (with or remain at R level (with G99)rather small. second version of the A combination of the two is a choice:N34 GBO GOO XS. 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 onefiXED CYCLE CANCELLATIONAny fixed cycle is active can be canceled with the GSO command.O Y-S... its high surface finish..------------------~FIXED CYCLE REPETITION10When a selected frxed cycle is pro..toholes cylindrical andcycle is processed once at vvJ. This is athe rapid motion.. the """"'11".O Y-S..granmrledWHEN676 CYCLE ..1"11"'' ' is to be done just once LLVLJLLL<U. it only improgramming practice.. it is a though GOO without G80 would poor programming practice that should be avoided. but cycles... even be a choice. where the quality of the completed hole is very important The quality may be determined by the hole dimensional accuracy. usually those for hole finishing. although not necessary:N34 GSO N3S GOO XS. but speci-fied GOO as well may be a personal choice. Althe cycle.

default for a fixed cycle repetition was specified as Ll or Kl.most machining. but 'do not execute the cycle yet. within the allowable of the Lor K address. for instance.15 Z-2.0 N35 G91 XS.0 Ll (Kl) X27. from L I to (or KILO K5).0 RO. however. and X32. Thllt is between LO and or KO and K9999. program a special command that 'tells' CNC system how many times you want the fixed cycle to be executed. N34 Gal X17.0 Y20. just remember the cycle las for future use '.0. 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. there is no need to program the number of executions. By changing the formal only a Htlie.one at the location of X 17.. the fixed cycle repetition can be used as a benefit .If the L or K in is increased rather added to the first example).it this case.0. By using incremental mode.0 RO..0 Y20.0 LO or KO in a CycleIn previous discussions.all to the depth of 2.4 Inches. The address LO or KO means exactly thaL .0 Y20. full benefit of the LOIKO word will apparent in the examples listed under the section for subprograms.'do not execute this cycle '. the control system will execute a cycle only once at a given location .l Z-2.4 F12. G81 X17.to make the more powerfulN33 G90 G99 .0 Ll ) G80 .0 and X27. fixed cycles are quite simple to They do.0 Y20.0 Ll (Kl) X22. the other holes at locations X22.190Normally. at hole location! is no need this type ma. 0 Ll (Kl) X32..0 Y20. that does not have to be specified in the program.RO. The L or K AddressThe command that specifies the number of repetitions (sometimes called loops) is programmed with the address Lor K some controls. To repeat the fixed cycle limes (more than once).N33 G90 G99 NJ4 G81 X17.0 N36 X27.chining. in Chapter 39.examples will provide the control system with instructions for drilling four holes in a straight row . This method a large number of hole programming is very efficient patterns in a single program.0 N38 GBO call of the following drillingWith that change.By programming the LO or in a fixed what we are really saying is not 'do not execute this cycle'..0 IDS X22. Any L or K value other than L 1 or K] must always be specified.not or KI! Why would we ever program a fixed cycle and then say 'do not do iT>. the sequence. A fwther enhancement is (0 combine the L or K count with or macros.is equivalent to:N33 N34 N3S N36 N37 N38 G90 G99 . lowest word is LO or KO . the advantage of a feature 'hidden' in the first example is emphasized equal increment (ween holes being exactJy inches.0 respectively . since the system defaults to one automatically.4 F12.4 F12.1S z-2. have some complex to be in an efficient manner a single hole. the CNC can be shortened dramatically. the fixed cycle will be repeated times.0 N37 X32.0 Y20. on a temporary basis in block N35 and employing the power of the repetitive count L or K.O L3 (K3) N36 G90 GSO GOO .0 Y20.

probably more. as -mild program will La top face of part.'. details and hole location X3. The design of this allows a at the top of the hole. . the following fouro Tool 1 TO 1 90 0 spot drill (+ chamfer) Toal2· T02 Tool 3 .. will usudefine the material to machined. .T03SINGLE HOLE EVALUATIONeven a hole on a aJ I reto be programmed.n. tool could be a 90° spot drill. In reality. . Before that. and a complex backboring. and tapping operaare obvious. the chamfer to spot drill diameter is larger than the chamfer qulred.. cutselected.. Machining even a single I to 089. . A typical and single point may bc to centcr drill or spot drill a drill them.T04 .U"'"All the relevant information is in the but some is needed.. hole will the fixed G73. the implied information must interpreted .90 0 Spot DrillThe fust tool will be a 90° spot drill.7/16·14 UNC tapTool f . tap.VJ . In this case. the through-the-hole drill and finally... a 05/8 spot drill will be to chamfer the 07/16 hole. G74 and all described inLtll. speeds and applied..."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 .only the hole requirements related to functionality and A CNC machinist will most likely four tools machining are selected. . A center drill may instead of the spot drill.Xy102026·1 Evaluation of a single hole IJU"~l1""1II1ULexample 02801191.SYS. rather than dimensioned the programmer has to lhe missing details. but is that all there ta know?1"". . followed up by the tap drill.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. From a spot drill to reamIng.MACHINING HOLESgood chance that the majority of programs machining centers machining of at least one hole. . it may seem only two tools will be needed to program this hole. . In we at many available machining../Tool 4 . but an additional tool will be to chamfer the hole at the top.. the best setup and many other must be resolved. ? Tooling Selection and Applicationson the drawing information alone. All choices to be sorted... Its is duaJ .. Regardless of exact start with a thorough evaluation relates to the drawing data. . then or bore them. For this example. and learn a drilling and . the hole location its dimensional Holes are often described. and sinThe most common type of hole chining centers is in the area of drilling. so the drill lhat follows not path (basic are purpose of the spot drill is its chamfering capabilities.>UUIoLJ5/16 drill (through the 1'TI.are used:oUtap drill. .it is not the the drawing to how to machine the hole .0 was in the drawing. 26-} shows a medium cornDlexity hole that can be using a CNC machine. the field of hole very large.

than the smaller drill. 75 to 80%Figure 26-2 Spot drill operation detail TD 1 in program 02601the bolt by only for programmed Z depth the tap drill has to be deep to guarantee the full thread depth of . its cutling calculated. . to the .19226what purpose is the tap Not all done the same way.hamfer length of the tap (0 the full lap depth of specified in the shows the lap drill values graphically. it makes sense to use the larger drill first. so the will be the lap drill If drill is programmed firs!.1001. the larger drill that produce an inaccurate hole. a machining point of view. The tap drill is larger than the through hole drill. In this case. not to chamfer for a tap size 07/16 (0. for 100%.3680 .. The key here is the the two drill diameters.526·3drilldetail...~ -.0555 measured on diameter. for example.. In the exused the job . for thinthread depth is recommended..4375 TAP :--.. 00. due to a very small amount material to remove.2338 00.4675 CHAMFERii-"--<-'l······v65%In genera] terms. It is a very small only ...975 1.875. A thread (hatstock. Now comes the question of question is called a tap It is hole of proper size the lap that machining operationInfI0. Some jobs a loose fit. shows the relationships of the hole to the tool ters and 26-2. This Cmlp[(~r.T02 in program 02601will create a depth) that can be of operations. T02 (letter U drill) will yield approximately full thread depth. it makes aactual programmed depth for the tap drill will have to into consideration one more factor ~ drill poim lenRth. others a fit..23375Drill point length islater in this chapter. of the thread found in catalogues all tap manufacturers.625 SPOT0.015 (.5Z-O.. tapping. to be enlarged by ..Tool 2 Tap Drillwill have to be a drill..(U)Note. drill or .4375).03 on diameter). means the full diameter of drill has to reach a little deeper.one the the other one for lap is .... The fit for the tap is by Ihe of the tap drill.~ 00. Mosl tapping applications into the 72-77% full thread depth category.4675 chamfer diameter.which one first? II certainly does matter drill is programmed first.. 2338.015x45"u3/8.point length is abbreviated as or just by the letter P...377075%67%0. to That allows the end c... for the 7/16-14 tap: these are theis selected.4675 x ..3750 .4675 I 2or orthe depth of cut will diameter (0 x.. that for a 90° one half of the.. in fact.

UIC. The programmed value for the Lotal drill (absolute Z value in the program) is the sum of nominal hole length. if fact. a 05116 standard drill... The example drawing for the hole for the tap depth of .T03 in program 02601First.09375=. do the calculations. Re~ been used to predrill an means a smaller tool of 0.0714 pitch). 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. Anytime a tapping tool is in the program. Ine required hole depth known. Full depth of a thread is the actual distance a screw or a nut must travel before stopping (before programmed depth is.875 inches. a 1180 drill point angle:Adding the two pro.=for the Z depth calA through-hole is culation.086. The drilling can start from than from a clearance above the part. some simple calculations are needed.986. The '-.300= .some extra clearance has to be added. we would have a blind hole (solid bottom). R value is used and selected at R-0.10014·6THRU1. A blind hole has very little latitude. 100 above the bottom of the ing hole.the drill drill pOint angie.300 constant is used length of the drill point Pis:P . Then..0861There is one more tool left to complete this example. the clearance.050). watch the programmed depth along the Z particularly in a blind or semi-blind hole. As for the cutting depth of through drill.grammed ZTODIJ DrjJJ(. The thread as specified in is 7116 nominal diameter with 14 threads (1114::::: .111). r"'1:" mathematical constants to calculate drill point most common constant uses the drill diameter by . This is the full depth the thread. an exteruled depth.<lII. say fifty (. will provide the 1. the calculated drill can be added to the drill clearance. evaluflte the drill point length P It isrelationship of two given values .094 + . The a semi-blind hole. closely hy semi-through hole. which is 1.P = 0.ll drilling operation are il-to be made. it is 1'03 (tool 3).094the through hole in the example.094Figure 26-4drill operation detail. if any. applied to the tool penetration (breakthrough). 644 iJ!fiJeprognJmThe next tool is a tool that drills the hole through the mao teriaJ. In the program amount the through drill depth will be:UJVIUi)<1'1. because the the tapped hole. which must be greater than the theoretical depth. If there were through-hole is no through-hole.3125 x . In the example.3125 is hole.300. It will be for 7/16-14 thread. the 0. 1..05L 644 or Z-l. we would through hole.5 inches calculated depth to the.MACHININGtable showing "" .5 + .0938.5 inches in example.. this value will not be . For a standard 05116 that has 118 0 drill point angle.~.most through-hole applications. and has to be programmed with a maximum care. and if were the same size as the tap drill. plus the tool point angle length.975+.

Types of DriUing OperationsThe drilling {".5 YS.086 00. they can be added by the program inprogram.S YS. Other drill deinclude spade drills. etc. spot drills and indexable insert drills..O M05 DRILL THROUGH .644 FB. only one hole is machined.oDrillSIZES:letter A to drill size letter ZMetric do not need any special U''''Ll' ". can be equally applied to all the related operations.l Z-1.O Zl..4 H04 M08 G84 RO. usually made of high Twist drill can also be of cobalt. 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 areN:20 N:21 N:22 N:23 N:24 N:2SG90 G43 G98 GBO G28 MOl('1'04 N:26 '1'04 N:27 M06 N:28 a90 N:29 G43 NlO G99 Nll GSO Nl2 G28 N33 GOO Nl4 mo%G54 GOO X3. center drills. but also a finer distinction within the category using English All drills are designated in millimeters.l H02 MOS G83 RO. distinction in size is not only between metric and English drills.''"' single hole grammingo NUMBER SIZES:Drill number 80 to drill size number 1DRILLING OPERATIONSa good lIlustration of what The example 02601 kind of programming machining conditions are neceslook at the details of drillsary for a Iypical hole.... a a application is possible.O (PART CHANGE POSITION)o FRACTIONAL SIZES:shows that even a simple and a great deal of1/64 minimum.O M09 Zl.4 Z-0.O M05 X-l.2338 P300 F4.90 DEGREE SPOT Nl G20 N:2 G17 G40 GSO '1'01 N3 1406 N4 G90 G54 GOO X3. For one hole llsed in the cludes all considerations for spindle should be empty at the02601 <SlNGLE HOLE EXAMPLE) DIA ..9B6 Z-1. Program DataIn the example.l HOl MOB N6 G99 GS2 RO.l H03 MOS G81 R-O...LJ'U" .O 81150 MO] ZO. drilling operations also cover the extended areas of reaming.5 Y5..9 F53.O MOg Zl.57 (F = S x LEAD) GOO Zl.0 Zl.0 S750 MOl '1'01 ZO. loose sense word.O MOSTAP)i"Blind hole Premachined hole(Tal Nl8 '1'03N19 M06II.S Y5. ing operations in t:Tpnpr"" as they relate 10 various lools.0 S900 M03 '1'02 N5 G43 ZO.O S1100 M03 T03 ZO.O M09 Zl.0. Types of Drillsand by their oldest most common is aJwist drill.0. carbide materials. In either case. tapping and single point Many programming principles that apply to drilling lions.) Spade drill Carbide indexable drill Special drillBy the type of hole: Through hole Chamfered hole Semi-blind hole.. in diameter increments ofThis rather "'.368 DIA .O Y10. '''... ~~Jma drilling is a removal of same material removal is (on milling systems) or by turning sysu~rns).l Z-0.. cobalt..\"'~'r':lrl{"'\n is determined by either thehole or the rypeofBy the type ofCenter drill Spot drill Twist drill (HSS.un.. If more holes the following are needed...5 F8.=NlO Nll Nl2 Nl3 Nl4 Nl5 Nl6 Nl7'1'02 M06 G90 G43 G99 G80 G28 MOlG54 GOO X3.. English a listing of the standard drills and mal equivalents is available from many sources.LE'TTER U DRILL .0 N7 GSa ZLO M09 N8 G28 ZL 0 MOS N9 MOl.3125 GS4 GOO X3.

the diameter and the point angle.Figure 26-5. The normal practice in those cases is to use a drill size a bit smaller than the final hole diameter. creating an increasingly larger hole diameter.. a single regular drill cannot be used alone and still satisfy all requirements. chamfer. A nominal drill alone. Typical use of this kind of machining is a spot drilling operation for chamfering. surface finish.:Tool point angle Tool point lengthp:::Tool point length data for a standard twist drillIn many cases.During the cut. In many other cases. These tools cover boring bars. A tooling catalogue shows the dimensions. A drill size of this kind is called a nominaL or 'off-the-shelf' size. chamfering tools. At the end.they include tolerances. The indexable drill is not flat and its drill point length must also be considered in programming. In those cases. Its diameter is equivalent to the size specified in the drawing. but the quality of the finished part should never be traded for personal conveniences. due to the drill construction. regardless of size.pA 0= = =Length of the drill point Included angle of the drill point Diameter of the drill. the drill is a standard drill. due to machining conditions.a portion of the angular drill tip . Normally. The angles are considerably standard and the length must be calculated rather than estimated. Effective Drill DiameterThe second important consideration is the length of the drill point. Using these tools does mean more work is involved. because of its importance to the accurate hole depth . The spindle speed and feed must be calculated according to the effective drill diameter. The drill poinllength can be found quite easily. all twist drills have an angular point whose angle and length must be known in programming. (he largest machined diameter will be equivalent to the effective diameter of the drill used. Choosing a multitool technique to machine such a hole is a better choice. the tool point angle relates to the material hardness. The effective drill diameter defines the actual bole diameter created within the zone of the drill end point. Drill Point lengthMost applications involve holes that require other specifications in addition to their diameter . If the drawing calls for a hole that needs only drilling and does not need any additional machining. even if the size is available.Figure 26-6. then use one or more additional tools. since the diameter determines the size of the drilled hole.Nominal Drill DiameterThe major consideration for a drill is always its diameter. will not guarantee a high quality bole. yet still smaller than the drill diameter. only a small portion of the drill end point is used . This length is very important to establish the cutter depth for the full diameter. concentricity. a drill is used to penetrate its/ull diameter through the part.--j00r~IpQJO:::<ttj>YFigure 26·61Drill diameterjA:. From the following fonnula and the table of constants. The diameter is selected according to the requirements of the drawing. end mills and others. not the full diameter. They are both closely connected. the drill diameter is selected based on the information in the drawing. which is normally two.NOMINAL DRILL DIAMETERIOn indexable insert drills this length is different. Basic fonnula is:JPROGRAMMED DEPTH (P)J~tan ( 90 p ==-A2)x2DEFFECTIVE DRILL DIAMETERFigure 26·5 Nominal and effective drill diameters (tvvist drill shown)where . the required drill point length for standard drills can be calculated. two important features . which are capable of finishing the hole to the drawing specifications. the tool point angle detennines its depth. reamers. For this kind of jobs. etc.MACHINING HOLES195-. providing the diameter of the drill (nominal or effective) and the drill point angle are known. the drill angular end will be gradually entered into the part. The rlmin for the effective diameter will be higher and the feedrate lower than the corresponding values for the nominal drill size. A smaller consideration is the number of flutes. selection of a short drill for rigidity is advised. With the exception of a flat bottom drill...Programming ConsiderationsA standard drill has.

. For most johs.500...5000.866025404."VJJ..30090118DD112012575135 8352553829 . because of the 60° of the tool. the higher the number.300. 118 0 (standard materials)..207 . These values can be modified as or a different table can be A similar table can for metric center0. concentric opening for a tailstock or a pilot drill.200for a 135° drill angle Center DrillingCenter drilling is a machining that provides a small. North American trial standards use a numbering system from #00 to (plain type) or #11 to # 18 (bell type) for center drills... drill poiot length and an extra clearance beyond the drill penetration point.289.134Figure 26-7 Standard cemer drill cutting depth table· #1 to #8 plain type L is the of cut for an arbitrary effective diameter D140 145150133974596The constant in is value is sufficient all programming value of the constant K value is . They are easy to memorize: and 135 0 (hardoare all dimensions for size center drills..v . compromise guessing and calculating is a in Figure 26-7.575184204 . What is a . the the center drill For some at ions..for a 90 0 drill angleo oa 1180120 drill angle00.1same formula can be mathematical constant (fixed and used with a drill point angle): The most common tool center drilling is a center drill (often called a combined drill and countersink)..207106781 . Many programmers estimate the depth of a center drill. Perhaps a calculation is not necessary for a operation.. such as a tool with a called a spot drill. center are defined by the pilot for example.180 ... constant value advantage of being easy to memorize and there is no formula to solve. is a choice.575 . Its calculation been D. In metric system.300430310.157649394.181985117 . Chamfering is not recommended hole for a a center 11. rather than calculate it.158. a 4 mm center will have the pilot meter of 4 mm.260130135. Through Hole Drillinga hole through the common oprequires the Zdepth to materia] thickness. also known as the breakthrough amount. 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. In cases. most important of them is cutting depth L. only three constants are For 90° (spot drilling materials). producing a 60° angle.500000000 303106082. similar toPo ==:::::KDrill point length Drill diameter Constant (see the following table)most common constants are listed in this table:Tool Point Angle(degrees~Constant.

750 x .25 + (.4750part program. 5850 M03N4 G43 Z2. This may cause a problem.125 RO. when programming the tool breakthrough clearance.When machining blind holes.it is in addi· rion to specified depth. fixture. plus 4. programmed including a . leis.8The depthFigure 26-8 Drill depth calculation data Through hole (top) and Blind hate (bottom)in the drawing will have toex-programmed block will have the Z axis value equal to the total of the 40 mm specified depth. the program is quite short (tool in spindle is assumed):02602 (FLAT~. reaming or tapping.01. an example.5 Z-44. example. are two common methods of programming a hole. plus the point length P. without predrilling. Also a choice of a different drill geometry may the and the hole cleanup may often be necessary as well. but some tool may not be To program a flat bottom hole using a slot drill is quite simple.1)N1 G21N2 G17 G40 GBON3 G90 G54 GOO X. for example. use a flat bottom drill of same diameter and the hole to full depth. 2375Pay attention to table. a 16 mm drill is to full diameter depth of 40 nun.300) = 1. In a shop depth of a blind hole is given as thefull diameter depth. plu~ tool point length Pexample. A good practice is to use a standard drill to start the hole. There is usually a very space below bottom face of parI.0tended by the calculated drill point length. The drill point length is not normally considered to be part of the depth .050 +x If the depth appears in a fixed the same depth value will be used.25 of an inch..MACHINING HOLES1971. In Figure 26-8.050 clearance. machine table. if a drill (0. the prodepth be: flat Bottom Drillingbottom hole is a blind hole a bottom at 90° to drill centerline. if material thickness is one inch and standard dril1 diameter D is of an inch. Using a 010 mm slot drill.75 Y8. the programmed depth a blind hole will the sum of full diameter depth P. Otherwise.0 Y175.8 FlS0. especially if is a operation on the hole.a 10 mm hole should be mm deep (with a flat bottom). vise.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.750) is used to drill a full diameter hole depth of ] . This is best method. For example . plus the breakthrough clearance C.300) = 44. if the program is hole will have to be cleaned every ·-executed.8 F150.0 R2.47S F6. Blind Hole Drillingmajor difference between drilling a blind hole and a drill does not penetrate the material. Make sure you include a slop code MOO or MO I before this operation.0P1IIFpTMetric holes are treated exactly the same way.8 mm calculated point length:N56 GOl Z-44.5 HOl~e. but use a peck drilling method for holes. through hole is that Blind hole drilling not present any more problems than a through hoJe drilling.in case of a fixedN93 G99 GS5 XS. will be:1 + . The calculation uses the same constant as the In units:40 + (16 x . although in a different format:NS6 G99 GSl X21S. more efficient optionaJ program Slop MOl is sufficient.475 Fo.Oor . Also a good choice is to use a slot drill (also known as the center cutting mill). the block will FCN93 GOl Z-1. Y.1 Z-1. the cutting chips may clog the holes.

A reason for not drilling to full depth with the standard is to prevent possible mark at the hole center. the result. example. S700 M03 '1'01 G43 ZO.5 M09 NB G28 Z3. therefore it becomes a rotating tool.0 Z-0.0 N7 GOO ZO.010 an inch. usually programmed at a slower rate. vertically or horizonlally.1 MOS Nl9 mo%Nll Nl. ments added as well.l Ma9 Nl.l M09 N8 G28 ZO. indicating the depth of standard The drill stops short the full depth by . an indexable drill with the D of 1. The other two blocks appear in the second tool of the gram . Y. programming a center drill or a spot drill first to open up the hole may be a better choice. The required finished depth is Z-0.79.055.94 is programmed of the A little experiment as to how short may be worth it. Figure 26-9 sbows the cutting portion of a typical indexable drill. In the block N15.05 for clearance. like many tools for milling or It is to drill holes in a solid material.l N9 MOlFrom the machining viewpoint.94 cut by the standard drill (TO 1). on machining centers or lathes. An end mill is usually more rigid and can do the job much better.0 MOS N9 M30%Chapter 26A fixed cycle could be used instead and other improvethe is correct as is. The point length H is defined by the drill manufacturer and amount is listed in the toolcatalogue.B G2B ZO. In block N 14.7 GOO ZO.l HO. su blracl the length of the tool point P.0 F200. subtract .. In used in a spindle this the drill should.~ INCH STANDARD DRILL) Nl.1 HOI M08 N6 G01 Z-O. The of the indexable driB is very precise.25. at a suitable CUIting feedraLe.94 F9.2) ('1'01 . the flat bottom drill removes the material left by TO I.3 Nl4 Nl. the indexable drill is mounted in the machine spindJe. 020 N2 017 G40 G80 '1'01 N3 M06 N4 G90 G54 GOO X . This type of a drill can even be used some light to medium boring or facing.74.740 intermediate depth from this procedure: From the total depth of .S Nl. make sure is power at the machine The power requirements at the spindle increase proportionally with indrill diameters.blocks N] 4 and N 15.. D of drill is the hole produced by the drill. For penormance. drill uses carbide inserts.5r . and the is the Z value of Z-0. The is . it is with high spindle speeds and relatively slow feedrales and is available in a variety of sizes (English and metric). as is nothing to cut for the flat bottom drill for almost of an inch. coolant should be through the drill. may have the H tip length . That makes sense. Y S700 M03 T02 N5 043 ZO. This extra operation will guarantee concentricily for both the standard drill and the flat bottom drill. The indexable drill can be used for rotary and stationary applications.In the illustration. next example shows a program for two tools a 112 standard drillllnd a 112 inch flat bottom drill. On a machining center. Indexabla Insert Drillingof great productivity improvement tools in muLlem machining is an indexable insert drill.~ INCH FLAT BOTTC'IM DRILL I END MILL) Nl. it is used for through holes.5 drill. That is for a 118 0 drill point angle 0. holes can be drilled as well. first block is N6. particularly for tough materials.95 '1!7.('1'02 . When using an indexable insen drill. as well as elimination of regrinding dull tools..198N5 GOI Z-25. Follow the calculation of the 0. Z-0.0 '1'02NIl M06G90 G54 GOO X.0 N6 G04 XO.74 F15.0 NI6 004 XO. In blind most cases. it also helps flush out the chips. Another possible improvement would to use a suitable end mill instead of a flat bottom drill.D = DRILL DIAMETER H = DRILL POINT LENGTHFigure 26-9 CUffing end of a typical indexable insert drifJare three blocks special in program 02603. sure The coolant not only long and horizontal disperses the generated heat. It does not center drilling or spot drilling.740 inches.S N7 GOO Z2. assuring constant rool length.2 MOS GOl Z-0.95 at the flat bottom:02603 (FLAT BOTTOM . the flat bottom drill at a heavier to depth of only .

25 mm) (Total Indicator Reading). it is important to know total distance the drill travels tween the R level and the Zdepth (as an incrementa! value).. find out how pecks the G83/G73 will generate. cycle may programmed like this:Nl37 G99 GS3 x . the F identifies area that is cut with the feedrate (normal entry/exit).and that is that matters. For a hole (with depth at 1 inches at the tool tip) is drilled with a . or convex quite successfully.MACHINING HOLES199runs true . If the program is running efficiently.l. the a shows a lilted surface (inclined the b shows an uneven surface. F/2 reduced feedrate (Dne half Df F)In the illustration.also used short holes in materials o Cleanup of chips accumulated on the flutes of the drillo Frequent cooling and lubricating of the drill cutting Controlling the drill penetration through the materialoIn all cases. drills on surfaces that are 90" to the drill axis (flat Within the drill can be used to enter or exit an inclined. RO.n . the peck drilling depth Q needs to be only a reasonable depth.0Uneven entry or exit surface for indexable drills feedrate: F :::: normal feedrate. try t6 work with the quill spindle. and special adapters are available for through the hole cooling. uneven. Y.UU::. It is a drilling operation.250 diameter drill and depth. ". most deep hole dril1ingjobs.PECK DRilLINGPeck drilling is aJso interrupted cut drilling. The difference between two cycles is tool retract method. the indexable drilling tool is always stationary. On a CNC lathe.<l. correct requires (he drill is tioned on the center and concentric with the spindle centerline.. in there will only be a relract (between . The 26-/0 shows the areas the feed rate should be slower. or extend it as little as possible. The may to be reduced the duration of interrupted cut.127 rom) T. Q divided into the travel is the number of pecks:. that is not flat.R.6 F8. programming one haJf normal is sufficient In illustration.. are cases when the pecking cycle needs to be Typical Peck Drilling ApplicationFor majority of drilling applications.no more than . value specifies the actual depth the Q the more pecks will generated vice versa. the is not too Calculating the Number of PecksIf the number of pecks the G83/G73 cycle will is knowledge of how important. Q a given tomany pecks will result with a depth is usually not important. exercise care when operation starts on a ""rl'". there is no need for a modification. concentricity should nol exceecl JlO') inch (0.rrlT1nt>t1 by specifying the Q address value In the peck. the drilling motions of the an cut can be nrf'l. For most jobs. using the fixed cycles G83 (standard peck drilling cycle) or G73 speed peck drilling cycle). For use 1IIU't. In the retract each peck will be to the R (usually the hole).. when drill is on machining centers. Coolant provisions may an internal ant.. the exact number pecks is not important. it has to be calculated. and the indicates the area that requires a reduced For the feed rate . It is equally imponant to know the peck depth Q value.02 and .l Z·2.These programming values are reasonable for the hand . concave.0 J0 inch (0. On spindles that have a quill. the c and d show convex and concave respectively. 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.04 inches)..125 QO.)I.. Here are some possible uses of drilling methods for machining holes:o Oeepdrillingo Chip .

so it corresponds to the number of For example .150.l Z-1. 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.446.446 F12..or practically nothing at alL those cases.0001 . Mathematically correct rounding to four decimal places will be Follow individual peck depths to see what will happen:Peck 1 Peck 2 Peck 3 Peck 4aTdNumber of pecks ::::: Total tool travel distance = Programmed peck depth.3390For example..J I. To calculate the depth one: mula is similar to theto the Z depth isQ value..05 Z-0. the result I QO. Y. Y. infollowing GR1N73 G99 Ga3 x . when the drill starts tom of the part (for a through hole). Here is some background.0divided by . RO. the breakthrough is to use the peck drilling cycle to of tbe drilllhrough the material.447:N14 G99 Gsax. In many the tough materials.441 F12..8926 1. cutting tool will never go past depth in a very programmed Z depth.l Z-1.will be four pecks and the last one only cut .446: Therefore. also very powerful.0No rounding is necessary in this case.239 00.N14 G99 Gal x . the nearest higher integer will be the actual number of pecks. RO. creates potentially the tendency difficult machining conditions.0Figure 26-11 Controlled breakthrough of 8 hole using 683 peck drilling cycle.0 Selecting the Number of PecksMuch 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.00.225 00.825J . Q value has to be calculated Since the Q value specifies·the depth each peck not number pecks. .1is .The total drill travel from the R 1.l Z-1. accumulated depth . RO. worn-off flutes and several other factors.238 QO.. look at another situation. where the last cut is very small and inefficient.4463 .. the material is tough.5 F12. .$00. .Y. in this case 3.239 Q..4464 or even to .::~ . the newIGi'whereaTd p.3389 1. RO. RO.4463.0001accumulated depth accumulated depth accumulated depth ..339/3 is -a that to be rounded to the maximum of four decimal places (English units).238 0 F12.. G83 block Q depth willN14 G99 G83 x . in this case to the minimum of . Now. but not completely through 26. The drill to push the materia! out rather than cut it This is most common when the drill is a little dull.338. The solution to problem is to relieve the pressure when it is about halfway through the hole.. but it could reach inefficient way that should be corrected.925 0.l Z-1. Pqresult 1.4463 .20026Ilir'where .we require 3 pecks in the following cyclewhat will the Q depthN14 G99 G83 x Y.rProgrammed peck depth Total tool travel distance Number ofrequ ired pecks=::::::RO. where has very slightly:have a distanceIIP =0. some simple math will be nccd~d to select the depth Q. F12. always round the calculated Q upwards.. Y. distance is 1 pecks can onty Since the which yields positive.4463. Controlfing Breakthrough DepthLess frequent programming method.75Using the above formula.0Always remember.12S Z-1.~::::::~¥~~. regardless of the drill size or material thickness.

. to flush away chips from the part and to maintain surface finish quality. level. Just one ctrt through (using G81 cycle) and no drillLet'S/evaluate Ihe solution to situation. its and surface finish of the completed hole. The consideration is the flute design. If .1 Take one half (. Some reamers also have a short the same purpose.075 below the 3/4 thickness. a hole requires no special treatment.925 F . carbide with brazed carbide lips. thc spindJe speed for will reasonable use a modifying factor . Most reamers are designed with a left-hand nute tion.500 = . has a resistance to wear.. The Z depth is the final drill depth. Many jobs do nol accept any compromise in the tooling selection and cuning 100\ has to selected correedy for a given job. an existing hole will be . if a speed of 500 r/min produced drilling conditions. example.660) of that reasonable for r". provides that allowance. This design is suitable to ream rhrough holes. of cobalt.75). Feedrates for ReamingThe reaming are programmed higher than those used for drilling. That specifies the Q depth as QO.05) and tbe drill point thickness (. the spindle speed for must closely of material being Olher factors. reamer design has its advantages and Carbide reamer. based on the speed used for drilllng of the same material. RO. Sizing and finishing such as a reamer. it also shows how creativity and programming are complementary terms. slow feedrates reamer actually tries to encause heavy pressures as the hole. only two peck motions are needed. Double or triple are not unusual. there are two of a reamer that have a direct relationship to the CNC machining and programming.. This depth has to be reached with value of{he Q depth. The purpose of the high feedrales is to force the reamer to cut. its rigidity.100 above . in mind that the from the R Q depth is an incremental value. a allowance is required. for example. While a drill is used to make a hole (to open up the hole). Both have to he considered in programming.. the Z depth will be the sum of the plate (. each contributes to spindlerule. to (he Z depth of Z-0. at least as far as the programming method is concerned. During the the left-hand flute the to the bottom of the an empty space. in this case RO. A high speed steel reamer is economical.825. then drill it the normal then rough bore it and only then finish it with a reamer.reamer will an existing hole to close erances add a high quality finish. The coolant also serves in an additional role. etc.660 (213). If the is too slow.075) of the drill point length as the first amount..Indoes not only solve a particular job related problem.the cutting may or dull. holes requiring both high concentricity and tight center drill or spot drill the hole firsl.. only the last two are for this with the drill pose. the reamer wears out rapidly.500 x . since there is not very much heat generated during reaming. To control the problem tration..300 x . Spindle Speeds for ReamingJust like for standard drilling and other operations. Reamers are either cylindrical or tapered. The total number of peeks is not important. but wears out much that a carbide reamer. to enter an existing hole that i5> ~till without a reamer end chamfer.925 (. Reamer is a sizing tool and is not designed for removal of heavy stock. Reaming will not guarantee concentricity of a hole. illustration sllOws tile two positions a 0112 dril1 drill through 113/4 thick plate. but the Q depth eulalion is extremely important. the len-hand type of a reamer may not suitable.1 Z-O.. the program value ofG99 Ga3 x . During a reaming operation.150).660 = 330 r/minDo not program a reaming motion in the reversed spindle rotation .. the two thirds (.Peck drilling cycle G83 is great for it. usually deof different configurawith more than two tions. other factor of the reamer design is the end chamfer.. D reamer is used to enLarge an existing hole.9S QO. such to the as the part setup.·REAMINGThe ream operations are very to the drilling operations. may be not economically justified every hole. Standard coolants are quite suitable. The has point length of . which will bring the drjl\ . the (.rn.MACHINING201A reaming operation will require a coolant to help make a during cutbetter quality finish and to remove ling. Y... J. The chamfered taper at their is sometimes a 'beveUead'and its chamfer an 'attack angle'. rather than remove stock. have to be even more carefully. holes that have to be reamed.825 below ZO). Reamer DeSignIn terms of design.. most jobs. rather than to rub the material.05 added below the plate.

(. a block tool.375 -SINGLE POINT BORINGAnother sizing operation on holes is called boring. for materials some of the the allowance left in the hole is usuaJly decreased. Reamers are often made to produce either a press fit or a slip fit.a proper tool and its application can produce very high quality holes. for example. That means using a boring to the hole reaming. Using the program stop function MOO before the reaming operation allows the operator to remove all the chips first. When drilling a blind hole. the most accepted reaming method is the feed-in moandfeed-out method. 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.or to size . Programmer decides how smaJler. considering the setup methods that are available for a single boring bar.375 )( 3 / 100). Too much stock for reaming the and the reamer may break. but the hole quality will be worth the In cases. It is also known as a 'single " the most common lool is a boring bar that only one CUlling edge. Although is a variety of of boring tools on the market. boring 1001 works on the diameter the hole is to produce the desired hole diameter.in.a logical requirement. A stock too small reaming causes the premature reamer wear.364Most often. jng. and out. modern CNC machine tools are manufactured to very high accuracy.a hole that been drilled. a 3/8 reamer (0. but it rea motion back to the starting position. [0 maintain the hole quality .D ::: EFFECTIVEFigure 26-12 Effective diameter of a single polflt boring too/same programming techniques are applied to the boring bars of other designs. or slow but true tried trial-and-error method.364 inches:. or at a semijinisi1il1g. cutti ng feedrate of the cycle will the same for both motions. for a dear entry of reamer.its and surface finish. typical to CNC milling maand machining centers... a bar) and have a built-in micro adjustment fine of boring diameter Figure 12. but often at the cost of quality. will well in most conditions if the hole to be has a diameter close to . within often with a quality surface finish as well. particularly for the positionmg repeatability . reaming it. more setup program and other disadvantages. A hole to beA good is to about 3% of reamer diameter as the stock allowance. the single point boring lool is usually designed the cartridge type inserts. The reamer size is always important. Single Point Boring ToolAs for practical purpose. This applies to the diameter· not per side. trial and error selup is not that unusual.202Chapter 26 Stock Allowancematerial left for must be smaller (undersize) than pre~drillcd or pre-bored hole . Any feedrate will both motions . Boring on lathes is considered a contouring operation and is nol covered in """"'V<~' (see Chapters 34-35). in the sense of machining is a point-to-point operation along the Z only. For example. operation. This method requires a lion to remove the material from the hole. punched or otherwise cored. Other Reaming Considerationsgeneral approach for is no different than for other operations. a drill that can machine the required hole diameter exactly will not be available. It also mean an extra cutting tool.375). is to enlarge . the effective boring diameter must preset.36375 '" . e. These terms are nothing more than machine expressions certain tolerance ranges to the reamed hole. a point ishing. using a point boring (001. Many jobs requiring precision holes that have previously done on a special jig boring cannow done on a machining center. using a special equipment. It may be tempting to program a rapid motion out of a reamed hole to save cycle lime. Programming a reamer a fixed Which cywill be the most suitable? is no reaming cycle defined Thinking about the traditional machining plications. These inserts are mounted at end of the holder (i. it is inevitable that some chips from drilling remain in the hole and a smooth reaming operation. For the best the feed-out of reamed hole is necesSuitable cycle available for the is which permitsJeed-in and feed-out mOlions.

with suitable cutting CfPr'rnF'I . nn'"JP'lIpr the retract from the hole is special. Many boring operations that the cutting tool not the hole during retract. special methods retract must be There is one such method .is very important many boring operations on machining centers. Review descriptions of the fine boring fixed cycle G76 the boring cycle G87 Chapter 25."e Spindle OrientationAny round tool. Block tools cannot be used fine finishing operations. are rapid. so just a reminder now..it is called a block tool. 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. such as a drill or an end mill. Without orientation. All 'in at a specified On way 'out'. its direction. TIle 1001 tip (usually a carbide bil). 014 inches per flute or more. The other is setting position of the boring is a responsibility of the operator. depending on cycle selection. One of the main causes of bored holes is the boring bar deflection. grammer considers its length and. and run'S concentric with spindle centerline. The bar stops at the bottom of the hole an oriented position.When machine is oriented. select a suitable fixed probably the precision boring cycle G76 is ther~"'""'.. Programming a bored hole that will later the boring bar only to assure the and straightness of finished hole. The sale purpose of spindJe orientation is (0 replace tool holder in exactly the same position after each tool change. the tool tip will stop at a random position of circumference.750 inch andCUTIINGBITABORING WITH A TOOL SHifTThere are two fixed cycles that require the tool shift away from the centerline of current bole.007 per flute. since it has to be done setup at the machine. should be properly ground.. G76 is by far most useful both are illustrated in 02604. there is an oplion lhat is more efficient. \Vith boring. they cannot shifted. when the tool retracts while is not The greatest advantage of a block lool is that can programmed for this tool. 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. a block tool it will be at least double . applying equally to milling and turning. Block ToolsWhen using a single point boring bar for roughing or semi finishing operations.. it must be in a slopped The cannot rotate during any machining operation that requires a spindle shift. Block tools are generally available in from about 0. These cycles are boring G76 and G87. feature was already described in Chapter 12. surface finish the bored is not too important If the boring is the last machinmg operation in the hole. The boring itself is normal. away by the Q value in cycle and retracts back to the starting position. as well as and that in and feeds oul while the machine spindle is rotating and another one.The G76 cycle is used for requiring a high quality of the size and surface finish... ' and position of the in the spindle or its orientation . Several fixed cycles support this kind motion.. some motions are feed rates. cycles that can used with block tools are G81 G82 (feed-in~rapid-out). the hole surface integrity is very important. Neither of the tools is holes that high quality finish close tolerances. G86. can enter or exit a hole along the Z with IiUle programming considerations for the hole quality. usually. Precision Boring Cycle G76Figure 26-13 Single point boring bar and the spindle orientation angleSpindle orientation is factory designed fixed. jf the feed rate for a single point tool is . This option also uses a boring tool. Machine operator must alwnys know which way the spindle and into direction lool shift actually moves. Orienting spindle boring purposes is only one half of the solution. retracting from a almost always leaves some marks in the hole. a single point boring achieves the best cutting results if it is short.MACHINING HOLESJust any other cutting tool. it shifts back to normal position. The only way of programming a block lool is within the 'in-and-out' tool motion.it uses cycle G76 or G87 with the dIe orientation feature of the a shift boring tool away from the finished surface. one that has two cutting (180 0 opposite) instead of one .

The cycle has described in the previous chapter. using the G87N4 NS No N7G90 G43 G99 GBO N8 G28 N9 MOl.24 MM DIA DRILL) TOJ Nll.3 F12S. and 02 the diameter of (he hole to be backbored.. G99 G76xoYO R2. .program 02604 Programming ExampleIn order to show a complete program.the diameter of In the illustration.Initial levelrI30~:"""':"~::-==r=:=~~~~«<~. the 01 smaller hole. drill (T02) . Typically. the name suggests.26.G54 GOO XO YO 51200 M03 T02 ZlO.0 Z-39. upwards. it is a boring cycle that works in the reverse direction than other cycles· from the back oflhe part. four tools will be used . it is not a common fixed cycle.. and the program input will quile simple:N .. the backboring operation starts at the bottom the hole.90 DEG) Nl G2l N2 Gl? G40 GSO TOlN3 MaGFrom the drawing.0 QO. a attention to the descriptions. from (he bottom of the hole.0 QO.2S NlB T03Nl9 M06MMDIA STANDARD BORING BAR)N20 N21 N22 N23 N24 N25G90 G43 G99 GSO G28 MOlG54 GOO XO YO S900 M03 T04 ZlO.spot drill (TO I).~ R levelFigure 26·15 Setup considerations lor a backboring roo/ Figure 26·14 Drawing for 676 and 687 programming example . standard boring bar (T03) and a back boring (T04).0A hole bored with G76 cycle will have a high quality.O.O PlOO FI00. and the boring proceeds from the bottom upwards.0 Nl5 GSO ZlO.(T02 . In (his chapter is an actual programming exshown as a single hole in Figure 26-/4 mm. which is the 'back of the part'.0 MOSFigure shows the setup of tool that will bore the 27 mm hole. in the Z positive direction.0 ZlO. .CUTTING DIAMETER BODY DIAMETER BACK CLEARANCE12'27 '\. only the mm hole is considered. This larger diameter is at the 'back side of the part' ) and it will be backbored. is always than 01.02604 (G76 AND GS7 BORING) (TOl 15 MM DIA SPOT DRILL .025. The Figure also shows a diameter of 27 mm.O M09 N16 G28 Zl.0 Z-31.0 Z-31.O H01 MOS G82 R2.0 Z10.O H03 MaS G76 R2. Always make sure there is enough clearance the body of the boring bar within hole at the hole bottom.. M06 NlJ G90 G54 GOO XO YO 5650 M03 T03 N13 G43 ZlO.O MOS(25 DIA).««<-.O H02 MOS Nl4 G99 GBl R2.O M09 ZlO..204G76 cycle has been described in detail in the previous chapter.0 Z-S.0 M09 Z10. . Backboring Cycle G81Although backboring cycle some applications.2 F200.3 F125.O MOS Nl7 MOlmo(T03 .+ . Program is 02604. which will be during the same setup as the mm hole..

Countersinking for holes have to accommodate a conical bolt From all three similar operations..F. the cutting tool used must known first Fig.r:ttrln and set the tool properlyILooENLARGING HOLESAn existing can also the top. All three operations require a perfect alignment with the hole (concentricity).MACHINING HOLES205accurately seated in hole by For a bolt that has to on a nat surrace will require countersinking or spotfacing emtlon.012 inches}For the cycle. with one common purpose they will allow the fitting. Always watch the body of the boring bar. so it does not hit an obstacle the part.O MaS XO YON30 N31 N32 N33%N34 M30Make 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 SetupCountersinkingThe 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 done the backboringCountersinking is an operation that enlarges an existing hole in a conical to a depth.'"p'T""'''''(T04 . d is the countersink body A is countersink angle.For the G76 cycle.0 Ql.ero for a sharp end). requires certain data in the Programming of a drawing. Remember that the tool length o11set is measured to the cutting edge. Typical threeoodegrees· the most common angle90 degreesoooThe first boring cycle must be programmed all the way through the hole. countersinking re. G87 is always programmed in G98 never in G99 mode I!! Always know the shift rllTI'.0 M09 ZlO. butfrequent. Programming technique is the same for all three operations.3 F12S. I is the body length. They are:26-16 Typical nomenclature of a countersinking toolIn the illustration. the Q value must be greater than one half of the difference the two diameters:(D2·D1)12 ==To the programming (lnd the required calculations. small holes. we can use one of three methods thal will an existing hole. quires the most calculations for precision depth.78 DIA CSINK .O H04 MOSG98 Gao G28 G28 G87 R-32. never partiallyOther angles are also possible. enlarge an existing hole at the top. This information is provided through a de(leader/text) in the drawing.0 {27 DIA} Z10.3 mm or . for. not to the actual bottom of the boring tool. This can happen with boring bars.. or a large shift amount. so it does not hit the surface during the shift. only a minimum Q value is required 0.(0. F is the diameter of the lool nat (equal to z.82 OEG 13/32 DRILL THRUo ooCountersinking Counterboring SpotfacingC'SINK or CSINK on drawingsC'BORE or CaORE on drawingsS. except for the lOa I used. ure 26~J6 shows a typical countersinkingA '-== 1. These methods are common in every machine shop. oron drawingsAi! three machining methods will enlarge an existing hole.3 mm)plus the standard minimum QooAlways watch for the body of boring bar.27 MM DIA BACK BORING BAR)N26 T04 N27 M06part toN28 G90 G54 GOO XO YO 5900 MOl Tal~9G43 ZlO.0 Z-14. and feeds for these tools are usually than for drills of equivalent Any hole to enlarged must prior to these operations.

I:VIJ''''aUVlll_o -. First.625Z depth=. use a tool specially defor this type of machining. 4485 . Counters! tools do not always have a (except for some sizes). That 0. the uses G82 fixed cycle..1875). they a diameter of the F.575) end will be:0.750Figure 28-17 Programming <JY"'TJ"'J> of a countersinking operationo ooSince that depth the height of has to be done to find out the Z depth. D and F and the ACounlerborlng is an operation enlarges an existing depth... Use the stanlength:.866 .2 Z-O.3407 P200 FB.575.. machined in the previous Be careful level will most likely ways program the G98 command and a small for example. In this case. because we can use the constant K for the tool poml length (described earlier in then calculate the culli depth.1875 x .000 0.625 RD.625 R-O. Instead.OFiguresinkingknown and unknown counterdepth of acountersinkingcould be lowered. or are not at 90° to boll assembly. e is of the sharp Z-DEPTH is the programmed tool depth.78 for calculating the Z depth of a countersink. D isFigure 26-17 illustrates an quirement. That should not too difficult.process of calculation is lhe heighl e. the flat is 3116 (. for a given flat constants as applied to a=enough.3407 P200 FS. deterF.78 x .AN34 G43 ZO.4485o0.1078 '" . Counterhole in a cylindrical shape to the for holes that have to accommodate a round It is often used on uneven or rough surfaces. flat diameter.Chapter 26is one challenge a countersink.. the angle A is 82". specified in toor catalogues. LEVEL) N3S G98 Ge2 XD.575.75 YO. similar to drills. is always given) there depth of the are no extra calculations 26-19 a counterboring.JU. The diameter F as per the sharp end e can beA is the countersinkIn [he illustration. countersink accurate. As for the selection.1 IS INITI.7S YO. is to subtract from (he theoretical Z depth:Z depth "" .l Z-O. or a suitable end mill In either case. The problem here is thallhe constant K for a drill point always assumes a sharp poim at tool tip.500==countersink diameter.1 HO) M08 (0.78 in the description.3407This is the programmed Z depth and the for the countersink in drawing may look Ihis:N35 G99 Ga2 XO.575 e= 1Zdepthaa(K for 82" = . shown in II Iypicalare-e .OCounterboringeFigure 26. countersink angle is diameter can by carefully calculating lhe Z depth.

.OIn counlerboring. In practical programming.. On the right... there will at least one full spindle that cleans the Many programmers to use a slightly for more than one or two revolutions at theFigure illustrates two programming possibilities.15 0. and doubled to 0... The rule of thumb is to program the double value or higher of the minimum dwell.50. if spindle speed is programmed as 600 rfmin.. The front of a stepped holes.....00Figure 20-21 Multilevel drilling· nmi'lr.."1"'. or a nul.... once available options are evaluated. SpotiacingSpotfacing is virtually identical to (hat the depth of cut is minimal. a drill will cut the same depth...Y-.. in a symbolic representation. bul start at different two major efficiently (no time (no collision). if a relatively slow spindle speed and fairly heavy are make sure the dwell P in G82 cycle is sufficient.. the from one hole to the next cause a collision with the wall and 098 is safety..ffll"".t heightsFor example.401. the 099 comwill cause the cuuing tool to return to the R level..2 in the as P200.-... On part shows direction of tool motion the left.A practical example of this technique is illustrated in Figure 26·2 J nnd 02605.""1"'\" . technique is same as that forII--0DRilL THR~03/16IMULTILEVEL DRILLINGOn many occasions. used with fixed exclusively.0. the minimum dwell will be 60/600=:0.000...~ --~----------.MACHININGDEEPHandling this programming problem is not difficult..l Z-O. . The options are two ..:lflr"lmii1fl example 02605must be. 0.--:... shallow Its purpose is to enough material to provide a nat surface for a bolt. y"RO.. Recall that command will cause the culling tool to return to initialleve!. the command is used only in cases an obstacle between to beFigure 26-19 Programming example of a counterboring operationN41 G99 G82 X.-. a washer. with no 098 is not and 099 the initial is usually done a clear where the Z value must tool location above all obstacles.. Doubling the minimum dwell value guarantees that even at 50% override.+. J.. ' commands 099. Minimum dwell DmREQUIRED26·20 Tool motion direction between holes at rl. the same cutting tool will have to down between di to move (steps on a part).2S P300 FS. Often.

687S Yl.O M09 Nl8 G28 Zl. the first R level (RO..625 XO. . G20 N2 GI7 G40 G80 TOI NJ M06 N4 G90 GS4 GOO XO.90-DEG SPOT DRILL . this approach would prove to be Evaluate the front view of a web drilling example shown in2r5-22.60B P200 F8. programmed to the absolute depth of 1.O :teOClearance :: 0.437S Yl.125 YO.375 F6 .5 is as the hole position.0 N7 GBO Zl.Z-2.S75 Z-2.375 XO.0 N7 YO.1/4 OIA DRILL) Nl. The length of the 1/4 drill point is .14 P250 F7.2 Gge YO. X I. also in a zigzag motion.0 T02 N1l M06 N12 G90 G54 GOO Xl. It would be La program one motion through all the parts as well as the empty spaces.4 Y1.7 YO.5 Yl.0.. many inefficjent.0 Tool point length == 0. 625 NlO G99 XO. 0 (TOP PLATE) (MIDDLE PLATE) NlS R-0.7S Nl.125 G99 Xl.TO I is a 90° spot drill.25 Nl6 Gge R-1. above and below each are .7S YO.05Web drifling eX8lnPIe (front view) program 02606In program.O Yl.75 NB Y1.O YI.0.4375 YO.7 Z-1.0 M09 N19 G28 Zl. 625 Nl.O MOS GOO X-2. In hole machining undersland three areas of program control. T02 starts at the lower and ends at the lower left hole.125 Nl.25 ::::::02606 (WEB DRILLING) (T01 . used in 02605:o G98 and G99 control o R level controlo Zdepth control.87S R-O.375 SPOT DRILL .2Sa Nll Yl.208tools are .O H02 MOB N14 G99 GSl RO.0 MOS N20 MOl DRILL THRU) N21 N22 N23 N24 N25N26Chapter 26WEB DRILLINGWeb drilling is a term for a drilling operation laking place two or more parts.075Figure 25-22N27 N2e N29 NJO NJI N32 N33 N34 N3S N36 N37 N3S NJ9 N40%T02 M06 G90 G54 GOO X2.108 below each step T02 is a 03/16 drill Ihrough. 0 M09 N8 G2a Zl..OY 1.375 Nl.106:02605 EXAMPLE) (TOl .OS Y1.625 RO.35 F10.0 G9S Yl.375 N1B GSO Zl.25 YO.12S R-O.12S Y1.10a Nl.O H02 MOS G99 Ga3 R-O.375 S1000 M03 TOl G43 Zl.106 QO. Note there are more G98 or G99 changes the first tool than the second tool.3 Z-1.90 DEG) Nl.6 X2.3 Z-O.12S N9 Gge Yl.l Z~O.05..5 DIA) Nl.O MaS N9 MOl (T02 .687S RO.Z-1R-1.O MOS ID9 :teO %Study the program in detail. cutting to the depth of . G20 N2 G17 G40 GBO TOI N3 M06 N4 G90 G54 GOO Xl.l Z-O.S S1100 M03 Tal N13 G43 ZI.508 Nl. separated by an empty space.575. Drawing will not show R levels or Z depths. Walch the direction of toolsTO I slarts at the left hole and at the right hole hole. The programming challenge is to make slich holes efficiently.25 R-O.7S YO.Q M09 G2B ZI. in a zigzag motion.0 (BOTTOM PLATE) Nl7 GSO Zl.3 G99 Xl. In the example.0 YlO.a7S R-O.I Z-0.OS Z-O. holes.375 GSO ZI. they have to be calculated.S 8900 M03 T02 NS G43 Zl.3 x .I)..0 HOl MOS N6 G99 Ga2 RO.O HOI M08 N6 G99 G82 R-O.4 Z-0.4 YO.375 5900 M03 T02 NS G43 Zl.l YO.

example is nOI a solution to drilting cuts. current tool position has established in block N64. move LoollO the new 080 is proIn this case. its the flute helix configuration. Also note in block N 16. . Another good ojrlIe tap method is to double.0) has also been carefully calculated. plug tap. 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. purpose is to eliminate the feedrate associated with motion acceleration. programmed with the F the R ofRO. two tapping fixed cycles are avai lable for programming are the G84 plications on most control systems. However. or quadruple the and use that value as the above the Whichever method is used. it is very common to tap on a CNC mill or a center. The address in the block is feedrate in inches per minute (in/min). Try to a slightly smaller number. triple.MACHINING209required three blocks of the usual one.O HOS MOSN66 G99 GB4 RO. The usual R level is the starting pOSltlon the Z depth is the absolute depth thread. within The only of the tool (tool oriable difference is the mounting entation) in the machine (either vertical or horizontal). This type of holder allows of it or pushed it. only efficient programming is to use the optional custom macro technique and develop a unique efficient web drilling cycle. 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:FTAPPINGTapping is only to drilling as the most common hole operation on machining centers. (he the start-up being cut tap holder itself all have a final quality of tapped hole.quality of the tapped hole is important. Any cutting fecdratc tapping must synchronized with the spindle .0following shows that programming a to other fixed All one hole is motions. A good rule of thumb is to program the tapping clearance about two to the normal clearance. if more holes are machined. including spindle stop and boltom are in theN64 G90 G54 GOO Xl. for normal (R/H). cancellation command G80 with a take care of the tool rereturn motion in block N17 tract from hole.Note that a program. similar to the feel that is needed for manual tapping. to the program more efficient. 1101 less. The Another high value 30 in/min (F30. A tapping a lathe control is not needed. and cycle for reverse tapping (UH):for righl hand threads Reverse tapping . a floating unless the CNC machine supports tapping. its coating. was the amount. single the programmed point boring and similar operations.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. as one tap size can used per part tapping programmed the 032 command and block-by-block method.4 has a value that is somewhat higher than might used for reaming. cutting feed rate should at programmed value. ing tap holder design gives the tap a 'feel'. is a values .125 S600 M03 T06NoS G43 Zl. but by other as welL The the tap. a in/minto calculale feedrate is to divide thespindlethe numberthreads per(TPI):G74hand threadsFwith M04 spindle rotation= 600r/min / 20 TPI= 30. feed rate to be unreasonably high.4 Z-O. so the 098 is not reneeded. 098 is when the drilts penetrates the last plate of the parr. as there is still some wasted motion.0 N67 GSOIs it possible to tell the tap used? It should In the example. Only one hole is in the example. rather than only one plate in theSjng~eThe higher clearance for the R level allows acceleration of the feed rate 0 to 30 Inches minute to place in the air..for1 / 20 TPI x 600 r/min "" 30. This will guarfour antee the feedrate [0 be fully effective when the actual ping begins. profound effect on is mandatory.(hey are bOlh correct selected reason forintentionally. the tap contacts the part.S Y7. the tap 20 TPI (twenty threads per inch).B4 F30. but it is not influenced solely by the correct of feeds. coordinates are missing from the cycle. 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. best results in tapping.

050 feedrate.o Tap chamfer geometryFlute GeometryThe flute geometry of a tap is described in tooling catalogues in terms such as 'low helix'. mode tbat is always equivalent to 1alhes. For CNC only the core of tap geometry are important. are three of taps. A book would easily be filledjusr on the topic of tapping tools and their applicalions. ther in in/min or less of the machine tool. use fixed cycles.050 results in . 8-1 the plug tap and 25-35° for the bottoming tap.chamfer geometry relates to the end configuration of the For CNC programming. Keep in mind that the share some common characteristics. taps are normally used to cut a only. a different tap is required tapping a hote. Because it does nol make some common errors. This per minute mode is typical to CNC milling machines and machining where virtually all work is done For tapping operations. will almost always require a bottoming tap. with the tapping but (here is a greater latitude with the spindle speed selection. 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. of . in different words. A typical number of threads for a is 8 to ! 0. 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. Per time mode is programmed as in/min (inches English and mmlmin minute) in programs (millimeters minute) for metric units programming. 'spiral flute'.210lathe tapping is different but not mo~difficult than tapping for CNC machimng centers. a tap 3 to 5.chamfer geometry configuI8lionoTapgeometryThe major tap chamfer. The material and flute geometry of the lap both influence machine spindle speed. A blind in most cases and a taa through hole will require a per in some rarer cases.are two considerations in the programming and theaPLUGaBOTTOMINGFigure 26·23 Typical tap end .In order to program a hole tap must hole being selected according to the specifications If tapping a blind hole. almost all designs (not limited to only) are the of corporate policies. the most important of the tap end point geometry is the tap chamfer._aTAPERED Tap Geometryare literally of lap used in CNC programming applications.Tap Chamfer Geometry Tapping Speed and feedrateThe relationship of the spindle (r/min) and programmed cutting feedrate is extremely important when programming the cutting motion in feedrate per time mode. and These terms basically how the cutting are ground into body of When programming a tapping operation.IChapter 26This chapter llses examples for tapping on CNC lathes in asufficient depth . the greater depth allowance must the the lap be to each drilled hole. divided by their geometry configuration:o Bottoming tapo Plug tapa Taper tapthe feedrate revolution mode. the feed rate. for a I The angle chamfer a varies for typically 4-5 0 for the tap. or FO. the example. 'high helix'.OS in the. the effectiveness of (he flute geometry is tied to the spindle Experimenting is limited by tap lead (pitch). 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. Iltways program the cutting rate as distance muSI during one spindle revolution. engineering decisions and philosophies. This always equivalent to the lead of the which is the same as the tap pitch (for taponly).

os = 22.125tpop.r/min===Feedrate per time (per minute)F. forget to modify the feedrate the tapping tool This mistake can happen during program preparation the office or during optimization at the machine.into considera450 r/min:Programming pipe taps follows the considerations for standard threads.MACHINING211actual feed rate value would be F26. the feedrate time (in/min or mm/min) must be as well. the must be a new tappingF : 550 x ..=Spindle speed Feedrate per revolutiona 20TPI(nominal size).. in the above example is changed from (tap size is at 20 TPI).A proper II size is very important..F.5(in/min)A metric tap on a lathe uses the same (pitch) using 500 a tap of 1.1 or even""""I .50 = F27.05 = 27.5% : 26. or inch per foot (1. For tension-compression holders.. the tap will most likely break inTPIFeedrate per time minute) Spindle speed Number of threads per Pipe TapsPipe are similar in design to long to two groups:o o Taper taps Straight (parallel)taps.. If the change of spindle speed is major.0 (mmVmin)is to maintain relationship of the spindle speed. TheyA similar formula will produce an identical result:NPT and API NPSFtIke where .SNPl GroupPipe Size1/16Drilled OnlyTPI11/16 .. is not the size of but of the pipe American National 'lfH1UllJ7L pipe taper (NPT) a taper ratio of I to 16. If the spindle speed is changed. "..al"". if not exactly.5= F22.= =to change the spindle speed of the tool in proon the CNC machine.7899 I per side) and the tap chamis 2 to 3-112(Ilead for a mill will1 / 20~.0500 inchesnrr. adjustment of downwards underfeed) by about percent may This is tension of the tapping holder is more l1exible than compression of same holder.. may be no more due to luck than intent. The only common difficulty is how to calculate the Z depth position at least as a reasonable one. the new tappingF = 27.5= 750..140657/64H/8In the program. if the is small.rnrnprltionF = 450 xfeedrate has to spindle speed.. data that is CNC programming:for NPT for500 x 1. It will be different for tap that are only drilled and for lap holes that are drilled and reamed (using a per foot taper..(1 ..'" the typical mode is always per in per minute and thefeedrate is cruculated by one of the following formulas:~where .tpwill be:.90621. The finaJ depth may be a of some experimentation a particular tap typical materials.5 .5 mm with the 750 mm/min:F :The following is a table taper pipe thread group and recommended tap drills.00F750.::::r I min x F..

for lathe mustG91 SS15 14031.92191.mlu u uTap cutting Tap design Tap.212straight pipe drills are recommended: the following With modern CNC machines.. unlike boring on a milling machine. 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.ronmi"nt(have to be sharp and properly the hole being tapped) to be aligned with tapped hole)theo Tap feed rate (has to be related to the the machine speed) lead andooPart setup (rigidity of the machine setup and the tool is important)Drilled hole must be premachined correctly (tap drill is important) Clearance for the tap start position (allow clearance for acceleration) Cutting fluid.. drilling. such as theDecimal Size.25001/827 1818 14.0The tapping feed rate maintains the same relationships pipe taps as for standard Tapping CheckWhen programming a operation. is used . asft/min).. which is a pointto-point operation.4375 .01-1/423/3259/6414 11-.I"UUonaCNCooUClearance at the hole bottom (the of thread must be Tap holder torque adjustment Program integrity (no errors) of cutting)will assure the required 100% spindler/min at the normal spindleooof tap holders have their own special rewhich mayor may not any effect on the If in doubt. sure program data reflect the true machining conditions.1563HOLE OPERATIONS ON A LATHEpoint hole on a CNC lathe are much more than on a CNC machining center. Typically. will then calculate required spindle speed in for (he use by (he ma-.3438 7/16 37/64 . To program there is a special M available . always with the for operation.75002.h. such as counterboring and may lathe spindle centerline.check theThe rigid tapping mode must be supported by the eNC machine before it can be used in a progr%3/41. the number of drilled or tapped in a operation on a lathe is one part (two are rare). the spindle in the program (given peripheraJ .21881·1/2 2. 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.5000 1.they are all centerline and with the X program for all programmed in (r/min). while the holes (or a may be in lens. not in the constant that reason.'" lion.or per minute. To a lesser operations.happen if is used with G96 comthan the proper command? The CNC will use the given information. 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. holders.not a contouring tool. hundreds and even thousands. these operations center drilling. boring (internal on a lathe is a LUlU. etc.5781. this will have one common denominator . with a special programmed at operations in point-to-point .::'CIC.71881/4 3/8ular end mill holders or collet chucks can be the cost of tool the CNC control sys(em must suppan the rigid tapping ture.. the method of rigid lapis no need for "U'~'-l''''1compression type -ping has become quite popular..

use one of theoMove the X axis first to the spindle "".1MoamIght be expected to stop (because laws).'t"'. Spindle speed will reach rlmin that the current gear range will allow.or alleast could be . The obstacles are . the etc.82) I 0 = 0''HHllU''''--S(ERROR)T0200 M42 G97 S700 M03 GOO xo ZO. 007 N41 GOO ZO. motion very close to the partN36 T0200 M42N37 G97 S700 M03approach motion.1N3S GOO XO ZO. butx 3. Feedrate override can be used setup.MACHINING213The first method may when the tool motion area is stacles in the way (do not count on a The second method. ".. say .OS Tool Approach MotionA typical geometry offset configuration setup (or values) on a CNC lathe often have a relatively large X small Z value. there will be no significant loss in the cycle time.l FO. with a relatively high ". the r/min at a 03 inch (X3. Be .. At this drill) is far from Z will be to the Z where thc actual nates (or at with obstacles along way. modified: pathN36 N37 N38 N39N40if (surface) speed for a given ftlmin. and probably the most common in programming.. 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 positionoN40.50 inch in tion that follows is the X centerline (XO).."'" . Tool Return MotionThe same logical rules of motion in space thal apply to the 1001 approach. example of this programthe is the previous example.1 T0202 MOSN39To avoid a potential collision wards the part. the catcher.'" in/rev (1.one is the safe clearance the other one is the safe clearance position for start. a563 FO. the Z axis motion has to a linear motion..0). to conlrolthe rate of the feed.·I1 .25 mm/rev). 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). is a minor alternative to this motion Z will be at a cutting feedrale. it will do the exact opposite (bethe control design). 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. the steadyrest. rather motion rate:N36 N37 N3S N39 N40 T0200 M42 G97 S700 M03 GOO XO ZO. During actual production. For example..method the tool approach along two tool positions . the geometryoffset for a tool may be X-lI. Remember that the firsl motion from a hole must always be the Z axis:N40 GOl z-o.the lailstock. will move the Z not 100 close) to the part.S T0202 MOS GOl ZO.. apply also to the tool return motion.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.8Z1.8Z-1. then the Z axis.0 (or G50XJ 1.0) for the approximately:SI3 = 573 rpmftlmin is applied to the diameter formula does not change.5 T0202 ZO.

concerns about coolant tion and chip removal. wards and traditional. are two methods:Q Peck Drilling Cycle· G14On Fanuc and compatible pelitive cycle G74 available. Keep in that on a CNC lathe. 0 Z2..SS63 FO.007N'71 GOO ZO.·lj"" Z == Specifies the end point for drilling K Depth of each peck (always positive)The example illustrates the return motion with the programmed first Tht! that Lhe tuol is . the peck drilling usage of the G74 cycle is The roughing of the G74 is a . it has to return to tool changing position... In most cases.m'?"'. its depth position. during a return motion if . and shows an exampk~ of a 6 hole (0..G74 drilling cycle XO Indicates cutting on . Also.-. first. keep in mind that most lathe operations take place in a zontal orientation.0 Z2. on a a hole opening to be used with other as means There are three tools.1'\1..Z-O.007 N89 GOO X12.0 N73 Z2.BS63 KO..... such as lathe machining: drilling.on the conmotion first....l N'72 XU. 8563 FO.. 007ml GOO ZO.-. The lathe cycle 074 is limited in what it can do.] 00 off the front face is irrelevant . but it has its uses.after all.2 T0404 MOS G74 XO Z-O.. as most obstacles would be to the right of the part:N70 GOl Z-O..... then starting position finally. Ihe tool started Culling that distance without a . In addition. operation ordinary drilling.3 FO. and the programming Z axes does not pres. Other. establish (or even calculate) the depth of each peck. Its format for peck-drilling is:G74moGOl Z-O.0563 long cut Calculation the number of pecks is the same as in milling.l N72 X12.-. typical to aoCenter drilling and spotfacing drill6o Drilling with aoIndexable insert drillingEach method same programming as those section earlier.1875) with a drill depth of . methods for the tool motion tathe part arefollowing program uses illustration in Figure 26-24. the rOlaling.ll . moving is no reason to fear a approach motion was was consistent:o Simple roughing with chip breakingPeck drilling (deep hole drilling)this section...8563 posmon in block N88. of the mil1ing lype there are no lathe work. a T0200 M09xoZ K IGi" where ..214the cutting tool is safely out of the hole.300NBS N86 N87 N88T0400 M42 G97 S1200 M03 GOO XO ZO.1"1.8563Figure 26-24 Sample hole for thelathe exampleThe peck motion will start the position in block N87 to the Z-0. whereby the tool remains stationary. that will move the positive X axis first. ent machining operations:oSimultaneous motion of both axesthere is a multiple recan be used for two differ-o Single axis at a timeSimultaneous motion of the same problem as it on Z axis will complete the part face. in a 1.. 0 T0200 M09If in or if an obstacle is to in the way of a tool for example a program a single axis at a time..0 T0400 M09N90 MOl Drilling and Reaming on lathesis also quite common operation..

MACHINING215each peck. Programmer has to thirds of this approach is an advantage and when method would be more suitable.".2M05 follows block N8S.lZ-O. thal is no programmed out when the peck drilling cycle is completed..7Z-O. this step by everyday programming as a lathes. Unfortuare more common among programmers with these difficultiesTranslated into a step can general guide to '". the drill will make a distance.but only Are there possible problemTOOL HOLDER012.0FLOATING TAP9/16-12 TAPFigure 26-25 Typical setup of afool on alathe . 02607 is correct .. may preselH some difficulties. There is no on a lathe.. This distance is set by a tract by control system and is typically about . no operator extra confidence when the holeStep Step Step Step Step Step Step Step Step Step Step01 Set coordinate position 02 Select tool and 03 Select spindle speed rotation 04 Rapid to the center line and clearance with offset 05 Feed-in to the depth 06 Stop the spi ndle 07 Reverse the spindle rotation 08 Feed-out to clear of the part depth 09 Stop the spindle 10 Rapid to the starting position 11 Resume normal spindle rotation or end program Tapping on lathesTapping on CNC lathes is a common that follows the same machining principles as ing centers.. atZ-O.layout of the part and (he 1001 example 02607.. The major difference for of a tapping cycle. If a GOOZO.020 inches (0. 1. At the end the G74 cycle. lion is built-in within the G74 cycle. The examthe eleven steps on a very solid foundation.4Z-O.5 A full retraction after each peck out of the hole (simito the cycle for milling controls) is not supported G74 cycle. since most of lathe only one hole of the same type. That will result in two cut being in the air.300 deep one starts at ZO.SS63first three pecks are .2 and ends at 2-0.program examples 02607 and 02608."..careful1y.. there will be total and one partial length peck..

0833 MOS M04 ZO. 5 MOS GOO X1. 0 T0300 Ma9is normally used for single controls).0 T0300 M09 M30The 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. It requires a thinking process a degree of ingenuity work. 5 M08 T0303 GOI Z-O. but in the mode it will be lao late. This chaprer some of the most important and the most common possibilities. programming unusual more difficult the A"f'fF"~"''' tool motions.02608 ONTAP DRILL 31/64) (PRAC'I'ICALLY CORRECT VERSION)N42 MOlIDa(T03%A brief look at 02607 anything is wrong. will be slopped in block N47.. other problem will become evident only in a block mode run.TAP DRILL 31/64)N42 MOl (T03 N43 N44 N45 N46 N47 N48 N49 NSO NSl N52 -12 PLUG TAP) T0300 M42 G97 S450 M03 GOO XO ZO. the program is a very poor example of lapp! ng lathes. (he feed-oul motion. Compare program 02608 with 02607... The second die M functions are the same block as tool motion. such as operations using tools for backboring. That means the N46 with is in the new program 02608.S75 FO.0 Z2. the feedrate override will be ineffective by default will be solved If (he matically).while the spindle is still rotating! True. tap reache~ the Z axis . correct. all tool mOlions are built-in.are some details usually not considered for a application (such as G84 tapping cycle)... everyday tools. Look at N46 and N47. the is always equal Lo lead (FO. 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%. In the N46 hlock. A situation will """"".21602607 ON LATHES) (ONLY THEORETICALLY CORRECT (T02 . tools with multiple edges and other for machining may quite infrequent in However.OB33 MOS ZO. Remember. or block boring tools. Program 02608 is a deal more stable possibility of any problem is virtually Other OperationsThere are many other programming reJating to machining on CNC machining centers lathes. reverses in but does not move until N49 block is processed. Two major will be achieved with the command . 5 MOB T0303 G32 Z-O. milling. contains major flaws!not show thatAll earlier have been carefully followed.the spindle will be synchronized. the will be at at worst damage.0833 for 12.2. used for milling programs. a CNC programmer is The real ability terms of applying the knowledge and new problem. essary motions therefore. Some less common applications.. 875 FO. TPI). 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 someN43 N44 N4S N46 N47 N48 N49 N50 %PLUG TAP) T0300 M42 G97 S4S0 M03 GOO XO ZO. If the switch is set to any but 100%.S M04 Ma5 GOO Xl2. 0 Z2. during or machining. The G32 point threading.

within the hole pattern have to control features will no help here at all:217.40-TYPICAL HOLE PATTERNSHole paHerns can be categorized each group having the same character. ooGrid patternArco BoltpatternSome groups be divided into smaller groups. O!~_J_. pattern holes is a where all holes share same machining characteristics. Translated to hole two or more holes machined with . Dimensioning of a hole lows standard dimensioning laid out some part and the various methods their programmake malLers all programming e. In other words.J-1. 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. reaming.163). one hole after another._L_1.. any that are machined with the same tool..163 (programmed as 2-0.. control and cannot applied toRANDOM HOLE PATTERNThe most common pattern used in programmingpattern..a-4.Figure 27-/. means all within a single pattern have the same diameter.'~m'm ng routines simplify the hole pattern quite substantially. using a #2 center drill.. Simply. encountered in CNC programming the following pattern groups:~_ _ _ _ _ _ _ _ _ _. chamfer . consisting of drilling. to the depth of . no hole diamelers or material and are specified in the examples.figure 27·'Random pattern of hotes· program example 02701oopatternStraight row patterno Angular row pattern o Corner patternare no special lime saving used in programming a random . but the X and Y distances between them are inconsistent.150... Overall.only a fixed used at individual hole locations. i( means that all holes wllhm a pauern are machined the same any tool... the of clarity. we are often require9 to machine either a single or a series holes with Ihe same tool. A thorough understanding each pattern group pattern.4-. tapping. usually followed by tools.xamples related (0 Lhe hole panerns wi II assume a center drill ing operation. holes within a pattem the same LaO!. we have to establish what makes a hole paHern characteristic or consistent. machinioa o same lool establish a The hole IS laid out in the pari either randomly (characteristic or design) or a certain (consisTent arfolrangement or design). etc.4 . should you to any similar available that have a are several control built-in hole a boll for example circle nlIll'prn nrr\a . but the prostructure is unique to that panicular brand of conlrols. II also means that all machining must start at same R level and at the same 2 depth. the same nominal usually the same depth.. but a variable distance from each other .. All XY coordinates programmed manually. usually in of COlwenience.. From the dictionary definition above.PATTERN OF HOLESIn point-la-point operations. An English as a 'characterislic or dictionary defines the word consistent arrangement or '.ol2 1B 20 . nrr\ar:"m reference point 20) is the top 10 be in ~pindle.

21802701 (RANDOM HOLE PATTERN)N1 G20N2 G17 G40 GSOCha27N3 G90 G54 GOO Xl. we do not know the lute position atlhe tenth for the X axis (the Y remains unchanged al of . However.0).4 N12 IDO%STRAIGHT ROW HOLE PATTERNHole pitch ~s a pattern.16l Fl.2 Y2. the cycle with G80.4 Y1. Normally. In that case. make sure that the G90 for every tool (halto the X or Y axis with an equal Figure 27-2 shows a 10 hole with a pitch of . mode must be changed to incremental mode G91. 6 N8 X5.'ITwo program 02702 should be . all the necessary Y dimensions are to write the program. To protect the program and from possible probute command is lems. The between the two is that pitch applies 10 bulh X Y axes.4 YO. The reason? hole h!ls already been machined in the cycle call block. The lirs( calculation method can use a method. However. paUern angular the holes isIn either case. would be programmed along the Y Note lhallhe repetition ofspaces.ON6 G9l XO. In block N6. to take When all ten holes have the equal pilch to include return to chined. The same logic would for a vertical pallern along the Y axis. 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 hole0. solve this 'problem'. the program zero position motion.6 5900 MOl N4 043 Zl.O N7 X4. the controllo machine the olher nine incrementally.6). (he tool wiJl be positioned at the first hole in G90 mode. the pattern length Ilxis is I and along the Y axis it is 2. G91 mode in move (0 the machine zero position in the Z axis first Then .950 inch.0 YJ.95 L9In this method. Such a calculation in two equally accurate ways.TYPANGULAR ROW HOLE PATTERNin a row al an is a variation of a pattern.S S900 MOl N4 G43 Zl.return both X and Y axes to machine zero simullaneously. along the X axis only. along the Y axis).lS YO. this first tool of the example would be followed by other LOols to the hole machining.still in the incremental mode I .163 F3.0:(2. the programming will be different for each method of drawin bo Pattern Defined by Coordinatesmethod of programming is row pitch between increment between holes along be This axial distance is as X is measured X axis.4 N9 GBO M09 NlO G28 ZO.625 -N7 G80 1409 N8 G28 ZO MOS N9 G28 XO YONlO MJO %=2. then the cycle will machine hole in block N5. the pattern and no pitch belween holesis not specihole only is specified ando X and Y coordinates are given for theIn this method. without a calculation. the di mode was absolute G90 (0 the incremental G91.02702 (STRAIGHT ROW HOLE PATTERN) Nl G20 N2 G17 040 G80 N3 G90 G54 GOO Xl.60 inches = YO.l Z-0. along all axes. As always. in the example.l Z-O.0 N6 X3. but it is much casier (0 usc the ratio stead. the remaining holes. In the Figure 27-3.O Hal Moe NS G99 Gal RO. not the numcount is always equal to the of holes.l MOS Nll G28 XS.6row hole program example 02702The programmi takes advantage of a fixed cycle repetition Lor K address. It would be inefficient to program hole individually.O HOI MOB NS G99 Gal RO.2 Y2.

4000The calculated mcreOlents match in both methods. thiserror may be important and must taken into consideration. When mathematically.0 8900 M03 N4 G43 Zl. a certain accumulative error is inevitable.164 YO.82-----.62S S900 M03 N4 G43 Zl..block the vaJues:02703 (AN'GOLAR RaqN2 G17 G40 G80 N3 G90 G54 GOO X2. so the X number of spaces for a six (the delta X)10. As all holes are equally spaced..0 YO.HOLES219N7 GBO M09o o o+----10. ratio of the sides for individual holes is identical to the of the whole pattern. the increment along the Y to the overIstance of 2.0 N6 G91 X2.427-4Angularwith coordinates.2.0 x sin15 1. es-In to calculate the X and Y coordinate trigonometric functions in this case:usex = 4.82 divided by of X axis "IJ""''''''.0 / 5 = . f\('r'p'rn.0353 L6 (K6) N7 GBO M09 N8 G28 ZO MOS N9 G2B XO YOmo%M30m G20N2 G17 G40 GBO N3 G90 G54 GOO X1. or is a mistake somewhere in the calculation.0 divided by Y axis spaces. In most cases.863703305 Y = 4. can now be used to write the program (02703) ..0 Y2.20065813mNow. However.163 Fl.4 L5 (K5).".pnl between holes along to the 'l>la" . angle of pattern inclination .0= 2..1640 sinA = . for the projects highest precision. pitch. the number of between holes andof this kind has all the holes by equal distances along X and Y axes.1640and the Y axis increment (the2.0 / sinA = 11.Figure 27-4.163 F3..l Z-O.O N6 G91 X3.NS G99 Gal RO.0 x coa15 = 3. 27·3Angular hole pattern with two sets of coordinates· program 02703N8 G28 ZO MOS N9 G28 XO YONlO M30%Note that the program structure is idt:nlicallu. lalion is correct.03527618can be written after you round off the calculated .82 / 5equally holes. program 02704:02704 Raq 2)10. First. of I 0. Both must be identical. any error will be well contained within the drawing tolerances.00329063 C1 = C / 5 = 2.Lhe exam-ple of the straight row with L5 (KS)except the incremental move two axes instead of one.8637 Y1. the actual increment along the two axes can culated. using C I dimension as the distance between holes:x increment Y incrementG20= Cl = Clx xcosA = 2.l Z-0..O HOl M08Since the calculated increments are rounded values.0 HOl MOB N5 G99 GSl RO.47251349"C = 2. Pattern Defined by Anglebe defined in the drawing hole.02704The other calculation method uses lTigonometric fllncwhich may also be as a confirmation of the first vice versa.

1822 2.2 Yl. In that case.O H01 MOS N5 G99 G8l RO. ff the spacing of all vertical holes is not the same as the spacing of all horizontal rows. call (he required cycle and remain within that cycle:02705 (CORNER PA'I'TERN) Nl G20 N2 G17 G40 GaO N3 G90 G54 GOO X2.2118. and in N8 the vertical row of holes is machined. 1--8I . The order is continuous.1B221983 = X25.2117Y= =~Step 2N6 G91 Xl.which is nothing more than a pattern combining the straight and/or angular hole patterns . particularly when a large number of holes is involved. Just like in the earlier examples.220To make sure all calculations are correct. in N7 it is the horizontal row of holes. The programming process will take a little longer. B L2 (K2)Compare these new XY coordinates with (he previously calculated increments as they relate to the lasl hole of the pattern (using rounded values):mo%N9 GSO M09G28 ZO MOS Nll G2B XO YO Nl2 1000xY= =2. keep in mind that the repetition count Lor K is for the number of moves (spaces).l 2. the resulting grid pattem is a rectangle. Visualize the whole process . Soon.GRID PATTERNBasic straIght grid pattern can also be defined as a set of equally spaced vertical and horizontal holes.8 I I -wED 0 0 0III .9CD .5---'---1.7Figure 27-6 Rectangular grid hole pattern . a simple checking method can be used (0 compare the calculated values:~Chapter 27Step 1Find the absolute coordinates XY of the last hole:comer hole will be machined twice.1822 2.1 OOOOUJ--.0 + 1. duplicated.211657082 = YB.0x=2.8637 x 6 25. 8 L6 (K6) NB Y-l.. the accumulative error may cause the hole pattern out of tolerance.Note that both X and Y values are accurate.program example 02706IAll rules mentioned for the straight and angular hole patterns apply for a corner pattern as well.1. The most important difference is the corner hole.4.the last hole of one row pattern is also the first hole of the next pattern.-2. the final grid pattern will be a square..-L'---1.0 x 6 x coalS)25.2figure 27-5 Corner pattern of holes· program example 027050000$--'.1 Z-0. If the spacing of all vertical holes is the same as the spacing of all horizontal rows. GOO 0 0 (j)-e-~8(B---r .0 x 6 x sinl5) 8.9 S900 M03 N4 G43 Zl. When rounding.Figure 27-6.5 Yl. 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).8lIi-I1.0 + 3.0353 x 6 = 8. which is common to two rows. starting from the lower lefl hole.--"'101 1.0 + (4. 00000 00000 00000 I0·0 0 0 (]j---. each row having equally spaced holes.0 + (4. not the number of holes.l1le program offers 00 special challenges. it will become apparent that each-r2.Figure 27-5. but it will be much more accurate. the angular row of holes is machined.CORNER PATTERNPattern of holes can be arranged as a corner . A comer pattern can be programmed by calling a fixed cycle for each row. Creating a special custom macro is worth the time for many comer patterns. A grid pattern is someti mes called a rectangular hole pattern . In block N6. The nonnal solution is to move the lool to the first position.B L2 (K2)N7 Xl.163 F3.

The feature may not be so obvious right away. The tion a grid pattern programming is in its Each row can be programmed as a single row pattern.1 L6 (K6) N7 Xl.PATTERNHOLES1A grid pattern is very similar to a series of corner patterns.1 L6 (K6) N16 GSO M09 Nl7 G2B ZO M05 NlB G28 XO YON19 IDOThe program can be written in a similar as for the the extra 'jump' between rows will straight row grid. 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. To a zIgzag motion.5a-14. The subprograms.it has no repejump from one row of tition address L or because only one hole is being machined at location. the left side of IroW.319 Y4. 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. starling.0 YJ. Complete that row (column).163 Fl.6 N12 X-3.l L6 (K6)The unknown increment in the drawing is the distance a hole in one measured along the X axis.O N6 G91 X3. take place along both axes:02707 (ANGULAR GRID) Nl G20 m G17 G40 GBO NJ G90 G54 GOO X4. 6 NS X-3.2 LS Nl3 GBO M09 N14 G28 ZO MUS NlS G2S xo YON16 M30 % Angular Grid Patternthe straight grid pattern is the most common a grid pattern square and rectangular hole pattern may also be in the shape of a parallelogram..4 S900 M03 G43 Zl.8 Nl5 Y2. called an angular grid pattem . stan the that the larger of (the in the program 02706). 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.7 Y2.2 L5 (KS) N7 Xl. 6 mo X3. Technically. the ollly extra work required is the calculation of the increments.N4 G43 Zl.2 L5 ) N1l X1.02706 (STIlAIGm' GRID PAT'I'ERN) Nl G20 N2 G17 G40 GaOMore000o3.l L6 (K6) N14 Xl.one is the pattern to another . motion. make the program shorter. the programming approach the same as for rectangular grid pattern.163 F3. row to the next hole in following horizontal row:NlO X1.Figure 27-7. similar programming methods.1 Z-O. that is correct. 8x~4.0 G91 Y2.O H01 MOS G99 GSl RO. Subprograms patterns con~isling of a large are especially useful number of rows or a large number of columns.0 HOl MUS NS G99 GS1 RO.319028774 (Xl.1 Z-O. including a practical example a really grid is covered in Chapter subject of user macros is not in this handbook.1 L6 (K6) N12 X1.program example 02707NO N4 N5 N6G90 G54 GOO Xl. similar to previous methods: Many will consider even more programs for grid patterns efficient way approaching by using subprograms or even User Macros. for example. program row or colwnn at any corner bole.6 x tan16 = 1.5 S900 M03%Two features the are worth noting .8 Nl1 Y2.3l9)N13 Y-2.2 LS N9 Xl. 319 Y4.027-7 Angular grid hole pattem .S N9 Y-2. 319 Y4.

l Z-O.60'7X2.8492 Xl.= 1. so is thexandA number of is needed to find X Y coordinates hole center location within the bolt hole pattern.5+ 2..5 + 2.5 x siDlO==3.4151) .934lY1. the second hole angle will be 40°.5 x cos20 Y = 1."1"".415111108 = 2. is programming taskHole #4:X3.5 + 2..B492 Yl.5 x 00s60 1. as the one that is most convenient.1"1 ""-'. it may seem as a lot of work...program for the hole arc pattern can be written. Such an equally spaced set of holes portion of a circle cumference creates an arc hole pattern..5 x cosSO = 1. eight calculations will necessary..6069690242.5 + 2.0 + 2. '75 Y'3.7S00 X1. approach to programming an ~rc hole pauern should same as if programming any other hole pattern..849231552 1.all necessary data and other information are drawing..Chapter 27ARC HOLE PATTERNAnother quite common pattern is a set of equally arranged an arc (not a circle).4620Now.9341 Y3.eSTEP 2Use trigonometric ordinates of the firstHole #1to calculate the X andco-x= 1. required to get the 1"'-'1""1'1.607)I4 EQSP1.41S1 X2..0 x = 1.0 + 2.. but keep in mind that only two trigonometric formulas are involved for any number of holes. there are four holes. fn terms of calculations.934120444 Y == 1.1651lo use will bemN8 Xl.5x <::os40 x sin401= 3.750000000 3. Incidentally.5 x sin60Figure 27-8 Arc holeprogram 02708Hole #4arc center locations are known.0+ 2. so Ihecalculations will beobservation come a lot more manageable. Initially.462)eHole #1:4Hole #2:Hole #3:holes. it is a lot work.. XY coordinates for hole location from the calculations 02708:02708 (ARC PATTERN) Nl G20 N2 Gl'7 G40 GSO N3 N4 NS N6 G90 GS4 GOO X3.5Hole #3xY==c:1. procedure is similar to that an angular but with several more calculations.5 x sinelO '" 3. line in a grid The calculation uses trigonometric functions applied to each hole .9341) .855050358e3Use the same culate XY coordinates included hole in the pattern.4151 Y2.5 Y = 1.0 + 2.6070 Y3.462019383.0 HOl M08 G99 G8l RO. 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 arceSTEP 1that is nearest to 0° iodirection).B5S1 'l2.163 F3.16S1 Y3.0 Xl.462. V~.Ul . exactly the .. to just about any other simi lar programming can be programming.85S1 S900 M03 G43 Zl. the third Hole #21. then continue direction of the arc.165063509.

0)7.5. 12.4.0 + 5.9 or 6 o'clock on the face of an analog watch. Any other mathematical approach can be used as well. C?ther holes may be identified in a similar way.5.8.5) (Yl1.l MOS N11 G2B Xl.5 + 5.Figure 27-9 Bolt circle hole pattern· program 02709Hole #6x== 7.5Y6. relative to the first hole.0 x cos30 '" 11. although some numbers are much more common than others.-t I .0 x sin330==:. Note that each calculation uses exactly the same format.0 + 5.930127 (XU.1698729B (X3 .5 + 5.50000000 (Y3. but watch the consistency of all calculations:N9 G80 M09 N10 G28 ZO.500000 (Y3.5 + 5.In program 027 JO. 830127 6. The second method will use the polar coordinate system (optional on most controls).7 5 .5.0 + 5. usually in relation to the X axis (that is to the zero degrees). The programming approach for a bolt circle is similar to arc paHern.0 x cos90 6. preferably In the order of machining.0 x sin2103. 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. but the center of the circle will be the starting point for calculations of all holes on the bolt circle.Hole #3x '" 7.0 x sin90==::.C(Xl1.50000000 (Y8. the start will be at the 3 o'clock position. A good idea is to identify this hole as a hole number I.0 + 5.10.0 x sin270== ==7. write them down. the nearest one will be at 30° in the counterclockwise direction. When the circle center coordinates are known.1699) Y = 6.0 x sin30 '" 8.0 -I.5 + 5.24Hole #1x '"y==7.6. In example 02709 are 6 equally spaced holes on the bolt circle diameter of 10. select the machining location to start from.8301) 8 s1 .18. Each hole coordinate on the circumference must be adjusted by one of these values.0 x cos150 3.9341 Y3. The most common starting position for machining is at the boundary between quadrants.5).5+ 5. The first method will take an advantage of the local coordinate system G52.5 -I.. In the illustration.0 inches. described in Chapter 40. another name for the bolt circle pattern of holes is a pitch circle pattern.0000000Figure 27. its radius or diameter.16987298 (X3.S)Hole #4x :. That means there is a 60° increment between holes (360/6=60). the number of equally spaced holes along the circumference. When all calculations for the first hole are done (based on the circle center). In this example. A bolt circle can be made up of any number of equally spaced holes. (X7 .5000000 11.: :010.0 .PATTERN OF HOLES223First.5)Hole #5IxY== ==7.50000000 (X7 5) 1. described later in this chapter .:::11.0 x sin150 '" 8.8301) 3. and the angular orientation of holes.16.1699) 3. Since the circle diameter is actually pitch diameter of the pattern.0 + 5.12..BOLT HOLE CIRCLE PATTERNA pattcrn of equally spaced holes along the circumference of a circle is called a bolt circle pattern or a bolt hole pattern.500000In later examples. Then find the absolute XY coordinates for the center of the given circle.9 is a typical bolt circle drawing. for example.O)L .0 x cos210 y '" 6. There is no hole at the selected location.20. The programming approach is very similar to any other pattern. continue to calculate the X and Y coordinates for the other holes on the circle circumference.0 x cos270 6. in an orderly manner.462 N12 MJO %There are two other methods (perhaps more efiicient) to program an arc hole pattern.Hole #2xY 7.00000000 (Yl.There will be no maChining at this location. usually at program zero.07. the 6-hoJe and the 8-hole patterns (and their multiples) have two standard angular relationship to the X axis at zero degrees. That means the most likely start will be at a position that corresponds to the 3. the bolt pattern center coordinates are X7.0 x cos330 Y '" 6.

only changes. but different orientations as well. 0 N7 D.. 16.. etc. relationship is important..l Z-O.24.1699 YB.l MOS Nl3 G91 G2B XO YO Nl4 ICO%where ._-.163 F3.S N8 Y3.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 OrientationThe bolt gle of the orientation is specified by the anthe 0° of the bolt circle.O HOI MOeN5 G99 G8l RO. calculator data input. bolt most commonly affected are those spaced holes is based on the mul. This method is especially useful for those jobs that require translation of boll (or any paUern) to other locations same part setup.830l Y3. At same time. the program is writpatterns: ten in the same way as02709 (BOLT CIRCLE Nl G20N2 017 040 080Chapter 27the following explanation and [he any hole in any bolt circle pattern can The formula is similar for both axes:X Y~cos«(n-l)x B+A)x R+X. cIt would be more logical to bolt circle center as program zero. ThIS method would el" of the boll circenter position for each value and perhaps reduce a possibility of an error.) and multiples of eight (4. InIn daily bolt circle patterns will have not only different llUIIlVl"1 holes... other holes in the boltIFigure 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.0 N6 X7.... for av"n-> . are repetitious The methods are the same. 8.S Nll GBO M09 Nl2 G2S ZO. 5 Yll. .X coordinate Hole Y coordinate Hole number counter .S Yl.iFigure 27·10 Basis for a formula to calculate bolt hale pattern coordinatesFigure 27-11 Typical orientations af a six andhole boh circles.8301 Y8. of calculation offers an opportunity for a common formula that can used. 27-10 shows the basis for such a formula. ).S N9 X7. rather than the lower comer of the part.224Once all are calculated. For details on the G52 command. since the orientation of the first hole wlllinfluence the position of all the pattern..S S900 M03N4 G43 Zl. The best solution is to use offset method.O NlO X11.. see 40. it would it more djfficult to set the on the macoordinate chine. ' of a computer program.B'jI\ R ~.xY ::::: n :::: H B:::::: A :::::R :::::Xc ::: Y :=.32. Bolt Circle formulacalculations... «(n-l)x B+A)x R+YcN3 G90 G54 GOO Xll..

Check the options of the before using this method.. This seems to a slow for a CNC system with a very advanced computer.(POLAR COORDINATES ON) Y .O HOl MOSN5 G16 (POLAR COORDlNA"l.StaIlaaJroN2 G17 G40 G80 N3 G90 G54 GOO Xl.U..5 Y60. the polar coordinate mode is completed no longer required in the the command G 15 must be used to it mode). N .ING HOLES)u . F samedistinguish a standard cycle used in the polar coordinate mode. G8.".0 N7 X2. R Z F (MACHlN..program 02711.0 RO.INl')N4 G43 Zl. The format is.163 F3. Dimensions in Figure 27. always recommended to be written as a separate block:Polar coordinate Polar coordinate systemcancelOFFON27·12 Three basic characteristics of polar coordinatesfor bolt hole or arc may programmed polar system commands... There are two polar coordinate functions available.S Yl.1.requrre-Figure 27-13 Polar coordinate system applied to bolt hole circle .PATTERNHOLES2POLAR COORDINATE SYSTEMSo all mathematical calculations relating to the arc or bolt circle pattern of holes have been using lengthytrigonometric formulas to calculate each coordinate...S Y20.l Z-O. polar coordinates also require tbe center of rotation.. G16 N G9 GS ..next program 02711. programming format is similar to that of programming flxed cycles.:>x. R.. system 6 must be issued to acpolar mode (ON mode).O S900 M03IO... in program 02708 and 27-8 were calculated using trigonometpolar control the can be much simplified 10:02710 (ARC PATTERN POLAR)N"G9... identical..0 N8 X2. 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.."BS ON) N6 G99 Gal X2... This is point grarnmed G 16 Earlier.. Both commands must in a separate block:N. N G15N12 G9l G28 ZO M5 N13 G28 XO YONl4mo%x . as an solute location.S Y80.VJ.. the XY words defIne'the of a hole rectangular coordinates. measured from 0°Figure illustrates ments for a polar coordinate system..forIn addition to the X and Y data.J3 are to the coordinate prCignurururlg lTlemlOa.I60°. Z.. are equally spaced on the bolt circle circumference..'IR6. N N . Indeed..."".CDORDlNA'l'ES OFF)second factor is meaning X and words.N1 G20Y.0 NlO GIS COORDlNA'l'ES OFF) Nll GSO M09cycle. standard fIXed cycle. In the polar mode and effect (XY both words take on a totally different meaning a radius and an angle:120:O~-'.8180°-8-aaThe X word becomes radius of the bolt circle The V word becomes of the hole..0 N9 X2.S Y40.

0 m X6.0 Nl1 X6. describe the subject of planes. even the default G17 plane. If the angular value is programmed as a positive number. all three possibilities are illustrated Note. the radius and angle values. for the clockwise order of a subsequent tooL This approach requires a lot more work in standard programming. For example. such as polar coordinates. may be programmed in either absolute mode 090 or incremental mode 091. All angular values will now be negative. The start will be at the fust hole and.Order of MachiningPlane SelectionThe order in which the holes are machined can be controned by changing the sign of the angular value.0The second axis of the selected plane is programmed as the angular position of the hole. based on. This feature is quite significant for efficient programming approach. If a particular job requires many arc or bolt hole patterns.1 wmecessary rapid motions.8 Y240.5 G28 XO YOID6 M30%NB Xo. By changing the val. programmed with the G 17 command.(POLAR ccx)RDmATES ON)N6 G99 GSl X6. The polar coordinate application using the G 16 corrunand eliminates al. the drilling can continue in the reverse order.G11 GtB619XY plane selection ZX plane selection YZ plane selectionSelection of a correct plane is extremely critical to the proper use of polar coordinates. make double sure to adhere to the following rules:The first axis of the selected planeis programmed with the arc radius value.Chapter 29. the order of machining will be clockwise. while the polar coordinate command is in effect.0 HOl MOB(PIVOT POINT)G 17 plane is known as the XY plane. starting with the last hole.(POLAR COORDINATES OFF)In a table fannat.G-eode Selected plane'I:(First axisSecond axisY = angleX = angle Z = angleIG17G18X = radiusZ = radius Y = radiusNote that the center of polar coordinates (also called pivot point) is defmed in block N3 . particularly for a large number of various bolt hole patterns. If the Fanuc User Macro option is installed.8 Y300. polar coordinate system option will be worthy of purchase. There are three mathematical planes. the 0° position.B YO RO.0 N9 X6. ~hen the polar coordinates are not used.8 nao. used for variety of applications. the order of machining will be counterclockwise.163 F3. Both. the center is at XOYO location (block N3) .led ill the program example 02711.it is the last X and Ylocation programmed be/ore the polar command G 16 is cal.ue to a negative number. Always make it a habit to program the necessary plane.I Z-O.compare it with program 02710. macro programs can be created withnut having polar coordinates on the control and offer even more programming flexibility. therefore shortening the cycle time.20.22602711 N1 G20 N2 GI7 N3 G90 N4 G43N5 GIGChapter 27(GI5-GI6 EXAMPLE) G40 GBO GS4 GOO XO YO S900 N03 Zl. even at the cost of adding it later.8 Y1. that if no plane is selected in the program.o NlO X6.IXYZG19Most polar coordinate applications take place in the default XY plane.B Y60. Ifworking in another plane.0 Nl2 GIS ID3 GBO M09 Nl4 G9l G28 ZO MOS N1. and particularly Chapter 3 J. after the tool change. the control system defaults to G 17 .the XY plane.. a center drilling or spot drilling operation can be programmed very efficiently with positive angular values (counterclockwise order).

usuaUy within smaJl areas. although two important ..tool that rotates while thethat aa cut or milling is so effortless not pay sufficient milling cutter. There is no way to tell the actual tool body from the nominal size alone.. in the cutter body. v. . depth and width related factors.mwidth mill. called a face mill.FACE MILLINGmilling is a machining operation that controls height machined part... . except in cases227. mill (5 inches in the .'''' .. in-depth source. All tooling . cutter will influence the actual although other items aregeometry.. The top of a part to of face milling is to machine specified height.. such as the right cutter tion.".""F. machine power other technical considerations.'''.. 2 12 inches (50 to 300 mm) are not unusual.. Each insert works only within a part of one complete revolution...."' .. material be re-a single 2. ones are covered in this chapter.u. proper chine requirements andemploys a cut~ stationary. The nominal diameter always refers to of the cut... that can be used for rigidity. milling is a relatively simple operation... the most. 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. distribution of cuts.5 inches mill as a suitable a good formation of For multiple cuts.... at least in the sense it usually does not include any difficult "V'lLU'. face Min DiameterCUTTER SELECTIONall milling operations.. a mill diameter size...... areQQQSelection CriteriamillBased on the job to be GUller has to Lake into accountCondition of the eNC machineMaterial oftha part Setup method and work holding integrityoQ QMethod of mounting Overall construction of the cutterFace mill diameteroQSelection of the cutter diameterInitial starting position of the tool in toInsert geometryQto have some experience milling principles......A typical face mill is a multi cutter with interchangeable carbide inserts... The top surfaces machined with a mill are generally perpendicular to the of the cutter.ItThe last two items. For this type of .'" cuWng tool used for face milling is typically a tooth cutter. Normally. This observation may be an consideration when trying to establish an optimum a face milling cutter.1-"'"'' though body can be found in well. For most applications... which in means to use relatively large diameter face mills. Face milling does power resources from the machine tool..u.. the job.. In CNC programming... of the cutter body is not needed.v'F. it looked up in the tooling catalogue... although end for certain face milling operations. but catalogues and various technical .. it is properly mounted. the face are fairly simple.J. .

.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. try to milling a width that is to. single therefore less. positive I npn'l'ITI'l.. The size of the cutter body may prevent access to some areas of the part and interfere elsewhere as well. on the cutting rake of the mill (known as rake angle):o . 28. They a good are a choice for machining cutting load is not too heavy..pr'". the insert may to be discarded Increasing the machining cost.. In some more severe cases.. 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. or only a larger than.. face Insert geometry and insertis determined by a design I. the cutter diameter... Their main benefit is the economy."'r·A.. and undesirable relationship part width during milling. it is impor(ant to understand how a mill works best different conditions. but a short overview offers at least some for further studies. very basic items insert geometry for we look cutters.. offering up to for a single inserted in mill... example.::rtive geometryCUTTING CONSIDERATIONSTo program a cutting motion for a face mill. PositiVe/negative this clogging problem.Chapter 28Negativebej'ml~rrvwhere the face milling place close to walls or obstacles.11>o Negativeo Combination of bothAny variations are too numerous to list. rapidly and constant are does change programming chapter.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 superiorityinsert in the during a cut.J shows some typical configurations. is hardly any curling during chip forwhere mation.Double Negative GeometryFjgure 28-1 Nominal diameter of various face mill cutters Insert Geometryand . There are typically three general categories.". the surface finish as well. possibJy chip jamming against the or wedging confined areas. This design usually most suitable full widtb milling. shape and are used... being made. unless a specially designed milling cutter insert geometry. strongly influence quality of the cutting....Positive Geometrycutters require machining power cutters. tenuino\ogy of to understand tenus m promilling cutters the tooling companies available gramming.halDouble 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.'''' This dual offers strength 'curling' into insert with the a spiral shape.~FI!.:mL'RI Negative Geometry ... single or double or double . Most booklets for the cutters inserts catalogues and explain the cutter as well as all they manufacture in mind that tool technology related terms.Positive / Negative geometry is most beneficial to operations where chip clogging could . since are generally sided. so they may more suitable on CNC machines usually small machines.

the pa..~ o Climb milling modea"--blFigure 28-3 Insert entry angle into the part. For most face milling cuts.Traditionally. \ar\y materials that are difficult to ADesirable~ICI28-2 Schematic relationship of the cutter diameter and. cutting Since insert it is the absorb most of the of the insert. the will always enter at the preferred negative assume a solid part mill has to travel over some cut will intenupted.. In Figure example (b) shows (or climb milling mode) called up cutting (a) the neutral the so called down cutting and example shows the so conventional mode).int ..... either for a negative cutter angle... the climb milling mode is the best overall vHI. at the strongest point of the insert.. These are aU correct although the terminolmay be a little confusing.. the prograllUTIed cutting direction.. way. there are three milling mode possibilities in milling operations. entry method is not recommended. is the preferred method. to table motion direction is always important. ' .t! width. rather away from it.ne!!~tive entry angle (b) at the weakest Insert pomt .The illustration shows only relationship of culler diameter to the width ."" or at least some insert chipping. [he cutter away from center line.. Only the cutter size (a) is although not Its posItIOn.o milling mode o Conventional milling modeNEGATIVE / ENTRY ANGLE . a positive entry may cause a un. as it increases the It is always a good to keep the mill center within [hepar! area. this so important it is discussed in several sections of this handbook covers a subject called theing mode. not constant As many other facconsidered in milling. a certain force is angle. W:: width of cut (a) at the strongest/nsert po. avoid situations where the cutter center position the part center This neutral position causes a chatter and poor finish. although exactly the same principles do apply for an milling. or a cutter entry angle. The terms climb milling and conventional milling are more often with peripheral milling than with face milling... lv'. Negative of an force at the middle. 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. In face.Milling ModeIn milling. mode and the climb milling is also called 'down' mode.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 Entrymill is by position the to the part [f a part can cutler cenler line with a single cut. positive entry angleA neulral mode is a situation where the cutter or a face. Normally. into and exit from part during imenupted cut will cause the cutter entry angle to be variable. take these rectors have to ommendations and suggested only as guideAlways consult a tooling representative on the method of handling a particular face job.FACE MILLING229Undesirableangle of entry (not shown) culter center Needless to coincident with the part enters material. Figure both types angles and their effects.!".

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)Table direction ......o{InSUffiCient overlapmills will belong into one of these three cateon the cutter density:· .... fine pitch of insertsbFigure 28-5 Width of cut in face milling -diameteris the recommended method..the chips must not clog the but fly out freely.5 larger than the intended width of cut28-5 shows a simple plateforWidth of cut Number of Cutting InsertsDepending on the face mill size. gories. . face mill diameter is situation occur jf a for a narrow part width . more cutting inserts are in material simultaneously....Programmed directionChapter 28As an overall general a coarse density cutter is usually a suitable choice.. it important to have sufficient cutting .......28-4 Face milJing modes: (a) Neutral milling mode (b) Climb or 'down'milling mode (c) Conventional Dr 'up' milling modeTypically... the possible damage to the cutter and to [he machine.. 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.. change the cutter direction away from the part (in the air)the cutter center within for better conditions part areaoQTable direction .. the more power will required. milling can programmed better if some common sense points are Since milling often cutting area.Table direction . At all at least one cutting must be in contact with the which will prevent heavy cut.. it is important to consider caretool path from the start position to fully position...b.. Programmed directionaPROGRAMMING TECHNIQUESAlthough defined earlier as a simple operation.. coarse pitch ofWidth of cutCoarse densityMedium density Fine densityoo· . medium pitch of Inserts· . The relationship of number of inserts in the cutter to cutter diameter is often called cutter density or cutler pitch. select a cutter diameter that is about 1..Programmed directionoIf surface finish is important.o..-.-.... of the density......

Cooneed for cutter to overlap both of the .02801(SINGLE FACE MILLING COT)a Start andposition of the cutN1 G20 N2 Gi? G40 G80 NJ G90 G54 GOO X7.0 mill. X7.0N9 MJO %There are important decisions to make. 28-6 shows this simple drawing.---5. plunging to the depth has to start away from the part.6 larger than the width cut. start X axis position will be the sum of these values. In the example (a).0--~3.program example 02801.3 to 1. are two major decisions toa mill diameterThe position YLO was based on the desire to have about overhang at one quarter to one third of the cutter part edge. rapid to the directly be an option. that means only I times larger.?S Yl.O 5344 M03 N'4 G43 Zl. 3 x 1. we will use a 5x3 (1 inch thick) that has to be face milled along the top to the final thickness of .?S F21. Now. the climb milling be combined with a little of conventional which is quite normal face milling operations. so selection from [he to the left is arbitrary. for safety reasons. In this case. consider the part length of the cutter (512=2. which causes a suitable chip as well as favorable angle insert entry into the material Single face Mill CutFor first face programming example.6 4.O HOi N5 GOl Z-O. reasons. in air. Only one written. the programmed position was established at a convenient YI.)""I'<A-lIUU of afive face mill diameter is Once the mill has trate on the sfart and end positions. but these two are the most The part i~ only 3 inches wide. as well as the of calculations. 0 M09 N8 G28 X-2.O Zl. 0 m GOO Zl. Figure shows the cutter start position at X7. 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. To establish position. so a face mill that is wider than 3 inches should be selected.O. . 1.vp'f'hi'lnO'<.5 inch overis 30% of cutter diameter.75Y 1. With a 04.0.5) and the (.3 = 3.program 02801From the drawing is apparent that the face milling will part. and end position at X-2. For Y axis start position the n.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. best insert entry angle.2 F50.80. so the X axis horizontal direction place along will be selected.05)(35)(3)(1PLATE28·7 Face mill positions for a single face mill cut exampleFigure 28-6 Example af a single (ace miff cllt .: on edges and select climb milling (It the same Actually. rapid motion is split between blocks N4 and N5.25). if This shows the proZO at the top of the unmachined not the more customary finished face. Before the can be started. With increased confidence.. part program for the single milling cut can be as program zero (ZO).800.0 MOS N6 X-2.75. Allhough a inch mill seems like a natural choice.75 Yl. with the top face cut is used .0. It does not or from the right to except for the direction of chip flow.Figure 28-5a illustrates incorrect and Figure the correct width a face mill cut.FACE MILLING1XOYO is at lower left comer.75Y 1. The decision to cut along the X axis (horizontally) has is whether from the left to the been so the left.90 and 3 x !. diameter should be 1. let's see if it conforms to the conditions that been established earlier. Although the tool is well above an empty area.

it the part.1310'Si6~13 x 6Figure 28-11 Example of a multiple face mill cut . they are more efficient then the unidirectional method. applied tD a unidirectional cuttingROUGHINGFigUre28~FINISHINGUnidirecti naf approach to a multiple face cut for rough d finish face millingillustration the order and direction of viduallooi motions.may be either the X or the Y pnnclpIes of the cutting motion will remain the same. The directi?n . 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.program 028D2.cutting.10. but is not erally recommended. This may work for some jobs. It combines the two previous methods and is illustrated in Figure 28. Figure bidirectional milling. mining. Regardless of the cutting method. but cause the face and milling to the conventional versa. Figure 28-8 cally a unidirectional face milling. are used frequently.232 Multiple face Min CutsChapter 28general principles applying to a single cut do apply equally to multiple face cuts. because of frequent rapid return motions. often calledThere 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.ROUGHINGBidirectional approach to a for rough and finish face millingFINISHINGface cutMultiple unidirectional cuts start from the same positionin onebUI the position in the other axis. and always in climb milling mode. Note the start position (S) nod the end position (E) in the two illustrations. only about 213 of diameter cutting at any time. This is a common method lacks efficiency.Figure 28·10 Schematic tool path representation for the climb face milling made. is to make each cut approximately same width. scnematishow~ aMultiple bidirectional cuts.Compare the motions of two methods. The most typical ods are multiple unidireclion£ll cutting and nwltiple bidirectional cutting (caJled at the same Z depth. In the next two i1Iuslrations. They are indicated by the heavy dot at face center of cutter. In a tool path difference (cutter position) between irlg and finiShing is also showli. start and milling cutter is always in a clear position at of cutting. mainly for safety reasons.

7S Yl. already described in Chapter It is probably only application of the position on modern CNC machining centers. its a suitable To use 0280 I program as an example. the starting position was X7 . 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. using the Y was more convenient. aH relevanr blocks are identified with too] positions corresponding to the numbers in an earlier Figure 28-10.75 8344 M03 N4 G43 Zl. its width of cut. 0N7 GOO X1.S M30 %In both previous examples. the program 0280 I may be with following content:result. which is a little than 2/3 of a cutter.O Nl.O N9 M30%.7S Nl3 GOO Zl. to Figures show that we have to face (with cut) a 5>::3 using a 05 inch face mill. In a milling program. G20N2 G17 G40 GBON3 G90 G54 GOO XO. Howpurpose of exampJe illustrations. In order to make the surface finish better.END) Nl2 GOl Y-2.FACE MILLING233of the examples could been done in a shorter the X resulting in a smaller program. this situation will of the following forms:o o TheIn p'fOgram 02802.9 (POS 8 .02902(MULTIPLE FACE MILLmG CUTS)USING POSITION COMPENSATION1)(POS 2) (POS 3)Nl.75 Y 1.75 Yl. In to the safety rules in machining.75 absolute value of cutter center.0 inches.7S (POS 7 .0 by . part was 5.O M09 Nl4 G28 XB. In ormill cutting from part by one quarter inch. The previously discussed are applied should present no difficulty in understanding the program. the mill has in an open area. the expected cut was overlapped at X9. the clearance of inches has to be incorporated with the ofthe face mill.NO COMPENSATION) Nl G20N2 N3 N4 N5Gl? G90 G43 GOlG40 GBO G54 GOO X7. width was separated into four equal cuteach. As the title of section the solution is to use <obsolete' Posirion Compensation feature of the control system. including block number references. 75 F21. 254) N8 GOl Y-2.7S Y-2.2. plus a clearance of plus the inches cutter total X7.02801 (SmGLE FACE MILLING CUT . Either there will be too much clearance (if the new tool is smaller) or worse will be not enough clearance (if tool is larger).7S (POS 5) N9 GOO X4. is another way to solve this problem.O 8344 MO) Zl.0 MOe05.0 MOaN6 Y'8.O Zl.on onemill radius is programmed using the actual valuesPosition compensation method is usedIn the first case.2 F50.1 OVERLAP) Nll GOO XS.75 Zl. 0 M09NB G28 X-2. the starting XY position of the face has calculated. The last cutting motion is from position 7 to position 8. of the part are the same as for the single cut example.The programming example multiple face milling cuts is based on the drawing shown in Figure 28-11. to achieve the actual tool starting position for milling cutter. away from the part. major deviation from the norm was the motion to position number 7 in and block Nl] in the program.2 F50. which is inches.100 to the value of In Figure the schematics 02802 program are shown. 75 F21. 0 H01 Z-O.0 (POS NlO GOl YB.0.7S Y-2.O HOl N5 GOl z-O. 0 N7 GOO Zl.0.0 CUTTERFigure 28-12 Multiple face milling details for program example 02802N6 X-2.

but it some notable doesChapter 28When comparing.0 MOS N7 G47 X-O. calculated start posllion the cut.0 Ni GOO ZLO M09 N9 G91 a2B XO YO ZO NlO teO%. (new X value).2S F21. It contains the position compensation G46.5 inch mill is used. and in block N7 (compensation G47).0 HOl N5 G46 XS. no compensastart position cannot milling tion will take place. using a rather obsolete programming feature. tain last block worth a further look is N7.250). as well as at the end of cut..O 8344 MOlN4 G43 Z1.02801 with the new proCompare the original 02803. is need LO compensate at the start of cut. That is the initial position. example. within reason. It contai os G47 position compensation command. The main benefit this method is that. the can be programmed very creative]y. even if the face mill diameter is changed. Since the plan is to apply the compensation G46 (single contraction). mill radius is totally disregarded in the program. the tool has to be at a position of a larger value than one expected when compensation is completed. the stored value 1. if a 03. With some ingenuity. The N5 block is added to program 02803. program that uses the position compensation5 x 3 PLATE28-13 Example of the position con10eJr}sal[lOn as applied to face milling program 0280302803(SINGLE FACE MILI. This is because the position compensation is always relative to the programmed direction.ING CUT) (USING POSITION C'OlMPllmlATNl G20N2 G17 G40 GSON3 G90 G54 GOO XS. which is a single contraction in programmed direction by the compensation amount contained in the register of DOl offset. but N5 will still conthe DO I offset will CNC system will do its work. In this case.2 F50. Therefore. but the starting position may have to changed. note the major differences in N3 . The N3 block contains X position with value of X8. program 02803 using position compensation is similar. In block N6. the cut is completed again. XS.O Yl.0) and the selected (. The situation will benefit from some more detailed evaluation.234Block N3 moves the face mill to the actual. the job can done very nicely. Also note the initial position the the same. in block N5 (compensation G46). The X value is equivalent to the selected clearance of X-0. the grammed coordinates will not change. Note that if the G45 compensation command were the initial position would have to be a smaller than the one when compensation is completed. at actual previously position.25. G47 command means a double elongation-of the offset value along the of the programmed direction. 25 DOlN6 GOl Z-O.O is an value. Note that the prowhich is the total of grammed coordinate value is the part length (5.0.75.

radial recesses..Circular inlel polalion is used complete circles ill such applications as radii (blend and parlia}). in machine shops use radius and diameter dimensions a lot. Two of the most important in part programming are Ihe elements of a circle radius and thesimilar definitions of a circle that can and mathematical books. Additional will for some specialized or complex appl At this time.~"'_~. there related 10 contouring. it helps to know something about basic As an that is entity known as the common in everyday life. is radii. terms.tp·rl235. wire EDM. only considered in disciplines. become at leasl miliar with the geometrical and trigonometric for arcs and circles.~u. such as Computerized mol ion control and aUlomation. as well as such as simple and laser pro-/ .. they are gauging (inspections). following definition ora circle and that are related (0 a circle arc based on some common dictionary definitions . filers.Figure 29· 1.In the simplest . routers.1'"I'::IT<:I.CIRCULAR INTERPOLATIONapplications. with an almost unlimited number of possible Radii and diameters are also tool insert designation. The a circle and its various properties as handbook. a circle is defined by ils c:enfer point and its os. corner helical even large counterbores. along a tool path contouring is called in proftling on centers. The terpolale a defined arc wilh a very information is given inBasic elements DI a circle RadiusMENTS OF A CIRCLEunderstand the principles of programming various cirmotions. only its mathematical . a circle various properthat are slrletly mathematical. etc. the actual application of an arc or is not important. and others. the other chapler.. although the word 'has been accepled as a colloquial term. circular IJV'~"'''''~ CI"\n"r1r'~ Or conIcal shapes.center point location circle is also important of the word radius CNC programming. provides a sufficienl knowledge programming. as well as in tions and various auxiliary programming. radii and diameters are used all the on a daily basis for aJmost all contouring machines. In programming.CENTER QUADRANT POINT/RADIUSfigure 29·1and and many olher machines..

zero degrees correspond to the East direction or three n 'e/()rk position of an analog clock . The only purpose of arc vectors is to den ne a unique arc radius between two poi nts..236 Circle Area and CircumferenceChapter 29The area of a circle is defined by this formula:~where . the angular difference between the arc start and end points is irrelevant. J and K (described later).or the CQldinal Point . A R1t:=Also worth mentioning is a mirrored tool path and its relationship to the quadrants. What happens to the tool path when it is mirrored is determined by the quadranl where the mirrored tool palh is posilioned. if a programmed tool path in Quadrant I is mirrored [0 Quadrants II or IV. The same rule applies to a programmed tool path ill Quadram II as it relates to Quadmnts 1 and III. as well as CAD. For now. mirroring and quadrants must be considered together. measured between the start . In this case. The line created an intersection point between the line and the arc. the angular difference between the start and end pOints is vcry important.A circle is programmed in all four quadrants. or four intersections of the circle with its axes.. because the computer will do its own calculations to find the arc center. uses an R negative value. C7LoCircumference of the circle The circle diameterQuadrant PointsConstant (3. while most arcs are programmed within one or two quadrants. It is often known as the QuadraJlt Point . In order to understand the subject deeper..DegreesWatchdirection 3 o'clock 12 o'clock 9 o'clock 6 o'clocklocatedbetween quadrantsIV and II and IIII and III0EAST90180NORTH WEST SOUTH270III and IVAt this point of learning. uses an R positive value. except in mathematical terminology.. The arc with the angular di ffcrenee of 1800 or less.&where . There ru-e two possible choices and the radius value alone cannot define a unique arc.:md end points.Figure 29-2. although understanding their concepts presents a rather useful knowledge. because climb milling in Quadrant! will turn into conventional milling in Quadmnts II and IV .a situation that is not always desirable.although the lauer term is not used too oftcn. the direct radius can be used wi lh the R address. Similar changes will occur for other quadrants. When programming the arc vectors I. avai lable for majority of control systems.. it may be a good idea to refreshsome fermI) of rhe ~ngle direction c1efinition The eSf("lb-lished industry standard (mathematics. Although it is not a subject of Ihe current chapter. due to its nature. For many arc programming projects.= =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. The arc in which the angular difference is more than 180°. ThIS IS a very important consideration ror many materials used in CNC machining.1415927)It is important 10 note that both the area and circumference of a circle (its actual length) are seldom used in CNC programming. draw a line from the center of an arc thai is paraHelto one of the axes and is longer than the arc radius. That meanS a climb milling will become conventional milling and vice versa. the cutting method will be reversed.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.QUADRANTSA quadrant is a major properlyor 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. This point has a special significance in programming. 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:Compass directionIt is 10 every programmer's benefit to understand the concept of quadrants and their applications for circular motions In milling and turning programs. From the above table. There are four quadrant points on a given circle. it should be adequate to cover a very brief overview only_ For example. rn the Chapter 41 are more details abom mirror image as a programming subject. CAM and CNC) defines an absolute angular value as being positive in the counterclockwise direction and always starling from zero degrees.

the control system will aUlomatically look for the last programmed feed rate.CIRCULAR INTERPOLATION237POSITIVE DIRECTION/I1ANGLECircular Interpolation BlockThere afC two preparatory commands programming an arc direction:G02 Circul<Jr motion clockwise Circulm mOlion counterclockwiseDIRECTIONG03MatheJ7Iatlcal rU>1Jmlll1n01 the arc directionquadrant poinls arc im· In some cases. 111is canceling mOlion is Lypically GOO. The preparatory commands G02 and are words used in programming 10 establish circular tion mode.. and the R value specil'ies !hearc radius. direct radius address R specified and the arc center vectors I. look up Chapler helical mil OnmllSIPROGRAMMING FORMATThe progrnmming format path must i ncl ude lask of cUlling an arc parameters are defined as:o oArc cutting direction (CW or CCW)Arc start and end points1001(heo Arc center and radius valueThe cutting must more detaillaler in this used for circular molion . The coordinate words following command are always designated within a The plane is normally based on the available axes lions ofXY. wilhBoth the G02 and G03 commands are modal. ahhough some conLfol indicate it as G 18. J and K. If in effecl al all. Special arc center modifiers (known as vectors) are also availif programmer requires (hem... (he ZX The plane selection and the combination of circular motion and the arc cutting direclion determine the arc end point. mol ion direction is determined hy at the plane in which the circular mOlion The motion from [he plane venical horizontal axis is clockwise. applying the same basic rules as for linear interpolation. they remain In effect unLilthe end of program or until canceled by another command from the same G usually by another mOlion command. this take a brief lookmajority of older conlrols. the quadrant .. (here is no plane selection on a lathe. rr"'rr'. . All circular 1001 path momust programmed with a cUlling feedrate in dlecl.. many controls usually rcturn an en'or (an alarm) to lhat effect..even If the cIrcular is is particularly lrue where crossing the quadmodern controls block. The feed rate tIed in one of two ways. more details on this subject. Either directly. Wilen Iht! or G03 command is aclivaled by a CNC any active 1001 motion command is automalically canceled. That means the fcedrale F must be programmed before or the cUlling mOlion block. Gal or a cycle command. ZX and YZ for milling or applications. Jf (he feedrate is not speciin the circular motion block. ramelers related to the"Y'IArc Cutting DirectionA cutting 1001 may move clockwise (CW) or lenns are assigned by convemion.. Normally. . reverse is counterclockwise. by assuming Ihc lasl motion in a rapid mode is not posnot possible is Ii simultaneous three axes circular molion. This convention has rnalltematical docs not always malch the machine axes IeI' 31 describes machining in planes. wilhin block only or indirectly.

.Figure 29-3. The instruclion contained in the start roint block is sometimes called the departure command ....Figure 29·3~K--USED IN MILLINGCenter point and start point of an arcUSED IN TURNINGThe 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. R .\..mil ~till milinlrlin the cutting direction... z .. _ .r .. Address R is the actual mdius of the tool path.R -. Arc Center and RadiusThe.rs only. Another important concept to understand is that the CUlling direction CW or CCW has nothing to do with the arc center or the radius.-. In different planes... 1. J . G02 (G03) x" Y . Y ...... radius of an arc can be designated with the address R or with arc center vectors r. J and K......CCW . block N66 represents the end of a contour. R G03 X.. so Ihe coordinales represent the end of arc and slart point of the next elemen!.. regardless of the order:G02In Ihe example.. I ..75 Y7. K . G03 X . The R address allows programming the arc radius directly...... R . Z . the radius value takes priority..CW . G03 X . as determined by the cUlling direction.. different pairs of vectors are used.. Y ....cw . Always keep in mind lha! numerical cOlltrol means control of the LOol path by nUn/ben'.. R ..CCWj..... J . This poinl must be located on the arc and it can be a tangency point or an Intersection......CCWControl systems supporling the arc radius designation by address R will also accepllhe UK modifiers.... resulting in a blend radius or a partial radius respectIvely. I. R... J .... This unique radius is achieved by programming the R address for the direct radius input.. The control system needs more information than direction and target point in order to cut the desired arc.CCW . Y . or using (he UK arc center vectors..... There is virtually an unlimited number of arc radii thal will fit between the programmed stan and end poinl~ .. Most modem control systems support the R address input..Figure 29-4 shows the signs of arc vectors I and J in all possible orientations. usually the radius taken from the part drawing. J and K are used according to the folloWlll l1 definitions (only I and J are shown in the illustration): e...... ' .-.-. The basic programming format will vary only slightly between the milling and turning systems. This point is sometimes called the target position.. Arc Start and End PointsThe Slar! poim of an arc is the point where circular interpolalion begins.-. The last block of the exnmple is N68 and represents the end point of (he elemcnt Ihat starred from the arc. --1.S G03 XII. bUi the reverse is not (rue... III the following block N67... Y .238G02 x ..l25 GOl X ... Z . The end point of the arc is the coordinate point of any two axes. K . there is an infinite number of mathematical possibilities and all are corresponding to this incomplete definition. This additional information must contain a definition thaI defines a programmed arc with a unique radius... If bOlh the arc modi fiers UK and the fad ius Rare programmed in the same block.CENTER POINT I POINTSTART POINTCCW=+~ ~ ' ...... I.... 625 Y8... In this case. ... where the circular mOlion ends.1-START ..Arc Center VectorsHere is an example:N66 N67 N68 GOI XS. It also represents (he start of the arc that follows next. Y .J .. but the logic of their usage remains ex· actly the same. I..Chapter 29 _Milling Turning Milling Turningprogram program program program.Arc vectors 1..cw .The start point of an arc is the last position of the cutting tool before the circular interpolation command. G03 X . Z ... R G02 x.. In terms of a definition.. particularly for the R address version:G02 x ... older conlrols require {he arc center vecto. such as a linear motion....CENTER POINTMilling Turning Milling Turningprogram program program program.. the lJK arc center vectors are used to actually define the physical (actual) arc center position.---.. the arc IS machined. G02 X .::'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...cw .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).(GO)) Y . 625 R1.ox.... This is never true...

. K . no! from arc center. parallel to the Z axis. Arcs center de· finition follow standardarc (as specified by the DK vectors) is most as an incremenlal distance the two points... minus direction and must always be written. to the center of the arc.Arc center vector K is the with "n" . sure how each of the cOnlrol terns in the shop handles these situations. the arc center is programmed as an absolute value from the program zero.. for example many Cincinllati use the absolute designation to an arc center.J+101. using absolute arc center. ili"rl measured the start point or the arc. programmed with a directional sign . J . Y R .(he start point of lhe arc and thespecified direction applies only to the incremental of arc center. in this respect creates a major format..J+29·4 Arc vectors I and J (also known as arc modifiers) anddesignation in different quadrants (XY plane!error. cases. R (G03) Y Z R .cases where bothThere is JlOandio those in the shop...CIRCULAR INTERPOLATION239G02G03QuadrantQuadrantIIT1+ JO1+ J-1+/Quadrant/IIIQuadrantJ+1+ J+IVD1. the three geometrical planes correct arc vectors must beG17 G02 G18 G02 G19 G02 (G03) x . K ) J . It is the of relative posi· tion oflhe arc center from the starl point.(orI .. so be careful 10 avoid aArc in Planesmachining centers.absence of the assumes a positive direction. control systems. ).. ) 1. (G03) X z .

Even if the plane correct. as arc vectors or the R value.or cone.oEyG18 . In case. For the millfull is fairly rouli ne and is reas:ooEach radius may be nrr\OrMTIrrlJ'·rI rection and each may any orientation that the cultiBlend RadiusA point of tangency between an arc and adjacent element creates a blend radius. of a circle and are gram an arc. gency is the only contact point between the two elements. Blend radius is defined as a radius tangent between a line em arc.ZX PLANEChapter 29G19 . Such a block is will always be executed on the of axes priority_ This mediod is preferable to the vious!y defined plane. A blend arc creates a smooth transition point of tanbetween one conlour element and another. Similar calculations are required for blends between other entities as well.-1 as a ra-Progrrunming arc is very common. Full circle is on the Jathes in theory only. it must the start position bei the same as end position. dehad used inooBlend radiusPartial radiusFUll CIRCLE PROGRAMMINGAll Fanue and many controls support a full circle programming.CircularSpotface millingo oHelical milling (with linear Milling a cylinder.'(es.1f only a portion of the only 11 TwoIIIpoint is not tan-il in two for the arc start a blend are...YZ PLANExz~------------~Xzy29-5Arc direction in three planes . the resulting tool motion willThe 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. The Ihis potentially harmful problem is to follow aIn nonstandard planes. functions are used to calculate the staft or or both. plancsrn. In this case. an arc and a line.-n'T\f'plane is no! aligned with the axes used mlhe program a(e [he circular molion will to the axis selection ill the program. point. A blend arc is known as aarc or afillet radius.the orientation of the axes is based on mathematical. modal motion is omiued.". a full circle is Ihe resu 1t. or between two arcs. (he circular program always contain specifications for both a. not machinc. since the not allow it. Full circle is an arc machined along 360°. nan arc.Partial RadiusThe opposite of a blend arc is a smooth blend between two conlourRADIUS PROGRAMMING11 '" I'. If the arc is 360°. is only a porlioll.

.0 seoo M03. were calcu lated by the functions:~ 1.1START POINTcontrols do nut allow a circular I 1"1 fj>rl"l. which is an pol1anl programming consideration.25 X2.--2.7S Y2.more difficult by establishing the cut from any of the four are at .0483 J-O.2S I1. For exam-entry.25 JO F12.00 29-8Full circle programming using one blockI1rl1f1rrnmstarting positionrant points. Using the the resulting program wlll be a same resuiL') .0 YO.0483382 Ys = 1.25 FlO.O X3_25 Y2.0 YJ.0 1-1.25 JO F12 0 XO.)a four block programmi/thaICOV-"\\\\The arc start and end pOints are located al a quadrant poinl of the axis line. OF4) 4) 4) 4.lA full circle cutling is defined as a tool motion completes 3600 between the start end points." I more than one quadrant per block.25 JO X3.::.-.25 FlO.reI .00J_IR1G90 G01 G02 G02 G02 G02 G02 GOOGS4 GOO X3.6808 X2.0 I-1.680B IO J-l. thaI (he G02 is block only for the to be repealed in a program.75 Y2. In this case. the arc (shown asxs ys willhavetobecalculated using trigonometric functions .0 YO 7S 1-1.25 JO X3.25 x sin33 = .25 x cos33 1.O X2.Figu.0xs(FULL CIRCLE)GOO ZO. notfour. 1800 and 270".0 G02 X3.Figure 29-8:G90 GS4 GOO X3.25 Y2.cutli--2.25 JO XO.29-8 Full circle programming using five blockscodeII2.n'fflUII'Ifour blocks of program entryValues x~ and y.0 S800 MQ3 GOl Z-O 25 F10. resulting in identlcal coordinates for the start and end tool pos)([ons.6807988G90 G54 GOO X3.CIRCULAR INTERPOLATION1GOl G02 G02 G02 G02 GOO Z 0.R1.0 YJ. The quadrant the example is to 3 o'clock position (0°).04B3 Y2.2S ZO.25 Y2.25 Y2.25 (BLOCK ZO.2S Y2. there will be five circular ple.0 IO Jl.0 IO Jl.7S I-1.(BLOCK 1 OF (BLOCK 2 OF 3 OF (BLOCK 4. to be divided among four or even on the srarting tool position.0 IO J-l. This a typical application one programInl of a full circle .25 11.l1 OF 5)2 OF 3 OF 5) 4 OF 5) 5 OF 5)Figure 29·7 Full circle nJ'f'lI.Figure 29-6.6808 SBOO MO) Z-O.25 X2.04S3 Y2. to the occurrences of 10 Ihey do not they change.25'.00-~". if the coordinates of the start poml of blocks.

0 ZO. lhere are many options for a full programming.0 MOS N6 G4l YO.0 N8 G02 J-O. it returned to its Y start poi nt .37S F40. 25 F12.5 F40. only a handful of the possible ares is shown. quire the ICilflnOIo01.0483382Y = 2 +29 Boss MillingaYs2. start point.-Fl.75 DIA END MILL)Common radius and motion direction--Common start and end pointN1 G20 N2 G17 G40 GSO N3 G90 G54 GOO X-l. If an R value is programmed for a 360 0 arc.242From the resuits.0483 Y2.2S F9. This is a precaution built into {he control software.-I""'MR.G90 GOl G02 GOOG54 GOO X3.680a ZO. to prevent from cutting an incorrect arc because of the many existing possibilities. the tool a climb milling motion to the top of boss.0 MOS N11 G91 G28 XO YO Z2.l.906 DOl F20.O F20.-····1'lIIjIFRONT.atdeplh:02901(0.6808 1-1.0483 Y2. Mathematically.680B 5800 M03 Z-O. l.0483 Y2. [he start poinl of the cut can be found:X=2+Xs '" 3.0 Nl2 M30%.29-10Boss milling eXiJ~mf)"elor program 02901are terms used for external milling is an milling of a full The cutler used will bej/VI. end poinl.6808As an example of a full circle be used. Then it around the circle to the same point moved away by revcrsing the initial motions.6807988X3.6808 Rl.0483 J-0.lTOPJ"ri.lion and depth./Figure 29-gManv mathematical possibilities exist lor a lull circlewithRIn program 0290 I.I. as illustrated in FigureIf the control in one block.S S750 M03 N4 G43 ZO.JJ shows Ihe block numbers. In29-9.2S F9.0483 Y2.0 N7 XO F14. no circular motion will take place and slich a block will be ignored by (he conlrol.0 M09 NlO G40 Yl.hare the same cutting direction.l HOI NS GOl Z-O. The circles ). and radius.0483 Y2.Figure 29.6808 S800 M03 Z-O. They do nOT share center points.0 (* WRONG *) X3.812G90 GOl G02 GOOG54 GOO X3.O Yl. the tool moves first to the CUller radius When reaching the cutting depth. then the.906 N9 GOl Xl.0 X3.cannot be arbitrarily replaced with next example is tlot correci'L~".

a semifmishing pass.3l2SYO.-".A cutter radius offset cannot start or end in a circular mode..last example will not be practical when smooth blendl.3125 YO.25 circular cavity is to be machined totion will.625N6 G41 XO.0 N7 GO) J-O .tool motions for program 02901This is true for almost any circular application."'" as a slot drill) .u.full circle cutting is common and has many such as circular pockets or counterbores.-".0 N7 GO) XO YO. the start position of .25 F10."""""'''. prove the surface finish.2S FlO.0 MOS Nl2 M30%.I. 5 DIA CEN"l'ER ENDapproach29·12Internal circle cutting .CIRCULAR INTERPOLATION243N8 GOl G40 XO F20.l HOI NS GOI Z-O. radius offset started during the motion from arc center. wo cutting related to machining.N7Figure 29-11 Boss miJling example .vJeen the approach and the circular cut is required.O MOSmG20N2 G17 G40 GBO N3 G90 G54 GOO XO YO 8900 M03 N4 G43 ZO.62S RO. 5 DIA CENTER END MILL)Nl G20 N2 G17 G40 GSO N3 G90 G54 GOO XO YO 9900 M03 N4 G43 ZO. 3n program 02902.625 N9 X-O. Internal Circle Cutting .3l2SNB J-O.LU""'Ll'Q'~"'''''U1J'~. to apply cutter then on an arc that blends with the full 29-13 illustrates the principle and the complete program.linear approach only02902(0 .250 inch. very few that use a special cycle.0 M09 Nll G9l G28 XO YO Z2.3l2S RO.3125 001 F12. In an a 01.O MOB N6 G4l YO. The usual startup is ftrst at a 45° linear motion.3125 NlO GOI G40 XO YO F20. Internal Circle Cutting ~ Circular Startsimple linear approach programming me:thcfdAlternate applications may include multiple 1.Figure 29-12:Figure 29·13 Internal circle cutting linear and02903(0 .linear Start.625 DOl F12..l HOl N5 GOl Z-O.:u tion can be reached on an arc. where the entry point blend The cutting tool is a center """'.0 M09 N9 G9l G28 XO YO Z2. A simple moused for the startup.0 MaSM30N2N9mo%N5N8Program 02902 shows both arc start point at 90'" programmed at ] 2 0' clock position.

approach is to these two mode (CUller radius cded) al allThe program is only two but it is simpler to develop.. D .25Full circle CW Full circle CCW13is the radius of as an incremental value (plus sign is assumed).0 MOB IO. asas between G03 and G 13:Full circle cuning Full circle cuttingcwccwlhese two speI12A typical programming cial commands is quite simple: G12 I . finish quality will than using olher method when types of tool approach..25 Fl0. sider this situation as a special case. These cycles are very rnn. for example some but not Fanuc.. F ..n In Gl 13 mode. There is also a built-in lead-out arc in the [0 (he lead-in arc. If the culler IS In it will be overridden the seleclion orGI2 orGl3. G 13 to the left). Never program the commands G41 and using G 12 or G 13 command. at 1800 position. on some controls. a cutter radius cannot start in an arc tool mr. a cutter radius (G 12 to Uie right.the rad illS This indicates special to reduce air cutting lime.Full circle cutting using 612/613 program 02904start3 or the start pomt of the cuI equivalent 10 the 9 command cannot be02904(0 .\lpn ming aid and to the surprise of many dropped this feature many yearsIS13 progranuning. Some cycle built-in. Ihal is effective when the is completed.Chapter What is not true in circular application. is true in this situation. G I 13 format . is also an additional since the start point on circle is not a result of a line.nr.. This is a the machined surface quality is impol1ant... Circle Cutting Cyclecontrols. wh icn is equivalentto the If the sign is negative.G13 I . the .0 MOSAVAILABLE)N8 M30be (lcceptecl for successful usThe cutting tool must a circular pocket. but a lead-in arc."JJ"'V to a macro. willa logical relationship between G02 and G ]2. but are alternate versions of this very similar in nature.l HOl Z-O. have a built-in routine circle using special preparatory G 12 and G 13. F .244method is slightly quality with a circular approach than with the linear approach. all built into the control and [here no choice is offered. the start molion from center position is circular to compensated start on the arc circumference. definitely nol as aOn some CNC models. In normal programming of arcs cles.r:r-----t---t"'J .62S DOl F12. 29-14. the 02903 could uu. the plane and (he arc starting al 0 0 or J80" (Y axis start is nol possible). which is direction Y direction.N2 N3 N4 NS N6 N7%G17 G90 043 GOl G13 G91G40 GSO G54 GOO XO YO 8900 M03 ZO. there is an additional rarne!er In the.L0.If a control systems has the User Macro option and many circular are required. D . The cutter offset IS automatic (built-in) and the editing at is much easier. 5 DTh CENTER CTJT'I'ING END N1 G20PrograrHJIlt.0 M09 G28 XO YO Z2.U D is ule co 11 trol register number the cutter radius offset F is address.

/j.25 F12. Study the illustration in Figure 29-} 5. Although this difference IS much more important mathematically than for practical programming.25 Rl. In lathe programming. What if the circle is 359. where large tool radii are normal and common. the dashes identify the two possible radii.. Ihe R address can be programmed. {he program will no! he much different:GOl X2. 'TIley include the work setup.0 YS. described earlier. Look at this arc a little differently. the feedrate for circular interpolation is determined the same way as feedrale for linear inlerpolalion.G01 X10. they all appear to be right. Are the following blocks correct?GOl X10. lhe word assumes a positive value.0 R2.Q G02 X13. an incomplete circle is nothing more than an arc. always consider the size of every radius specified in the parr drawing.625[Qthe previous onc. there is no reason \0 distinguish between linear and circular lool motions. Compare the two programming examples:GOI XlO.5 YS.either upward or downward. Yel. In circular interpolation terms. This is not the case for milling contour programming. individual words. the distinction is very important. it is used here only for illustration.R+j. the usual posili ve R radius remains in effect.0 G02 X3.CONTOURStart point.625(270 DEGREES)If frequently programming arcs that cover more than180°.l small difference of 0.CONTOURFigure 29-15 Sign of R address for circular cutting .0 G02 X13. The solid contour is the tool path.CIRCULAR INTERPOLATION245ARC PROGRAMMING/. The tool nose radius is usually small. unlil they program arcs larger than ISO" (or scrap a part).The blocks appear to be correct The calculations. The cutting feed rate for arcs is based on established machining conventions. Programmers do not normally think of these mathematical alternatives.! Its result Will be a 90° arc. not 270 0 . but with a negative sign for any arc thal is greater than 180°. material machinabi1!ty.Note that the Y coordinate is the same for the arc start and end position. Even i. programmer's expenence and other factor·s. taken from a drawing. The arc center vectors I and J have to be applied. regardless of the radius size.0 YS. Although (he I and J vectors can be used to relnedy the problem.75The following example is identical except for the R address sign.// _ . for example:GOl X2. Yet. a different remedy may be a preferred choice.0 G02 X13. If the styleis well thought out. If a 90° arc is made. Another example shows programming an arc of 270". circle must have 360°./"\IEnd point.0 Rl.625 F17.5 Y8.625(90 DEGREES)FEEDRATE fOR CIRCULAR MOTIONIn most programs. establish a particular programming style. Perhaps the same feedrate for linear and circular motions programmed so far may have to be adjusted . Ihe program is wrong. For arcs smaller than ]80 0 .12S Y6. the R address cannot be used at all. only averaging . but fHiO mathemaUcal possibilities when the R address is used for arcs.0 G02 XS. it will avoid the costly mistakes associated with the R address sign error.999°? Well.0 R2. It shows that there is not just one.0 R-2.5 Y8_625 F17. The Y value In the circular motion block does not have to be repeated. Many programmers do not consider the machined radius when seiecring the cutting feedrate for the tool.125 Y6. therefore the word 'circle' is Incorrect. at first. If the machined surface finish quality is really important.7SStart point /I. (001 diameter and its rigidity. still using the R address.onlv the center is differentIf an arc that covers exactly 1800 is programmed.5 Y8. The R address can still be used in Ihe program.75 Y7..25 F12. which means the complete 360° motion._. even on latest controls..00 I ° does make a difference between a circle and an arc.8 mm) and the equidistant tool path IS close to the programmed tool path. Ihe format.12S Y6./With a full arc cutting. Recall from some earlier explanalions lhal if there is no sign with the R word (or any other word). This is a similar situation to U1at of a full circle.625 F17.0313 inches (or 0.

R""0::"Feedrate for arc linear feed rate Inside radius on the Cutter radiusFigure 29·16 Feedrate adlil/stlTlel1lts for circular tool motionBased on lhe Jinear feed rateinch inside radius with downward:Fi '" 14 x (.. . tor\n'.iii?where . FEEDRATEFEEDRATENORMAL~''''F..F.Chapter 29The arc feedrale is nol required in gram. no adjustment is needed.the normally programmed is increased for outside arcs and decreased for inside arcs· Figure 29..384932The result is a feedrate will be Ihe applied fPpnrllfPinimin...F address. the tool center path a much arc one in the drawing."""':(WO(. In the program. In a is used shorterTwo formulas provide to find the adjusted arc feedrate.FI r/min F! = nF0 FI==linear feedrate Spindle speed Feedrate per tooth Number of cuttingormm/min)AFeedrate for outside arc Lineadeedrate radius on the part radiusonFe = 14linear feed rate of J 4 in/ml n. when a diameter cutter is used to contour a small outradius.'" is 9 Using a relatively large cutrer diameter. On the band. use prevIOus adjustment is justified or not.25) / . to the linear Both formulas are recommended for external or contouring only.16.375 = 23.8243 -14 in/min.375 + 0. the adjustedfeed rate... motion may be 11:. If cutler center tool path is close LO 1 contour. the feed rate for I must be ad-/ .0045 initooth load and culling edges. nOT rough machining of solid material.75) / 0... the r"""'.. (\5....315TPPflrnlt" changed from 14 If1crease.FeedrateOutside ArcsFor outside arcs.. a problem that affects the finish may occur.. The formula for~where . .. calculated fromwill lower than formula://DECREASED .inimin -D3to determineCUTTER Feedrate for inside Arcsarcs.375 + .0The elementary rule ofadjustmenl for arcs is that14 x (0.. the linear feedrate or down for circugood finish.75 cutter(01.. the arcs as well. this case.5):42..333333in lhe program.8243=3.875 mm) or larger...is a major incre<ls!!..ildjusled feed rate will be higher than the linear calculated from Ihis formula:In normal programming.Hl~'rthe same example with . as determined by material. an requires an upward adjustment aXA linear feedrate for 1000 .

. wiLh the culler dia~ meter shown as well..Figure 30·1 Tool path not compensated (above) and CDfnp8'nSI!Jil(.. the start and end 1001 position is not importanL only calculations of [he individual contour points at and tangency points.Tool path with.many programmers and machine operators nol it is important to understand the principles built in the tern. the other is compensated.the cutting tool must touch the programmed not its cen.path for all contounng operations is always to the tool molion.program zero will he selected at the lower left corner of Ihe parl. 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.. either (he X axis or the Z axes can be used 10 turn or bore a conof contour elemenl one block of culling molion. This is called the equidistant tool path. Both are applied [0 a particular conlour. If something is aulomated already...J. in a climb milling mode. must always be tangent TO The conlOw. These mopomts can be programmed in or they can use an absolute value position or an incremental distance.. The most noticeable nm"~r'J" contour must always take sated by its radius.. Whether used on a lY center or on a CNC lathe. NO OFFSETJ.ter line.. which means macated in positions shown in the chining requirement is not by the ity of the drawing...:a by the cutter radius7.CUTTER RADIUS OFFSETknown as a profileISnOf-MANUAL CALCULATIONSSome realities should . In either case.is equipped with ancutler radius compenturning systems.compensalion orand commonto apply the offseldrawing dimen(he necessary calculationsThe illustration in Figure 30-1 shows two types of a tool palh.. the knowledge of how it works makes the job so much particularly when encountering a difficulty that has to resolved very quickly. principles thal are very much based on basic mathematical calculations. AIprogramming is a very convenient development.. it is also a method \.I -\'~ICUTTER 0 (TYP).Jnaccomact with rhe material. Que is Iwi compensaled./Or'nIT'''' 30. the tool will start along the Y direction At moment. we have to how it works. the drawing is to tool positions illustrated in the upper The question is how do the tool center uv.. In fact.:. A very simple drawing is shown in 30-2 for that purpose. including the often unpopular nomclry calculations. no! the contour tool cenler. Since lhe culling will be external. including its positions....------~_)PART PROFIto aULOmate something. the cutfing rool machintn '" .. a all dimensions to the part contour. keep in uses the cemer line of or X tool movements. lheymilling applications by establishingthen movmg the cutting tool inX Y or both axes simultaapplications.. from a drawing 10 the part contour'?Actually.. To really understand cuuer offset .".

how is it used? Using a pencil oUlline of the desired shape.6250 YO.Out of the len values required.the saw width has to be compensated.2500. the whole concept. A few addiiional conditions have 10 be taken into consideration. nine of them are given.IX coordinateXO XOYcoordinatei''''''''·""""-. without serious thinking. [here is enough dala to start the tool path. even if it is relatively small.OOOO. so they have a center.Once all the coordinates are completed.2..625 YOJ2.:. which means 'distant by the same amount'.248Chapter 30All five points can be summed up in a small table:Point No. but only if the cutter radius offset feature is used.The tool path generated by the cuttIng 1001 center always keeps the same distance from the part contour (outline). The drawing always offers some points thaI need no calculations. This activity is so simple. so~e calculations will always be necessary and this IS one of Ihem. Reaardless of whether the cutter radius offset is used or nOI.what 10 do aboulthe point coordinmes that have just been calculated and stored in lhe above table. outlille that is offset by the culler radius is followed as . the router bit is placed into the tool and starts CUlling. Of course.1001-.. a whole /lew set of points has 10 be found . Are lhey useful? Can they be used in a program? Yes to the firsl question. 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 . has a diameter of a certain size. Figure 30-5 shows the sample drawing with the applied equidistant lool path.2500 i YO. [he outline of the machined part.25X1. Afler ali.-RO.' Tool Path Center PointsThe cutting lool for milling is always round. An end mill.1\ IS called the equidislom tool path. lhe key element.8561 YO.25 x tan18 a=07311P3(Y) P3(Y)=1. but it is also the basis. but not yet to the second.25'''-. ? P4~2. we all know that any round object has a center.ContDur change points required by the cutter pathTake. Y1 :1250 P3 X2. make a chart in the order of tool path. To illustrate. Milling culter or a lathe tool lip are round objects. for example. The radius of the router bil (or the width of the saw) was compensated for before and during the cut. Where? It starts clilling outside of the outlined shape. YO..8561Figure 30-4The question now is . Every control system takes il into consideration.1.625P4X2. It might have been even done automatically.. an electric router \001 to cut a shape out of wood .OOOO"-pi x(fQ500. Figure 30-4 shows the trigonometry method used.125ItPlP2 P3YO Yl._--P2P1XOYOFigure 30·3X-AXIS I V-AXIS P1-XO. This evaluation may sound a bit too elementary and it is.125 + a =1.25X2.625P5Figure 30-2 Semple drawing for manual calculations {examples)Note that there arc. five points on the drawing. As eaeh point has two coordinates. one LIt each contour change.. perhaps some addilion or sublraClion only. fl is a good idea 10 gel well organized and mark the points from the drawing first Then.Trigonometric calculatiDns to find unknown YcODrdinate. The missing Y value for P3 is not expected on the drawing. Even toolsused for turning and boring have a round end (called the nose radius). Just like Ihe outline of the shape in wood is followed.for example. of cutter radius offset. However.coordinates for the center of the clIlter. /nallual programming is done by hand. lolal of ten values will be required.6250 -X1. Study Figure 30-3 carefully .vell.it shows all five points and all the values thaI need no calculation. These points are either intersections or points of tangency._a:::: 2.oooo I. lilal is not the intention at the moment.25_"~-~18l0_"W.125 Y1. There is even a special name for [his type of tool path .

0025 mm = reground tools.. adding 10 the overall30-8 Calculation of P3 lor the cutter center pointon programming of the I n order to lin ish the d and P3 have to be calcutter center.6250P4RO.. the illustralion directly. point PI? It the new PI has (he value radius also (he value of culler radius in Y from the old P L The actual value an)' cak:ulaleri flI nil..=1.Figure 30-6rpm.PI X axis P1' X-i5:3750P2---" __ vYy-o.IIIY1ate Figure 30-6.3975Y1.-_ . (1 brund new CUller of 0. but also lalions had to be done programming effort. Look at and evalu-=1=. .?P3' X2. Now. another can be brought inlo lhe picture. try to see which are establish them first. Again.y= 1.N = 1 + sin~8 x 0.'.. only eight have that Ihe previous lcn calcuas well. The trigonometry melhod is a subject programmers have 10 know how \0 work wilh .".12510015previFigure 30-7 Calculation of P2 for the cutreror are undersize or oversize some this means that programming the cenlerl the exacllool radius to be known althe in all cases..750 willWhich points can withoul any trigonometric been idenlified. Let's start wilh pointcenter points are in the . .. Ihe cutter A new coordinate set of five poinls can be example.il is part of mathematics.375 lY=P3{Y) P3(Y)Center Points CalculationCoordinate poinls illustrated in Figure 30-5 above. the two Y values ror culaled..125 +NP2(Y) = 1.are known. cos18x Cutter Radiusthe culler is always been phYSically of the cutler must I" (0.RADIUS OffSET--em.rlCHUContour changefor the cutter center paththe old sel of points wi II ra calcupoints.37530-5 taUI(JJsram tool path· cutter center coordinates"''''r. wilhaUi kllowillg the cuf-Figure 30-7 of point P2calculalion. OUI of len values requirt:d. appear in that same ordcr II) Ihe the pOlnt loc3tions hut various G and other dam. shown insin18 .contour.. ~x­ lended to CNC program A similar calculation is reqUIred for P3. sent the center or cuuer radius al each con ram change point. ..

Today. but with the look ahead feature.250momenl.(. we assume that conlOur chnnge points are based on thecoordinates. the WHer in the control system (nominal. G41.a vec-COMPENSATED CUTTER PATHThe previolls examples are Iypical to (hemethods useu 011 the early trols (normally of the NC lype.375The Type C cutter radius offset lhe ahead lype (also called the illlersecrionollype) is one is used on all modern CNC systems today. during actual machining. G41 and G42 in the program.. It also CNC operator to adjust. and the Type C:DooPoints of the drawing contourSpecified direction at the cutter motionType A offset . work wllh dnta and the data hilS to be the purposes of this charier. ture performs all points.oldest uses special vectors in the program to establish the cutting direction (039.625 X1.nlTlinnEverymay not be LOa clear at moment. cutter (and tool nose radius offset on lathes) for a number of reasons:o .750 cutter but nonePointNo. oversize or undersize).! Type B. Overcutting is for Type 8 offset.nnpt'o Unknown exactooAdjustingof the cutter radiusAdjusting for the cutter wearlat(~d WiTh the cwfer radius in This method of programming added a great amount of time to the part development process. is no need to call it Type C anymore.oof the cutter stored in the controloType 8 old uses only G40. or a distance. Even a small di between the pracutter radius and the culler radius requiredo Maintaining mJ'l. it wjlJ 10 understand the subject. not dlUS offsel feature at aIL The lOol such a way (hal the contour conhad no culler rawas developed in had to be calcu-[a develop a program without knowing the exact CUller diameter at the (ime of programming.625YO. In practical terms.current uses only G40.this featurein mathematics 10 101'. but it does not look ahead.oitems are the actual data sources. which is I in fronl of (he Y . to fine iunc.the Type A. This development has laken threeslages. so dId the cutler radius on'set methods.and machining .625diameter of the cutter.il is a symbol forooJitllclriangleword 'delta'.375 X-O.XX-O. knowledge of this topic. it is slill 100 soon to write the new closed with the table ofChapter 300. Overcutting is for Type C offset. greatly rhe possibility ofthe cutter I1pt'lpl:tlonoRoughing and finishing operationsprogramming errors and disallowed any Oexibility during mach1l1ing.yY-O. G41 and G42 in the program. 5ln. as there are no olher available. G40.control system.PlP3 P4P5Defini1ion and Applicationsoffset is a of the control system [hal a contour without knowing the exactX2. The suggestions are only some the possibil the automatic cutler radius offset Now lei's look at aClual use ill prognunmiorand the creation memory in those control tcchnolcontrol syslem melh-but wilhTvpes of Cutter RadOffsetPROGRAMMING TECHNIQUESAs the CNC technology developed. thl.. It may where it came In(o {he It represents lhe value of sin 90°. Type C . G421. they arc known as the types of a cuner radius onsct . based onosophisticated feaof contour changePoints of the drawing contour Specified direction of the cutter motionRadius of the cutter stored indigit I used in the calculations.

. . fied and pOSItioned to the Out of the two ler? Compensation to centers.Cutter radius offset mode CANCELall three radius ofrser30-9....not CW or CCWcare of is to eliminate the ing terms r l r l r F \ . This mode cases. causing so mode of cutting..left and right is unknown fe . The comto the left or to the looking inLO the cutlerI or G42 mode is canceled byG40 command:the left or to the rightthe direccion ojmowmem. These are two very separate to be clarified .which one 10 motion of (he [ahle or motion of Ihe lool?ISmotion oflhethat follow oneof the CNC machine type. There sation to the right. U'l. These terms are circular interpolation and have no the cutter radius offset."'. and Right are usedwhen faced with the we determine the correct poto a certain previously esA moving objcct is said to be La a stationary object. the directions canthe coantrm:/ockwise directionu. a cutler withto the left of the conlow. a closer lookISCutter path direction as ir relates to a stationary pM contour: fa b) No motion direction shown . depending onis no difference...the pffit contour... after consultallon with a applies to milling systems. not toG41G40 Eof G41.RADIUS OFFSET1Direction of Cutting Motionan external or an tool palhthere will always a choice now only. or the (in turning). l I l reserved '-1"_11.r'l left or Right .. to the cutter path..by Ihe faci (in milling).The illustrationa direction. G42 and G40. where it istool motionil ismaFigure 30-9but it isCNC machining centers. because it cutting.. .1 rule of CNC programming:statement is true for CNC lathes. assuming that a with M03 rotation.. there are two to the culternrt>'. ir is .".""..1'::" place inIn order to program one orand counterclockwise.etc. true for other lypes l"Iser Clllling machines.d) Cutter positioned to the LEFT of the contour (e .f) Cutter positioned to the RIGHT of the contourOffset Commandsdirection)... When it comes to the so versus counlerciockwise..

nOl mean forgotten or ignored question al this speci fled in the nrr.or'lrn offset that allows to procontour were the requiredTool Offset Memory Type Acutrershould be eitherFirst.covered later.. Work offsets 054 to 059 are nota rigllr hllnd currer and The spindle rotarion mode M03 Radius of the Cutterof gram Ihe Lool culler path. it is to know what of offset the Fanuc control IS as expected the lower level or control is. .. if nol in even more deprh.J J shows as a climb mi 11 ing and the 042 as a conventional mill' most common in Climb milling mode is millmg. look at ferem CUHer radiSMALL MEDIUM30.answer toarearotates with M03 funclion CW) and the culthe spindle must ler is right hand.offsets in more depth and tionship to the compensation cutter this lopic appear to be aimed at the programmer has fa equally well.1" . memory are the most economi-Tool Offset Memorv Type BFigure 30·12 Effect of cutter radius on the actual tool pathvalues. command is applied the climb milling mode. Now .. Tool motion directionFigure 30-11 Climb milling and conventional milling mode foroo Type C . is true only if the spindle1030last question is seltings.just the flexibility. with wilh this Iype of cal type in theirvalue.has only a single screen column.it illustrates theThe Type A tool offset IS the lowest level available. Because sharing for two different offoffset. DIfferences arc cal:eg. ano vit:e vt:rSl1.. Its Ilexibility is very lim because Ih is offset the tool length wlth cutter radius in a single column. We are areas (offset screens on the controlthe Position Tool Length 17 to 19 respectively).lowest level of flexibility Type B . is no cutler radius offset apG40 command is in30.do not assume! The twO columns for tool values at all. tool length program uses addresses.In it meansISLARGEregistry area as clIn he used.on:reo as Offset Memory There are three on Fanuc systems:tClimb Milling G41Conventional Milling G42oType A . the for both.1""1.. the lower [he nexibility.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..252terms of the milling method.12 .earlier to look at their relaAlthough of the CNC the same prin- Historv of Offset Typeshave developed over (he and because their and many of me older in use understand the models are and their application. particularly in contour milling. They are for the in one column and the Wear this distinction.highest level of 1'1"". is applied to the conventional milling mode.medium level of. the word bility .il IS not the quality that is or higher . 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..

/3 ieal appearance of each Offsef MeinDl)) with zero vaIues). 30.... That means me H is with command..0000. If a particular cutler requires both 1001 offset number and cutler radius offset number.H-offsetGeometry0.0000 0.. H address is r"'C'L"r..0000 0.jour columns in lOlal..0000 0.0000 0.0000D-offset Geometry Wear0.0000 0.. where the lool ues are stored along with the cUller amounts.40. as well as wilh the G41 or cUfling tools do not require the cutler radius but all CUlling lools require the tool program.. but entry in the offset screen will shown in Figure 30. C from the top down[here are two columns avai table. Figure 30. Since their own col-01' .Offset OffsetNo.0000 0.0000_BOlh the Type A and rhe Type Bare with only a single register..0000 0. 01 02 030.ww_wWear0..G4. for cutter radius offsel. D ..0000 0.... 30.. the same offsel no need for the 20.0000 0. In this addresses Hand D will be used for their3 Address H or D ?Wilh Ihe Ihree lypes of Tool MemDlYable to expect somewhat different for each type..''''''' the D address is cutler her Figure 3()~ J6 show~ an input to the Type A and theboth ..0000Shared offsetoffset memory Tvpe B columns.0000 0. Up to a point. D . programmed tool T05 requires both which obviously cannol have the same offset number. ... That means Ihe control display columns . address to usc andof the tool motion and how at a time will be discussed in this the question of which H address or the 0 address?The Type C will the 10(..01' ....0000 0. Normally... is to use Ihe tool number as the tool length offset number increase that number by 20.] 5:No.yes.:~/M' PM'~~~for tool offset memory Type A30-13 Fanuc (00/ offset memorv types A B. D . .0000 0..)1 length and the tool umns..0000example.I Geometry .00003()·1405Shared offsetMh. the Type A and Type B are associated wirh the H only.it is reasonmethodsIt is relatively easy to [ell which offset type is j list look at the conlrol display. is the reason these offsets are called shared offsets.many axes can chapler as well.Programming Format35Figure 30-15G41 x.0000 0.....CUTTERTool Offset Memory Type CThe Type C offset group offers the most the only offset type available that values from those of {he lool radius.... D G42 X . or so. this IS true...or .2 Y .. The aClual appearance different. The entry for the Type A in the offset screen be similar to the one in Figure 30-/4:Offset. It still tinction of the Geometry Offset and the Wear Type B docs..10.OffsetNo. depending on the control model. two offset numbers from the same offset range must be in the program and stored in the control register. 01 02 03.Geometry0.0000Wear0.G41 Y .....0000 0.there isIn.0000 0.

nnd .ns :1dherence to two cardinal rules and several important considerations and decisions.D .625.250 clearance is away fTom the contour. When selecting a startup (001 position.3750 0.rules can be broken. 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. in the clear areaOf course. the way 10 use the offset in a CNC program. the cutter will be away from the actual cutling area. Starting up the onset me(l.625 S920 M03.254Chapter 30The cardinal rule number two is also simple and is based on the adherence to the first rule:Always apply the cutter radius offset-8.625 is lwr compensated.625Y-0.25I:~ ~IL-yO -iY-O. with the radius of 0. the climb milling mode is desired. or fine tuning. the identical general rules can be used for the cutter radius offset. 0. To know what to watch between the start and endRO. In the examples. the coordinates are to the cenTer of the cutter. a few questions are worth asking:oWhat is the intended cutter diameter? What clearances are required? Which direction will the toof take?Geometry andWear OffsetsSimilar to the application of geometry and wear offsets for toollenglh offset. in the program (or something similar). Once the start location is established. as required during setup andior machining. To know how to start the offseti . Adjustments can still be made.oooIs there no danger of collision?o oCan other diameter cutter be used if needed?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. Wilh these numbers. The Wear offset column should only be used for adjustments. Note that the cutter located at the position X-0.625 Y-O. tJle first few blocks of the program can be written:03001 (DRAWING FIGURE 30-2)N1 G20N2 G17 G40 GSONO G90 G54 GOO X-0. The actual application. described in Chapter J9.625!2./-JXO100.25 CLEARANCE.375.25Each item is important and will be discussed in order. we have used a 0.APPLYING CUTTER RADIUS OFFSETAll programming aids required to apply the cutler radius offset in an actual CNC program are now known.625 Y-0. in the clear. There is no separate column for adjustment or fine tuning for the Type A offset. the suggested location is not the only one suitable. ~-O. will be discussed next. The intended cutler is 0. The suggestion here IS to follow the rules until a better way is found. To know how to change the offset 3.75 CUTTER 0. the start position is calculated at X-0.6640 0. To know how to end the offset 4.. To turn the offset on. That is the nominal value and that would also be the typical value entered into thc Geomerry offset column.375.. Figure 30-17 shows the start position that satisfies all rules and answers the questions established earlier.0000 0.0000together with a tool motionIFigure 30-76 Unique offset register screen for tool offset memory Type CThese two rules are not arbitrary .750 cutler. The cardinal rule number one is simple . Offsets entered in the Geometry offset column should only contain the nominal culler radius. There are jour nwjor keys to a successfu I use of lhe culler radius offset feature:1. relative to the nomina! size. to make it effective. but it is just as good as other possibilities.750.Figure 30· 17 Slarr position of the cutter before radius affset is applied Startup MethodsSlarting up the cutler radius offset is much more than using the G4IX . as well as the methods of proper usage.it relates 10 the start position of the cutter:Always select the start position of the cutter away from the contour.

. XOcutter has len the pari contour area and the cutter is not required anymore. which is not alcase.0 N..5 PLATE THICK)and re-extra safety..N. of .8561 N9 YO..625 YO RO. Yl. GOl G41 XO DOl F15. butti1at is not a practical position . still along the X axis only. along the X axis. The block N II willNll GOI X-O. or all of them corlocation eventually.c.(l?2)In alllhree versions. so it has (0 be machined the offset is slill in effeCT! The cutter can end al XO.CUTTER RADIUS OFFSET5(c)ISN4 G43 Zl.375 cutler means the program is still good for cutters up to and including 01 ..0N .3 21-0 HOl N5 G01 2-0. Y1. l)v". the tool continues (Y 1. The contouring IS not yet finished. the only change is [0 the DOl offset amount in theN . part.625 NlO G02 Xl.0N7 Yl. selecting the option (a) is the method of the lead-in.12SN .1 25).. the conlour poims can be programmed along the part lhe computer will do ilS work by conswlltly I.(P2). already in the These two motions will appear inN . 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.125(START OFFSET)N8 X2. Howbecause the as well.875 cutter are not far apart .55 F2S. The question is .5 PLATE THICK)N6 G41 XO 001 F1S...he c. The programmer needs a suitable 100/. How far is further? Why nm to the same X-O. whereas two version will not be for the the progmm would stillue correct:N .250 was selected for . WIthin reason. while still away (he option actually part contour. the cutter radius gether with the first motion. CNC operator has this freedom.how far to cut and when to cancel the cutler radius offset?This is the last cut on the part. the tool has reached Ihe end of the radius.uUer properly offset at all limes. on a V2 inch although thethe approach to the depth of Z-0.Figure 30-18 Possible lead·in molions ro apply rhe cutter radius offsetAt block N 10.0 MOS (FOR 0.625.the tool should move a bit farther. Yl 125N . It will be canceled but a lillie review of the startup may help. Then. Lead-in motion. are some possible options.12SN .0N . culter radius was known for th is job. wilh the Y axis target in Once the offset has been lUrned on.. the bottom side has to cut. That means Next decision is point. GOl G4l XO YO 001 Fl5. 0 HOl N5 G01 Z-O.625 (P2)The (a) option is first and the cutter lion.25 Yl.625 Nll GOl X ..<\U.0 MOB N6(FOR 0.625 5920 M03 N4 G4.55 plate thickness) was split into two mocutter is safely above the clear area. Normally.:lrlH\{~(-. A combination of (a) good choice.. a or 0. because the Culling values depend on it. the original start position? is nOlthe only clearance posilion available.as:The option (b) is motions. GOl G41 YO 001 F1S. but is the most reliable and consistent.except for clearp. heen the first motion can be direction IS to the left the Moving the I command is means first target location.625 Y-0.55 F2S.

. This is Ihe programion to the controlillFigure 30-19 Cutter radius offset cancellation· program 0300103001 (DRAWING FIGURE 30-2). as N6.. rule to establish the start selected with a the largesT culler thati ncreased for aChapter 30 Finally.such an change is rarher a rare occurrence.62S Y-O.--. There was no need for any tool .375.. at contouring operations using milling controls. Figure 9 Lion In (he example.62SNlO Nll N12 NlJ Nl4 Nl5%G02 Xl..62S Y-O.. leI's the cutter radius offsct.25.0 MOS (FOR 0. during a linear motion aT 15RO. We will look at what when the culle. If it become necessary..O M30Figure 30-20 Ambiguous slartup for a curter motion in radius affsef mode..125N8 X2. To cancellhe offset a motion will be length of Ihe lead-out (just as the length of the has (0 be somewhat greater Ihan or at least equal called ramp-in and ramp-out'fhe safest place to cancel cutter[QorDuring a normal mil cui... when it is noOffset CancellationA lead-in mOllon has been used at the the culler radius offset. Next during the tool motion inN6 G41 XO DOl F1S.""'"\N7 Yl.625 Zl.625 YO RO. the normnl one mode 10 the other withow command. il isthc Theto really undersland all principles behindsuch as principles of the cutteris a good beginning. the radius Sf 0 red in DO! 10 lhe left. -Nl G20 N2 G17 G40 G80 N3 090 GS4 GOO X-O.25 Yl. but it will not help much in cases where there is no no and no example.ill/mill. end position.62S S920 M03 N4 G43 ZL 0 HOl NS GOl Z-0. Ihe directional change may needed in the some comments may be useful.. The may have to be adjusted.Cutter Direction Changeor for athat iscomplete the program. if necessary. Where does the too!-SlOp?Figure 30-20:program--llIJli'-tool.5 PLATE N6 G4l XO DOl F1S 0 (START 1"'1 C''C'<:!.... Ihere will seldom be a to change Ihe cutler offset direction from left to right or from 10 .. they only execute inslruclions and follow these instructions B N6 IS an Instruclion: Move 10 XO.. We cannot block. the program 03001 is completed.S5 F2S. The lead-in and the lead-out motions areHOW THE RADIUS OFFSET WORKSfrom given examples is good way to by a recipe or a help in cases. This practice is seldom G41 [0 G42 would 10 thecutter radius..256control offset registry. 0 M09001(CANCEL OFFSET)001I-G28 X-0.856l----"tool1N9 YO..r radius offsel is applied.OI0.ISnow be written.cases. In thosefor any maThis shouldaway from the contour be a clear area position.62S GOl x-o 625 GOO 040 Y-O 625Zl.jYOIt is not as simple as illooks. and know exactly whatto understand what the do not think.

.75 Y-0.content of block N6 is the same.)".again.U by any huffered block (next block).s. There will never be a . There are IWO possible outcomes.""...". lhis is the sequence of events:C)The control will first read the block i":l"In.hued to anyNO MOTION blockN17 G90 GS4 GOO X-0.. not reexamples.62S Y-0.SWhat is(START OFFSET)(NO MOTION BLOCK)(MOTION BLOCK)-Figure 30-21 Importance af the next tool motion for curter radius offset. Y+ next direction on the y.so much easier on a daily basis.must known \0 the control system at all times!OFFSET)MOTION BLOCK) (NO MOTION BLOCK) (MOTION BLOCK)n.. when Ihe radius offset This is the key. as a newQ Example .0N21 MOS N22 G04 PlOOON23look-Ahead Offset TypeThe block N6 alone does not contaln suflicient amount of data 10 successfully apply the nextlllolion .:urlinn startup of the cutter radius offset (that is the control detects an ambiguous situation.. wh ich is Ihe same block Ihe.Figurenext1 left :position after N6 is Y positive direction:control advances the processing to the next block (that is NJ).75 Y-0..' The mOL ion direction thaI block must be known to the control. and does not process the block as yetN6)ooQ Example 1 .two NO MOTION blocks:N17 G90 G54 GOO X-0.. Look at one more program selection .in fact..0 N21 MOS N22 Y2. but makes the contour Y negativedireClion:mi expected.625 5920 M03 N6 G41 XO 001 F1S. As maybeare some siluations Lo be aware of.. .Figure 30-21. Normally. thf' dirf't:/irm of the next motion . the motion. ways Ihe program can be written:look· ahead feature is based on the principle known as buffering or reading-ahead.In a shari overview. The fact rem.Olion block N21 .-. one where the 1001 Y + direction next..7S S800 MO) N20 GOl xo DOl F17....('-.0 N7 Y-1.75 S800 M03 N20 GOl XO 001 F17.t. to find out into which direction tool be nextoN3 G90 GS4 GOO X-0. Y-MOTION FOLLOWS)2nextlStype of the cutler radius offset isIy in the software..RADIUS OFFSET7does the control handle culler radius offset Type C a buill-in the 'Iook-ahead'type of cutler radiusthere 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.. Which one? For lef! part of the illuslration. but the motion Ihat follows the N6 is nOI . next direction on the rightin program structure? Ignore coolant ON function in block N21.In both cases... H it can wrong with it. using the radius value stored in the tef what is the problem? is ambiguous. ".N3 G90 G54 GOO X-0. while only one is required.. N7 Y1.125 (START OFFSET)Y-MOTION FOLLOWS)Rules for look-Ahead Cutter Radius OffsetatLookfollowing sample program selection...62S S920 M03 N6 G41 XO DOl Fl5. the control processor executes one block at a time..-aU.. control wi II look ahead 10 ror I he direction of the next too! mOlion.l2S '''''.o2S Y-O. 0 (START .

the lool is at X-O. If the the one block look-ahead is atare two or more look-ahead blocks availon the control features. where the CUller is the same as the programmed length of the 1001 travel.~iLionerror due tD w(()ng program structure· program 03002There are lwo other possibilities .S Y-O."-'" (MOTION BLOCK) (MOTION '-''-''-.S Nll YO Nl2 G01 X-O. which is smaller and adheres 10 the rule.03002-Ihe next marion is in(InIn to avoid program structure lhatblack.. it will act as if the offset were not programmed at all.a program Ihalll1ighl be line if the radius were nOl applied.Figure 30-23 shows a stan position of a cuLLer thalsame programmed length of lravel as the culleris ceJ1 a In Iy a! lowed.". the offset will be applied.5 Zl.S Y-O. usually lao lale.U ahead is not known. assume it is only one block the control can read aheadN1 G20 N2 G17 G40 GBO N3 G90 G54 GOO X-O.''. When Ihe necessary information is passed on [0 the control. such a program structure can create problems..375.. With an offset In effect. hard not to include any non· motion blocks .''-'" CAl)1CE:L OFFSE. Scrap is the most likely result in Ihis case. and not all consuggestions:o If the control has a type cutter radius It:CltUI't:."..this lime there03002Chapter(PROGRAM WITH RADIUS OFFSE.:. 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.rule should help to make cutter radius offset will nOl fail:iQVERCUT.258""..t.restructure jf necessaryN8 G04 PlOOO N9 Y2. where the cutter radius is larger than programmed length of the lool travel.S Nl3 GOO G40 y-o.s Nl4 Zl. the programmed Ienglh of the tool travel is selected was . in Ihe program 0300 I.in mind that the control subjects the program inputto lhe rules embedded m the software.. Ihe initial tool motion will be towards the XO wllh the cUfter center. (MOTION """""""-''-..S Sl100 M03N4 G43 Zl. AREAl--+-. (he targel position is XO.O HOiNS GOI z-O. means.O Nl6 M30 %A conlrolthaL can read only one or I1vo blacks ahead \'v'iIInrr\nr..0(FOR O. 0 M09 NlS G28 X-O.. The correct input must In the foml of an accurale program.but not wrong .·h. Such an incorreCT gram is shown in Figure 30-22:eonUIlns more Radiusone hal f of lhalvery .SS F20. {MOTION ..'T)N6 G41 XO 001 F12..625.. and lWO. Controls with the 'look-ahead' can look ahead only so many blocks.5 NlO X3.0Nt MOSo Make a test program to find out how many blocks othe cutter offset is started in the program... 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 machinil'\Y't1.'-"-. 5 PLATE TKICK) (NO MOTION BLOCK) {NO MOTION '-'''-''-''-'..c . but the number of blocks that can be UI"c:. after Ihe CLllIer has entered the parl.'T """"''''VJ~Jfollowing the CUller radius offblocks do HOI include any molion..one. /example.

there will be amount is equal to grammed length and not be any molion along of the radius takes tion (0 thea motion toward XO.251: 1ofigure 30-241.the common alarm 04J on Fanuc systems. even with a long perienced this alarm. always look al surrounding blocks as well.RADIUS OFFSET9N3 G90 G54 GOO X-O.0 N7 Yl.62S S920 M03 N6 G41 XO 001 F1S.375. the direction of next travel as Y thai because the cutter is positioned to the the intended motion. The who designed the have taken a actions. number for this error is Many programmers. pending on the alarm 'Overcutting will occur in cutter radius or ence' or a similar will appear .37S Y-O. decided to let the control to rejeci and issue an alarm.Figure 30-24 shows a start position where partially on of(he target position. they wisely to play it safe.625oX30·23Cutter start position is equal to the cutter radiusTlte followillg exampleprogrammed along the Xin a . is a plenty of free there is a problem . they were either or have never used cutter radius offset in theAnytime the cutler interference alarm occurs.--1.125(START OFFSET) (P2)RO. it to move.12S(STARTWhat will happen here? Ihecontrol calculates the between the travel length and the culter radius .10.. In that case.. stored as the D amount. not just at the onc the processing.20t. If the 001 the difference between the length is zero and there will X axis.3750: similar to the pretion is (00 close in the DO 1 regis-30·25Simple drawing lor program 03003. In (he next we look at the cutter ence that occurs a lool mot jon. yet. but that there is a free control does not.25 Y-O.50' . when the cutter radius offset occur. nirely not system will an alarmRadius Offset interferenceThe last illuslrated only one of pOSSIbllines.although coo-eet..375Y-O. the next proin Figure 30-25.N3 G90 GOO G54 X-O.-_ _ _ _ _. 125 in the X direction! That does not seem to a problem. they do not provide any flexibili!y and can causeserious difficulties at some lime in the future.62S S920 M03N7No G41 xO DOl F15.1 _ .0 Y1. not just at or tennination of the cutter radiusTry to avoid like this one .00RO. To .375 travelIf the 001 amountas(han .(he control does not recognize the Programmer knows it. gramRO. If nOI.Cutter start position is smaller then the cutter radius program sample is except the X axis start if the cutter is . the without a movement and the moY I I will continue.375. Another cause for this alarm is when a cutter radius is trying to enter an area is smaller than the cutter radius..

and. step.. it executes the blocks as il moves the par!. __ single axis.25 YO.S RO." alld '"Program inputinputOffset amounts. if they fi nd it correct..625 Y-0. Inthe problem is in the relationship amount and [he drawing dimension. happened? There [s nothing wrong with t'he Most CNC operators would look at gram it. After careful study. look at no problems. with cutting. rn was a real error in the earlier forms ter radius Type A and Type B.Possible problem in cutter radius offset mode during a startup with two axes simultaneously (intemal curting shown).0 HOi NS GOl Z-O..625 OFFSET) Nl6 Zl.2 Yl.there is an is set to the cutteris expected \0 tit into the it cannot .I~R0. Let's see what will .ooodimensions. at block N7 alarm No.5 PLATE THICK) N6 G41 XO DOl FlS. usEvaluate the two approach ing a cutter radius offset startup towards an internal profile. the selecl ion ofcutter diameter and the entry amount the address into control system.~. That [$ erything seems and is a the screen.125 RO. as externalnot allow gouging in cutter rafeature is built-in and is no to see what would actually happen.O M09 Nl7 G28 X-O.. That is also OK drawing next. and. a wall of a pockel or in[ernal contour.26003003 (DRAWING FIGUREr 30Nl G20 N2 G17 G40 GSO N3 G90 G54 GOO X-O.25 Nl2 GOl XL 75 N13 YO Nl4 X-O. cutting. of the cutter diameter must be changed. Itpro-amount of experience a-. it is correctit follows alldiscussed so rae The key to succes<:.. 041 occurs cutter radius inleJference problem. Multiaxis StartupThere is anotherstanup.0 Moe 0...O (START OFFSET) N7 YO.. .the inch mill. Study radius of 375. particularly if tion along twO axes. to a culler that is . Now we look atcutter radius startup mo. Tvpe Cradius offset (look ahead type) does not allow overcutting Single vs. i <:. the relationships between: What!GOUGE001=0. Offset amounts.25program is quite simple.ONlB M30drawing dimension can no! be changed.375=1:1Figure 30·26 Effect 01 overcutting (gouging) in cutter offset mode. 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. if were not Nobody wanls to see the gouging on the pan. Suddenly.625 Zl.925 N8 G02 XO..625 Nl5 GOO G40 Y-O.2 N9 GOl X1.hence ihe alarm.SS F2S.0 NlO YO. a amount DOl stored in the control will control unit will process the information from the with the offset amounts to Then. The .. well. Drawing dimensionsmaya whileto.75 Nll G03 Xl.. The amount the tool in there.200 is no problem.in Figure 30-27. for example.62S S920 M03 N4 G43 Zl. The same culler is used as before. This. but the 30-26 shows the same effect cally...625 Y-O.500 inches.

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. move the cutter to a clear area.0 N7 Yl. The subjects and examples included in this handbook present common basis for a better understanding of the subjecl.7S.D01'0YOxlYO-'-o'V:'O.1.single axis motion:The correct programming approach shown on the left side of the illustration contains the following blocks .25 F6.ure 30-28. [T] for turning.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 M03N4 G43 ZO. Always consider the cutter radius.multiaxis motion:There is no internal radius in the program 10 worry about.25 F6. so the amount smred in the offset register DOl does not have [0 consider i[ and wi!J represents (he cuucr radius as is.25 POCKET DEPTH) N6 G41 XO. the result is shown at the right side illustration in FiJ.7S Y-O. the understanding becomes much deeper. as well as all reasonable clearances.l HOI MOSN5 GOI Z-0. along with a rapid or a linear motionto the first contour element (GOO or GOl in effect).the only difference is that Ihis type of 'interference' is of no consequence .. If [he radius offset is started with a single axis motion.it tokes place while in the air. 75o Correct approach . arc commands are allowed and normal.G20 (CORRECT APPROACH WITH ONE AXIS) N2 G17 040 GSO N3 G90 G54 GOO X-O. Between the startup block and the cancel block.O N7 Y1.Startup of the cutter radius offset for external cutting: Single axis approach.62S·XY-O.I M-T I Apply the cutter radius offset with the G41 or G42 command. Programming the cuuer radius offset is no differenl.625 Y-0.62S 8920 M03 (START OFFSET) (P2)N6 G41 XO DOL F1S.125 (START OFFSET) (P2)oIncorrect approach . both programs listed are correct.N'~oj wixit)'--D01~'W-j -. earlier in the chapter. there is the same interference as in the internal milling example .625 Y-O. Before going any further. Until then.1f the offset is started with a (wo-aJ(is motion.single axis motion:ill. 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\.75There is no way the control system can detect the bottom wall of the pocket at Y-O.62S 5920 M03 N6 G41 XO YO DOl FlS.CUTTER RADIUS OFFSET261Here are the first few correct blocks of each method:oCorrect approach . but more damaging. because there appears LO be 110 interference with any section of the part. 75 N8 YO.0 (FOR 0.multiaxis motion: Note that in cascs of the cutter radius offset for an external contour. The startup for the offset is exactly (he same as for external cutting./"):OVERVIEW Of GENERAL RULESReminders and rules are only important until a particular subject is fully understood. With growing experience. [M·T J Make sure the cutter radius is always smaller than the smallest inside radiUS of the part contour. There will always be a problem that cannot be solved in any handbook.l HOI Nne NS G01 Z-O. if the job requires them.7S DOl FIO. regardless of how comprehensive that book may be.O (START OFFSET) N7 XO. Compare the two possible startups for the drawing shown in Figure 30-2. a general overview and some additional poinls of interest do come handy.O (START OFFSET) N7 YO.shown on the right. let's review some general rules of the cutter radius offset feature.N1 G20 (CORRECT APPROACH WITH TWO AXES) N2 017 G40 Gao N3 G90 G54 GOO X-O.25 POCKET DEPTH) N6 G41 Y-0. shown on the left Two axis approach .0 (FOR 0. The following items are marked [M] for milling.125oCorrect approach . (he result is shown at the left side illustration in Figure 30-28.75 DOl F10.625oo-~~~-Correct approach in XFigure 30·28Correct approach in XYoI M-T lin the canceled mode G40. In fact.

oI M I Do notth e offset num ber 0.. It covers ally all situations that can happen during process and presents solutions to maintaining the dimensions of the part.. Part Tolerancesthe part depends on many factors.002/.. The folmost results:method.000.. the preference to a single axis approachChapter 30-"""--"""-""""--"""'"-position. cutting depth.o 1M)afterfrom the depth (along the Z axis only) radius offset has been canceled.. only a simplesimplest tool path.. ''''' . non-motion blocks it possible Imissing X.. within specified ' .. owill be on the specified lOlerance in the as +..0. Y and Z). axis motion only... blocks that do not contain an axis motion. the specified roleral1ceadditional (wo items thai also have too External cutting methodIS outside of the requires a look at be considered:. for in the program it is a sma!! error that can cost you a lot. The tirSI subject that (0 understood is the difference between the programmed and the measured part size.375 ---o I M-T } Cancel cutter radius offset with the G4Q command.with a or a linear motion (GOO/G01) only..o I M·T J Make sure to know exactly where tbe toolcommand point will be when the radius offset is applied two axis. material the selection of 1001. will be scrap for .0 internal.I.' or an emergency measure).o {M-T In the compensated mode (G41watchor G42 in effect).. its exactWhen a part is inspected. btlt not """t'I>~'~"'r'o.MilLINGThe following in-depth example practical appltcalion of the cutler radjus (0 CNC programmer and the CNC operator.I M-T I G40 comlTland can be input through the MOl to cancel the cutter radius offset (usually as a ""lIf 'II II... Figure 30-29 shows. known as Outside or 00The next example radius offset on the part that reason.the external and 02.IIC1VVHlfJto illustrate practical application of a cutter radius offseto [ M I Make sure the cutter radius offset correspondsto the work plane selected (see Chapter 31). This statement will be very important later... will scrap external cuttingThe first outcome is always the extemal or internalIn both cases.I"'r"'''.. known as Inside or 10the machined canthe tenns oversize and WIto the type of cUlling.. Note that of all dimensional tolerances is the same for both meters.Measured Part Sizemachinist knows thalPRACTICAL EXAMPLE . setup. for the dimensions of the I wo meters . the measured one of tile three possible oulcomes:canonlyo night on size o Oversize o Undersize.262o [M) Reach the Z axis milling in the G40 mode offset cancel mode)..o [ M·T ) G28 or G30 machine zero return commands willnot cancel the radius offset (but either one will the tool length offset).

if required.'L'""". Nl3 G03 J-LO MOTION) NJ.and one single cut for each contourinternal). 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.500 inch OD in the exthaL is measured as larger than the allowed tolerance can likely be recul.. the tool path uses programmer..O Dll FS. Foror results.0 (APPROACH Nl2 G41 Yl.750 mill ..5 S600 M03 POS.. point .0 MOTION) N6 G41 Yl. regardless of or the internal cutting took place. The program XOYOZO is at the center and the top of the part:03004Toolpath motionOffset position.l HOi MUS FOR 2..l M09 AXIS MACHINE ZERO) NJ...0(Tal .PART 2 .0.2..S DIA EXTERNAL CUTTING **** ) Nl G2D N2 G17 G40 GSO N3 G90 G54 GOO XO Y2.. but a size that is larger then the allowed range will in a scrap. but a size that is smaller Ihan the range will result in a scrap.6 G28 ZO. In example. The madiameters and the ..the internal dhalf of the.1\L N17 MOlpositionFigure 30-31Detail for internal tool path shown in03004As is customary in program 03004... AT XOYO) NlO YO FOR 2. In plain ignores (he CUlfer radius and as if the culter were a a cutting a zero diameter.) N4 G43 ZO.....S ABOVE) N9 GOO ZO.3D-3DDetail lor external tool path shown in example 03004Programmed Offsetsmost a1tractive feature of the cutter it allows to change the actual tool sire right on by means of the offset registerfunction D.Y2.internally (02.0 DIA) Nil G01 Z-O..8 F20..O (EXT.) (CLE.in DTheSettingcutter is work.0 DIA INTERNAL COTrING **** ) (START POS. CIRc:LE CUTTING) N7 G02 J-L2S MOTION) NB GOl G40 Y2..000 inch ID in the examas smaller than the allowed recut. a recut may be possible orthe likely result.the external 30-3/ shows the lool path gram ..2...4 GOl G40 YO (CLEAR N15 GOO ZO.....75 DIA END FINISHING MILL)(**** PART 1 ...AR+TOOL LG..l (**-.375 F20....SRecut Possible->~"'---«««««::«-.2S 001 FlO..Y 1<25\\Tool path motion\(02...5 DIA) NS Gal Z-0.O CIRCLE .ifnot in theFigure 30-30 shows program .. only one lool is used ...l MOS (OPTION..-««<-it is clear (hat no action is necessary is within tolerances.CUTTER RADI263No Action RequiredScrap Likely...

750 milling culler.0. Offsel DOl is adjusted incremenlally by . Regardless of the cUlling method.but not replaced .0025. What actual amounts are in these registers? Since no radius oflhc cutter is included anywhere in the program. there is one major rule applied to the cutter radius offset adjustment in any control system .some machine parameters may actually be set to accept the cutter diamefel. ecc. the programmed offset DO I will apply to the cutter radius registered in offset 1. according to these two rules.Offset for External CuttingEvaluate the tolerance range for the outside circle 02. but only under idea! conditions.oExternal measured dimension . TIle conclusion is that the DOl registered amount can be .5060 'Nilh DOl::: 0. to 001==0. use LARGER setting amount of the 0 offsetThis is the ideal result .Example 3:.Offset AdjustmentBefore any speciai details can be even considered.oExternalrneasured dimension . 0. Changes to the program data is never the option. Ideal conditions are rare. The most useful rule that applies equally to the external and internal adjustments has two alternatives:To ADD more material TO the measured size.:'75. There are three possible results of the measured size for external cutting. The same factors Ihat influence machining will also have a significant effect on part dimensions.Example 12.Chapter 30dius offset commands G41 or G42 as well as the D address offset number . material resistance. programmed as the D address. which is the radius of a 0.5. In fact.502 are correct.3750To REMOVE material FROM the measured size.50 I and on DO 1 holding the amount of 375.500 and 2.with the appropriate cancellation by G40.in fact. Evaluating what emc/I)' happens during the tool motion for each cutting method (external or iJUernal) offers certain options.with a new amount. Any sIze smaller than 2.5 is undersize and a size greater than 2. so all sizesbetween 2. All examples are hased on the expected middle size of 2. the offset register D mllst normally contain the culler radius actual value. SOlO Ivilh DOl".it means that the current radius offset amount will be changed or updated .005 oversize. The radius offset amount has to decrease by one hal f of the oversize amounl.502 is oversize. which is on the diameter or width bUlthe offset amount is entered as a radius. use SMALLER setting amount of the 0 offset Experienced CNC operators can change offset settings at the machine. what will be the stored amount of DOl? A 0. All is working well and the offset setling is accurare. although all internal calculations are sti II set by the radius. TI1e measured size of the part can be controlled by adjusting the culler radius offset value in lhe control. The tool culling edge touches the intended maChining surface exactly. In both cases. TIle tool edge has nOI reached the contour and has to move closer to it. Evaluate program 03004. This is correct in theory. the cutling tool moves from the starting position. Only standard monitoring is required. lIot by its diameter.002/-0. within (he clear area. This is the motion where the culler radius offset is applied.Example 2 :2. to the large! position of the machining contour. 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. tool defiecLion. Each method can be considered separately.750 inch end mill is used. On the machine. so Ihis motion is critical.375. this is the motion that determines the final measured size of the parl.oExternal measured dimension . per one side.264One critical fact to he established first is that the CNC system always calculates a specified offset by its euUer radius.The tolerance for this diameter is +. Be careful . il is quite common with a new CUller. the incremental change of the offset value is a good choice.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. rigid setup and common tolerances. actual 1001 size. This is not such a rare situation as it seems . NEGATIVE increment to the cutter radius offset will cause the cutting tool to move CLOSER to the machined contour.002 \0 (he radius registered in offsel 2. providing the program contains the culler ra-The measured diameter is . rn those cases where the size of the part is to be adjusted. tooltoJerances and other faclors do inlluence the finished part size. 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.3725. think about how the offset amount can be changed.no offset adjustment is necessary. The concept of 'moving away' and 'moving closer lO' the part refers 10 the tool motion as the CNC operator will see. so the DOl should be set to . bUI factors such as tool pressures.3750Note the word 'incremenr' .l[ means the programmer provides [he cutter radius offsel in the form of a D address.

Either ease offers benefits but some drawbacks. Program 03004 mon connection bel ween the two end mill.The measured diameter is .00 I as but only 1.in a controlled way.002 meanswidth)dius.37502.000 tolerance.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.50 I ternZll diameter and 2. The +.008 undersize. Only normal monitoring is required. The radius offset value by onc halfoflhe oversize amount.000 inches.In contour. the diameter can be cut il1femionally (han required .37502. to D 11=0. Tne Dll offset must incremented by . is 011 the diarllcter (or width). 111is measurement is . The reason is bOlh have a +. the risk chalthe diameter will be 100 is ent. 100.oInternal measured dimension . A good operator can SCfilpS by wrong offsets.3775.005 oversize.0025. [he intended maehinimovecreasedis on the tered as a radius. the diameter canleI/tiona")' smallercutthan required. used for Culling both Assume for a moment. crcmcnred by .00 I After nu cutting (he internal diameter of 2. The radius orf:::. pef side only. When machining .004. some can be used here. The lool cutting !Ouches the intended machining surAll is working well and the offset selling is accurate.Example 5 :D11 = 0. The goal is to use a way that the pari will not likely be a even with an unproven tool. The on the diameter (or Theand Dll for the internal diameter.When iI comeso Internal measured dimension1. its is nol2. +.4930 wiillDOl One Offset or Multiple Offsets?The program 03004 used 001 for theis .:essary. the external diameter is 2.002 the expected diruncter. in a cootrolled this case.002/·0. cUlling has reached beyond the programmed machil1ing and (() move away it. to 0 IIIn-Whether machining an external or internal tool path. measure II.mentally by Offset for Internal Cuttingresults of the measured size for are based on the expected and on D II holding the amount orculler.et amount has 10 by One half of the undersize amounl. the diame[cr will be roo small is presentIn internal contour machining. with the stored amount of ~ured.2010 will!Dll = 0.CUTIER RADIUS50.9930 witll Dll = 0. but (he offset amount is entered as a radius.no offset adjustment is ne.. thal only one ample 001. at least to some key is to create some temporal)! orfset goal IS 10 force a cut Ihat is oversize externally or in.008 undersize.. even the best setup will not guarantee that the part dimensions will be within tolerances.002 meansset alone cannot on bOfh (hat if011is the ideal result .Example 4 :2. adjust it.measured diameter is .3750meter. Only oneand the goal was the middle tolerance of 2.999. In this casc.3750Example 6 . The toola Scrap10 initial ol'fset amounts. when measured again.0060 ""'1111programmer should alprogram and suggest (he as a professional courtesy. then recut to the righthas reached beyond the intended machining has 10 move away from it.ternaily.Internal measured dimension .

LEFTTOOL NOSE RADIUS OffSETAll the principles and radius offset for a lathe mainly caused by theFigure 30-33 Lathe application of the fool nose radius offsetOffset of the tool nose radi us to the of the contouring directionIn milling. nose center is also equidistant from the contour. even for the same Additional definitions are needed in a form a vector pointing towards the radius center.JJ"'''''"J.Orientation Tool Nosecorner of the lOa].266solution is 1O move the tool machined surface by a increment amount must be error of the tool radius. If only one side isRpointo X. whenmeter and adjusllhe tween measured and CUl.at the is that a program using machine.RIGHT+G41 G42 G40lathes.what happens if the are two erance range?grammers. the cutting tool is is the cutting edge and its radius most common is tools have a di fferent a carbide insert. as well asr 30awaytopos.. even It is the poinl tn.(a) turning. G codes do not use in (heG41 . the edges change their orientation. Two reasons prevail. corners of a lurning tool and a boring tool.)'' the too! cutting edge is often a n.metric) 3/64 ..pOintIn both cases.tool nose reference point in turning is often calledpoint. in case of drawnominal dimensions is easier [0 ing changes. measure the by one half of the di fference bediameters. {bJ boring Program Data ~ Nominal or Middle?Many coordinale locations in the dimensions that are is . An Insen may one or more CUlling edges. into allose 1ad ius. In are part of the 1001 radius.. the imaginoly point and.20 mm (metric)Offset of the tool nose radius to the R!GHT of theedges. For strength and longer insert Ii the has a relalively small comer raturmng and boring tools are:1/64 ::: ./ivegreater than the '-I'IJ'-'-'l'-U being suitable a recul. lately.. MH''''n...center of a circle symbolizing an to the conlour by its radius. the di is not haltest cut is made.i! is moverl along Ihe contour..''' to eSLablish the nose radius center shows two tools and their tip.+G42 . One Radius Offset Commandstions are commands used in milling contouring on CNC lathes . numbered arbitrarily.9toa30-32Tool reference point for turning and bon"ng .0156 (English) or OAO mm (metric) 1/32 .it is directly related to XOZO of the part. they will affect more often than nominal sizes. on lathes.0469 (English) or 1. the preference is to use the nominal dimensional sizes and let the tolerances be handled by llse of offsets . ".ose radius offset became common. tools do have a radius but ""'. /lose. In lhis handbook. vector is tip orientation.80 mm .0313 (English) or 0.Figureof tolerance LO use the nominal size ignore the nions have some credibility and should not .

LblRelationship of the /00/ reference point and the nose radius centerThe tip orientation is entered during the setup.PROGRAMMED CONTOURT2b..950 -...990 X1... Fanuc controls require a fixed number for each possible tool tip. there is 110 need for the offset if only a single axis is programmed.O I' 00 00 00 .! TheorelicaJly. If the tool tip is 0 or 9. Only the finishing cuts are shown .X1. The illustration in Figure 30-37 shows what areas of the part would be undercut or overcut.C\J. under the T heading.. 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.750 X4..a.CUTIER RADIUS OFFSET267single axis motions are part of a contour thal also includes radii.00 I'l. according to arbitrary rules.. but would most likely use the special G71 multiple repetitive cycle.650 X2.. The value of the [001 radius R must also be entered. However.Figure 30-38 Simplified sample drawing for program exampfe 03005. In this case.NN90N7TLR5X4. described in Chapter 35. ThaI is wrong.t)2. This number hus [0 be entered into the offset screen at the control..750 XO.roughing is also necessary.0 .OI..T7Figure 30-37EHect 01 tool nose radius oHset ..410 ..: Tool radiusFigure 3D-36 Schematic illustration of the too/ tip numbering (Fanuc controls)Effect of Tool Nose Radius OffsetN.XO.-3I84TLR :.JIa . based on the drawing in Figure 30-38.NNN. if the tool nose radius offset were 110t used during machining.. the tool nose radius offset is needed. chamfers and tapers will not be correct... (a) oHset not used (b) oHset used Sample ProgramT3Figure 30-35Arbitrary tOO/lip numbers for nose radius offset· rear lathe shownThe following program example 03005 shows a simple application of the lDOI nose radius offset all an external and internal contour.-N.250 X2.-~/'Reference pointFigure 30·34X a . otherwise all radii.-61C\lN .. chamfers and tapers..510 X3.Some programmers do not bother using the tool nose rat!ius offset.NNC'">NNN.750 -XOl.t) I..NC\J .-0 0 0. the control will compensate to the center.-.otoIZO....co .NN0.

07 FO.07 in ally larger than double tool the tool leaves a small un the face will not be flat.012 ( CONTOURING) Z-O.0 ZS.l2 FO.8 Z-2. the face will never be completed!. Make sure the nose radiusjnlo x 2 and x 4 twice or fourbecomes aT0100 (INCORRECT VERSION) G96 S400 M03 (START) GOO G4l Xl.Ol X3. For sol id the center line.925 U-O.00XOCLEARANCE -..75 Z-2.l FO.--. a change inN37 Z-l..2nose radius offset. Cutter radius inteJference alarm (alarm #41) is always clearance..OOS G03 XO.Figure 30-40 Tool nose radius offset change for the same toolMinimum Clearance Required>TLR x 2-N2l N22 N23 N24 N25 N26 N27 N28T0100 (CORRECT APPROACH) G96 S400 M03 GOO G4l Xl.l T0404 MOS GOl Xl.'.O T0300 MOl(INTERNAL FDrrSHING)N44 T0400G96 S400 M03 GOO G4l X2. shows a facing cut On a solid10a turning cut(-s) with G42 inproblem isu. 0. X-0.AlGOO G40 X8.4 Z-O.! 00 Inches per side (2.l T0303 MOB GOl X2.l (ONE AXIS ONLY) G42 Xl 0 (THEN COMPENSATION) Gal Xl.20 mmChange of Motion DirectionCNC lathes.X-0..2S RO.correct tool motions on the>TLR x 4 on 0 >TLR x 2 -.2 GOO G40 xa.0 T0400 MOlX 1. Make sure there is enough clearance.012 Z-O. programming the minimum or at least.2S Z-1.95 Z-2. 85much more often than on machining centers.19 ZO.>TLR x 4 ion 0Face CUlling is a single for consistency.0S Z-2.S1 x4.65N28 X .l (*** WRONG ***) ( CONTOURING) GOl Xl.395£10.0 RO.4 GOl X4.006 Z-l.07Incorrect approachNote that the contour start positions are in the clear area ...75 Z-0.21 ZO.4 Z-O.6 FO.! ZO T010l MOS (FACE OFF) GOl X-O.20300530NGl NG2 N33 N34 NG5 N36 N38 N39 N40 N41 N42 N43 N45 N46 N47 N48 N49 NSO N5l NS2 N53 NS4T0300 {EXTERNAL Fnrr5EIDrG G96 5450 M03 GOO G42 X2..'''-U.laI8I1CB lor loo/nose radius offsetFigure 30-39 shows minimum clearances start and end of cut.825 FO..007 GOO G42 Xl_O ZO.o Z2.. 1/32 and 3/64 (0.7 ZO T010l MOa (START) (FACE OFF) Gal X-O 07 FO.4 GOl XO.-If the above program isN21 N22 N23 N24 N25 N26 N27Figure 30-39 Millimum C/l.away from the pan.D07 GOO ZO.l FO.65x2N29 X .80 and 1.6S Z-O-12 FO_007 z-0.l Z-2.l2S G02 X4.5 a clearance for all three standard tool nose radii 1164.70 I CorrectX 1AOapproach····X1 .40.

This type of mOl ion is n·vo-dimellSional.vsically the same plane. They are !lot required Cor everyday CNC programming. and planes are therefore no! required or used.['.MACHINING IN PLANESThe path of a CUlling lool is a combination of straighl lines and arcs. There is no need Lo know them all. However. where Ihe various consideralions change quite signilicanlly:o ooCircular motion using the G02 or G03 command Cutter radius offset using the G41 or G42 commandA plane is defined by two lines that are parallel to each otheroA plane is defined by a single line and a point that does not lie on that lineo A plane can be defined by an arc or a circleoTwo intersecting planes define a straight lineoA straight line that intersect a plane on which it does not lie. A too! mOllon in one or two axes always lakes place in a plane designated by two axes. During conlouring. for the purposes of defining a relative (001 motIon direction (clockwise vs. we always work with at least three axes. G74 and G76 commandsMathematical PlanesIn all three cases . That is notlhe case for the following lhree programming procedures. or G73.In CNC machining. Ihe 1001 mOlion IS programmed in at least three differenl way~:o o oTool motion along a single axis only Tool motion along two axes simultaneously Tool motion along three axes simultaneouslyPlanes in the mathematical sense have their own properties. For example. plane can be described in one sentence:A plane is a surface in which a straight line joining any two of its points will completely lie on that surface. since turning systems normally usc only two axes. the circular CUlling morion. specified along the X. Y and Z axes. 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 definea plane (these points are called non-collinear points)ooA plane is defined by two lines that intersect each otherThere are additional aXIS mOlions thaL can also be applied (thefourllI andfifth axis. defines a pointThese malhematical deflnitions are ol1ly Included for reference and as a source of addilional information. This reflects the lhree dimensional reality of our world.PLANE SELECTIONFrom all available machining operations.and only ill these three cases . No special considerations are required. lhe XY plane awl the YX plane are ph.programmer has LO conSider a special selli ng of the control system . Any absolute point in the program is defined by lhree coordinates. Therefore. contol/ring or profiling is the single most common CNC application. a clear standard . In contrast.must be established. for example). . no special programming is needed. From varioLiS definitions.il is called a seleCTion of lhe rnachining plane. the only planes [hal can be defined and used are planes consisting of a combination of any fwa primary axes XYZ.269. right). as long as lhe resulling (001 motion is safe wilhin the work area. 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.Fixed cycles using the G81 to G89 commands. research a slandard textbook of malhematics or even a dictionary. perhaps along wilh hole making. counrerclockwise or lefr vs. Live tooling on CNC lathes does no! cnler lhls subject. but on a CNC machining cenler. any tool mol ion lhal takes place in lhree axes al the same time is a Ihreedimensional motion. although nol aiwa)'s simullaneously. This chaptcr applies only 10 CNC milling systems.('( planeZX planeYZ planeThe actual order of ax is designarioJl for a plane delinition is very imponant. A programmed rapid motion GOO or a linear mOlion GO I can use allY number of axes simullaneously.

PLANES ON A VERTICAL MACHINING CENTER--.-----PlaneXyx zyyof standard mathematical planes (above). the plane selection is ieal..that the XY plane and lap view are Ihe same in so is the YZ plane side mathematical plane is front machine. In a each the mathematical planes can preparatory command .a Gselectiono:JviewXV planeG18ZX plane selection YZ plane selectionfront viewThe rightviewIIIo. as well as G76....\ yRIGHT ..XY STANDARD~O3G.The. and for a soon apparent.\z~O3 G. selection command is irrelevant and even ThaI is other motion modes.--. the selectionis extTemely Imyet often neglected and even misunderstood by main reason is that for contounng) XY plane. m:e the same in thisMachine Tool Planesmachining center axes. As will between the as defined byon a eNC machining center (below)In programming. thearc defined as:..\ XTOP . elc. this standard deiines (he Ihe lap and baHam.' horizontal axismotions (programmed with GOO) and all linear (programmed with G01). is always perhorizolHal appli-NOle the emphasis on Ihe word ·mathematical'. Any two a plane.270international 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. which is XZ. as in the middle where plane plane be. ... there is a mathematical planes and the machine the direction of theand operators alike.zt ~G03 ~y-YZIn mathcmaticalterms.A simple way to Dxes for alllhreeyX~O3 G. A machine be detlned by machine from standard operating position. caused by a viewpoints that areII isG19bothplaneon ill us(ratioll. cutter offset mode with 1 or G42 commands and fixed mode with G81l0 commands. nOE the actual machine tool planes. (here are three standard perpendicularly (straighlProgram Commands for Planes DefinitionThe sekction of a plane for related controls adheres to the mathematical designation of planes.. machming center. YZ3J-l di betwo definitions. The em-is intenlional.. . Both axes are always orthogonal and vertical) and pendicular (aL 90°) La each In CAD/CAM.YZOF PLANESallmalhemalical designation of is to write the alphabetical order of axes twice and pair with a space:t ~G03 ~XTOP-XY----~-~------. pendicular to the XY plane. of 1001 motions are and machined in all machining centers. front and back.Ivzx zreason. where (ion in a is extremely important sidercd For machining applications using the circular interpolation mode. with G02 or G03 commands..

. 57X pla}'!e .. Unli. so the G 17/G 18/G 19 commands Allhough true in an informative sense. . they will indeed match.0 GOO X7. but only one active at any time.PLANE271. 84 FlO. it should be induded at the Since the three plnne commands only La/" motions. The plane (G 18) may cause a serious problem if not propunderstood. Siraight molions Can be programmed for a SIngle or as a simultaneous motion along two or three axes... 0 GOl X8. "'.. the XY plane (G J cmd the plane (G 19) correspond to each olher. These two planes normally present no problems to CNC programmers. 0X1Z .0 Y4.75x.\1' clirecfion is vertical axis towards the horizontal in any SeH~C(c:O plane.GOOGOO XS. 5 Z-l. it is most the opportunities to mix all three plane program arc remole. .lanle se~lec·tionl cOlmmland Never rely on the control .~G02'Figure 31·2 Progressive~03XPLANE ROTATED AFTER MIRRORING E 18 PLANE ON THE MACHINEwith the macnllJp. 0 Y13. 0 GOI Y12.l F12. 46 F15..d that the and counterclockwise directions ollly appear La but In reality.. at least for comparisonSTRAIGHT MOTION IN PLANESrapid motions GOO and linear motions GOI arc constraight motions when compared with circular molions. It is important to understan. the horizontal axis in G I plane is the Z axis and the X axis is the vertical axis. If the plane grammcd.. Figure 31-2 shows the the mathematical planes with the machine planes:Any plane selection change is prior Lo actual tool path change.ke rapid or linear interpolation with in polation requires a programmed is the command for CW Default Control StatusIf the plane is nol faults automatically to G 17 LX plane in turning...G03STAN MATHEMA TICAL ZX plane STANDARD ZX PLANE MIRROREDcXY plane .. cutter radius offsets and fixed selection command G 17.'"the COIlfrom the with GOO'infor CCW direction. 0 Z -1 24 F12.. the order of machine axes is reversed. 875 Z-O. regardless of any in that apply to linear motions are nol the same ror circular mOlions. ..GOl :. If the mathemalical axes orientation is aligned with the machine axes.2S GOO X2. Selection o[ one plane plane.G~\.Rapid positioning . can onen as necessary in a program.O Z-O.0 Z-0. Mathematically. they are the same. unless the cutter offset or a fixed cycle is in effect.2D IilleDnJlolion. From all three available only the circular motion is affected by plane "'-"~'-'''VI look at the programming of a as well. When we compare Ihe mathematical axes Ihe actual orientation of the machine axes machining cenLer)..2D mpid mOlion l'Zplane-2DXY7-3Dx~interpolation . a vertical machining center. G 18 or G 19 can before any of these machiningAlways program the aplprOI)riate p.. rules.cIRCULAR INTERPOLATION IN PLANESIn order to complele a circular Irol system has 10 receive surficient parl program. 5 GOO YIO.r·Pu·" f"""""~f'III\J by the control. The following examples only show typical unrelated blocks:~ Example . the r/ockwi.O Y3..2D XZ plane . "'..3D IineannoriOllZ10 lool motion along the programmed not need to be used for any straight motion a single axis). 34 ZO. AI! tool mOlions .. Counterclockwise direction is always "'P'''''''rI the horizontal axis towards the aXIS.2D hileantlO/JonGOI X-l.. 5 Y4. 2D linear/Jlotioil'-----I"'"XG01 X6.

.0 N44 G17 GOl XOZ axis is asswned as absentPlnJle selection irrelevGlIf611-618-619 as Modal CommandsThe preparatoryBlock N43 represents a contour of a 180" arc in plane.. cylinders. simple spheres cones.of a machinmg planeenableoperations using circular interpolation. or even the milTored plane rotated by (c).0 Y7. II is G 19 plane cause some problems is wellthe situation is similar..counlerbores. Because of the G 18 command in N43.Absencein a Blockprogram example shows aapplication in a program where modal axes values are Hot in subsequent blocks:N .85Some older control systems do not dius designation specified by the R vectors 1. even if plane itself is changed.5 Z-3. 0 N43 G18 G02 X7.. or the malhemali. cal plane mirrored (b).0 G19 G02 Y4..J R . Z G19 G02 (G03) Y. G19JK arc center modifiershelpful. I ... and other Similar shapes.22 R1.. is not a creallon of any new plane What The view still represents a viewed from a dilfcrenl direcwithin The following format grmnming applications for circularCha31pro-G17 G02 Xl4. Y.8 Rl. Note the inconsistency fOI the G18 planeX20.. J and K must used. J .0 N42 GOl X13.K.. circularGla G02 (G03) X_.S7S Z-1.riJiDHDjli1eloolPI[llle selection ".(0From thethat:7 I and J arc center modifierso XV axes o oundersland the CNC applications of G02 and in planes.pfPIJnnlN40 G17N41 GOO31-3Actual circular rooJ path direction in a/l three machine planes.5 ZO RO.4 Y6.0 R3. illustration in Figure 3 JXZ axes . motion within a selected must be selected:Thelalion. plane (G 18) match beand the actual axes orienIhal appears to be reversedIhe logical structureWIllG17 G02 (G03) x . 0 FlO.272arcs does nor change plane (a).G20EnglishunilsXY plane selectedSl£ll1po... G18 plane I and K arc center modifiersaxes . (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 lheG 18 and G 19 are all modalone of them will activateselection in the program he in another plane selection. The belong to the G codc group.4 GIB G03 Xll. culler radius offset and fixed cymost common applications of Ihis type of ma(blend) Intersecling radii. ZI.

0 D2S N121 GOl X90. and across the left plane.050:The plane selec\Jon for rapid or Imear motion lS lrrelevant.PLANE SELECTION273There will no! be a 3-axis cutter radius orfset takIng place! Tn the next example.0 YIOO. .0When the rapid molion programmed in block N 120 is completed.Figure 3J-5 demonstrates tool motion for the two passes Included in the program example.0 Y 140.75 arc in [he XZ plane. [he arc will be machined correctly in the G 18 plane. the plane selection will become extremely important. but seldom practical.. after the block N 12l IS completed. Typically.0 Nl21 Gal X90. the cutter will be positioned at the absolute location of X50.0 R3.... The control system will process such a block as if i[ were specified in a complete block:N43 G17 G02 X7. the originally selected command G 17 wi II sti II be in effecl and circular interpolation will take place in the XY plane.0Nl20 G90 GOO G41 xso. The absolute location of the cutting motion will be X90.G17 is stilll. One pass is the left-to-right motion . As an example. ... In [his case. provided in block N43 of the last example. and over the right plane. wi I! depend on the plane G l7. If G 18 is omitted. is used for the next example:Omitting the G 18 command in block N43 wi II cause a serious program error.0 Z20. To interpret lhe program data correctly.0 Y 100. Z. compare the absolute tool positions for each plane when the rapid molion lS complered and the cutter radius ollset is activated in the program.1 effectAlthough G 17 is still the active plane. Both clearances off the part arc . between the passes. a ball nose end mill (also known as a spherical end mill) will be used for a job like this..YZ motion will be compensatedThe following practical programming example illustrates both circular interpolation and cutter radius offset as they are applied in different planes. all GOO and GO I motions will be correct That is true.l 00 and the stepover is ..0 Y140.XV motion will be compensatedoIf G18 command is programmed with three axes:G18X . Tool absoIute position when the culti ng motion is completed depends on the mOlion following block N 121. it means that regardless of the plane selection.0 Y140. The other pass is from right to left ..Two axes programmed in a single block override the active plane selection command. stored inthe conlrol offset registry.O Z20.across the right plane.0. the axis assumed as 'missing' in the G 17 plane will be the Y axis and its programmed value of Y7. only two main tool passes are programmed. providing that no cutter radius offset G41 or 042 is in effect. Adding a cutter radius offset command 041 or G42to the rapid mOlion block.0The compensated tool posit ion when block N 120 is completed.0 ZO.0oExample:An interesting situation will develop if the plane selecrion command G J 8 in block N43 is absent.5. 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. The radius offset will be effective only for those two axes selected by a plane selection command.0 YI.000 mm. In theory. Y. Y Z.Cutter Radius Offset in PlanesPRACTICAL EXAMPLEThe example illustrated in Figure 3 1-4 is a si mple job that requires cUHing the RO. This is because of the special control feature called complete instruction or complete data priority. Y Z.0 Z-3. The radius offset val ue of D25= 100. instead of {he intended ZX plane. note that program zero is at the bOllom left corner of the part.S R3.across the left plane.0 ZO F180.o YIOO. A slepover for the tool is also programmed. 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. over Ihe cylinder. In the simplified example.O Z20. over the cylinder. but [he circular interpolation block contains two axes coordinales ror the end point of the circular motion:N43 G02 X7. 018 or G 19 currently in effect:o If G17 command is programmed with three axes:G17X . even if G 18 had not been programmed..0 ZO F180. since most CNC programs do use a contour] ng motJOn and they also use the cutler radius offset feature. evaluate the following blocks:N1 G2lN120 G90 GOO X50.LX motion will be compensatedoIf G19 command is programmed with three axes: G19 X.

If the angle head is sella use the X axis as the depth direction. Errors can harren quite easily. With special machine attachments.75(: G02 Xl. [he drill or other tool is positioned perpendicular to the normal spindle axis.l N13 091 G42 YO.tions are not too lime consuming..NB GOl X3. but also for safety.. Iflhe angle head is set to use the Y axis a<.I YO £600 M03 N4 G43 Z2. For cycles in theNl G20N2 Gla (zx PLANE SELECTED)N3 G90 GS4 GOO X-D.OSNlO G90 X2. Three axes cutting motion is programmed manually only for parts where ca1culJ.6N9 G91 G41 YO. the R level always applies 10 the axis that moves along the depth direction.gle heads.S 10. such as righr an. being in G 18 or G 19 plane.5 1-0.0 HOI MOB N5 GOI G42 ZO. Lhcdepth direction. a lillIe above the job. Although the right angle heads are not very common.75 KO) Nl2 GOl X-O.S 001 FB. The difference between the tool tip and tile center line of spindle is the actual overhang. 5 Nll G02 Xl.5Chapter 312. in many industries they are gaining in popularity.5-. This extra overhang length must be known and incorporated into all motions of the affected axis not only for correct depths. G 17 is only important if a switch from one plane to another is contained in the same program.2743.ON6 Xl.S IO. it may be a good idea to test the tool path in the air. a computer programming software is a beuer choice.S ZO.Figure 31-5 Too! path fDr programming example 03101 Figure 31-4 Drawing for the programming example 0310103101FIXED CYCLES IN PLANESThe last programming item relating to plane selection isthe application of planes in fixed cycles.. When programming these allachments. use G} 9 plane and the YZ axes will be the hole center positions. In all cases. For parts requiring complex motions calculations.7SKO)G 17 plane (XY hole locations). use G 18 plane and the XZ axes wi II be the hole cenler positions. 0 N7 GO) X2.75(= GO) X2.0 1-0. 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.OS Nl4 G90 .O ZO.When working with lhis type or CNC program lhe first lime. always consider the tool direclion into the work (the depth direction).

easy 10 find. Cobalt based end mills have longer cullll1g tool life and can be used the same way as a standard end mill. and do many jobs quite well. numerous flute designs. As the tooling cost becomes an issue. This is an operation when the side of (he cuttcr does most of work. TI1ere is a wide selection of end mills available for just about any conceivable machining application. for example a cabal I end mill. but far less expenSlve t~an a carbide 1001. The new material of the day was a 1001 steel enhanced wi th tungsten and molybdenum (i. The term high speed sleel does nOI suggesl much produclivity improvement in modern machining. or a taper ball nose end mill. cobalt. The solid carbide end mills and end mills wilh replaceable carbide spiral tlutes or inserts are frequently llsed for many different jobs. particularly when compared \0 carblde cutters. a center CUlling end mill (called a slot drill). Each type of an end mill is used for a specific type of machining. and tool material compositions. special corner designs. Olher shapes are also required for some special machining. and an end mill with a corner radius (often called the bull nose end mill).PERIPHERAL MILLINGEven with the ever increasing use of carbide cutters for metal removal. and could use spindle speeds two La three times faster than carbon sleelloois. The HSS end mill is still a common cutting tool choice for everyday machining. The term high-speed-sleel was coined and Ihe HSS abbreviation has become common to this day.275. variety of diameters. It was used long time ago to emphasize the benefit of this tool maLeriallo carbon tool sleel.they are relatively inexpensive. styles. Most typical are jobs requiring a high metal removal rates and when machining hard materials. They can be used for bOlh roughing operations and precision finishing work. an end mill with a full radius (often called a spherical or a hall nose end mill). hardening elements). End mills arc probably the single most versatile rotary tool used on a CNC machine. An end mill similar ro a ball nose type is the hull Hose end mill used for either some 3D work.. so special end mi lis with i ndexable j nserts are the lools of choicc.HSS. A ball nose el1d mill is used for simultaneous three dimensional (3D) machining on various surfaces. face grooves and recessesOpen and closed pockets[)oo o o o ooFacing operations for small areas Facing operations for thin walls Counterboring Spotfacing ChamferingOeburringEnd mills can be formed by grinding them into required shapes. 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. shanks. or for tlm surraces that req~ire a corner radius between the part wall and bottom. 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. for example.e. Larger lools made of solid carbide would be too expenslve. Solid carbide end mills arc also available in machine shops and commonly used as regular small to?]s. Here are some of the most common machining operations that can be performed with an end mill . wilh a noticeably higher productivity rate. [he rraditional HSS (high-speed steel) end mills still enjoy a great popularity for a variety of milling operations and even on lalhes. solid carbide or an indexable insert type:ooPeripheral end milling and contouring Milling of slots and keyways Channel groves. number of CUlling flules. Such a 1001 ~s a lillie more expensive than a high speed steel tool. Traditional end mills come in metric and English sizes.Figure 32-/ shows the Ihree most common types of end !llills usecJ ill inuuslry and the relationship of culler radius 10 the culler diameter. Slandardflat end mill is used for all operations that require a nat bottom and a sharp corner between the part wall and bottom. but not as hard as carbIde. These venerable cutters offer several benefits .END MillSEnd mills are the most common tools used for penpheral milling. Many machining applications call for a harder LOoling material chan a high speed steel. The most common shapes are the flat bottom end mill (tJ1e most common lype in machine shops). the frequent solution is to employ an end mill with additional hardeners.

but with the replaceable carbide insertS.276NOSE MILL BULL NOSE END MILLChapter 32informalionD --.. Figure depth of a rough side cut inSolid Carbide End MillsISalarly at sharp corners. The their internal diameler La the ground l1al area where the the 1001 from spinning. wilh various shank configurations. When handled ~~r'~~rt great efficiency andtIIndexable Insert End Mills1. all end mills are held in a collet Iype \001 holder. the eulting depth. sure the unused end is not damaged in the (001 mQunted. various looling companies. providing the and concentricity.5DThe indexablc insert mills solid carbide end mills. Even with the benefits of cuUer offset. 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.atlolnst. Many this category as well. nute length is important for 11"""''-'''''''''>lion of the depth of cut. it is nm advisable to use reground end mills for .~J(Jforof the end mill diameter to the cuts inof cut.work. Chuck lype holders are not recommended for end mills of any kind. Depending on Ihe cUlling tip try.inmatchThe tool has a screw preventsFigure 32·2HeJ. Either a single end or a double end can for CNC machining. or all axes (XYZ axes). the diameter of the end mil I must nominal diameters are those that are . or stored. On a CNC machine.REnd Mill Srdating to the size of an end for CNC machining:DR-···' /0-oR32·10R = DJ2R < DJ2End millmill length lengthBasic NlrltmJl""t . Deflectjon will negali~ely influence the size and quality the finished parI. they can be used for peripheral motion (XY axes plunge motion (Z axis only). A long projection cause that contributes to the wear of cuLting edges. Another effect for a long tool is deflection. must be treated differently work.~n of the three most typical end millso oHigh Speed Steel End Millshigh speed sleel end mills are Ihe 'old-limers' in maThey arc manufactured either as a or a douhle end . Nonstandard as reground cullers. . When using a double end mill. Regardless of the overall 1001 length from Ihespindle).

. ." or a trade On a positive side.. Machinists have a difficulty to measure accurately. there is (he expected ".. In addition. common physical laws. particularly a hardness.SPEEDS AND FEEDSIn many other sections of Ihe handbook. one (English version) is used for calculating the in rlmin (revolutions per minute):an end mill. the length of the end . a SIOl drill.750. The no relation to the tool called a drill.: Spindle speed {revolutions per Constant to convert feet to inches Surface speed in feet per minute Constant for flat to diameter conversion of in inchesformula is similar:Ie?where .625 or 0. away from its axis (center line).. is no doubt. many programmers se(virtually automatically) a four-flute end mill tool than 0. behave to considered . This 'plunging-lype' of end mill is a more technical name as a cemer-culling old-fashioned name.LOol chatter and fool deflection.. So what are the benefits of a two-flute versus a three-flute versus a flute for example? The type of material is guiding compositions. . II is the area of small medium end mill diameters thal the most attention.."''''''''''' are mentioned. that in ferrous materials.... a slot drill penelrates parallel to the Z axis. mill better conditions (0 cuts.thai is .just like a drill.Regardless of (helaroer diameter will deflect oAll entries in the formu tions and should be.u. the number of flutes should mary For profiling.v.and in fact they are ar/min 1000 == m/min1t(revolutions per minute) to convert mm to meters speed in meters per minute Constant for flat to diameter conversion Ill'!>ln . for harder materials. a chip buildup is important.. of the tool in millimetersA differentoWhat abouta 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):ft / minMetricmeters (mm):1{x 0 x r J-min12lool diameter is in milli-ISan mill with a than a similar end mill with a small diameter. The longer is the lool. so an::ii' where . mill (measured as its overhang portant.practically the only choice... but La . In this size range. partools as a verticularly wHh common nier or a micrometer.has normally only two flutes. When cuttingas aluminum. even somewhat compromised..12 ft/min11:o: :.it has to cuI into a solid mate. very well in most materials. four-flute configurations. the and thal applies to all tools.. magnesium.PERI PHMILLING7Number of Flutes. However. even if their machining capabilities are oflen to excellent. "'. the end mil!s come in two-.f· . Tooling catalogues have charts recommendations 0/1 speeds and feeds for parlitular with different 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''-'-. .

a 0. the spindle speed in rlmin must be known first.. depth andJor width of cut and other relevant conditions very carefully.004 x 4 in/min '" 8. with the abbreviation of in/rooth. with the abbrevialioll of !'Iull/looth. their rigidity. The English units version of the formula is:Chapter 32in/min r I minxNMetric units formula is very similar.278To calculate a culling feedrate for any milling operation. 1For safety reasons. if used at high spindle speeds = high r/min Carbide insert cutters will chip or even break.in/min..004 per flute is (he recommended chip load. 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. At slow speeds. in/min r/min I. the two calculations will be:Spindle speed:r/min ~ (12 x 100) / (3. As the spi ndJe speed increases. produci ng lower strength of the material. 509 x . it calculates the feed per [oolhfi in 111m/tooth:mm/min r / min x NWhen using carbide insert end mills for cUlling steels. etc. Feed per toothfi (in inches per tooth). so does the steel temperature at the tool cuui ng edge. can be calculated as reversed values from the formula listed above. always consider the part and machine setup. Tooling experts agree that well planned experiments with the combination of spindle speeds and CUlling feed rates should be the first step.in/min". mm/min=r/min f.. look at the machining method used and the setup integrity. excessive LOollength (overhang from tool holder).750) r/min '" 509CUllingfeedrale: Tool ChatterThere are many reasons why a chatter occurs during peripheral milling. The meuic formula is similar to lhe one listed for English units:~where . the chipload is measured in millimeTers per looth (per flute). Coolant extends the tool life and its lubricating attributes contributes to the improved surface finish. For a lathe feedralc using standard turning and boring lOols. If chatter sti 11 perSists.. NFeedrate in millimeters per minute Spindle speed in revolutions per minute ::: Chip load in millimeters per tooth Number of teeth (flutes) Coolants and LubricantsUsing a coolant with a high speed steel (HSS) cutter is almost mandatory for culling all metals.minute . the chip load is measured In inches per IOOTh (3 tooth is Ule same as 3 flute or an insert). Therefore. the result is directly specified in inches per revolution (in/rev) or millimeters per revolution /11m/rev. particularly for roughing steel stock. Frequent causes are weak tooi setup. if the spindle speed is too low = low r/minin / min . Cutler deflection may also contribute [0 Ihe chalter. Carbide inscrt cutting lools can often be used three limes and up to five limes faster than standard HSS cutters.. the carbide culler is in contact with a steel being cold.. On the other hand. for carbide insert cullers. The result is the cutting fcedrate that will be in inches pcr.: r / min x f t x N~where . . For the same cUlling tool and pari material. coolant may not he always necessary.Never apply coolant on a cutting edge that is already engaged in the material!As an example of the above formulas. 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.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.14 x .==:=:. the faster spindle speeds are generally better. That results in favorable cutting conditions.750 four flute end mill may require 100 fUmin in cast iron. the number of {lutes is flut applicable. machining thin walls of material with laO much depth or lOO heavy fccdrate.

Figure 32-4 illustrates the two cutting directions.a typical example is a Sfrasmann end mill. the typical ramping angle is about 25° for a 1. with M03 in effect. will result in conventional milling. mainly in the area of material removal and the quality of surface fInish.". Ramping approach toward the part can be used for flat type. cutter radius is offset to the left of part and the tool is climb milling. Programmer can make it easier by placing appropriate comments in the program.. ball nose type. the succeeding cuts will be mainly side milling operations. Depending on the end mill diameter.. then use this new hole for an end mill that is smaller than the drilled hole. 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).Anytime the G41 command is programmed. of course. See Figure 32-3 for an il1ustrotion of a typical ramping motion. ill order to eliminate.PERIPHERAL MILLING279ASTOCK REMOVALAlthough peripheral milling is mainly a semifinishing and fmishing machining operation. but somewhere during the cut.. From the basic concepts of machining. Considering only the start point and the end point may not produce the best results. to the right of the part. The opposite. That assumes. and 3° for a 4. programmed with the M03 function. and bl1l1 nose type of end mills. TIle flute configuration (flute geometry) and its cutting edge are different for roughing and ftnishing. and the cutting tool is right hand.000 inch cutter. plunging or plunge infeed. climb milling mode is the preferred mode for peripheral milling. the tool chatter and tool deflection during heavy cuts. it is a good practice to pre-drill to the full depth (or at least to the almost full depth). It is a typical machining operation and programming procedure to enter into an otherwise inaccessible area. however. such as a deep pocket. enlarging the cavity into the required size. It is easy to have a good start and good end tool positions. shape and depth.M03CLIMB MILUNG CONVENTIONAL MILLINGG41G42Figure 32-4 Direction of the cut relative to material. the cutting direction can be in two modes:Plunge InfeedooClimb milling . In most cases.. or any other solid material entry. In and Out RampingRamping is another process where the Z axis is used for penetrating (entering) into a solid part materiaL This time.000 inch cutter. 8° for a 2.also known as the UP millingEntering an end mill into the part material along the Z axis alone is called center-cutting.000 inch cutter. Since the end mill penetrates to the depth in an open space.also known as the DOWN millingConventional milling . Good machining practice for any stock removal is to use large diameter end mill cutters with a short overhang. the X axis or the Y axis are progranuned simultaneously with the Z aXIS.oFigure 32-3= RAMPING ANGLETypical entry angle for 8 ramping infeed into a sofid materia!Direction of CutThe direction of a cut for contouring operations is controlled by the programmer.. G42 offset. or at least minimize. a closed slot. that the spindle rotation is nonnal. such as deep pockets. 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. A typical roughing end mill will bave corrugated edges . an unwanted section of Ole part may be removed accidentally. For deep internal cavities. Always be very careful from which XYZ tool position the cutting tool will start cutting at the top of part. Cutting direction of the end mill for peripheral milling will make a difference for most part materials. Smaller end mills will use smaller angles (3°_10°). A few simple calculations or a CAD system may help here. particularly in fUlishing operations. end mills are also successfully used for roughing.

Width and Depth of CutDo not misunderstand the words climb and down describing the same machining direction.For good machining. and hardening of the part is largely prevented. Width of cut depends also on the number of flutes of the cutter that are actually engaged in the cut.CUlConventional MillingConventional milling . it can be adapted to another Job with easc.280Climb MillingClimb milling . the type of malerial being machined and the cutting tool used. and has the tendency to pull the part from the table (or !he (ixture).Chapter 32the cut and upon exit. Maximum thickness of the chip occurs at the end ofPcripheralillilllllg requires a solid Illachliling knowledge and certain amount of common sense. if taken in the proper context. and a poor surface finish.Both terms are correct.sometimes called the down 111 i II ing . a IiHle more for larger end mills. the chip is very th in. the chip is very thick.. Approximately one third of the diameter for the depth of is a good ru Ie of thumb for small end milis. The practical result is that most of the generated heat is absorbed by [he chip. namely the setup.uses rotation of the cutter in the reeding direction and has the lendency to push the part against the table (or the fixture). rubbi ng the tool into (he material. the width and depth of cut should correspond to the machining conditions.sometimes called the up milling uses rotation of the culler againslthc feedi ng direction. If a successful machining operation in one job is documented. The practical result is possible hardening of the part.Maximum (h of the chip occurs at the heginning of the cut and upon exit.

OPEN AND CLOSED BOUNDARYA continuous conlour on which (he slart point and the point is in a di localion. can have any machinable shape.OpenISFiguredrawing willnot a true pocket.. u~ually quitl. or one A cal sial that has only one end radius is a keyway.Y\ slots with accuracy inSlots are ofeen considered as specialvarious programming techniques for internal material removal. required disurface finish. One way is La use an move II cowards the outside of the boundary.a drawing of a typical open sial.: drawing. rather than ana sJolLing cutter is usually a sllnple prowin and oul. they are joined by a straight groove. the major {ween an conI our is the CUlling IDOla the same Lool or wilh two or on the part material..--0. To have a true . to removed from the inside of a area. a coni our and a f]at boHom. can be done with called slolli ng cullers. twO different radii.281. straight. and olher condilfor example keyways. the actual follows. whe((~ Ihe mafrom an open area. with the same size on both ends. 10 illustrate Ihe programming tech-walls of lhe slot arc contoured under program control. walls or shaped walls ~r'I"\rrt"lm!. with only a parAn open sIal is a good example of thislooks at applicalions of closed pockets. is a From the machimng of view. 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 regular1. the machirll ilions can be established.·""'pockets.! small.77The excessive material within a closed boundary can be removed in two on the cutling operation. In both cases. That way. A 5101 can either open or l:josed. is called an open COntOI. and !>o on. 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' . More complexreachesmorc accurateare machined with end mills.. 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. another way is to use an internal 1001 and move it towards of the boundary.21Closed Boundary1.It: Continuous contour defined Ifl the program that starts ends at (he same ' location.PROGRAMMING SLOTSof 'grooves' usually have one or two radiJI are [WO ends.8Figure '33 1A--orAn open slot programming example 03301shape pockets areand programmingcircular Open Slot ExampleBefore programmi any 1001 mOlion. called (J sIaLzero. :'Iudy [hi. Any ity end mill in different varietiesAn open boundaryniques of ancan be usedLoboundary.JV'''''-'''.SLOTS AND POCKETSfor a CNC machining cenler.. {he pocket boundary must be are many orher applicalions.One of the most commonly machined boundary shapes in manufacturing IS milling of a ty.open Of dosed. This as pocketing. bur they still use the same machiningpockets.

. That means choosing a 1001.feed rates will depend on the machine. l1H~re is no cutler of 0.. 0 M09 ABOVE WORK) N16 G28 X3.. The tools could have the same or di fferenl For [his example..O ..8SS TO START POINT) NlS Zl. so the 01'950 rlmin and culling03301 (OPEN SLUT) Nl G20 (INCR MODE) N2 G17 G40 GSa UP SETTINGS) N3 G90 G54 GOO X3. The tool is in the spindle and all typical methods throughout are used.but . . some stock at the should be left for finishing.3 SLOT RADIUS) Nll GOI X3.S F8..210.500 inch end choice...-c0CI'"iances and surFace finish would 10 conrrol.would it What about a inch cutter for . Ihar is a litlle smaller then lhe width.0o:Jr-..87S YO.600 ..quality...S W:=:oStock left on Width of slot ( slot radius times two) Cutter diameterSlock left on theS ::: (.500 slot? 1L is possible. ln aout the material all centerThen It willandialmoved back to the Ihe full depth for conlouring In 33-2. Toler-.. a 0.. Tau lIIuchmay require some semi cutler and the slOl width will be easy [0 calculate:create the program is nol difficult at all... 1 (RETRAeI' ABOVE WORK) N8 X3.8 (CUT TOP WALL) NI2 GO) YO.500 the amount of slock left33-2Contouring details for the open sial~xnmn. available off-shelf.IBS DOl FB..1 HOI MOS (START POSITION ABOVE) NS GOI Z-O.....O M05 (M/C ZERO) N17 M30 PROGRAM)%.onable8 in/min..01 LEFT ON n~~I'M\ N6 Xl.0 (CUT TO SLOT RADIUS CNTR) N7 GOO ZO.. the depth it may 100 a single CUI. In Ihe drawing.. 1001 will fed inlo the slot depth.Tool SizeOnce alllhe other maChining conditions are the melhod of CUlling almost presents itself... so [he width is .IJ")o:JIJ")N1. for finishing..Method of CuttingNumber of Toolsor two lools can beCUI. 875 BOTTOM WALL) Nl4 GOO G40 YO.Chapter 33..bottom..a8S ZI. alwayshow much stock the ing cuts..one 1001 for finishing.t&where . When se-...'F!LOol will leave un lilt! slul walls fur lillisllillg.87S YO. Wilh the 0. use IwoIfsiona! lolerances are very critical or tools . 0 (APPROACR CONTOUR) Nll Xl.050finishing with one CUL111is is aSpeeds and FBedsSpindle speeds exact situation at uses a reas.-1..SSS 8950 Mal (START) N4 G43 ZO...even if there were ..300 radius.. the slot in the example....600.will relate too Number of toolsMaximumDepthooTool size and feedsMaximum cooing depthofThe Ihe sial depth as . butthe resulting cut would notprogram locations are shown.875 (RETURN TO START) N9 GOl Z-O...21 F50. be positioned above a clear position and at the center line.. the XY 1001of the CUlling 1001 is mainly determined by the width of (he sial. small cuners or tough Although a be used for full depth.. only one (001 wilt be used for both roughing and finishing..600 -in the example will be:I 2 :::: ..185lecting the1001size.SB5 RO.0 TO FULL DEPTH) NlO G4I Yl..2 FSO..

as a second method. bewill start Contouring cause the tool is in a rather spot. a closed slot (or a pocket). Ihe finish contour center iocalion of the more complex this lime. example 03302an arc Improvescreates anothercannor be sraneda non-circularinterpo/alion to be added "two motions from thecenter to the startshown in slot already established will apA 0. and from the of the sial.'''-. the YZ.pom[the contour:o First. to use a cel1ter cUlling mill (known as If this type of end mill is no! or maconditions are not suitable.1RO. in a linear be roughed out between the two centers is not nec:ess.050 all around the slot contour. only the method of cutting will change.. ready to start cut. usually in the XZ. is a linear axes.885Figure 33-4 Roughing operation detail for a closed slot example 03302Internal Contour Approach0. In this '-"'''"I. even if it means a Closed Slot Examplean much. a linear motion with cutter radiuso the tangential approach arc motion technique is illustrated in1.o"t. tool will have to ramp into the material.1 £lllDrllach towards an inner contDur..... the tool has to move above work. but when approaching an inner conlour it is better to use a tangential approach.. or is in(0010. LO the 'south' of the left arc (while applying the cutter radiusThis method works..".21In the tool is now at the center of the of slot. final depth. only one tool used.'V' slack is . unless there is a hole. For high precision two will be better. to a certain XY starl In example.lAlthough the tangential surface finish of problem... locmion . at a reduced will be [0 the ..arv it can be fed into the final depth at same 1001 'v.too! has La into the the Z axis.AND POCKETS3example is quite self evident included block comments will offer better of the programorder and procedure. eotry into the matcnal..885A-Atowards the contour is noti. An internal contour approached at a requires an auxiliary approach arc (so called lead-ill since the linear approach10. if wJlI be the cenler of one of the Portion of sial on the right is selected arbitrarily. cutterFigure 33·3 A closed slot nrfllVlln1mUlr. 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..500 inch end mill will be a center cutting geomClTy thai allows Apart from the di 1001 geometry required for Ihe plunging cut.2833·5Detail of t"..010 on the bOftom) and.

2N12 GOl Xl.3 N14 Xl.0 M09 Nl7 G2B XI. In cases cut IS eHher not praetical or not possible.290? Well. use (rated in the last two examples. Walls create the boundary contour.S YO.S YO..0 YO.General PrinciplesaThere are two main considerations when programlTiirather a larger approachpockel for milling:oMethod of cutter entrygential approach takes place at a a smaller radius.111\.585 RO.2 F4. and have other shapes.78 YO..S YO. Once the cUlling tool becomes fixed as well CRt).SSS 5950 M03 (START) N4 G43 ZO. proach radius (Ru). 5 Nl3 G03 YO. Note the programming similarities with the open slot listed in program 0330 I. such as rectangular or circular pockets.itThai is alilhe information needed beforc wriring the program. pockets of regular shapes.0 (CUT TO SLOT RADIUS CENTER) N7 Z-O. Programming pockets manually is usually only for simple pockets. circular. ramping can be used very successfully.1IIwhere toso is the widThdi amount to10 I~flvemilling mode. theradius can of all by Ihe Ihal radius ap-Pocket milling 15 also a Iyplcal and common on CNC machining centers. Pockets can have rectangular. :::: of the approach arc arc) Rc Radius of the contour (slot radius)RISupply some numeric data be calculatcd. This bounded area is further by tom. three radii. rounded.86S DOL F8. the of a computer is usually required. eic. For pockets wilh more complex shapes and pockets with islands.260 or . circular or undefined can be empty side or they may have islands.O I0 are . lalcd accurately_From the formula.28 (CIRCULAR NlO GOI X3. This selection meets all the three relationships:o Method of roughinga 10 slart mllling a pocket (into solid mateculler mollon has to be programmed to enter along of spindle (2 axis).S85 RO. it is. It may he difficultin climb eX:'lctly the same in the pockeL.5 F8.The slOI conlOur dnlwing.0 (LINEAR APPROACH) N9 G03 Xl.aas33(CUT WALL TOP) (CUT RADIUS LEFT)(LINEAR DEPARTURE)AJ30VE WORK}N16 GOO Zl.Radius ofthe tool R. The result is an For program 03302. 3 (CUT RIGHT SLOT RADIUS)V'-. BaS 21. 185 RO. although walls and bottom could tapered.l HOl MOS (START POSITION ABOVE)N5 GOl z-O. 0 (CUT BOTTOM WALL) Nll G03 Yl. thaimust be greater than the culler must be smaller Ihat the contour the range (within only increments of. . concave.0 (FEED TO FULL DEPTH) NS 041 Xl.28 N15 GOl G40 Xl.POCKET MILLING~where .03302 (CLOSED SLOT)N1 G20 N2 G17 G40 GaO (INCH MODE) (STARTUP SETTINGS) N3 G90 G54 GOO X3. 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.. which means the cutter center cutting to be able to plunge cut.280 is as approach radius.0 (0. Milling a means to remove by material from an enclosed area.).22 YO.86S RO.01 LEFT ON EOTTOM) N6 Xl.0 MOSNl8 IDO%(M!C(END OF PR()GRlIM)10 approach anyThis program example is also a inside conlour kinds (angular. convex.21 F2.

thaI reason.' . may a good choice..uarea:left for finishing-a----ooCutter diameter (or radius) Amount ofAmount of stockt2.all the material in lhe enclosed area has to removed (including the bottom).RECTANGULAR POCKETSpocket is equally suitable for the start. as length. Ramping must always be done in a area.. are only two practical locations:ocenterPocket Typeso Pocket cornerto both selections and the ineviat the pocket center. the lower lefr corner of"""""rw..5 r---R5/32In the Figure 33-7. and all and Y 1 distance from additional data are as wellThe letters identify the programmerl'hrV\-C''''CFigure 33-6 Sample drawing of a rectangularprogram 03303.-. the tool path and. but uses a zigzag motion.5".. It is a little easier for calIn the eX<.. after the initial cut._.' \ofor semifinishingarethe corner be known. and cases. milling orconventional milling mode. the corner will be usedAny cornerThe most common are also the easiest to gram.Cl"" factors the programmer has Lostart location for the CUlling tool inan0. as well as to other elementsdimensions of the pan. the other cut will be in a machining. starling at the pocket corner.from the inside of the pocket out One direction . Material is lant and so are other machining rectpockets are often drawn with sharp corners.Many cuts will be irregular and s[Ock amount will not even. but it may be a very tedious work. bUl plunging can be done almost anywhere. Manually. before cut place. in programming.Impk.5I'"'l0.. the point is identified as X I corner (lower left). "J"... these more complex methods may as well.. is ar as well. so one Cllt n a climb milling mode. and pocket . the a lillie smaller so the tool can actually cur in comer. but for finishing. They all have a regular shape. morph. depending on exact requirements. Selection of a 0.Rectangular and p<!rticularly jf an example of a Figure 33-6 will beare quite easy to proare parallel 10 the X or Y axes. One or more tools may be situation. the one illustrated inIJV''''''-''''In the pocket will03303. more math calculations involved in Ibis method.AND POCKETS5illustrate the complete tooling selection is Important.15I.3125). and 6 center CUlling end mill (0... even a user selected point of entry and ti overs. the width. it is quile common 10 nishing cut of the pocket contour... one way. As pocket.. they always have COrners of the tool when The corners in the drawing are ).from the outside of the pocket inother pocketing options are as a true spiral.. without any islands:o o oSquare pocketRectangular CircularSquare tally the same there IS noare their side lengths. typical methods for roughing a are:ooo.. there is a choice of speci fying Ihe ancut.they must always position and its orientation0. think about aU where the cutting tool can enter into the or ramping.250 end mill is reasonnot and will be used it in the example. rub there.

for all cuts. (he uneven stock (scallops) high spots create the tool.l$'cthe comer·methodt-TI . preferably. can to zero. Choose semifinishing cutmachining tough materials or whenSemifinishing allowance. 1f thai IS case. the other one relates to the semifinishing operation. as the C val ue in the ill ustralion. usually done with a separate finishing tool. just repeat the calculation wilh u different number of cuts N. so semifinishing tool. The result of such a zigzag is generaHy unacceptable ror the finish machining.The calculation can be expressed in a formula:Figure 33-8 illustratesof a rectangular pockel.--Figure 33·8 Result of a zigzag pocketing. [f the amount is loa small or 100 large.".one relates to (he finishing operation. it does not matter which corner is 10 start at or in which direction the rUS( cut begins. JeA .:: W QX location of tool at start Vlocation of tool at startTool 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)o==S CStock Amountthan slepover will cuts (zigzag lype).Practically. The cuner moves back forth in a zigzag direction. usually done with the roughing tool.L DwtQILs cIIwY1'-rY1f33-7 Pocket roughing startI. and is in 3D cUlling as well.. There is number of culS is se-are two stock amounts (values) . There is a simple way of calculating the over.m.Xi. a secondary operation is often necessary. What matters is that the stepover is reasonable and.number:o number of cuts will terminate the roughing on the opposite side of the pocket relative to the start location number of cuts will terminate the roughing on the same side of the pocket relative to the start locationoavoid possible cUHing problems later. [he word 'scallops' is to uneven wall surface caused by lhe tool shape. it means no additional is Typically al 11 a small value. leaving behind so scallops. It is to elimmate the scallops. without a semifinish cutTheof the description letters is :Stepover AmountXIV\ TLRL::. based on a given number of cuts. In 20 work.c of the difficulty of maintaining tolerances and surfacewh de culting uneven stock.

SLOTS AND POCKETSIn the formula.70002 x 0. lead-out motions have to be added..ing cut.~.Y1.01) / 5. operation-2x5 length of Cutil'''LU>..-. TIlis programmed tool will typically provide offsets to maintain maCninl!Jlg Tolerances and speeds and feeds to maintain required surfinish. In case.'.0 . Since the cutter radius offset cannot started during an arc or a circular motion. One is that leading arc radius must be calculated.2 x 0 125 W1 1 20002 x 0.5 .025 .. USemifinishing tool path at the last roughing location.. 2. the D value will be:W1 ::::. Figure 33-9 the Start to (ofThe length LI and WI are between the Star! position value. than it islJl'-J'LLLLL\.. X11-figure 33·9to use the pocket be a better width.. and leaves equal stock for 11I.125 L1 == 1.2 x 0..the length.2 x 0... 1... along both axes.2 x 0..025Inexample... the same tool as the roughing to start cuts is the roughing sequence. Since the semifmishing will be nor .hlf.... N isstepovers andU"'~ULJ'b as before.. Tn Figure 33-10 is illustration of a typical fmishing tool path for a pocket (with the start at the pocket center). the incremental disto be calculated...125 Q = 0. the cutter radius offset should mainly to gain flexibility in maintaining tolerances during machining.. 6800oversis the incremental length of cut between the cutter radius offset has been used). using the same method as for slots:2.2 x 0.2 x 0. Typical staJiing tool position for a small to medium pocket is at its center. linear ..025Q Example:DD finishing Tool Pathis roughed out and semifirtished.025 and semifrnishing stockwillIl"'n.5 .125 ..011. away one of the walls. is.<.Semifinishing Motionspurpose of semifmisbing motions is to nate uneven stock. its actual cutting distance. but not too far..2x 5fonnula to calculate the length of similar to Ole stepover calculation:QLl . for a large pocket the position should be at the middle of the pocket.025 .For the fmish.23602 x 0.all otherL L1 ENDQ Example:0.The fonnula for the cut. it was corner of the pocket. This is narrower along the X axis..250 (TLR S as 0.W2x.0 2 x 0. are toolonSTART-1-'-"-CQ: . conditions do apply in these cases. another tool (or even same tool in some cases) can be to pocket to its fmal size..

l M09 G28 ZO.1563 YO..1874 G03 X-0.1563 RO..236 (STEPOVER N9 X~l.0 GOI XO.15 F7. the the tool radius.lB74 GO) xO 1563 Y-O.236 (STEPOVER 4)NlS Xl.l9Y1. choose the approach pockel widlh W.L . They are only separated for the convenience of Ihe tool mouons to match the llluslrations.288pter 33!Iii' whereRa .01 Y-O. All tlnishlng steps art! documented in the program.375 GOl G40 X-0. In the program. lower left corner of the parI.375 YO. bmh 125. The same applies to blocks N 19 N20..O G90 GOO ZO.0 FINISHING POCKET ----------------.250 FINISHING END MILL) M06 a90 G54 GOO Xl.N16 N17 (. It follows all the decisions and offers many details..236 X-1.l563 Y-O.lS63 GOl Y-l.8437 G03 XO.1S63 YO.2--------) (SEMIFINISH STARTUP X) (SEMIFINISH STARTUP Y)(LEFr Y-----------S) 5) 6)N2l Xl.37S FlS.. 68 4) N14 YO..l M05 MOL T02 (...l MOS X-2.0 ( .1563 GOl X-l.. .375Condition is satisfied.S Yl.2S 51500 M03 TOl G43 ZO.0 YlO.15 F12.D N8 YO." 2) N11 X1.l HOl MOB N6 G01 Z-O.. There is In using the incremental mode of programmode would have beenjust as easy.236 CJ:'vv""".l H02 MOB GOI Z-0.o Example:To calculate the approach drawing.~.. < the condition R" > Rr.375 RO.. 68 F12 _0 (CUT NIO YO. blocks N 17 and N 18 can be joined tointo a SI block.250 ROUGHING SLOT DRILL) N3 M06 N4 G90 G54 GOO XO..37S Y-0.250 end mills. larger than (he 1001 as pocket length and width are possible. 68 SEMIFINISH START X-0. cuuer must be able or center cUlting.5 / 4 Ra. for a lillieIn (he example.------. and can be Rectangular Pocket ProgramOnce all selections and decisions have been done.lS63 RO...37S YO. = W / 4 ..~~--03303 (REcrANGUI.----) G9l a41 X-0.1563 GOl n.8437 a03 XO..OI Y-1..:::: Radius of the approach arc Rt Radius of the cutting tool Rc Radius of the corner. program can be wrillen for Ihe pockel in Two lOols will be used..O G03 XO.37S Y-0.68 3) N12 YO.. 733·10Typicaltool path (or a rectangular pocketG90 GOO ZO.37S RO... 68w\Ra Rc TYP..37S F12.~.MOTION)X-l.236 3) N13 X-l.ROUGHING START ------) N7 G91 X1..66 YO..O M30of Iii CUI is mode and the radius offset of the contour.37S D02 FlS..1563 XO.1563 RO.J\R POClCET) Nl G20 N2 G17 G40 G8Q TOl (.the progrrun carefully. start with the corner 5/32 (. c: .68 FlO..6874 G03 X-0.1563) and the lOol so the condition R.l M09 G28 ZO. 7(RIGHT X+ MOTION)(up Y+ MOTION) (LEFI' X.NIB N19 N20 N22 N23 N24 N25 N26 N27 N28 N29 N30 N31 (-N32 N33 N34 N3S N36 N37 N38 N39 N40 N4I N42 N43 N44 N45 N46 N47 N48 %YO. 1....66 S1250 M03 T02 NS G43 ZO.Ra.

Although the word pDcket somehow implies a closed area with a solid boHom. some counterboring operations.. the cutting tool will move from [he pocket center towards the pocket diameter. The major benefit of this calculation is when the pocket has to be done with only one tool motion around. the first thing to be done is the selection of the culler diameter. that has the diameter larger than 1.Figure 33-12.SLOTS AND POCKETS289CIRCULAR POCKETSThe olher common types of pockets are so called circular or round pockets. with a si ngle 360" tool motion. therefore larger than . the pockel diameter in the sample drawing is 1. into the 90° position.d-Condition: d<O2. In practical terms. the best place to enter along the Z axis. Method of EntryThe next step is to determine the method of the tool entry. but a direction lowards a quadranl point is far more practical. even if cutting will be repeated several times around the pocket.f---------'1IoJI-. for example.0 -.In the next block (N6). Keep in mind. Figure 33-11 shows the typical dimensions of such a pocket. without any residual material (uncut portions).250.--------. that in order to make the pocket bottom clean. a motion along the Y positive direction is selected. The formula is still valid. selecting a cutter slightly larger thall the minimum diameter is a much better choice.500.25 F8.Figure 33·11Sample drawing of a circular pocket (program examples 03304-06)In terms of plann ing.001.500For example. For circular pockets. the relationship of the cutter diameter to the pocket diameter is shown.0N6In the following illustration . ThiS motion call be done in two ways:o o As a simple straight linear motion As a combined linear motion with a circular approachlinear ApproachThe linear departure from the pocket center can be direcled inlo any direction.5 inches. is al the center of lhe pocket.IFigure 33-12dRelationship of the cutter diameter to the pocket diameter>o32.VERSION 1)N1 G20N2 Gl7 G40 G80N3 G90 G54 GOO XO YO S1200 M03 N4 G43 ZO. select a plunging cutter (center cutting end mill).5/3.625 (5/8 slol drill). In that case. and apply culler radius offset "long the way. it is imporlan[ to keep the stepover from one cut to another by a limited distance that should be calculated. by increasing the diameter being cut. There is also a formula that will determine the minimum culler diameter as one third of the pocket diameter. Using lhe formula. the programming method relating to circular pockets can also be used forcircular openings that may have a hole in the middle. this requirement influences the minimum cutler diameter thal can be used [0 cut the circular pocket in a single 3600 cut. the formula determines the maxi mum width of the cut. The mi lIing wi 11 start at the circular pockel center. The nearest nominal size suitable for cutting will be 0. In the example.l HOl MOS N5 GOl Z-0. Minimum Cutter DiameterIn a circular pocket. To illustrate a practical programming application for a circular pockel. the beginning of lhe program may be similar to the following example (culting tool placed in the spindle is assumed):03304 (CIRCULAR POCKET . and the pocket depeh is . ff the pocket center is also the program zero XOYO.

001. the procedure will be reversed and Ihe rilriillS offset c:mcelerl rluring rI linear motion back to the pockel center.l HOI M08 N5 GOl Z-0. some controls use a circular pockel milling cycle G 12 or G 13. profile the full arc. then return back to the cenler:N6 G41 YO. Tbe final program O:S305 complements the above illustration in Figure 33 -14.program example 03305N3 G90 G54 GOO XO YO S1200 M03 N4 G43 ZO. The tool must also retracl first. Otherwise. for the slot fLnishing tool path. custom rnide G 12 or G 13 circular pocket milling cycle can be developed.0""_m-~IRO. is a distinct possibility in a straight approach to the pocket diameter.Since the radius offset is needed to maintain tolerances.3125) and smaller thall lite pocket radius (. cutter radius offset for the climb milling mode G4! is programmed.0Now.125 2. The simple linear approach is quite efficient when the pocket or a counterbore is not too critical.2S M09 NI0 G91 G28 XO YO M05N11 M30 %.2. As a matter of fact. the tool is back al lhe pocket center and the pocket is completed. Ideally.one Ibal makes better surface finishes and also maintains tight tolerances required by many drawings.approach a quadrant point.ON7 G03 J-O. That is possible only if the culler radius offset is /lor used. followed by the full 3600 arc' and another straight motion.500i. During this motion. and the offset cannot start on an arc.625Tbis method is very simple. Any radius that is greater than the culler radius (. back towards the center.ON7 G03 J-O. Drawing tolerances may be achieved by roughing operations with one 1001 and finishing operations with one or more addilional tools.VERSION 1) N1 G20N2 G17 G40 G80L_A0.0-Another programming technique for a circular pocket is much morc practical .~-01.2.2S M09 mo G91 G28 XO YO MOSN1l M30 %-.O N6 G41 YO.290Along the way. 75N8 GOI G40 YO F1S. the cuttcr radius offset will be cancelcd. lefl al the contact point with the pocket diameter.0 linear and Circular ApproachFor this method. Instead of a single linear approacb directly towards lhe pocket diameter. doing exactly that (see an example laler in this seclion).program 03304JThe graphic representation can be followed by a corresponding program segment .Chapter 33N8 GOl G40 YO FlS.o Fanuc control has the optional User Macros. a linear approach will be programmed first with the culter radius offset applied.7S 001 FlO.2S FS. Then. If the.750) is correct. When the pocket is completed. lhe circular lead-in approach is programmed.. Figure 33-J3 shows the tool path. one block at a time.2.7S DOL FIO.0 N9 G28 Z-0. but may not always be the best.Figure 33-13 Linear approach for a circular pocket milling . Here is the complete listing for program 03304: 03304 (CIRCULAR POCKET . a small one half-arc motion could be made between the cenler and the pocket start point. Figure 33-14 shows the suggested tool path.A possible surface (oo! mark. particularly for very close tolerances or high surface finish requirements.625. then move to machine zero (G28 motion is always in the rapid mode):N9 G28 Z-0.500Figure 33-141Combined linear and circular approach for a circular pocket milling· . 75This example uses an approach radius of . a step-by-step method is the only way. The approach radius calculation in this application is exactly the same as described earlier in Ihis chapler. the cutting motion will be changed. the CUlling tool can be appJied in a combi ned Itnear-circular approach.

the pocket has to be enlarged by roughtg it first. and the value ofQ is the equal stepover amount.RTlR= =SN=Calculated stepover between cuts Pocket radius (pocket diameter 0/2) Tool radius (cutter diameter /21 Stock left for finishing Number of cutting stepsInaUfapplication.1875 .1792 (STEPOVER 2) N8 GOl YO. Each circle radius (1) is increased by the amount of stepover Q:03306 (CIRCULAR POCKET ROUGHING)LITLR. the same pocket drawing will be used as illustrated earlier in Figure 33-11. In this case. Note the benefit of incremental mode G91. then the finishing tool path can be applied.VERSION 2) N1 G20 N2 G1.l HOI M08 N5 GOI Z-O.anging the number of steps..N1 G20 N2 G17 G40 GSO N3 G90 G54 GOO XO YO 51. It allows the stepover Q to be easily seen in the program.S / 2 = .25 FB.375 end mill is a small loolthal will not cleanup the pocket bottom using the earlier method.2S F7.1792rT IRD--QFinal roughing program is quite simple and there is no cutter radius offset programmed or even needed.5. The method of roughing is shown in Figure 33-15.0 N11 G28 Z-O. a spiral pocketing.O N6 G4l XO.75 .program 03306The 0. the stepover amount Q can be found by calculation:Q =(.375 / 2 = .Figure 33-15. 1.2S M09 Nl4 G9l XO YO MOSm5 M30%. The example for program 03306 uses three stepovers.1875 -.O (ROUGH CIRCLE l) N7 G03 J-O.75 -. calculated from the number of steps N.0253Diameter D =. It does not present any additional programming difficulty at all.625 N8 J-O. in the GOl linear mode.75 N9 X-0./-SFigure 33-15 Roughing our a circular pocket . calculated from the following formula:03305 (CIRCULAR POCKET . Some controls have special cycles.025)/3Q=.1792 F10.1792 (ROUGH CIRCLE 2) N9 GO) J-O. the cutter radius TLR and the stock amount S. in order to remove all excessive material.375 cutter .7S RO.500 M03 N4 G43 ZO.SLOTS AND POCKETS291The calculation is logically similar to the one for the rectangular pocket and the desired amount of the stepover can be achieved by ch.D N7 G03 XO YO. On Fanue conlrols.125 RO.1792 (ROUGH CIRCLE 3) Nll G03 J-O. In fact.1 HOI MUSNS GOl Z-O. but machining will be done with a 0. partly because of the symmetry of tool motions.1. this method can be .3584 (STEPOVER 3) mo G01 YO. {he example values are:o Example:RS NRoughing a Circular Pocket=TLR =Often a circular pocket is too large for a given tool to guarantee the bottom cleanup in a single cut around. Every following block contains the arc vector J.S376 Nl2 G90 G01 XO Fl5. 7 G40 Gao N3 G90 G54 GOO XO YO S1200 M03N4 G43 ZO.5=Using Ihe above formula. for example. left for (he fmishing tool path. custom cycles can be created with the User Macros option.and should be .QThis programming technique is by far superior to the straight linear approach..used for just about any approach towards an internaJ contour finishing.125 DOl FlO.25 M09 Nl2 G91 G28 XO YO MOSm3 IDO %Ql@f==R -TLR -SNwhere .0 Nl3 G28 Z-O. cutting the next full circle.0 (STEPOVER 1) N6 G9l YO.As an example.625 NlO GOI G40 XO YO F1.625 YO.625 YO.

625 YO.O N7 G03 XO YO. ready to be used.:::::FPocket radius Cutter radius offset number Cutting feed rateIf the G 12 or G 13 cycle or a similar macro is available.orG13 1. using a 0. but their subject is beyond Ihe limits of this handbook..O (CIRCULAR POCKET) N7 G28 Z-0..: .0 N6 G13 IO..!& where . exceptlhe cutting direction. F.l HOI MOB NS GOI Z-0. In this chapter.(CONVENTIONAL MILLING)N3 G90 GS4 GOO XO YO S1200 M03 N4 G43 ZO.7S RO.. using the same tool and climb milling mode:03306 (CIRCULAR POCKET . two more examples will provide additional details.125 001 FlO.625 YO.25 M09 Na G91 G2B XO YO MOS N9 M30%Typically.2S M09 Nl2 G91 G28 XO YO MOS Nl3 M30%(CLIMB MILLING)Io .75 D1 FIO.. and there are three of [hem. For comparison...292Chapter 33----------~--~. circular pocketing cycles were described briefly.. and has the following formal in the program:G1/. l. Previous example in Figure 33-11 can be used to illustrate the G 12 or G 13 cycle.625 end mill:03305 (CIRCULAR POCKET .Figure 33-16G12blG13Circular pocket cycles G72 and G13N2 G17 G40GBOEither cycle is always programmed with the G40 cutler radius offset cancel mode in effect.625 NlO GOl G40 XO YO F1S. the following program 03306 can be written..25 FB. ..CIRCULAR POCKET CYCLESIn Chapter 29. have a built-in macro (cycle).. The two G codes are identical in all respects.O N6 G4l XO. for example Yasnac.25 F8.. D..0 Nl1 G28 Z-0.62S N8 J-O.75 N9 X-0. Fanuc users can create their own macro (as a special G code cycle)... Fanuc does not have the useful G 12 and G13 circular pocketing cycle as a standard feature.Figure 33-16. D. F... ConlIols thaI do have it.Gl3 EXAMPLE) N1 G20 N2 G17 G40 G80 N3 G90 G54 GOO XO YO S1200 M03 N4 G43 ZO.... The meaning of [he G codes in a circular pocket cycle is:G12 G13 Circular pocket cUlling CW Circular pocket cutling CCWa. here is (he program 03305.VERSION 2) Nl G20Macros are very powerful programming tools.. with the optional User Macro feature.125 RO.l HOl M08 NS GOl Z-O. The arbitfary start point (and end point) on the pocket diameter is at 0° (3 o'clock) . which can be developed to offer more flexibility than a built-in cycle. All cutting motions arc arc motions. There are no linear motions. the cycle is called at the center and the bottom of a pocket..

wear offset 04 T AddressOne difference from machining centers is that a tool defined as TOl in the program must be mounted in the lurret station # I.TURNING AND BORINGThere is so much information that can be covered in Ihis section. single poinllhread ing. That happens in the cases when /1-tlO or more offsets are assigned to the same tool. Ivearoff... One major difference between milling and turning controls is the facl that the T address for CNC lathes will make the actuaL tool change. If they do nOl correspond to the tool Sfation numbers. only thc last example format is recommended. No M06 function exists on a standard CNC lathe. In such a case.XYIY . The format for turning system is T4. From programming perspective. Selected subjects are presented in this chapter. turning are boring are practically identical operations. Leading zeros in the tool function can be omitted for the tool number selection.~[ Tool WEAR offset"T-~ Turret station number. CNC lathes require programming (he selected tool by its tool number.In summary. except for (he area of metal removal where the actual machining takes place. and any signi ficant differences wi]] be covered as necessary. the offset numbers for individual tools may be confusing. tool defined as T 12 must be mounted in turret station #12. for example T0202 for [he first wear offset. the active side of the turret (tool station) is programmed by the first pai r of dlgtts. but not for selection of the wear offset number. as shown above and in examples in this handbook. the tool function for lathes is more extensive and calls for additional details. groovi ng.TURNINGIn terms of distinction. the last two digits identify the wear too! offset number for the selected tool stat ion . terms ex/ernal fUming and internal turning are also used. This is not a case in milling. that a whole book could be written just on the subject of turning and boring. wear offset 05 Tool SUI/ion 04.Selection of the 1001 number (the first pair of digits). the rules are vinually the same. Consider the f oj low j n g ch oices:10GOO T0214TllOSGOO T0404.Tool slation 02. {he associated tool wear offset number (the second pair of digits) will become effective as well. the second pair of digits will select the tool wear offsel number.TOOL FUNCTION . In mosl applications. 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. Often. the wear offset number is programmed by the last pair of digits in the tool function command:GOO TQ404& Tool GEOMETRY offsetFigure 34-1 Typical tool function address for eNC lathesThe most useful preference is to disregard the leading zero suppression and use the tool function in its full formm. The first two digilS identify the turret station number and geometry offset. using the T address. which is an illegal formal. When many tools are used in a program.el 14 Tool slation JI. Another difference between milling and turning tools is in the forma/ of the T address. also selects the geometry offset on most modern CNC lathes. others are covered in chapters dealing with lathe cycles. part-off. 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. or more accurately. T0222 for the second wear offset. In that case. T2+2.Although all examples are technically correct. meaning the same as turning and boring respectively.Figure 34-1. In comparison with a CNC machining center.TiX. only one tool offset number is aclive for any selected 1001. There is only one ttme when the offset number cannot be the same as the lool station number. etc. For example.Txxyy format represents tool station xx and wear offset number yy. Any tool station selected by the turret station number identification can be associated with any offset number within the available offset range. etc.. Eliminating the leading zero for tool wear offset will result in an incorrect statement:n2 means T0022.an293. T0202 has the same meaning when written as T202.

.29434lATHEto some extent covered the tool function. ' control control when the power is turned usually assumes at the start up.or":\rTIof the 1001 wear offset is to adjust the difference the programmed dImensions and the actual LOul positioll OI! the pan.thaI is to the geometry offset.r"\rr.. (he adjustments are made to the only . but should be proS. neither is deviation from programmed dimensions will produce an incorrect ditool part is a very important conwith lighllolerances. since it will to actually take place.tem<. If (he wear offset is not available on the control. measured along an axis from machine zero.". the tool is still at indexing position. When the tool il will cause a physical as in the offset regbefore the tool command.<.. The tool wear offset is tune' the actual machined dimensions against dimensions. based on the draware not considered. ferent ways:oAs a command Independent of the tooltwooAs a command applied simultaneously with a tool motion statementpoint10 ill~program value and Independent Tool OffsetoffsetFor an independent offset entry in the is applied together with the rooiutV. If position register is used. the offset is together coordinate register with. a it looks rather absurd it is correct Rapid mothat depending on the the GOO commandTURRET AT MACHINEX GEOMETRY OFFSET( Diameter is negative]Figure 34-2Geometry offset is the distance from tool referenceto program zero. II is a "y<.c.rr\lYr.This command is usually programmed as the for each tool (in a clearance position)... block. and <."'xthe toolN34 GOO T0.. At this point. or immediately following..ome reeach tool as the ac- Offset EntryThe tool offset can be entered into the .202importance of 1001 wear offthat does not use it All proare ideal values.

that some detailed examples are justified. This is useful mainly in cases when individual diameters or shoulder lengths must be machined to ex.remember that any offset change serves a purpose only during actual cutting. The following two examples illustrate this recommended programming of the T function for turning systems . if lhe tolerances are changed by engineers or designers.it uses no offsel number .and largely unexplored programming technique . it will also index tool 2 into the working position.6 FO. One consideration is very important when the tool wear offset is activated together with a motion. The offset is applied two blocks later in N3.act tolerances. Offset cancellation could be unsafe if programmed during cutting mOlion.program and machine three diamelers as per drawing. close to the part.on [he way towards the first posilion:N34 T0200 M42 N35 G96 5190 M03 N36 GOO G41 X12. at the same lime. The reason is simple . even if the wear offset is unusually large. T010l MOS Offset ChangeMost lathe programs require one offset for each tool. Earlier In this chapter was a comment that the lathe 1001 function is also a function causing the tool indeXing. and maintain colerances at the same time. Z . Some programmers do not like this jumpy motion.TURNING AND BORING295Also note that no GOO is required for a block containing tool indexing with zero wear offset entry. This is an unfortunate praclice that makes changes to [he program much more dirficul[ at a later time. The follOWing three examples are designed to present a complete understanding of the advanced subject covering mulliple offsets. 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. The wear offset value will only extend or shorten the progranuned rapid approach. no overtravel condition will result. the following tolerances can be found: o o o Tolerances only on the diameter Tolerances only on the shoulders (faces) Tolerances on the diameters and shouldersThe above example will register the coordinate selling for tool 2. The advantage of programming the tool offset simultaneously with a motion is the el imination of the jumpy motion. The project IS very simple . '" The best approach is to start each lOa! with the too! indexing only. there wi Il always be a 'jump' motion of the turret when the offset is activated. and rapid approach to the first position. Tool Offset with MotionThe second method is to program the wear offset simultaneously with a cuuing tool motion. \vilhoU! any wear offsel:N34 T0200 M42MULTIPLE OffSETSMost jobs machined on CNC lathes require very high precision. In the drawings.Note the tool change in the first block N 1 . Without a doubt. the besl approach is to activate the tool wear offsct during the tirst motion. the one situation La avoid IS the Simultaneous toolllldexino and 1001 motion . it makes no difference. For example. Gear range function may be added as well. however. In these cases. depending on the actual offset amount stored.just lhe tool number that is also the geometry offset number.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 . That is the block where the tool wear offset will be activated . Such a block will normally be followed by (he selection of spindle speed. Since a single offset per toot is of Len not enough to maintain these tolerances. The same basic drawing will be used for all examples. This IS the preferred method. Tn fact. But somelimitations (Ire possible when programming the 1001 offset entry without a molion command. In most cases. usually during the tool approach towards the part. This is a very important . Needless [0 say. if required. In some cases. One rule at the beginning . whether the offsetis activated with or without a motion command. the tool wear offset register number is entered before or during the rapid approach motion. Any new offset must be programmed without a cancellation of the previous one. Even in cases of a small offset value.the program will no/ lise the middle tolerance of the X or Z value. although it will do no harm to the machine.it may ~ave dangerous consequences.0 ZO T0202 MOBN37 GOI Xl. Generally. usuaJJy as a rapid approach motion towards the part. but it will/wI activate any offset (T0200 means index for {ool 2 without tool wear offset).. the program can benefit if two or even more offsets are assigned to the same tool.OOa. If the wear offset value stored is unusually Jarge and the tool starts from the machine zero posicion. High precision requires tolerance ranges as specified in the engineering drawing and these ranges may have quite a variety.. this type of programming may cause an overtravel condition. this is [he preferable method for changing from one offsel (0 another. two or more wear offsets are required for one tool.

625 Z-O.2 Nl7 GOO G40 XS.75 Nl4 Xl.03) T0314 (.4S Z-1.2 Generalare training purin reality.2NJO GOO G40 XS.0I"-oooc:i'<:tci(TOl .OFFSET 13 FOR THE 1. Matetools are used: Here is the complete03401(1.03 (K-O. T0313 and T0314.375 DIAMETER ------N28 Z-1.03) T03l3 (-.125 WIDE TOSOO G97 S2000 MO) GOO X1.03 (K-O.0015 GOO XS.25 FO.4 N2S Xl.1825 GOl Xl.365 NlO Gal XO. 5 FROMChapter 34.03 (X-O.55 N8 G71 P9 Q16 UO.1 T0313 MOB ( OFFSET 13 FOR THE 0.03 FO.003ZO.OOO ZO.EXTEND 1.O ZS.37S C-O.OOI X-O.O Z5. All chamfer tolerances are on the project.OOS N6 ZO.003 X+O. Since TOI and not ing examples.OFFSET 14 FOR THE 1.31S Z-1.03 FO.ance are shown:"""H"UF"NJ2 NJ3 N34 N3S N36 lO7 lOB N39 N40 N4l N42%.002 GOO Xl.TOl T03 T05For the face and rough contourFor the of the contour to size0.625 DIAMETER --------) N22 XO. S ALUMINUM BAR .255 N29 UO.l N7 GOO G42 XI.4 Nl2 Xl.255 T0505 MOB Gal Xl.Diameter TolerancesThe drawing in Figure 34-3 variable tolerances only on the1.03) Nl5 Z-l.7 Z-1.04 WO.365 N23 G01 XO.03 x 45° (3)Figure 34-3 Multiple offsets·I::AOIIII)II::for diBmeters 03401programming solution is to include ltvo offsets for for example. 255 Nl6 UO.a C-O.OOOshoulders) must beTItis is the complete quired.003 Nll Z-O. only T03 will be shownnow on.7 ZO.Q T0300 (-.002 N'24 Z-O.0.FACE AND ROUGH TIJRN) G20 N2 G50 S3000 TOIOO N3 G96 5500 M03 N4 GOO G41 Xl.62S Z-O.75 N27 Xl.O TOIOO Nl8 MOLNJ.O ZS.02 FO.OFFSET 00 AT THE START OF THE TOOL ------) mo G96 8750 M03 N21 GOO G42 Xl.375 C-O.125 wide part-off too!(TOl .OFFSET 00 AT THE END OF TOOL ------------) NJl MOLIL~__~~__-+________________~""'0.03) Nl3 Z-O. In the I'Ann-t'l\ correct amounts have to be set before machiningamounts for middle toler.7 ZO TOIOI MOB N5 G01 X-O.07 FO.2 FO.01 N9 GOO XO.004 DIOOO FO..O C-0.03 (K-O.0 DIAMETER ----------) m6 Z-O.0 TOSOO M09 MlO13 14X-O.03401.FmISH TIJRN) N19 GSO 53500 T0300 (-.

002 N24 Z-0.03 FO.0030 X+O.7 ZO.OO30 X+O.0030Z+0....OFFSET 13 FOR THE O.OOOOZ+O.03) N28 Z-l.l)o1"-ci1.l TOl13 MOS ( .(T03 . In amounts have to be set before machining amounts middle tolerance are shown:finishing.OOOO XO.375 C-O.03 FO.O T0300 ( .002 N24 Z-0.0030 Z-O..TURNING AND7o o o .the amounts for middle tolerance are shown:13 14XO.. 4 SHOULDER N22 XO. Here is the T03 for program03403 (TO) . In the control. T0315 and T0316.03 (K-0.OFFSET 13 FRCM Z OVER TO Z UNDER ONLY ..0 C-O.75 TOll5(-.-)N22 XO. T0314.03403 Shoulder Tolerancesdrawing shown in Figure 34-4 illustrates part with variable tolerances specified only on shoulders. T03 for progra~03402:0340213 14 15 16X-O. 365N23 Gal XO.03) T0314------)(.l)NI..2 N30 GOO G40 XS.03 X 45" (3)34~434·5f!){RfDDIP. the X offset (which controls the diameters) mUSl be the same for both offsets.0030Note that in this case.)N26 Z-0.OFFSET 15 FROM Z UNDER TO Z OVER ONLY.0030 Z+O.--0.mnlllfor diameters and shoulders ..FINISH TURN) N19 GSO S3500 T0300 ( .O ZS. 255 N29 UO.t·-.OFFSET 00 AT THE START OF TOOL ----------) N20 G96 S750 M03 N21 GOO G42 Xl.0030 X-O.03 (K-O.0030is the most intensive version.OFFSET 00 AT THE END OF TOOLN3l MOlNote thalthe four X offsets (which control size meters) lie up wilh the four Z offsets (which control icngth of shoulders).03) N26 Z-O.IS!I.625 Z-O.03402Multiple offsetsF!ltJ'J.7S T0314 {.0030 Z-O.75 SHOULDER N27 Xl.OFFSET 14 FROM X UNDER TO X OVER ONLY .7 ZO.0030 Z-O.Multiple offsets ~for shoulders .OFFSET 00 AT THE START OF TOOL N20 G96 5750 M03 N21 GOO G42 Xl. Not only Lt IS eximportant where exactly [he offsets appear inbut their input amount is also critical. programming solution is to include(WOShoulder Tolerancesshown in Figure 34-5 illustrates tolerances specified on bothis to include four offsets for 13.OFFSET 14 FOR THE 0.03 (K-0.l T0313 M08 (.FINISH TURN) NQ9 Gsa S3500 T0300 (-.62S Z-0. for example T0313 and T0314. their amounts have to be set before machining .0 C-O.4 N25 Xl.365 N23 G01 XO..4 N25 X1.

three.O T0300(-. Ihe Radius will be the lool will an arbitrary number.. A rypical display will (no offsets set):Number of available ranges234lowMedium lowM41OFFSET (GEoMETRY)NO. Don't be 10 find out that on most CNC machines. may have no which means only a delarge lathes may have all available spindle The most common avranges. except the tille at screen.2N30 GOO G40 XS.03 (K-O. When available in either range.O ZS. This C'"rlhp·r! in Chapter 30.ZAXISRADIUS0.is an actual. if is a need to shift the shoulders . are typically assume the definition relaavailable:14X-O. That means the Z value must be same always. or Small lathes.34N27 Xl. as detool tip orientation. and power ralings by the machine manufacturer.3600 r/min (M42).0000M43 M420M43M440.0000 0. oneoffsets must always remainJ3same (X or Z off-instance. M43 and live (0 the number ofone.-) . 1075 r/min (M41) 70 .002 to the len. 255N29 00.OFFSET 16 FROM X OVER TO X UNDER ONLY .U speed If the exact of IS Imporlanl. in the program 03401. 03 and control diameters. Depending on gear ranges may signed with ultra grammable faull gear is four gear ranges speed is usually erage is two Miscellaneous functions M41. although unrelated.. two. always make an effort to alit the available spindle in each range. 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.0000oRadiusXis shown aseither lhe firsl paIr of the T offset. raling will be.! Thai also means.0000 0.0030 X+O.37S C-O.0030Z-O. As a for spindle speed. all must be by the same amount:~3speeds. lhe are only used if a tool nose radius case. but lowis limited.OFFSET 00 AT THE END OF TOOL ------------)N31 MOlJprogramnre cril can be seen in and 03402.0020to do that will result in inaccurateNGRangescreen selected by pressing a on will initially display the 1001 geometry and They are identical.FUNCTIONS FOR GEAR RANare designed to work in feature enables prorCCluired spindle with speof the machine. such as 1000 of is not critical.03) T0316(. or those de-N28 Z-l.a certain gear range is ':>'-'''~'-l~. and vice versa. or the second pair ~ and Z axis are (he columns where are for each number.0020 Z-O.Low gear range: High range: 20 . M42.

.55 Z-l. and clearanceso Safety. . At the contour the last chamfer been completed at a clearance of 0.l Gal . the finished part looksIn lathe work.t1t' chamfer generation.a.1oChamfering method.5 RO.:u.. For of programming is it is easy to forget to for bOling)...675 GO) .5Only the fmished contour isof errors can02. to better ferences applied in programming.437S X2..0 TOlOO Malo Functionality..l Gal . for a 45° chamfer.in a very similar manner in both cases..l T010l MOSNS4 N55 N56 NS7 NS8 NS9 N60 N6l N62 N63 N64 N65 N65 N67 N68 N69 Gal XO."" or a C vector on some ..82S Z-O. ease of assembly..3 ZO."..Chamfering45 DegreesY"'"''''<''''''HV comer chamfering willCompare two methods.For thespecify the chamfer:.4 G02 XO..1(X IS CORRECT)the program in corner break?too NALLCFigure 34·6 Example lor an corner break (chamfers andRO.S7S Z-l.and the amount.S62S Z-O.....'' .pr""" " a shoulder and the (the cut takes a 90° tum in one axis at a time).025 above the largat X2.OOl Z-O. many comer apply to cuts ".. for strength.5875 ua. or a blend radius of the comer break is "'1J"..C Z-1.825 Z-O. Z at Z-1."""YV..I.45 Z-l..O RO. start and end points calculation is not difficult but can consuming for some jobs.TURNING AND BORING29903404 (MANUALLY CALCOLATED CORNER BREAK USED)AUTOMATIC CORNER BREAKturning and boring)cut a shoulder to a diameter shoulde.:u...nt must he calculated manually 03404: will betwo special vectors I...t".62S Z-O..-. sharp corners are dangerousoAppearance .'" must apply it. such as shaft with many different diameters.:u. with the calculated at a selected clearance point has to be diame:ter at XO... 1. If the not use the automatic comer break feature...1(ERROR Dr X)of the correct blockNS6 G02 XO..S X2.O Z5. .2S Z-O...(no facing cut)..""".125 Xl. ComerNSl TOlOO NS2 G96 5450 M03N53 GOO 042 XO.55.. est in manual work.. the range of 0.0625 FO...".37S Xl.'''34-6 shows a simple comers that will benefit programming feature matic comer the drawing qualify).. for a 90°oBlend radius"''''''0.5 RO..9 G02 Xl....r) requires (\ comer break.... Each contour calculated.2 GOO G40 XlO.5875.... is a cornman practice when Many comers are to be It is up to the ..5RO. TheN56 G02 XO.l RO.. change poi..3.005 to required corner angle.725Z~0.l GOl Z-1......

X-Z-. The chamfer deviation can only be from the X axis towards the Z axis.Figure 34-8..K+1+X+ Z+Figure 34·8cVectors C for automatic corner chamferingc+i+In either case. The chamfer deviation can only be from lhe Z axis lowards [he X axis. X+Z+.that replace [he 1+.0X4. not per diameter. radius values.. This is a much simpJer programming method and its applications are the same as for the blend radius R..>The C vector is used.. or X-Z+ direction.cK-c..into the Z-X +.The K vector is used to create a chamfer starting from the Z axis. .._ . just the specified direction:oWhen the control system encounters a block containing the chamfering veclor J or K. 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. 0 K.300The I vector is used to create a chamfer starting from the X axis.-i-KFigure 34-7K+oNegative value of! or K vector indicates the chamfering direction into the minus direction of the axis not specified in the chamfering blockVectors J and K lor automatic corner chamferingThe va 1ues of I and K com rna nds are aJ ways sin gle va! ues (i.. described shortly. consult the above illustration..0 (CONTINUING(CUTTING ALONG X AXIS)programmed:rn zAXIS AFl'ER CHAMFER)As was the case with the I and K vectors.0 C-O.direction If the unit control allows the C+ or C. or Z+ X.(CUTTING ALONG Z AXIS)which means cutting along the X axis before the chamfer..1' '-' axis before the chamfer.. Z-X-.7S CO. to create a chamfer starting from the Z axis. 125 (CUITING ALONG X AXIS) Z-3. when the K vector isGO 1 X2.e.. If not sure whether the I or the K veclor shoJld be programmed for aulomatic chamfering. L ___ ~ __ ~---I.0 (CON'I'INUING IN Z AXIS AFTER CHAMFER)(CONTINUING IN X AXIS AFTER CHAMFER)GOI X2. not diameter values). the sign of I or K vector defines the direction of the chamfer cUlling within the coordinate system:X-oPositive value of I or K vector indicates thechamfering direction into the plus direction of the axis not specified in the chamfering block1&..125 (CUTTING ALONG Z AXIS) (CONTINUING IN X AXIS AFTER 0iAMFER)The vector K indicates the chamfering amounl WId molion direction when the lool molion is in the order of ShouldPr-Clum1jN-f)imnf'It'l.125X4. Many lalest controls use vectors C+ and C. K+ and K. as specifIed iryfhe program. lnto the Z-X +.0 . which means cUllin!! alonCJ the Z '.. The two previous examples will be:GOI Z-1.or-.7S IO. the C vector is also spccified as a single value per side. the programming is much easier.direction The I and K vector defin ilion is illustrated in Figure 34-7. with the I veclor programmed:(. 1-.. X-Z-.125Z-3. to create a chamfer starting from the X axis.veclors. as long as the motion direction is watched. into the X+Z-. or X-Z+ directionChapter 34cC+c+C+.... There is no distinction bel ween axes vector selection. it will automatically shortell {he active programmed tool path length by the value of the I or K vector. into the X+Z-.vectors . X+Z+.0GOI Z-1. or Z+ X. Z+ X+.. Z+ X+. Z-X-.

.0 (CONTINUING IN Z AXIS AFTER """''''''''. as well as the radius vector R.R+R+X+.75 RO..or. into the .'the direction and rhe amount(CUTTING ALONG Z AXIS)R vector defines lhe direethe coordinateOnly one special vector R is used.R".. when the R vector is programmed:These rules appJy equally \0 turning and lathe Study them carefully Lo avoidlheZProgramming ExampleGOI X2. For automatic blend ra-(CONTINUING IN X AXIS AFTER RADIUS)dius. to create a blend radius starting from the Z axis. when the R vector is programmed:GOl Z-1.orZ+X-directionNegative value of R vector indicates the radius direction into the minus direction of the axis not specified in the radius block Programming Conditionscorners modern CNC lathes a for contains vectors lor for blend radius corner. mio a complete p. The same is used for this version.. the vector the radius:o The R vector is usedIn either ease. it will automatically shorten the actool path length by value of the R vector. only the known the drawing .is That is the point between the shoulder and the without the or radius being consideredsame vector is when the /'Qmotion direction is in the opposite order which means cutting alongdeviation can be from the X The axis. and must have the equivalent to at least the chamfer length or the radius amount the cutting direction cannot reverse Both takeso oThe vector R indicates the radius amount when the CUlling is inwhich means X axiseNe program. the lion of the radiuso Positive value of R vector indicates the radius directionstarting ffom the X or X-Z + directioninto the plus direction of the axis not specified in the radius blocko.TURNING ANDNG301The radius deviation can also be from the Z axis the X axis.12SZ-3.".).>J03405 combines the use radius vector.xampIe. not values to the direction of the cut after rounding.::onlrll'lper side values. consult the above illustration or apply the following rule:The direction of the cut following the chamfer or radius must along a single axis only. as traditional method.. the sharp point . If noc sure whether the R vector should be programmed for blend radius. as speci tied in Ihe program.0 R-O.125X4..0ABlend1090 Degreesa shoulder and (orchamCUI fora similar way as the automalic 45° exclusively ill the GOl Inode.90° only Chamfers must have a 45 e and radii must have a 90" angle between a shoulder and a diameter or a diameter and a The values of chamfering vectors I and K or e.oChamfer or radius must be fully contained in a single quadrant .The.. are single values ".R-z-oxR-o\R-o Direction of cut before the corner rounding must be34-9 Vector R lor automatic comer roundingcontrol system encounters block containingoa blend radius vector R. one axis onlyThe R vector definition is illustrated in Figure 34-9. illustrated earlier in Figure 34-6.'".

As a machining operation. some directions are not recommended at al!.O RO.l X1. or only for light or medium light cuts. for example. the work is better organized.'. Upper row shows external tools.5 IO. where are the calculations of each contour change point? Where arc the center point calculations? Except for the contour beginning and end. For example./Il)~I+light cut only +light cut onlyIiFigure 34-10 Tool orientalion and cutting direction for roughing. Its main purpose is to remove unwanted slOck efficiently.2 GOO G40 XIO. If the above rule is applied to these operalions. In practice. The I and K vecrors are used for chamfering. {hen roughing out the inside of the parl.Li9ht cut only I U---. 'I'hese tools have to be able to sustain heavy depths of cut and high cutting feeds.3 ZO. ThaI wuy.375 X2. etc. described in detail in the next chapler. 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. 0 +'-Light cut only I. after some finishing had already been done. rather than in lhe drawing iLSd!'. Common diamond shaped tools suitable for roughing are 80° inserts (up \0 2+2 CUlling corners).llculations. Of course.l X1. It really does nOI malter whelher the roughing is done first externally or internally.55 Z-l..ROUGH AND FINISHED SHAPEThe vast miljorily of material removal on CNC lathe is done by using various cycles.OO3 Z-O. withoul any rcci.Rough OperationsA great part of Imlle machining amounts LO removal of excessive slock \0 create a part. Rough and finished shapes often require manual calculatiOllS.0625 FO. This kind of machining is generally known as roughing. compare Ihe followIng program O}405 wiUl the earlier program 03404. that is not the purpose or roughing. speeds and feeds. Also. always follow one basic rule of machining this rule IS valid for all types of machines:Always do heavy operations before light operationsThis basic rule means that all roughing should be done before the first finishing CUt is programmed. and only then applying the finishing cuts.l Z-1. Figure 34-10 shows some typical lools and orientation for rough turning and boring. CUlling tools used for roughing are strong. this type of programming greally enhances program development and allows ror very fast and easy changes during machining. Where are the G02s and Gms. almost completed. rough turning. and leave suitable all-around stock for finishing.062S Z-l. lower row shows internal tools.U---+n·hn '---/I0-·-· v··----· ··8 r-. the rules and condilions mentioned earlier must be always observed. only a single value has 10 be changed in the program.0 TOlOO MOlChapter 34ing does nol produce a high precision parl.5875 UO. which also cLln be in either order. stock allowance.875 R-O.25 K-O. using algebra and trigunuHlelry. the requirement is to rough and finish both external and internal diameters. The main benefit of the auromalic contouring are the ease of changes and the absence of manual calculations. it is easier to keep lrack of what is where.Allhough a number of tools can be programmed in several directions. Tllese calculalions should be done on separale sheels of paper. as they are more dinicu!lthen the C vectors:03405 (AUTOMATIC CORNER BREAKS USED) NSI N52 N53 NS4 N55 NS6 N57 N58 N59 N6D N6l N62 N63 N64 TOIOO G96 5450 M03 GOO G42 XO. usually with a relatively large nose radius.0625 X2. an engineering design change.Although the program is a little shorter.. and trigon inserts (up 10 3+3 cutting corners). the roughing out the outside of the part will be first. These cycles require inpul of data that is based on machining knowledge. If a chamrer or u blend radius is changed in the draWing. if necessary. if there is a change later. as long flS il gets done b~fore any finish cuts. rough-.l TOlOl MaS Gal XO.302In order to fully appreciate the differences between (he two programming melhods (both are technically correct).O Z5. such as a depth of cuI. the five blocks saved in Ihe program offer the least benefit. The reason here is to prevent a possible shift of the material during roughing.5 RO. which means fast and wilh maximum tool life. or rough boring.625 Z-0.

Figure 34-/2 shows the of too much stock allowance for certain cutting direcand a method to eliminale itIIlg.= Direction of cut . with a lool that has a lead angle of to not more (han .003 (0. ling feeds are lypical. . The insert the and~whereIn-Inon the alimportant allowanceD A R W X POS ZPOS::::. Why? TIle answer has a lot to do with (he amount of material (stock) the tool removes in the direction . Upper row shows external tools. Stock and Stock Allowancematerial machined is often called stock. but individual ances for (he X and Z axes. removed (roughed OUL).. not on diameter! The amount of stock left on the Z axis (typically shoulders at 90°) IS much more cnhea!.~~ .006 inch (0. 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. the part finish quality will suffer.. Many different tools can be as well.Z POSx POSLight cut onlyLight cui only34·12 Effect of stock allowance Won depth of cut DTool orientation and cutting direction for finishing with common lathe tools. . For example.O~ I inch (001 nose mm) is used for finishing. If the positive X axis only turning}. wilh a Their shape.TURNING AND303of cut IS suftlskin' of the mRis usually a must before tool acspecifics the amount of material left for these operalions. bUI the most tYPIcal mond shaped inserts. As before.~ Figure 34-11-. if a .InZcalculateNote that some cutting directions are only recommended for light or medium cuts. or the (for boring). it can a certain amount of it at a time. . Light cut only... Light cut onlyI. lower row shows internal tools..150 mm) on any straight shoulder. leave to (about I mm). leaving only a small amount of nose radius and.Wl+.080 to 0. That is the physical amount assigned per side. for even The cutting 1001 can spindle and lower cuta better surface finish. common orientation and shown in Figure JJ. carefully allowance overall on the part. there is a general rule of axis.'/ Medium cut Light I Medium cut\aRf . When tool removes the stock to cut a desired shape. thai is forculting to or slightly larger than radius of the jog 1001. If 100 much material or too I ittle is len to be cut during finishing. after mosl of the stock stock for finishing. Also.OperationsFinish operations take cutting mOlions.-_.

031 + . For facing in Ihe opposite X direction or for not unidirectional faces. when the X axis direclion is opposite the one shown. Negative Z direction for internal machiningrD-'Figure 34-14 Data required to calculate angle 'b'IThere arc also back ruming or hack boring operations used in CNC programming. a recess can be machined very successfully wilh any 1001 (hal is used wilh Ihe proper depth of cut. or more commonly known . or undercut . recalculate lhe example for the largest depth.<~R \Drawing detailo Positive X direction for external machining.031 .SMALL DIA 2. usually close to the tool radius. R = . Negative Z direction for external machining\a = Tool back angle R = Spedified radius b = Clearance angle req'd D Depth of recess=\\oNegative X direction for internal machining . Normally. calculate the depth of thc recess D.304The illustration applies equally Lo (he boring..029 and the 0. face.3There is enough data available Lo calculate the unknown depth D. program a tool motion in such a way Ihal Ihe mOlion direction from the starling point will be:TIle first step is to consider the drawing .that is always the given and unchangeable source of data. for example.R9/16 (2)'j------:---=-. evaluate ibis example:Chapter 34In CNC lathe programming. there is an undercut (recess) betweenoExample:The amount of slack left on face is .1_For an insert wilh a 0.029___--i---=. A recess is commonly designed by the engineers to relieve . The objective is to calculate.030.030. not to guess.Tool detailThe formula required to calculate the angle b uses simple lrigonomclric formula.939. It is lhe second requirement [hat will be looked at next. To understand better the consequences of a heavy sLock left on the face. First. and / or .60425+ ..Back angle clearance calculation examplePROGRAMMING A RECESSAnother very important aspect of programming for CNC lathes is tnc change of cult i ng di rection. which is nothing more that one half of the difference between the two given diameters:D =LARGE DIA .Figure 34-13 shows a simple drawi ng of a roller 1n the middle of the obiect.006..<~!«<Dtan3/2 x . but these are just related and Jess common variations of the common machining. A=the 01. to allow a matching parlto tit against a shoulder.03 t and the tool lead angle is 3°:W = .60425 . a cavity.25 ROLLERThaL is a more reasonable depth of cut at the face. for example).031-. leave stock much bigger.006:D01.more rhan any reasonable amounti Since the earlier suggestion was no more (han . or surface of the machined part. the actual depth of CUI at the face will be ..-.006/tanJ + .. In the most common machining on CNC lathes.031./--r00.031 + . the too! radius is .030 / tan3 D = . so the Z axis slock allowance of .a certain portion of the part.. The difference between the diamelers and the recess radius will be required. any change of direction in a single axis imo the material constitutes an undercut.a recess. if the W=...500 inch inscribed circle (such as DNMG-432.. using llle above formula:D = tan3/2 x . Figure 34-14 illustrates the generic details of the provided data (except the angle b) from the drawing.939I I-. and / or . what is the maximum back angle tool that can be used for CUlling the recess in a single operation.006 can be used. and a suitable back angle clearance.14630 Figure 34·13-1.

block N3. then switch to the constant surface speed (CSS) mode and continue.5625 . This rather 'small problem' wIll be illustrated in a simple program example. so a tooling catalogue is a good source of data. So.mfmin (metric system). At the nex.07392unless the current diameter.t block. Ihe only step that can be done is to preprogram the expected spindle speed in r/min. but if ever there is a problem.5 or X23. During the rapid {ravel rate.ftiman (English system) or in meters per minute . The actual angles depend on the Lool manufacturer. the spindle speed calculated for 450 fUmm and 023. is also known. when the cutting tool approaches the part. If [he current X position of the tool is unknown.at [he same time . From the same stand<lrd formula.700 (XO. at diameter of . In the program.400 inches and .change the spindle speed from a slow 73 r/min. This type of calculation is important for any recesses. Once the target position along the X aXIs has been reached (block N3). orten neglected altogether.700)/2. before the tool reaches [he part. The Constant Surface Speed is a powerful feature of the conlrol system and without it.N1 G20 T0100N2 G96 8450 M03N3 GOO G41 XO. but if they solve the problem . we would lo?k back many years. the corresponding CSS mode can be In effect for all subsequent cuts.7). What had been done is thai the spindle was started at the final expected r/mil1.5 to the 0. based on the programmed input of surface speed: The su:face speed is programmed infeer per minute . while the spindle is already at the peak of Ihe ~rogrammed speed. This CNC lathe feature will constantly keep recalculating the actual spindle speed in revolutions per minute (r/min).7 ZO TOlD1 MOS5450 M03(R/MIN PRESET)What had been done requires more evaluation. (he spindle speed is unknown at the moment. the tool position is rather close La the part. the CUlling tool has [0 move I J . In block NJ. but correc\. remember thatlhe abbreviation CSS stands for Constanl SllIjace Speed. specified in the geometry offset enlry.considerably fast but also correct.5 as 73 rIm in is rather slow. which is 11.. the diameter where the tool IS located at thai moment.5. This is an example that does not necessarily reflect everyday programming of CNC lathes.07° required c!carance). the tool moves to the start of CUl. whether programmed with the aid of cycles or developed block by block. or at least not considered important enough. when the block N2 is executed? Of course. The actual travel distance (per side of part) is (23. There is a rather small problem assocIated wlth tJus feature. consider (hat the current diameter is 23. It cannot be known. or a 35" diamond shape (back angle clearance a IS 50" (0 52") . undercuts and special clearances.700. For the illustrated drawing (23. the spindle speed can be calculated for that diameter as 2455 r/lnin . the 'per minure' input uses Ihe preparatory command G96. Depending on the control system and its handling of such a situation. before the cutting tool approach motion. From the standard r/min formula..both are greater than the calculated minimum clearance.they are worth the extra effort! Some CADICAM system can be set to do exactly that automatically.Once the recess depth D is known.5-. select a tool with the back angle a greater than the calculated angle b. The control system keeps track of the current tool position al all limes.TURNING AND BORING305The queslion is this: What is the actual spindle speed (Inr/min).5625=:23.03407For actual machining. For the example. the selected tool could be either a 55° diamond shape (back angle clearance Q is 30° to 32"). the tool may actually start cutting at a slower spindle speed thall was originally intended. to a fast 2455 rlmin.. The example only illustrates one possibility. in blo~k N2. as opposed [0 the direct rlmin input using tlie cOlllrnand G97. the actual r/min of the spindle will be calculated for the current diameter. the following solution will eliminate it The possible problem will be linked to the rapid motion from the 023.03406Nl N2 N3 N4 N5G20 G97 GOO G96TOlOO 52455 M03 G41 XO. The problem? There may not be one for every machine. 1l1at 15 cnough data to consider the question that follows.045 ) . but can be used for any calculations where the back angle clearance is required..7 ZO T0101 MOB N4 .400. the calculation will be:b == cos -I(. as stored in the control.SPINDLE SPEED IN CSS MODEFrom several earlier topics.If such a situation docs happcn and presents a problem. estimate it. the formula to calculate the angle b is:For the example. some additional calculations have LO be done. when block N2 is executed. In this situation. The program example covers only a few blocks at (he b~­ ginning.

This generic structure is good for most lathe programs. far from the front face. turning and boring cycles. It also means that M03 rotation has to be moved to block N5. ] F . at least . and the X axis motion can be further split into a rapid and cutting motion. the approach would be logically the same for a turning or a boring cuL Keep the slarting point SP well above the diameter.. Other chapters in this book also cover turning and boring. if required.Safe approach to a parr . A consistent style is important for efficient program development.. Turning and boring is a large subject. Note that each CNC lathe program begins with the 020 or G21 command and perhaps some cancellation codes..N7x . for example. /Z . but in a marc specialized way. Although a facing cut is illustrated.. lOO numerous to list. The detajls thaI are not understood yet will become much clearer after acquiring the general underst. M30%There are many variations on these methods. Feel free to adjust it as necessary. T. Take the general program pattern as an example only. Here is a suggested template for a CNC lathe program.. as well as several other terms. a certain consistency can be seen in the program output. OO(TOOL CHG POSITION) (OPTIONAL STOP)(PROGRAM END)N . the approach can be similar lo the A option in Figure 34-15.~ ~-__________w lJt. This may be called a style. the tinal motion toward the face can be split into a rapid and linear motion. For example. Finally. A collision of a tool with a revolving part can have serious consequences. Program format . Approach to the PartAn important part of any lathe program structure is the method of approaching a revolving part. MOLz .(PROGRAM START up) (TOOL AND GEAR RANGE) (STABILIZE R/MIN) Z . M03 N4 GOO [G41/G42) NS G96 S ... a format. If the part is concenlric.anding of Ihe relationships and details used in various programming methods. It is a variation of the first example.306Chapter 34LATHE PROGRAM FORMATIn a review of the already presented examples. not every job requires spindle speed stabilization. a form. etc. Again.. The B option of the tool approach is two single axis at a lime.. GOO (G40] X .. 00 M4 . The main objective of considering the approach to the part in the first place is safety.il follows a certain consistent pattern which forms the basic femplate for writing the program. Each programmer develops his or her own style over a period of timc.---~­QSP :: Start point for cutting(MACHINING)N. a template. the C option uses the clearance in the Z axis.Lathe:0...(FIRST CUTTING MOTION)cFigure 34-15r...N3 G97 S .TemplatesMost examples have followed a cenain program formal..~- General Program formatTo view the format often enough will forge a mental image in the programmer's mind...100 per side and more. Many other examples could have been included in this chapter. next is spindle speed data. M08(APPROACH)(ClJ'I'"£ING SPEED)N6 GOl [X . The block that follows IS a lool selection. so block N3 will not be necessary.example for a facing cut shownT .-] _------w QEd--ISP . if the actual diameter is not known exactly.. This format will not basicaJly change from one job to another . not as a fixed forma\..AQ General Program Pattern . program changes and program interpretation.N .illB(PROGRAM NAME) G20 G40 G99N2 T .. The examples that were presented in this chapter should be useful (0 any CNC lathe programming.

try Lo sacrifice programming an uneven sLock for finishing. gram for each tool motion. TIley are system only. or at an angle. The programmer only enters the data (typically variable CUlling parameters). This ch'lpter covers the fi~t two cycles. such a method is inefficient. as well as prone to errors. lypicaJJy from a rough turning or rough 1b manually program a ries of coordinated rough u""". only internally.asDon'l gel misled by the cles are only complex in the then.~"'''. In fact.Simple CyclesFanuc and similar controls suppOrt a number of special lathe cycles. to optimize them on the job. These are based on the combinalion of the fixed and variable data. ished profile often suffers asIt is in the area of rough lathe controls are very useful CNC lathe systems have a lhar tool path to be processed automatically. for taper cutting. These original cannot do the same cutting operations as the and multiple repetitive cycles . They first appeared with the early CNC units and were limited by the technological progress of the time. they can also be control. The grooving and outside of this chapter.307. tour. these very are much easier to program than In addition. There are three rather simple cycles that have been part of Fanuc controls for quite a while. but will be covered in next three chapters. the third cycle is a very simple threading cycle. Two of these early cycles are used for turni and boring. similar in nature to cheir cousins for drilling operations on CNC mills and machining centers.for they cannot out a radius or change directhey cannot contour. Various manuals and lextbooks refe!: to them as the Fixed Cycles or Simple or even Canned Cycles.LATHE CYCLES Complex CyclesSTOCK REMOVAL ON LATHESOne of tbe most time gramming for a CNC lathe is siock. Roughing is not the application for there are also special cycles available simple grooving.PRINCIPLES OF LATHE CYCLESSimilar to drilling operations for CNC machining cenall cycles for lathes are based on the same technologIcal principles. wear out prematurely. 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. des. and the CNC system will calculate the details of individual cuts. Return LOol motions in aillhese cycles are automatic.

J. a reminder. and is available on newer comrols only. X and Z axes are absolute mode for turningThe second format adds the parameter I or R to the block and is designed for taper cutting motions. as ill ustrated in Figure 35.straight cutting application Cycle formatThe G90 cutting cycle has two predetermined programming formats.--z-Figure 35-2 G90 cvcle structure -taper cutring applicationoFormat 2 (two versions):G90 X(U) .. normally in incites per revolution or millimeters per revolution. Z(W) .GOO. G02 or G03. the G90 cycle is used primarily for removing a stock in a rectangular fashion (box shape).. the designation of axes as X and Z is used for the absolute..oFormat 1 :In both examples. I .I.. To cancel the G90 cycle. As the name of the cycle suggests. Z(W) .(4)~where . R. The ~irst one is for straight cUlling only.. nornUllly parallel to the spindle centerline and the Z axis is the main cUlling axis.. all that is necessary to do is to usc any motion command .. to the diameter at the taper beginning.. The G90 cycle can also be used for a taper cutting.. F. G90 is the absolute mode in milling. Do not confuse G90 for lathes with G90 for machining centers. the cycle structure and motions are illustrated.:'II-wG91 is incremental mode fOT milling... with the dominance of the Z axis .-vII (R)XF::::Figure 35-1 690 simple cycle structure .x =ZF=::Diameter to be cut End of cut in Z position Cutting feed rate (usually inJrev or mm/rev)GOO. The designation of axes as U and W is used for the incremental programming.. . G90 is a lathe cycle. It has an amount equivalent to one half of the distance from the diameter at the taper end.-. The R address replaces the I address.LUJ2xZ== Diameterto be cut"" 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)r.308Chapter 35G90 . along the Z axis. programming. it will be the GOO rapid motion command:G90 X(U) .. indicating the tool posicion from program zero. .. Commonly. G90 X(U) . F . In Figure 35-1.. U and Waxes are incremental mode for turningA cycle identified by G90 preparatory command (Type A group of G codes) is called the Straight CUlling Cycle (Box cycle).STRAIGHT CUTTING CYCLEBefore going further. F. GO l. 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. In turning. 1.. ------w --------. The F address is (he cutting feedrate. The I address is llsed for taper cutting along the horiwmal direction. The resulting cut is a straight turning or boring cut. Z(W) .Figure 35-2.. indicating actual travel distance of the tool from the current position..~where ..G90 is absolute mode for milling..

.1845.l T010l MOB (PASS 1) N5 G90 X3 B175 Z-2.O Z2..125rXrl'III1JIt'of G90 cVcle in programs 03501 &03502cycle is quite simple in both versions .n However. here is the03502 (G90 STRAIGHT TtJRNING CYCLE ..0 T0100 M09 Nl2 MOl (END OF ROUGHING) Straight Turning ExampleTo a35-3. If the same roughing tool path had been programmed the block-by-block method (withollt G90).nr.8175.ABSOLUTE) Nl G20 N2 T0100 M4l N3 G96 S450 M03 (START POINT) N4 GOO X4. it is Lo trace the program progress with the absolute coordinates ever....\~. per side. 28 (PASS 6) Nll GOO X10.507S W-2..22 inch.32S ZO.9225. first.030 will subtracted from the total X so the total depth amount to remove will be . . Six cms will . .'p'nnr".Ol (PASS 2) N6 X3.INCREMENTAL) Nl G20 N2 T0100 M41 N3 G96 S450 M03 (START POINT) N4 GOO X4.. then the find out how much decide on the depth of .2.le ofcycle in taper cutting . . thereof CUL.O Z2.Ol (PASS 2) N6 U-0.125 ..655 FO.application of G90 rather a simple diameter down to a 'final 02.LATHE CYCLES309NlO X2. along the X to(4.2 MOl (END OF ROUGHING)-1r04.307S (PASS N9 U-0.51 (PASS 3) N'7 X3. each cut will be .!pn from the diameter. so the Z end cut will be actual and in part will be the03501 (G90 STRAIGHT TUlmDJ'G CYCLE ..the depth of each cui has Since G90 is a roughing amount left for finishing. five even cuts.555 FO. Itfrom a 04.32S ZO. for six cuts.5875r02. J the length of i and no radii.005 stock allowance will left on the face..U and .. is the selection of cut for the toral depth.1538. but stillIf prefen'ed.all that is is La calculate the new for each roughing cut.. as a ravalue.'''''l\.Q T0100 M09 Nl.307S (PASS 3) N'7 U-0. use incremental programming rnp. also= . no the practical simple roughing only." .25tIFigure 35-4l::xa·mO.3075 Nll GOO XlO. slock is aclua[ly there to amount of Siock is "' .895 (PASS 5) N9 X2.9525a Slack per side finishing cuI.A. over There arc no chamfers. In this the G90 simpleto that used for the Will be cui. This the G90 cycle 10 a the manual al[ernalive.22) / 2 Taper Cutting Example35-4 is a example.3075 (PASS 5) (pASS 6) NlO U-0. the . the finaJ would be more than longer. 2025 (PASS 4) N8 X2.l T010l MaS N5 G90 U-0.3075 NB U-O.program 03503In the musltobetween thecUlting methods. andthere is one.030 left per or on the diilmeter the first diameter will be X3. using the same a to distinguish these twocuning and cycle.

. . .7Eli DIRECTIONChapter 35Figure 35-6 Known and unknown values for taper culling -program 03503 Amount 'i' is known.In the example. . . . Always add all necessary clearances flIst. . . . . . . This value is called a signed radius value. MOTION rmAL TOOL TRA\. . . . . . to conflrm the accuracy of the calculation. . the I value is negative~lTi0. .5 to 2. while maintaining the taper angle at the same time..8752.7--I1The illustration shows that the r amount is calculated as a single distance. . .100 will be added at each end of the taper. .. . quite often there is a situation that can be solved by more than one method. . .Two triangles are similar. . .310The difference is the addition of an I parameter to the cycle calL indicating the taper amount and its direction per side.875If the direction of the first tool motion in X is positive. . . . as per single side (a radius value). .. keep in mind that the illustration represents the fmished item and does not contain any clearances. . . This law has several possible deflnitions. . . .. Choose the one that suits better a certain programming styJe. . expecting the same result. . Both methods will be used here. . . For straight cutting. amount 'J' has to be calculatedI+RST MOTION DIRECTIONFigure 35-5 The I amount used for G90 turning cycle .extemal and internat. a clearance of 0. . the typical I value win be negative for external taper cutting (turning) and positive for internal taper cutting (boring). . . increasing its length along the axis from 2. .FIRST TAPER LENGTH . . . . The I amount calculation requires the actual length of tool travel. the I value will always be zero and does not have to be written in the program Irs only significance is for raper cutting. . . based on the total traveled distance and the direction of the first motion from the start position. . . . ····-2. There are two simple rules for G90 taper cutting:o a If the direction of the first tool motion in X is negative.7. . e.. if the corresponding sidesof the two triangles are proportional. . . . ..Figure 35-5.:~IOn a CNC lathe with the X axis positive direction abpve the spindle center line.In programming. . . . with specified directiol'1.5'I-~-·····~··rI~aoRK£t\jAL0. To program the part in Figure 35-4. and the one that applies here is that . . Figure 35-6 and Figure 35-7 illustrate the details of the known and unknown values for the I amount calculation. . . . . It is an I value because of its association with the X axis. the I value is positive1 . . . . . . in which case it has a non-zero value . then calculate the I amOlillt. . . . . . i. Either the method of similar triangles or the trigonometric method can be used for such calculation (see Chapter 52 for details on shop mathematics). . then try the other method. . a method that is known in mathematics as the law ofsimilar triangles.Figure 35-7 The I distance calculation using the similar triangles methodThe example shown above almost suggests the simplest method of calculation.

Jll"'E accw:acy ofthe process.595w 03 /0.618 N9 X2. negaiive direclionside along the(4)(5)For roughing.five cuts with 0.519 .24nalI II amount can now be calculated.03 "..lI'!lnl~r of equal cuts .l T010l M08 N5 G90 X3 752 Z-2. fore.ulg teclmique.6 I-0.100 at the front of 2.X-STOCK)Nl G20 N2 T0100 M41 N3 G96 S450 M03 N4 GOO X4.5 is calculated as one 02.005 stock amount is at the shoulder for DnlS. In this example. A a calculated n1. with safety selection conditions. . it is as the cutsuitable depth of cut.5 0.~n'.O:lDg and is extended by 0..'''~t'''\Mof a taper is also common in 35-8 shows another and a shoulder.LATHE CYCLES311MethodI.945 FO. .7) / 2. based on the origithe extended values:I / 2."03503TAPER 'I't.=::::Using Trigonometric MethodFigure 35-8 Example of G90 cycle used on 8 taper to a shoufder .595:2. 945 .0 Z2. as per drawing:= (4 .Ol N6 X3.LI~Ul<:IUUI Figure 35-6 and detailed in Figure is the fmal result .875 / 2.JRNrnG EXAMPLE 1 -For the extended 0.75 / 2both cases) the calculations have the same .-:"l'{.2..LlllJ.... A single G90 but could result in some ex(too much or too little stock).5 (0. the ratio of v~. aOltlroach is to use two modes of the cycle .350a tathe machining shoulder.030 X which is 0. is Jhe required alYlQunl!or programmingI / 2.0..875 x 2.005 + 0.500 x 2.one ". At this point. is the required amowllfor programmingi= 0.=iUsing SimilarFirst.-.595:= :=(1)(3)= 0.500 / 2.7 x tan aand the tangent value has totan a ::::: i / 2. TIle height i 2.25) I 20.595) / 2.Iwill be101.35 0 .to select a In roughing operations.75.5We know i to be 0.374N"J X2 996 N8 X2.50 ------.7""m~~_3.IT''''' tapered roughing. so the relations can by filling in the known ammmt:= 0. will benefit from one simple ·ogJ:amm.5 I :::: 0.0 T0100 MD9 (END OF ROUGHING) Nll MOl Straight and Taper Cutting Examplev".5 tan a ::::: 0. a 0.03504The second method of I amount requires trigonometry..7 x 0.5 .100= 2.. u.7 =i/ 2.500= 2."".2 ZO.945 .. ..5 I :::: (0.5 tan a :::: 0.875 / 2. If of cut is selected last depth will be "'''''A''''V is left to cut. calculate <1ltlcerence i between the two known diameters."x"'..Figure.. it is knownIUsing the pered cut a can be used in this case as2.1.75I 2.. I amount \"'d..875therefore.875..amount of I can be calculatedISimilar to the "'''''''''''' be calculated.750 and the 01ithe I taper amount has to of similar triangles as triangle over the length of difference between theI2.060 on dlalIDt:~ter(CLEAR PeS ) NlO GOO XlO.

()(!)G94 .0 TOIOO M09 (CLEAR PeS.346 (TAPERED 2) Z-2...For tapered turning.FACE CUTTING CYCLE.. The 094 cycle is used primarily for facing cuts and can be used for simple vertical taper cutting as well. and lhe F address is the cutting feed rate. use [he following formula:[.0. the cycle format is:G94 X(U)" Z(W) . JUSl recalculate it wilh a different number of CUIS.Nll Nl2 N13 Nl4Z-1. towards the spindle center line or to face-off a shoulder.519 (TAPERED 3 .) MOL (END OF ROUGlITNG)In a review. 100 I .. Figure 35-10 shows all programming parameters and cutting steps.120 X1.173 (TAPERED 1)The axes X and Z are used for absolute programming..456I0. rather than the Z axis cutting.134 . Z(W) ....i'-N0.495 FO. except the emphasis is on the X axis cutting.466 X2.63 I-0. K.774A cycle that is very similar to 090 is another simple turning cycle. ..=I (R)SMALLER DIA .. All slack allowances are in effect.X2. similar to the 090 cycle. is used for taper culling along the vertical direction.. Apply lhe same process as for 090 cycle.173C-X3.TAPEREDThe rcsult will also include thc sign of fhe J amount. The program 03504 will usc the calculations:03504 (G90 TAPER TURNING EXAMPLE . aillha! is required is to divide the dislance per each side by the number of required cuts.173L..l TOI01 MOS N5 G90 X)..778/STARTX3...O Z2. 0 (CHANGE STRAIGHT TO TAPERED) mo G90 X2.FINAL) GOO XIO.. The purpose of C.....312---I. The result wlll be an equal depth of cut for the whole roughing operation. the axes U and Ware used for incremental programming.. If Ihe cutting depth is LOa smal! or too large.161 for the slraight roughing and three cuts of .2) N1 G20 N2 TOlOO M41 N3 G96 S450 M03 N4 GOO X4.(START)(STRAIGHT 1) N6 X3.865 --!-. Cycle FormatSimilar to all cycle. 812 (STRAIGHT 4) N9 GOO X3. normally pelpendicular to the spindle center line.()0')Chapter 35--~--~---------------~NN~("") (!)0I. if greater than zero._ .. The resulting cut is a slTaight turning cut.865 . expected from CNC programmers.~ X4 .1 ZO.812 X2..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...... -X3..NN00N. to calculate the amount of I or R parameter used in 090 for the taper cUlling .ex/ernal or intemal. Knowing what is a suitable depth of cut is a machining knowledge.765 I-O.B12 Z-O. F..0. it is the X axis that is the main CUlling direction......G94 turning cycle structure· straight and tapered application. the cycle fonnat is:G94 X(U) .456 (STRAIGHT 2) N7 X3. the 094 is normally used to perform a rough face-off of the part.. For straight facing.134 (STRAIGHT 3) N8 X2. F..0.OlAs the cycle description suggests.Figure 35-9 Depth of cut calculation for program example 03504For the ca1cul ation.LARGER DIA 2G94 . The K parameter.1-73 0.The G94 cycle is logically identical to the G9a cycle... In this cycle..0... lhe face culting cycle 094 also has a predetermined programming format.865---..STRAIGHTFigure 35·10G94 . This cycle is called the face cutting cycle. In Figure 35·9.. there are four cuts of ..495 1-0.173 for Lhe tapered cutting.778 Z-2. programmed with the G94 command.

if applicable toMulliple as quire a computer memory in order to NC machines controlled by a punchedfrom them. Ihere is an interesting situation in promultiple repetitive cycles.Cutting Cycles and Part ContourProbably the mOSI common multiple in turning and bor~ng are those thai are used for profile cutting or coJJtou/.LATHE313 Cycle format TypesEach cycle is governed by very do's and don'rs.horizontal in X axis .'"''and olle cycle is available for rllli~liing:r"r". The f ollowi them In detail. simplifying theAn important fael (0 Lake a n01e of. identified by anY-F'n".. (0 find about compatibility both formals is also Included in this chapler. There are three available within the roughing category:oG71.Roughing:finishing cycle is designed to finish profile by allY one of the three roughing cycles. then its elm appllcd to the roughingcyperhaps. sjare used for contouring. 072 nnd 07JChipbreaking cycles:G74Peck drilling cyclePeck grooving cyclein Z axis . forwards can process mathematical of a second. Don't be surprised if Ihis 'rule' is suddenly broken when com pUlerlake over.. Tn tape operation. the emphasis . not the normalone block. Check the parameter conlrol. implication here is (hal when the multiple repetilive roughing cycles. there are seven multipleable. codes sequentially. is more evaluate and process information both directions. Wh~n working with easy to see that it is actually although hardly a re-Profile cutting cycles· Finishing:Finishing cycle for 071.G71G72G73 Pauern repealingIn some respects. if they are available for the require their programming formal in twO blocks.and G73 General DescriptionIn total.l>nih. 111is approach perfect sense . 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. contOllr musl always be defil1edfirst.it is also the only logical from the lechnological point of view. in a forward control. Tool noseapplied.verticillG75Chipbreaking CyclesThreading cycle:The G76 threading cycle is described separately and In sufficient detail in Chapter 38. cultmg. on the other hand. is Ihal programming for these cycles.'"oG70Profile cutting cycles . except the be covered separately in Chapter rules and has itsofMULTIPLE REPETITIVE CYCLESwhich willetc.vas 10 program roughing cuts before finishing cuts. So far.

the minimum define an area is Lhree.. see the next section forBlocks coordinate of the contour and the of the contour a.."". but not always a line parallel [Q anis defined between B C.A/'1/_ . pie boundary wiLh onlysisLingor many points. whichTypically. which is (he outline of the pan conlour. and point~ A and C. Start Point and the Points P and 0. B.. not duplicated :>n\. .The poinL A in the illustration is fi Ie cuui ng cycle.willmethod." P and Q points is allowed is available and programmed.n.. Each roughing cycle ""'I"'nte a number of user ""r'I-'"<''''rlQ4tu'I':'1"IRoughing area by three points only[JDc--------:.:\l defines the the material is removed in antied machining paramcters in thc Mathematically.e. Material boundary can not contaill any other points. It is start point very carefully. It can beBoundary Definitionon the detinition of twothe boundary.-c~---------->~! Part bou~dary ~BA number of points may be defined between the P and a representing the XZ coordinates of the f. must have a sequence number N. and then . nose radius offset should not be included between the P and a points. The contour is programmed using GOL G02...MaterialD. it must a straight line. and G03 tool motions.. They anrl internal (horing) maleany machinable contour. it is only impl It is between points A and S. it is more point'..314Chapter 35CONTOURCYCLES(contouring cycles).Part boundaryIf IBRoughing area defined by more than three pointsFigure 35-1 7 Material and part boundaries as applied to turningoThe tool motion 1)!'![Wflfmmust besteadily ".. usually during the motion to the start point. is nOt actually defined. including teed rates..--. SlarL point will where the rough cuuing begins. and there are quite a few of (hem:D.material boundary.. the material to be machined will be divided into a of cuts.orT.. and C represent the extreme corners of the selected (defined) machining area. this special ances and the actual depth of The generic points Band C in the last come points P and Q in thePoint P represents the block number of the first Xl coordinate of the finished contour. In fact. These lhree (meaning not on the same line). several programming were using thisThe roughing cycles are boundaries...Olher in-depth considerations relating to (he P and Q boundary poinrs are equally important.Q contour must include all necessary clearances.f\hln. but programmed before the cycle is called.material boundal).material removal defined by the starting point andthe p. each poinl represents a position and the POllltS A. typically is (he outline of blank. are lalhe programming. For roughing. such as the Compact JI..\A.<>r<> else in the program.h<:>1i contour..'mInane"''''.""" In the profile cutting cycles. For CNC used ratherDnlr. . is not a new concepl at all. Point Q represents the block number of last Xl coordinate of the finished contour. a based system of the IThe two defined boundaries create a !h. between.

<«---_.""'11Z axis in the first 11 is still required.for some specialnot replaced one type JI. it romes in two formats . it alsoII315I AND TYPE II CYCLESIn the initial versions of the contour cutting cycles. il only means a change in the programmed.Presently.'. bi·directional changeType 1 allows a increasing profile (for cutting) or steadily decreasing profile (for' from U1e point P to point Q (typical cutting directions)... Figure and shows a disallowed contour to I external cutting a cycle. cles. Type lor Type 11 is applicable to the cycle. F . of an undercut will a multiple 1001 path. R .Type l! allows a continually increasing profile or ally decreasing from the point P to change into the direction is allowed axis only. primarily Z axis. S mo GOO X. may be'O. {his older is modern controls use ware features and the lowed.. (ONE AXIS FOR TYPE I)anTYPE I CYCLE. Cycle FormattingOn the next few is a description of the six It is important to understand cycles. Its to remove horizontal cutting. contourferIflhere is no motion the cycle call and program WO as the "".i". a of the contouring direclion into the Opposile direction one axis was not allowed. on the conlrolall cy-. although it IS also T is not specified in allowed as a in all multiple repetitive Its only need maybe a tool offset change.. P10 Q U .. W F S NlO GOO X. only one axis isIIo'" two axes areI:a7l U . by both axes in the block represented by Ihe P This lypically block immediately following... the cycle call in the I..{\ one-block block formal. U . P10 Q . G72. the right to the left._- Programming Type I and Type Ifsystem supports boring cycles... but the is also important some incompatibility Note that the tool function oflhe examples. X or Z direction is not allowed. tower/eve!levelPractically. 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 o Fanuc Fanuc systemis not allowedFigure 35·12 Comparison of Type land . on active cycle.G71 . This newer method more programming flexibi cavities (undercuts).).:"U21T1ST". W.. elc. R . The example cycle. because common undercuts or recesses were nol possible [0 use in the yellhey were common m shops. but can be modified for any internal cutting. It is roughing oUi OUl of a solid cylinder. On older conlrcls. Of course. ('!WO AXES FOR TYPE II)TYPE II CYC. but the will be done with a single That metal removal in which lype Ihe supports. Z. is roughed out in several depths BI-DIRECTIONAL . That limited these cyto some extent....STOCK REMOVAL IN TURNINGThe most common roughing cycle is 071. is roughed out in a single depthQ Example· Type II :GnG71 U . an undercut to be machi with Modern controls Type I. the question is the two lypes in the is in the contents follows the cycle call:o .

a standard 80 0 tool will be used for a single cut on the face.02 (0 POINT = END OF mN'TOUR) GOO G40 XS..250 . depth of cut per side. 01 Nl2 X2.004 D1250 FO.0 0I.250 i-. W.0 Z-O.. .06 WO.The external and inlernal usc of the G71 cycle will use the drawing data in Figure 35-/3. K.". D.. Q.Z-O.-.. 02. it is important to move the short tool Curther from the front face.6where . 9 GOI X3..0where . First block: U R==The depth of roughing cut Amount of retract from each cutSecond block: 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 blockQ U :.36 (END OF FACE DIA) N6 GO 0 ZO.0). The rand K parameters may be used only on some controls and the retract amount R is sel by a system parameter..l (START POSITION FOR CYCLE) NS G7l P9 017 UO.....12S X2.. 00 1.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..000<p 0I==:KU W 0 FS==::= =The first block nu mber of the fin ishi ng profile The last block number ofthe finishing profile Distance and direction of rough semifinishing in the X axis .Drawing example to illustrate G7l rQughing cycle ..G71 U.. 5 . F.87S RO...IB..~Chapter 35RO.1.00.0 ..OOS Nll Z-O. For external CUlling of this part.S NJ..OS FO.. 1... R.. are not available on alJ machines.500 -02..--. G71 P.. W....03505 (G71 ROUGHING CYCLE ...O Z6.....program 03505G71 for External Roughing G71 Cycle format ........ROUGHING ONLY) Nl G20 N2 TOIOO M41 (OD ROUGHING TOOL + GEAR) N3 G96 S450 Me3 (SPEED FOR ROUGH TURNING) N4 GOO G4l X3.875 RO..05 Z-O..OT/16T/18T/20T/21 TIf thc control requires a double block entry for the G71 cycle.PNl4 NJ. the programming format is:The slack material in the example has an existing hole of09/16 (.02. .. 4 FO.CORE 09/16The I and K parameters.10T/11 T/15TThe one-block format for the G7 J cycle is:G71 P.T'Program 03505 covers these operations.. as well as for roughing the ouler shape.625 00..5625).2 FO. 5 .".. They conlrol lhe amount of cuI for semifinishing. ..0 1... U..12503. the last continuous cut before final roughing motions.... 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).95 UO.0 N~. 1 (CLEAR OFF FACE) N7 G42 X3..0 TOlOO Nl9 MOlThe external roughing bas been completed at thiS point in the program and the internal roughing can be programmed for the next tool..0oo0 1. The motion should be far enough to accommodate the incoming long tool.Ol4 N9 GOO Xl..5 Z-O. . Q.. ..6 Nl7 Nl8Do not confuse the U in the iirst block. stock lefl on diameter.0 in the above example (block N18 with Z6.25N13 X2. F.()CHAMFERS 0... . and the U in the second block.316 G71 Cycle Format . The clearance is 6..05Figure 35-13x 45° ... U..2 ZO TOlOl MOe (START FOR FACE) N5 GOI XO."c········01....7 (P POINT = START OF CONTOUR) mo GOI X2.

012 GOO Xl..l FO....5. depending on Ihe control system. It is important 10 learn them weI! allhis point.. The control syslem wi II process the cycle for internal cutling. D. 02 (Q POINT END OF CONTOUR) GOO 040 X5. and is described next. as applied to both. W.. In the example. after a Lool change. if the X direclion from Ihe starl pain! SP 10 lhe point P is !legal il'e. At 11m stage.) G71 P24 Q31 U-O. Q. if (he X direction from stan point SP to Ihe point Pis posiTive. F.Cutting directionFigure 35-14External and internal CUl1ing in G71 cycleThe part has been completely roughed out.. ::Inc! intern::!l cU!ling By (he way. K. shows Ihal G71 can be used for roughing externally or infernally.S ZO.OOB XO.STOCK REMOVAL IN fACING111C Gn cycle is identical in every respect to the G71 cycle. I. Compare G72 with the G71 structure on examples in this chapter. using a series of vertical cuts (face culS). I. -----------~. described laler.55 R-O. Many principles Ihat applied to the example are very common 10 other operalions that also use the mUltiple repetitive cycles. The X direction is negalive or decreasing and an eXlernal cUlling will take place. These parameters conlrol (he amount of cut for semifinishing.004 Z-O.Direction of Cutti ng in G71The last programming example 03505.2S Z-l. which is the last continuous cut before final roughing motions are completed.. Fi 11ishing with the G70 cycle.PQ=The first block number of the finishing profileThe last block number of the finishing profileDistance and direction of rough semifinishing in the X axis . The face roughing cycle Gn is similar.2S Z-O. the P point is X 1.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 blockIKU WoFSFigure 35-14 illustrates the concept of G71 cycle. another 1001 or 1001s will be required in the same program.. II is used for roughing of a solid cylinder.LATHE CYCLES317G71 for Internal RoughingI1 1The face has been done with the previous 1001 and the roughing horing bar can conlinue the machining:----..75 XO. There are two important differences: G72 Cycle Format ~ 101/111/151The one-block programming formal for the G72 cycle is:oStart point relative to the P point (SP to P versus P to SP)Sign oi the U address for stock allowance on diameter~G72 P.0 T0300 MOlJtPCutting directionSP to P direction is negative for external cuttingp/'" _. It COllies in two formats . the X start puinl is XO. 55 U-O. although the sign of the stock U value is very important ror the final size of the part. :::i"PImoN21 N22 N23 N24 N25 N26 N27 N2B N29 N30 N31 N32 N33T0300 (In ROUGHING TOOL) G96 8400 M03 (SPEED FOR ROUGH BORING) GOO G41 XO. excep[ the stock is removed mainly by vertical culting(facing)..a one block and a double block formal. The I and K parameters are nOI available on ail machines.004 01000 FO.oThe control system will process the cycle for external cUlling.5S (p POINT '" START OF CONTOUR) GOl Xl. lypically from (he large diameter towards the spindle center line XO.The meaning of each address is (he same as rar the G71 cycle.. This concludes the section relating to the G71 multiple repetitive cycle.OS Z-O.7.. leaving only the req uired stock on diameters and faces or shoulders.§ESP to P direction is positive for external cuttingQ .875 K-O. the X slart poi nt is X3. evaluate what has been done and why. and an internal culling will take place. if lolerances and/or surface finlsh arc nOlloo crilicaL Otherwise. Like all olher cycles In Ihis group. it does lIot determine the mode of cUlling.06 WO. S. 2 FO.1 T0303 MOS (START pas. U.0 Z2. the P point is XJ..G12 . is possible wilh (he same 1001..55. The X direction is positive or increasing. In the example.where .625 Z-1.05 FO.

ooaN9 X2.here are two addresses W. PQ=:::10 lhis facing application..ROUGHING ONLY) G20 N2 T0100 M41 (OD FACING TOOL + GEAR) NO G96 8450 M03 (SPEED FOR ROUGH FACING) N4 GOO G4l X6.IQj"where .a FO...~. depending on the control..0. !. U.. G72 P. all the main data will be reversed by 90".05 FO.0 TOlOO MOlSecond block: 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 U 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 blockQpThe concept of G72 cycle is illustrated in Figure 35-16.500 ·01500 03/4 CORE+ 673 Cycle Format -10Tj11Tj15TThe one-block programming format for similar to (he G71 and G72 cycles:GncycleIS.program 03506G73 P. rhere were two addresses U.depth of cut (actually il is a 'width of cut).9 z-o.J5. forgings and ca. Cutting direction If1n the G7 J cycle for the doubJe block definition. the programming formal is:G72 W.55 WO.3 T010l MOB (START POS.. and the W in the second block .OTj16T/1 BT/20T/21TIf the control system requires a double block enlry for lbe G72 cycle...... In the 072 double block definition cycle. F.. Q..014 N6 GOO z-O...II I .tings.. First block:N8 XS.per side Z axis distance and direction of relief Stock amount tor finishing on the X axis diameter.Ia"m03506 (G72 ROUGHING CYCLE .Q. D. 1. 02 (Q-POINT :::: END OF aJNTOUR) GOO G40 XS.87S (p-POINT :::: START OF CONTOUR) N7 GOl X6.sNll Nl2 Nl3 Nl4WR= = =The depth of roughing cut Amount of retract from each cutZO XO..PATTERN REPEATING CYCLEThe pattern repeating cycle is also called the Closed Loop or a Profile Copying cycle. K. lIS purpose is to minimize the CUlling lime for roughing material of irregular shapes and forms.1 FO.06 WO. R. U. for example..05x 45°Figure 35-16 Basic concept of G72 mUltiple repetitive cycle-06.. S...25 FACE STOCKG13 .0.02.c. F. W. Note the posicion or (he poinl P as it relales lo Ihe start puinc SP and compare it with Ihe G7) cycle.An example program 0350() for the G72 cycle uses the drawi ng data in Figure 35. Roughing program using the Gn cycle is logically similar to the G71 cycle:1K U=: =:The first block number of the finishing profile The last block number of the finishing profile Xaxis distance and direction of relief . 5 . Make sure you do not confuse the W in the first block ..O Z3.I I lI IIQa a co aCHAMFER 0. The I and K paramelers may be available.stock left on faces. 5mo n.03 D1250 FO. Q ... W. because the cut will be segmented along the X axis..318Chapter 35+ G72 Cycle Format .iFigure 35-15 Drawing example to illustrate G72 roughing cycfe .02where .) N5 G72 P6 Q12 UO..2S ZO.

0 T0100Nl6 MJO %01.35 N7 GOl Xl..62SN9 Xl. That is not the typical castings.its~where .625 RQ.0 ZO. but some 'air' an unwanted side effect for odd shapeduW=X axis distance and direction of relief· perZ axis distance and direction of relief The number of cutting divisionsRIn the example.~.25 N8 Z-O...300 (KO. so the r-\rr..004 D3 FO.l TOlOl MUS NS G73 P6 Q13 IO..uses theN2 T0100 N3 G96 S350 M03 N4 GOO G42 X3. the largest expected material amount per will be chosen as . exact condition and sizes of the orSecond block: P Q = U -=W FThe 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 blockSIn the two-block cycle entries.parameters:Cycle Format OT/16T/18T/20Tj21Two I .200 (10.. .95 N13 UO...O Z2.2 FO.2S Nll X2.4S N12 X2.550Figure 35-17 Pattern repeating cycle 673 program03507.Ol N6 GOO XO.! Tn the G73 cycle. amount ofcontrol requires a double block entry cycle.02 Nl4 G70 P6 Q13 FO..75 Z-1.\rn use D3..050 00.06 WO. it is not actual depth of cut is calculated au[omatically.there cut specification.3 UO.2 KO. divisions could be either two or three. They have a differentThis cycle IS suitable for roughing contours where the finish contour closely matches the contour the forging.. the programming format is:of cutting 111\11<:1(\1'" or number ofwith care . 55 Z-l.006 N15 GOO G40 XS.OS Z-O. do nOI up the firs! block thal repeat in the second block (U the example).. o D .319w oFsleft 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 blockSpindle speed (ft/min or m/minl overrides spindle between the P block and the Q blockimportant input parameters in the G73 One pClJameter seems to be missing . ~I"/v".2) and thematerial amount on the face as . 0N10 Z-1.canwith a reasonable efficiency.3). where the stock varies all over the illustration in Figure 37·17..r·. Some modification on the control during actual setup or machining.thisamount ofmaterial to remove in the X material to remove in the Z axisoK . First block:amount rough stock to be rprnr\'''IU! Z axes. 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 M42G7J Example of Pattern RepeatingInrepeating cycle G73 35-17.

) N37 G70 P9 Q17 (FINISHING CYCLE . On the Olher hand. one for internal finishing lool path:(03505 CONTINUED .il is all the same. although the cycle formal accepts a feedratc. The programming format for G70 cycle is:trIir where . use the same start point for G70 as for the roughing cycles.007will use .. allhough It can change.. G72 and Gn. the cutting tool is still programmed 10 start above the original stock diameter and offthe from face. "will be a waste of time. Although il has a smaller G number than any of the three roughing cydes G71.:lny feerir:1tes. can be compleled by using another IWO tools. The defined block segments Pta Q for Ihe roughing 1001 already include feedratcs.1 ZO...l T0707 MOS (START POS.-.007 in/rev feedra\e will never be used. program blockN17 G70 P9 Q17 FO. although all roughing morions have already been completed. FO. )A=1+ U/2B= K+WFigure 35·18 Schematic representation of 673 cvcleN34 TOSOO M42 (00 FINISHING TOOL + GEAR) N35 G96 5530 M03 (SPEED FOR FINISH TURNING) N36 G42 X3.ID) GOO G40 XS. and the cycle call is a one-block command. There are no feed rates program med for the G70 cycle. On the machine..S ZO.'1AFor safety. one for external. . can be completed by using another external lool for finishing euls uSing Ihe G70 cycle:LaThe cycle G70 acceplS a previously defined finishing contour from either or the three roughing cycles. -------B'--Chapter 35A. watch the progress with care ..T0700 (In FINISHING TOOL) G96 S47S M03 (SPEED FOR ROUGH BORING) GOO G41 XO.. . this is a recommend praclice..007G70 Cycle Format· All ControlsFor this cycle. thenN .O Z2. If Ihe fi n ish conlour did not include .The earlier roughing progTam 03505. Each Indlvidual 1001 path IS offset by a calculated amount along the X and Z axes..0 T0700 (END OF PROGRAM) M30Even for the ex ternal Ii nishing.CONTOING CYCLEThe last of the contouring cycles is G70.. . For safely reasons.) G70 P24 Q31 (FINISHING CYCLE . These progmmmed feedrates will be ignored in the roughing mode and will become aClive only for the G70 cycle. appl ies eq ually Ihe G72 cycle. it is siriclly usedJor the finishing CUf oja previously defined conrow:cut. The roughing program 03506. duri ng fi nishi ng.=SThe 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)G70 P .particularly for the firsllool path. . The same logic described ror G7 t cycle.it repeals (he machining contour (pattern) specified between the P and Q points. already described.320.0 TOSOO N39 MOl N40 N41 N42 N43 N44 N45%Note that (he pallern repealing cycle does exactly thaI . since the .l TOSOS MOS (START POS. As ils description suggesls.OD) N18 GOO G40 XS.. Feedrate override may come useful here.007 in/rev exclusively for the finishing tool path. lhr:n progrllm rI comm(!fljeedmle for l~nish­ ing all contours during the G70 cycle processing. the !imshing cycle G70 is normally used after anyone of these three rough ing cycles.. .O Z6. and is normally repealed in the G70 cycle. For example. using the G71 repetitive cycle for rough turning and rough boring.PQF. It will be overridden by the feedrate defined between blocks N9 and N 17 of program 03505). This finishing contour is defined by the P and Ihe Q points of Ihe respective cycles. Q . if [here is no feedratc programmed for the finishing contour al all. . using the G72 cycle for rough turning of Ihe pan face. there is no difference in the programming rormal for various controls .. A similar approach applies to the internalG10 .

(W . D. and must not be programmed Th e P bloc k in G71 should not include the Z axis value (Z or W) for cycle Type I Change of direction is allowed only for Type II G71 cycle.10Tj11Tj15TThe one-block programming format for G74 cycle is:G74 X.. F. The name of the cycle is Peck Drilling Cycle..2S ZO.LATHE CYCLES321G14 .X(U)Z(W)=:::pQ===RFS=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). such as chips breaking during a long CUlling moLion.o Always cancel tool nose radius offseto o o oReturn motion to the start point is automatic.. applying the same rules... to or from the spindle centerline) (specified between the P and Q points) will be ignored during roughingX(U)KD F= Z(W) I =.The rules mentioned earlier also apply for the contourfinishing defined by the G72 cycle.!GfoAlways apply tool nose radius oHset before the stock removal cycle is called after the stock removal cycle is completedwhere .. F.0 TOSOO(START POS..-:W where . similar 10 the G73 peck drilling cycle. observing the rules of their use is very important. in some very hard materials). and its sign shows to which side of the stock it is to be applied (sign is the direction in X. deep face grooving. and along one axis only (WO) Stock allowance U is programmed on a diameter... } Z.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) G74 Cycle Format . (U . ) Z.3 TOSOS M08 Nl9 GOO G40 X8.OTj16Tj18Tj20Tj21TThe two-block programming format for G74 cycle is:G74 R.BASIC RULES FOR G10-G13 CYCLESIn order 10 make the multiple repetitive stock removal cycles (contouring cycles) work properly and efficiently.. ) N15 TOSOO M42 N16 G96 5500 M03 N1e G70 P6 Q12Nl7 GOO G41 X6. Along with G75 cycle. and many other applications.o Feedrate programmed for the finishing contouroD address does not use decimal point.. Although its main purpose may be applied towards peck drilling.. K.)(FINISHING CYCLE)mo%M30The G74 cycle is one of two cycles usually used for non finishing work. G74 cycle application is a lillie more versatile than for its G73 equivalent on machining centers. can be aJso be programmed by using another external Lool for finishing. Program 03507. (W . Q . ) 1. Often a small oversight may cause a lengthy delay.0 Z3..:::S=:Final groove diameter to be cut Z position of the last peck . ) P. S... and must be programmed for leading zero suppression format:First block: R=:Return amount (clearance for each cut)D0750 or D750 is equivalent to . used for machining centers.. difficull part-off machining.. C74 cycle is used along rhe Z axis.. using the G73 cycle. S....PECK DRILLING CYCLE(00 FACING TOOL + GEAR) (SPEED FOR FINISH FACING)(03506 CONTINUED .. G74 X. FOr Ihe lathe work.. This is [he cycle commonly used for an interrupted CUl along the Zaxis..0750 depthSecond block:Only some control systems do allow a decimal point to be used for the D address (depth of cut) in G71 and G72 cycles. Here are Ihe most important rules and observations: G74 Cycle Format . (U ... R.Il. Ihe cycle can be used with equal eftlciency for interrupted eUls in turning and boring (for example. it is used for machining an interrupted cm.

Z(W) =Z.thearcChapterI=KDF SK .S FO.see Figure 35·19.or5imotion.. C75 cycle is This is also a very during a rough cut the designed 10 break axis .. only the Z.o Both cycles allow ano The relief amount at the end of cut can be in that case It will be assumed as zero.K --...XIU) diameter to be cut of the last groove (for multiple grooves only)If the return amount is programmed (tINo-block method). the presence of X determines the If the X value is programmed.DG75 Cycle format . Otherwise. it is set by an internal parameter of the control system.10Tj11TjlSTReturn amount (clearance for is only programmable for the two-block method.0 Z2. except the X axis is replaced with the Z axis. the Rvalue means relief amount.2 T0202 MOB NS G74 Z-3. The cycle is identical to G74. non cle.012 N6 GOO X6..oIl?where ... forBASIC RULES fOR G14 AND G75 CYCLESnOles are common to botho In boththe X and Z values can be programmed absolute or mode.OTj16Tj18Tj20Tj21TThe two-blockng fomlal forG75z35-19 Schematic format for 674 cvcle example~where ..Depth of each cut (no sign) II"T~. First block:The followmg program example il 03507 (G74 PECK DRILLING) N1 G20 N2 T0200 N3 G91 51200 MO) N4 GOO XO ZO. and the relief amount is also programmed. 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 G75 Cycle format ..n .322If both the X(U) and I (or P) are omitted in machining is along the Z axis only (peck cal drilling operation. il is used forexample for breakAexample of G75willin {heof two lathe cycles available ''''''rr\J. K programmed .'r with the G74 cyan inten'upted cuI.0 T0200N1 M30cycle:RReturn amount (clearance for eachblock:IN RPM) POSITION) (PECK DRILLING) POSITION)(END OF PROGRAM)X{U)Z(WJ PQ=Final groove diameter to be cutZposition of the last grooveDepth 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%RFDrilling willtuke place to a cremenls of one half of an peck is calculated from an interrupted groove isS=::the Z(W) and K (or Q) are is along the X axis onlyG15 * GROOVE CUTTING CYCLE075 simple.0 KO.used mainly agrooving operation.

The groove shape is the single most important factor when selecting the grooving insert. where the angle of the cUlling insert and the angJe of infeed must be identical (usually aI45°).GROOVE SHAPEThe first evalulltion before programming grooves is the groove shape. which lakes place at 45". Turnmg lool can be applied for culs in multiple directions. A groove with sharp corners parallel to the machine axes requires a square insert. During the corner breaking cut 011 a groove. on a cy]i nder. Many grooves may appear on the same parI at different locations and could benefit from a subprogram development. Multi tip insert grooving tools are used (0 decrease costs and increase prmJuclivity. Some grooves may be easier to program than others. There are many other kinds of grooves.1 or rubber rings. Watch particularly for surface finish and tolerances. Designs of grooving inserts vary. mOst others use the more general groove lypes. 1l1e groove shape. have a good look at lhe drawing specifications and do some overall evaluations. that serve as stoppers or sealers.UUV~U[)uFigure 36-1Typical shapes of common grooving tools323. many grooves are not of the highest qualilY. clearance and recess grooves. in case of lubrication grooves.Groove is an essential pan of components machined on CNC lathes. Grooving tools are also used for a variety of special machining operations. A notable exception is (1n operation known as necking (relief grooving). In any case. before a groove can be programmed. a corner hreaking on the groove. etc. O-ring grooves are specially designed for insertion of melt. oil grooves.IIGROOVING ON LATHES Grooving Criteria For a CNC programmer. Many industnes use grooves unique [0 [heir needs. In good planning. Perhaps it is because many grooves do no! require high precision and when a high precision groove has to be done.The grooving tool is usually a carbide insert mounted in a special tool holder. evaluate the selected groove by al leasl lhree criteria:oGroove shape Groove location on a partGroove cutting on CNC lalhes is a multi step machining operation. the amount of material removal is always very small and the applied feed rate is normally low. evaluate the groove carefully. a groove with radius requires an insert having the same or smaller radius. Special purpose grooves. There are many kinds of grooves used in industry. the programmer does not know how to handle it properly.GROOVING OPERATIONSThe cutting tools for grooving are either external or internal and use a variety of inserls in different configuraeions. 1T0m a single tip. Formed grooves require inserlS shaped into the same form. like cutting a small chamfer. Some of the main purposes of grooving are to allow two components to fit face-Io-face (or shoulder-la-shoulder) and. to let oil or some other lubricant to flow smoothly between two or more connecting parts. this is a turmng operation. Most likeJy. for example an angular groove shape. When planning a program for grooving.J. programming will include many undercuts. it can be used for some light machining. cone. The most important difference between grooving and turning is the direClion of cut. Ahhough a grooving tool is not designed for turning. or at least a significant part of it. There arc also pulley or V-belt grooves thai are used for belts to drive a motor. Main GroDving Applicationsoo Groove dimensions and tolerancesUnfortunately. or a face of the part. will need an insert with the angles corresponding to the groove angJes as given in the drawing. grooving tool is normally used to cut in a single direction only. The shape is determined by the part drawing and corresponds to (he purpose of the groove. The term grooving usually applies to a process of forming a narrow cavity of a certain depth. Some typical shapes of grooving inserts are illustrated in Figure 36. Strictly speaking. There is another applicalion of a two axis simultaneous motion in grooving. yet there could be several fairly complex grooves found in various industries thaI may present a programming or machining challenge. 10 an lnsert with multiple lips. similar to any other tool. etc. Inserts are manufactured !O nominal sizes. will be in the shape of the cUlling tool. grooving usually presents no special difficulties.

Each of the three locations may be either e:rtemal or internal.j groove correctly.Chapter 36Allhough some variations are possible. the groove width wIll be greater than the largest available grooving insert of a nominal size (i. on a taper (cone).. In this case. there is usually no problem in using a narrow grooving insert to make a wide groove with multiple ClltS. To program . or a radius modification. LJ..or internal. off-the-shelf tools and inserts should be used as much as possible. The illustration in Figure 36-3 shows some lypical locations of various grooves.276 inches can be cuI with a nearest lower nominal insert width of . off the shelf size). One js \0 have a custom made insert. The other alternative is 10 modify an existing insert in-house. i. it is not possible to feed into a groove depth that is greater than the depth clearance of the insert or tool holder. even in a corner. ThiS position is the distance to one side . Program may also need to be designed in seclions. for practical purposes.. For a large number of grooves.The two most common groove locations are on a cylinder.or one wall . However.«ootaper cutting. 3 mm or 1/32. 1/8 in inches. or on a straight inside . It is not possible to cut a groove with an insert thut is larger than the groove width. In such cases.'. A groove whose widlh equals the insert width selected for the groove shape.Figure 36-2.250 inch. but also ils depth .3/64.2 mm. a standard rool or insert can be modified 10 suil a particular job. only these three categories are considered.or exlemal. Generally. In special cases. if il is possible and practical.Insert ModificationOnce in a while.e.diameter. however. the groove program has to include at least two eulS . It is not unusual to even use more than one tool for such an operation.. Simplefeed-in and rapid-out tool motion is all that is required. For example. Some extra large grooves require a special approach.. on a straight outside . programmers encounter a groove that requires a special insert in terms of its size or shape. a groove thai is 10m m wide and 8 mm deep cannO[ be Cul in a single pass. it may be a small extension of the insert cUlling deplh.. There are two options to consider.diameter. Try 10 modify lhe groove shape itself only as the last resort. For grooving.324 Nominal Insert SizeIn many groove ctllting operations. only (he affected program section has to be repeated. if the tolerances or excessive 100] wear make it more practical . Also.GROOVE LOCATIONGroove location on a part is determined by the part drawing. The same appbes for a deep culling insert used 10 make a shallow groove. and so on. Grooving dimensions include the width and the depth of a groove.. in CNC programming. it may be a justi tied solution. in addition to alleast one finishing CUL Another grooving 1001 may be used for finishing. the rough cuts for lhe groove will control not only its widlh.e. diameter cutting. 1/16. Ihe width and depth of the groove must be known as well as its position relative to a known reference position on the parI. depending on the units selected. as well as the corners specifications. Modification of srandard tools slows down the production and can be quite costly. The dimensions of a groove determine the method of machining. Nominal sizes are normally found in various tooling catalogues and typically have widths 1ike I mm... a groove width of .one or more roughing cUls.'2 1 3---Figure 36-3 Typical groove locations on a parr Figure 36-2 CUI distribution for grooves wider than the insertGROOVE DIMENSIONSThe dimensions of a groove are always important when selecting the proper grooving insert. The locations can be one of three groups:oGroove cut on a cylinder Groove cut on a cone Groove cut on a face. For example. requires only one cut.of the groove. Many other grooves may be located on a face. In case of an insert breakage.. shoulder cutting.

If a tokrance any dimension.to the groove depth. [he right side of the £roove.the groove is finished. The left side found easily.2. two common methods12.ioning . At the same such grooves is a good stal1 to learn moreThe following square The groove diameters(2.'W'V"'" and is 111 .The example in Figure 36-4b.1001 reference poim of a grooving 1001 is sellO of the grooving insert. the tolerance must always finished groove. and . arc no corner breaks. there are twosiomng the groove depth.15'75. lhe front is d in the example a and the example D.. a it will is slrictly a utility Iype . is more convenient'. because it will as specified in the drawing. Some will say.bldimensioning two common methodsthe dimension L is the groove.butLLSIMPLE GROOVE PROGRAMMINGsimplest of aU grooves is the One that and shape as the tool cutting edge -. and no quality A dwell at the bottom of the the only improvement.ON325and boltom diameter of the I::.if the dimensionallolerances are specified. TalC.952 . and it will affect the1 programmethod. then rapid out back to the start~ mg posltlOn. For programming purposes. A groove may also dimensioned from anolher localion. 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 o have to dlmensionin <=' examfire about equally common in CNC are usually grooves that have a have a much deeper top diameter and its bartom Groove Positionare shown two most common methods of a The groove width is aiven in both cases as dimension W. by adding the groove width ming considerations will be slightly different. manufacturing.63'7)Jn positionblFigure 36-5 Groove depth dimens. the quality of such 11 will not be the ""' oreatesl . depending onFigure 36-6Simple groove example· program 03601 Insert width is equa/l0 the groove widthThe program a is rapid mode.~Ird~eed-in . bUl tile distance L fro. and no special techniques used.. no surface tinish conlrol. that the specified dimension imporrant dimension. move the gTooving lool toDepthdimen-Tn Figure 36-5.

012 Ximportanl principles thal can of programming any face finish are very critical.074same block. but be a high quality This effort is nol justified. at 100. most of maChining a groove is not03601 (SIMPLE GROOVE) (G20) N33 TOSOO M42N34 G97 5650 M03(TOOL 8(650 RPM SPEED)N3S GOO Xl.M)%the following. may improve [he groove tinish by elimithe lool drag on theWhat is best cutting plunge rough cut two finish cuts. I[s have a rough surface.. sharp corners will broken with a . Clearance at this 10calion is the clearance the part diameter.625 Toaos MaS (START POINT) N3S GOl X2.. Constant Swface Speed (eSS) in can be selected instead. so is . Combination of the shape and the size will offer endless opponunilies.0 Z3.1584I 2= ."'ll"'. That means groove. 4 (DWELL AT THE BOTTOM) IDB X3.074 inches the pari diameter.. First...012 chamfer at the 04. during the toolcut.1 Z 0. the from the beginning of N34 are startup selected.0.to a safe minimum.637 FO... Always keep this '. N35 is a block where the 1001 moves [0 the position from which the groove will be poi nt). OUI al a heavier feedrate than using a rapid motion).326The uses the1001Chapter 36as IhePRECISION GROOVING TECHNIQUESA simple in-ouf will nOl be good. tel's evaluate the program aactual groove plunging Block N37 is a dwell the tool return to the slanthe rrogram. of them be mg without a single change toFigure 36-8 Precision groove· distribution of cuts for the example 03802. at a of 0.952)To p:-ogram and precision groove eXira effort.006 added to the Also.2. one for each are reasonable.BREAK CORNERS 0. ..003 (FEED-IN TO N37 G04 XO.003 in/rev in block to a rather high feed rate of in/rev in block N38.125 never width of the or indirectly.example was very slm-. It will means a di groove width. although its width is Intentionally impact of the example.diameter and complellonAlthough Ihis parlicular pie.4 seconds. shows the distribution of the cuts. 05 (RErRAC"r FROM N39 GOO X6.1001more. as high quality comes with a price. The next two illustrations show the groove di mensions and program details.1. which is .in the diThe tool width of .1 . FO. comers will be sharp its width is dependent on insert width and its wear. if the program structure structure will remain unaffected even if grooving [001 shape is changed.0. The is positioned . Grooves are usually cut at a and it may lOO much rime just (Q cut in the note Ihe actual has increased . Il contains sevapplied to rhe method its precision and sur-for a precision groove eX<3lm/Jlethe clearance before the cutting begins. motion command GOO could used instead.0 TOSOO M09 (CLEAR POSITION)N40 IDO (END OF PROGRJl.074 inches in the(3. Drawing in Figure 36-7 shows a high groove.

with one more plunge. the starting data are the groove width of . the gear range (M42) . using the following formula:Before the first block can be programmed. Machining experience confirms that removing an equal stock from each wall (side) of the groove will result in better CUlling conditions. That translates into the minimum of fWO grooving cuts. to the nearest integer: .1250 SQUARE GROOVING TOOLA possible decision could be to plunge once to finish the left side of Ihe groove and.em. The necessary overlap between the two cuts is guaranteed and the only remaining operation is the chamfering. the spindle speed (400 rUmin).If this observation is used in the current example.GROOVING ON LATHES327chined with a. the CNC programmer will gain control of two always Important factors:One simple programming method is not an option .The first few program blocks can now be written:03602 (PRECISION GROOVE)(G20) N41 T0300 M42 N42 G96 8400 M03+ Machining MethodOnce the grooving tool has been selected and assigned a station number (toollurrel rosition).If at least Ihree grooving cuts are used to form the groove rather (han the minimum two cuts. now a more detailed description is necessary. a method that will guarantee a high quality groove. the initial values can be assignedthe offset number (03).! 584 inch.1250). The insert width has to be selected as well. se!eclion of the cutting tool and machining method is a sign of a good planning. How many times? It is not difficult to calculate that a groove . There is much more flexibility with 1/8 width than with 5/32 width. !.1584 wide and ma-ooControl of the groove POSITIONControl of the groove WIDTHTn precision grooving. but will not be of a very good quality. and 1132 or 1116 inch for (ools in the English system. 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 ofgrooving ClllS (or plunges)." G w Minimum number of cuts Groove width for machining Grooving insert widthTw=Applying the formula to the example.1584 of an inch and tbe groovi ng insert width of . The question is . Tool reference point is selected at {he left edge of the insert. three cuts Ihat are equally distributed should yield even better results. make the best efforts to deliver an exceptional quality at the programming level. [he non-standard groove width is .The dimensional difference would allow only slightly more than . Always round upwards. such a result does nOL give the programmer much credit. The first step towards that goal is the realization of the faclthat a grooving insert with the width narrower than the groove width.. In (his case.. to finish the groove right side. The nearest standard insert width is 5/32 inch (0. assigned to the tool station number Ihree . llUll means Q better method must be selected.15625 inch). an important conclusion can be made.Even if only an acceptable quality groove is produced during machining. the actual method of machining the groove has to be decided. will have to be plunged into the groove more than once. usually with an increment of I mm for metric tools. A groove programmed Ihis way may be acceptable. A better choice is to step down LO Ihe next lower standard insert width. Grooving inserts are available in a variety of standard widths. there is very little material to cut.T03. These are important decisions because they directly influence the final groove size and its condition. In theory. this insert could cut the groove. Earlier. in order to prevent problems at the machining level.+ Groove Width SelectionThe grooving Lool selected for the example in program 03602 will be an exlernaltool. 1250 wide grooving insert.Cmln =rrw where . J584/1250= /. wh icll is a standard selection.. What can be actually done lo assure the highest groove quality possible?In order to write first class programs.2672=2 cuts. no.and a note ror the selup sheet:oT0303 = . better surface fi nish control and better toollifc.hat is 1/8th of an inch (. which may cause the insert to rub on the wall rather than cut It.should we select the 5/32 inch insert width? rn a short answer.00215 inch over two walls).1250 of an inch.00 I per each side of (he groove. the machining method has been descrlbed generally. these two factors are equally important and should be considered logether.the basic in-ollt lcchmque used earlier. will need oJ least two grooving cuts. Once the grooving tool is selected. but because the actual difference between the Insert width and the groove width is so small (. If two plunge euls of uneven width will yield at least acceptable results.(001How call this suggestion be applied to the example? The key is the knowledge of machining processes.

0167 ond "0167 is a better choice than . including the chamfer (corner break) and sweep the groove bottom towards the left wall. The end diameter is the groove bottom.1250 ·0.1The rapid motion back above the groove (N4S) is a good choice in this case. Equal stock amounts offer this consistency.03. That is . The goal is to program the culting mo[ions in three steps.N43 GOO X4. the first plunge hastake pJace atthe exact center of the groove.82. also leave small stock on the bottom of the grooveQ STEP 2Program the grooving tool operation on the left side of the groove. such as .1250) I 2. leaving an equal material stock on both groove faces for finishing . because the sides will be machined later with the finishing culS. There is no plus or minus dimensionaltolerance specified. the grooving tool Slm1 position will be at Z-O.0 . .groove data used in program 03602. and also with general consistency in programming. In the third step. to make a sweep finish of the groove bottom.6870= .0170 inch. which is not very efficient.ll11ll suggests the need to consider stock allowances for fmishing.0167 on the positive side of the len wall.with slow feed rates that are typical to grooves. forexample.82 could be programmed as the targel diameter. The benefit of such approach is in eventual program checking.1250.6083 T0303 MOB N44 GOI X3.1 Z-O. The slock amount will be one half of (he groove width minllS the insert width . If this wall is at Z-0. Dimension of X3.Figure 36-9 Precision groove .see details in the previous Figure 36-8:(. The first position is where the plunge will start from. so the drawing dimension is used as arbilJary and is programmed directly.0170 and . That wi II add two times .826 FO. so the surface finish of Ihe walls is not critical at this moment.05 x 2=4. fi nd fi rsl the amou nt of slack on each waJ Ithat is left for finishing.050 inch (). sweeping of the bottom is dcsircd.60{l3.1584· Z-0. the second position is the end diameter for the plunging cuL A good position for thein the drawing as .82The tool Z position wi II be . Once the plunge is done.0 + .0164. It would make no difference for the machining. The second factor under the program control is the groove width.The last two steps require chamfer cutting or a comer break.328Look carefully at how these factors are implemented in the example.6250. the (001 reI urns 10 the start diameter:Q STEP 3Program the grooving tool operation on the right side of the groove.82 groove diameter. 10 .1(X4.4. Z-0. there will be too much air to cut.All the calculated amounts can be added to the previousFigure 36-8.003 to the 3.625 inches from the front face of the pan. using the technique already selected:start is about .0.050 per side above the finished diameter. The first factor applied under (he programcontrol is the groove position..004 N45 GOO X4.1584 . which in Ih is case would be a clearance diameter calculatedfrom the 04.1)Q STEP 1Rough plunge in the middle of the groove. including the chamfer (corner break)Do nol start the cuI with a clearance of more than .006 on diameter).826. given on the drawing as 3.003 per side (.6083 Z-0. although the practical results will be the same. for the programmed X target as X3.0167. but it does help to leave a very small Slack. there will be an equal amount of materia! left for finiShing on bOlh walls of Ihe groove. to the left side of the groove.27 mm) .1 04. To calculate the Z axis position for the starl. Do your best to avoid rounding off the figure .0. but it is a sound programming practice to usc only the calculated values.625. After roughing the groove. The groove position is givenChapter 36Nex[ look is at the X axis positions. it is lime to Slarllhe finishing operations. When the tool completes the nrsl plunge.0167'/0.1584 of an inch on the drawi ng and the selected !ool insel1 width is .976 03"826 03. and creale dala for a new Figure 36-9:finishing Allowances[0During the first step.016704. 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.

during machining. use quite a simple technique . then continue (0 remove the stock of .625 drawing dimension! The purpose here is to compensate for a possible 1001 pressure.{he {urrer . The best approach is (0 return 10 the initial stan position at a relatively high bur l1on-cuuing feedratc:N49 X4. offset 03 had been assigned to the grooving tool. To program the motions for the right side wall. the groove width may change slightly. If an insert is changed. the left chamfer and side wlll be finished with one offset (03). A tolerance range. All molions relating to the right chamfer and the right side groove wall will be programmed in the incrementa/ mode. Suddenly. 10 Ihe same diameter as for roughing. Onc method is to chnnge the GSO coordinates in the program.vill index .To complete the groove righl side wall. the possible our oftolerance problem. To eliminate. that maintaining tolerances at the machine will be possible. There \(Jill nor be a srep ill the groove comeri Because the sweep will end at the left side of the groove.Earlier. program for grooves must be structured in such a way. The method used here is probably the simplest and also the safest. the right chamfer and side will use a second offset.050.6083.82 FO. but it is implied as very close by the four-decimal place dimension. In (he same block. bUI also within certain tolerances.It IS a small value that is . finish the cur atthe full bottom diameter. that all machine settings usc just a single offset in the program.826 FO. Another cause for an unacceptable groove width is {he insert wid!h. described in Chapter 20 . but the resulting groove width may not fall within close tolerances. the chamfer of . the left side wall is finished. 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. Its cutting capabilities are not necessarily impaired. To make Ihe second offset easier 10 remember. the second offset is programmed. This is the only block where offset 13 should be applied . Why would an ad· dilional offscr he needed at all? Assume for a moment. number 13 wi II be used. the original o('[<. such as 0.002In block N50.this is called sweeping the groove bottom:NS2 X3.0 T0300 M09The next slep is [0 return the tool above parl diameler. That means do not retract [he tool further then the position of Z-0. which is X3.one block before. or al least minimize.976 Z-O. This mOlion is more important than it seems. when the precision groove was pJanned.0003 short of the .10 Z-0.ct (03) must be reinstated.6083 FO.0787 T0313 N51 X3. It also means do nol rapid OuL because of a possi ble contact during the 'dogleg' or 'hockey Sl ick' motion.826:N46 Z-O. Again.04N55 GOO X10. or use a different work coordinale offsel. In the program. because the new illseli may not have exactly [hc same width as the previous onc.012 and the clearance of .6083 FO.' The intcnded program 03602 can now be completed. it's too early.O Z2.Rapid Posiliolling. an offscr (hal cont[ols the groove wiJth only.687 N47 GOl XJ.003At this point. is a tool weQJ: As the insert works harder and harder. Make sure not to change the tool numbers .calculalion of [he left chamfer start position.6S7 position. afler it's too lale. One other step has to be Ilnished firSI . the tool has to cut with the righl side (right edge) of the grooving insert. There is no specified tolerance in the example. the chamfer is done first and [he cut continues to finish the left side. In the program 03602.04Groove TolerancesAs in any machining. either to the negative or positive direction.GROOVING ON LATHES329the grooving (001 will nOI contact the right side wall stock. the aim is the drawing dimension of . the tool tTavels the total distance equivalent to the sum of the right wall stock of . AI a slow feedrale.1 Z-O.6247 T0303Also look at the Z axis end amount .6083 but has to move by the wall stock oLO 167 and the chamfer as clearance of .002 N48 X3.003 from the bollom diameter (blockN53) . Currently.program an additional offset for finishing operations only. it wears off at ils edges and actually becomes narrower. the groove gets narrower due to 1001 wear. the tool is at Z-0. lhe block N53 is the only block where the offset change is correct.for a total travel of width . 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.050 . if this older setting is still used. followed by the program termination blocks:N54 X4.0167. What can be done? Change the insert? Modify the program? Change (he offset? If the Z ax is offset set! ing is adjusted. and one block. All thal remains to be done is lhe return to the groove starting position.0787.00 I \ is probably a more common way of specifying a tolerance. Al~o make sureNS6 IDO%.62S FO.062 FO. In Ihis example. block N52. Only' the dimensional value thai falls within the specified range can be used in a program.003 N53 Z-O. using the W address:NSO WO.1 Z-O. Inserts are manufactured within high level of accuracy. applied 10 Ihe Z axis only.012 as .976 W-O.1584 (selected intentionally).0 Lo +.A possible problem often encountered during machining and a problem that influences the groove width'the most. make sure Ihe finished lefl side is not damaged when the tool rctracts from the groove bottom.

Using the optional stop MOl can be useful in this case. they are idemified in the comment section:03602 (PRECISION GROOVE) (G20) N41 N42 N43 N44 N45 N46 N47 N48 N49 N50 N5l N52N53--_. consider machining of only a few grooves.826 FO. Just by following the suggested methods of equal cut distribution.__. during a cut.826 FO. it also means a high quality look.330Al (his point.004 GOO X4.Z-O.6083 FO. before il is released to production. change the Z Dffset 03. the program will mas( likely benefit from developing a subprogram (Subrouline) for multiple grooves. proper spindle speeds and feed rates.. there are no special considerations necessary. If the X setting of one offset is changed. the setting of the other offset must be changed to the same value.-------Chapter 36Groove Surface FinishT0300 M42 G96 5400 M03 GOO X4. a look thal often means much more than just a cosmetic feature.003 Z-O.62S FO. the tool orientatioll presents the most important single consideration in face groov109.00 not cancel the current offset . the insert clearance along (he cut radius is of utmost importance. with (he tool moving along the Z axis. (he complete program 03602 can be developed. depending on the exact condilions. Because of the nature of such a grooving cut. only the Z offset amount is changed.1 Z-O. Adjust both X offsets to control the groove depth tolerance. thaI the term 'precision groove' does not only describe the precise groove position and its precise dimensions. To solve this problem.002 X3. suitable coolant. THERE WILL BE A TOOL CHANGE!Other precautions can be added.003 X4. the surface finish will almost lake care of itself.0 T0300 M09 M30(OFFSET 13) (OFFSET 03)(NO OFFSET)MULTIPLE GROOVESMultiple grooving is a common term used for CUlling the same groove al di fferen! positions of the same parL In these cases. To adjust the groove right wall position. Use common sense. However.687GOl X3. and other techniques used in the example. otherwise. because the CUlling edge of the insert is on the same plane as the machine center line. they are easily designed and easily edited. Only a few last notes on (he subject of groove cutting as they relate to the surface finish.062 FO. Although subprograms will bc discussed in Chapfer 39. same.976 W-O. and always check the program carefully.976 Z-O. Note program blocks where the offset has been changed.FACE GROOVESFace grooving (sometimes incorrectly called trepanning) is a horizontal groove cutting process. that will be called at various groove locations. Subprograms save valuable programming time.04 GOO X6.To adjust the groove left side wall position. based on the example program 03602:oStart machining with identical initial amounts assigned to both offsets (the same XZ values for offsets 03 and 13).04 WO.N54 N55 N56%WARNING! It is very important to use caution when a double tool offset for a single tool is used during machining ( this warning applies generally· not only for grooving)Remember that the purpose of the offset in the example is to control the groove widzh. in horizontal grooving. The moment several grooves arc machined internally.6083 FO. When all chips have been removed.0 Z3. The tool is programmed along the same principles as vertical grooving along the X axis. move Ihe tool out and blow out the chips from the internal area. gravity will take care of the extra chips.0787 T0313 X3. good condition of the cutting 1001 and insert. not ils diameter.l Z-0. There is no need \0 worry too much about radial clearance for vertical grooving. change the Z offset 13. Always follow these precautions. The issue is the radial clearance of the cutting insert.o The X offset amounts of 03 and 13 must always be theoo o o oIt the groove width becomes too narrow and has to be adjusted. Keep in mind.change from one to the other offset directly.B2 FO. When culring multiple grooves.1 Z-O. Make sure the tool number (the first two digits ofthe T address) does not change. These chips can be in the way of a smooth cutting operation and could damage (he bored diameter and even the grooving 1001 itself. there is a small pile of cutting chips accumulated in the bored hole. This is not the same situation for internal grooves.6247 T0303 X4.6083 T0303 MOa GOl X3. On external diameler grooves.002 x).1(NO OFFSET) (OFFSET 03)Programming just about any preCision groove should be fairly easy fTOm now on. at least for reference and basic introduction. continue with the same tool to cut more grooves. more material will be removed. an example of a mUltiple groove programming using a subprogram is shown at the end of this chapter.

.!> and most likely at its.075 Z-O. and two break..0 T0400N36 M30%.1 ZO...250 wide Following the progroove.05 T0404 MOB N24 GOl Z-O. ..275is the actual groove width amount.0.<or.. it is also one that is toIJrr\nr'<lrnGrooving Program03603 uses modi tied and a .>".124 Z-0.04 N26 Xl.find one of diameters . This is a one thaI is unique to mosl grooving operaoverlooked. Always keep in Ihallhe pl'Ogram will use a smaller .123 FO.075) / 2CLEARANCE RADIUSFigure 36-12 Standard grooving insert modified (or face '-"/>. listed plunge in the middle with a smail comer the groove.123 FO.OS FO. providing the are Make sure that the insert width and only minimum otherwise the tool losesN21 T0400 M42 N22 G96 S450 M03 N23 GOO X2.003 N25 ZO. All calculations should be they use exactl y the same asvertical gTOoving:GROOVE)Radial Clearancegrooving inserts areThe grooving insert for03603 (G20)./ 0.149 N31 U-0.llial(2. in order to give themoperations to the spin-is mounted at 90" towards the part dIe center Ii ne)..05 FO. A standard groovi ". asillustration is aSlS haslo modi done by grinding a In Figure 36-/2. But first. lions.GROOVING ON331agroove.Figure 36..cannol beIShas virtually no theance.125BREAK ALLFigure 36-10 Face grooving example .04 N30 UO .OOI N32 Z-O. 951 N27 X2.075 .04 M09 N3S GOO X8.OOI N28 Z-O.012 corner one offset is used in The tool set point is edge of insert.012 FO.0755 N34 X2.. to the 02.003 N29 X2.012 FO...2.0 Z3.02.05 FO.grindingnot af-ISis a simple operation. the actual as well. lower end .. .625 . .J1. au.25internal groove diameters drawing.1 ZO.program 03603""1--Figure 36-11 Interference of a standard grooving insert on a face groove'-.125 FO.075.275 in the given example.1 ZO."'111''''.003 N33 X2.o. lei's look at clearance of the programming contool.

004 N221 G04 XO. ..Normally. To a corner groove (neck groove).OS Z-O.OBl FO.'..162 WO..050 clearance in X and Z Blocks and N222 are the two cutling motions· one into the in N220. The purpose of this type is 10 of recesses and culs. the corner groove is specified a:. the core aU( of deep grooves.0 Z3.081 FO. The in and out of (he groove must be at 45°.04 N223 GOO X6. main purpose is to break This is useful for some as well as face culling..031 Fo.95 FO.undercuf program examo./e 03804by alternating between and a rapid relroct motion means that one CUlling mo~'JI"~. in a corner of the parI.1 N222 UO. so methods.04is also a grooving operation.The program itselfnoand is notSTART POINTjdiflicultlo complete or interpret03604 (CORNER GROOVE)G()~tld dG75DIAMETER(G20) N217 N218 N219 N220 N221 N222 GSO S1000 TOsOa M42G96 S375 M03IIIXl. cUlling deplh is established from theGROOVlNG CYCLEStwo mUltiple repetitive cythat can be used for an interrupted cutprogramming formats for both cyin the previous chapler.. one insert designed to cui along a . the other Oul of the groove in amount oflrnvel is exactly the Silme in either di dwell of 0. and simple grooving.!!roove can be square or with a 1001 and insert used and design may also be a standard lype 1001 holder.rpr..\13201. II assures a shoulder match of two components. Figure 36a comer with a I radius minimumb~ usedCycle ApplicationsG75 cycle can also cut in facing._rapid motion. G74 cycle is the Z axis and is used mostly for used for CUlling in the X axis. the cenler or lhe cut will be at the of the shou Ider and the diameter.00rigure 36-13 Corner grODve . on the and a built-in clearance.1 second is added for convenience at of the The block N220 can also be as an incrememal motion:N220 GOl U-O.162 W-O.OS Z-O.a04 G04 XO.0 Tosoa M09N224 M30 %136-14 Schematic representation of the G75DIAMETER.332CORN GROOVES / NECK GROOVES36Block N219 positions the tool in such a way that rhe ceo(as well as the setup pomt) is in on center of groove (.95 T0505 MOB GOl XO.ror grooving.l Xl. This cycle is quile any use for quality surface fimsh. meaning the identical amount of in both X Z axes.91B Z-1.7U/CUT132Although for an simplistic LO but it does chips while grooving and Anmher use is they can be InI/1. the radiuslhegrooving insert mmt be known. a 'minimum undercut' In this case.031 (1/32)ofan inch in the example.

11 is possible to ing lhc075between cycle cannot lire 36. uscase.S IO. bUl also for up n that is much wider than the grooving msert.Figure 36·16 Muflipfe gffJove eX<51mO'Je the 675 CVcle· program 03606r00.(G75 MULTIPLE GROOVES) (G20)1Figure 36·15N82 Na3 N84 N8S Na6GSO G96 GOO G7S GOO51. used by specific ind a certain purpose.275 per five groovingThis is not a value wilhoul acalculated depth ofSPECIAL GROOVESThere are many more types in this handbook...OS Z-O. il is a groove peck. parameter of the comrol system In J4 il is by the value d.OS Z-O.N43 GSO N44 G96 N45 GOO N46 G75 N47 GOO N48 M30%S1. (usually sel to 10(0 inches in the COl1lrol)..l1S TOlO) MOS XO.055).. program 03605N87 M30 %03605 cuts a singleaconditions for multiple groove.2S0 T0300 M42 S37S M03 Xl.. TIle onlyInthe G75 cycle call. The next two ex-usc of 075Single ..055 KO.Multiplewith G15multiple grooves very easily. can machined with rcad· ily available inserts. solid material. H the K is than the inserl CU\.175 T0303 MOS XO. They arecial shapes.67S IO.0 T0300 M09Single groove example using the 675following program and is bDsed on03605SmGLE r:<U'OO" .12S FO 004 X6 0 Z2..0 Z2. The LOolor . The mosllypicalwill be from 01.Groove with G15groove requires the X and Z point. If the K is individual grooves lhan (he width. clearance specification d in nOI programmed.275/5·.. pulley grooves. the final groove diameter cut L For a single groove. a widetheamounts. is03606on Figllre03606 for mUltiple grooves..GROOVING ON LATHES333motion retract amount is built within Ihe and is set by an .0 T0300 M09between grooves.055 FO.1"\\1.. fn fact. the groove the be equal. 36-/6.050 to 0. the Z canna! be programmed.14 isround grooves. 0 ri Certain grooves. The Z ng point and does nOl change. A of Ihis kind or is a pulley programming principles 'nons/alldard' arc no differenl than those dcin this chapter.S Z-O.Note that (he r IS meaning.OO4 X6.500. There willthan can be dc·(Iexactlyof spe·(hat senc of lhis lype are und several(. lheXl.on ly di in program ming wi 11 be the value of K . usually those lhat conrorm 10 common industrial standards.85The programG75 cycle.".250 T0300 M42S375 M03nique may be used no! only for muhiple ".

l (CHAMFE:R BACK START) GOO Xl. as(POS-GRVl)(COT GRV--1GOO W-O.graJns principle to subprogram groove. 65 FO. 7 (START OF CHAMFER) Nt GOl Xa..125 PART-OFF TOOL) GSO S2500 TOSOO G96 S500 M03 GOO Z-0. Part-off operations are and subprograms are cliscussed in vfJ. a more """'I"t"".''-'l. the same groove or vruiable intervals.O WO.a03 N8 Z-2.0 T0100 MDS Nll Mal Nl2 Nl3 Nl4 Nl5 Nl6 N17 Nle Nl9 N20 N21 N22 N23 N24 N2S N26 N27 .0.375 M98 P3657 (CUT GRV 2) (COT GRV 3) GOO W-O..285 N9 00. in the can be repeated at needed.03 (BACK TO START) TO RIGHT CHFR) Nt WO..and with muchof suboro. programminglenge in certain cases.~~.S W-O.0375 FO.125 widecuts the part."<.66 FO.087S TO LEFT CHFR) N4 GOl XO.0 Z4.related to grooving. mach.nr".003 (PART-OFF) X-O.O Z-2.05 FO.375 TYP..!JUtI::.07 FO.33603607 (GRV W/SUB-PROG) .285 (OPEN UP FOR PART-OFF) GOl XO.---ALUMINUM BARFigure 36-17 Multiple grooves programming 03607 is the main program andIn the Figure 36-17 is a groove progranuning.N3 GOO Xl.iniog opera-a significant chal-.S675 T0505 MOB XLOM98 P3657Multiple.2 FO.programmed very efficiently precision by using the technique Chapter 39. between the grooves..07S ('BACK TO START) Nll Xl.I't'r"'''1''In r r.375 M98 P3657 (CUT GRV 4) GOO W-O.a"'lil.03 NlO GOO G40 X4.OOG N5 GOO ZO.0375 FO.25 FO.55 DEGREE DIAMOND INSERT) N1 G20 T0100 N2 G96 5500 M03GROOVES AND SUBPROGRAMSOgl:a:tIJJnllllgmUltiple grooves with the method for precision are the groove quality and the ':>1J.02 FO. The guidingcommon groove motions in themotions that vary from groove to way.0 TOSOO MaSN28 M30 %TYP.OS7S (RIGHT CHFR) N8 xo.004 (CLEAR OUT) N2 GOO XLO N3 W-0.OOS (CLEAR) GOO Xl.004 TO ROUGH OD) N6 Xl..O WO.002 (LEFT CHFR) N5 XO.OS FO.of a multiple two cuttom-ing and a 0.2 G40 X4.03657 (SOB~PROG FOR 03607) (FEED TO ROOGFl OD) Nl GOl XO. 0.002 N9 XO.2 (rnAMFER) GOl XO. An eqllal grooves is used for the example..95 Z-O.66 FO.s FO 006 Xl. ting tools are used .IIJI"h.02S FO.J the tool motions related to the progranuned in the mam bans related to the actual groove in the subprogram 03657.S Z 2.·"·r.l N6 G42 XO.0 Z4...03 (RETURN TO MAIN) Nl2 M99 %This example completes theAlthough grooving is a rioll. 004 (FEED TO FDITSH OD) (SWEEP BOTTOM) NlO W-O.2 ZO TOIOl MOSN4 GOl X-0.375 M98 P36S7 GOO Z-2.L'F. to program multiple grooves.9 WO.1i _ one that uses subprograms.

aHFigure 37-2b. PART-OFF TOOLPart-off tool· cutting tip configurationsNote the two kinds or each grooving insert design shown . Such a ell ip does not clog the generated groove and extends the tool life. not break. During a part-off. making it suitahle for deep grooves. the other is coolant application. always at the end lip of the carbide ponion. The dimple is an intentional dent pressed in the middle of (he cutting edge that deforms (he chip and helps in coiling it. as well as the machining method. and the series with a dimple ([terns d. 10. The reasoning for this approach is that it saves a setup time.TOOL WIDTHI----IFigure 37·7Part-off tool . That is true to some extent but has a downside as well. 'n1e long part-off toolTI'-EFFECTIVE CUTTING RADIUSl--.At the end of the metal blade is usually a carbide insert. 12 Of more feet long.---~a~0 0e[]If Parting Tool DescriptionPart-off uses a special cutling looL Such a tool used for pan-off is called a parting tool or a part-off (001. Two most important considerations in part-off are the same as those for standard grooving. The completed part will fall off the bar.PART-OFFPm1-of!. The purpose of part-off is somewhat different. even for small diameters. One is the chip control. b and c). the cutting chips for part-off should coil.cutting end configuration335. is a machining operalion typical 10 lathe work. The length of the cutting blade is much longer than that of a grooving tool. They select tbe panlog tool long enough to accommodate the maximum bar diameter and leave it permanently mounted in the tool holder. usually using a barfeeder attachment. particularly for large cutting diameters. Unlike in the other types of machining. The most typical 1001 end configurations are shown in the following illustration Figure 37-2:PART-OFF PROCEDUREProgramming procedure for a part-off 1001 path is very similar to the grooving procedure.the series without a dimple (items a. e andj). The cutting insert with a dimple or a similar design is the best suited for that purpose. Also nOle a slight angle on b. -nle part-off tool is similar in design to a grooving lool. Although all designs have their special applications. The material bar stock is usually a long round rod thal is 8. The result is a chip Ihal is narrower than the width of the cut. e and f styles. It also controls (he rim size that is left over on the part when parting-off a tubular bar. c. because the objective is to separate the completed part from the stock maleriaL rather than crealC a groove of certain width. although it may cost a little more. depth and quality. ]n fact. The angle helps in control Ii ng the si ze and shape of the slUh left on the part when it is separated from lhe solid bar. A Iypical example of a pan-off tool is illustrated in Figure 37-1. pari-off is an extension of grooving. the cutting tool (or parI-off tool) separates the completed part from the bar slock. sometimes called a ClitOff.It is a common practice amongst programmers to usc only one paning tool for all the work. Somet imes the term cutoflis used for Ihis kind of a tool. with one major difference. The cUlling end of the tool is available in several different configurations. with clearance angles on both sides. it has the same meaning as the term part-off.lei--. prohably the most versatile choice would be the ~tyle f. usually into a special bin to protect it from damage.

125IFigure 37-3<lr'ln.004 GOO Xl.r-fI -len side 1001 reference . but a rossible leI does exist.6S Z-1. it is the lecling [hal also wastes material.125lFigure 37·4 Part-off tool approach· right side tool reference . The next decision is to the width and the location of the tool reference poi nL A part-off [001 that is too short will not reach the spindle me A 1001 too long may nol be may cause vibrations.5 Z2. Take care position and program the 1001 even if the previous lUrning operations stock. set the tool reference point on (he to the Figure 37-4.65 02.004 N124 GOO Xl.11. the 1001 change position and final rcsu lls are identical. ThiS theof thelip. but the values for Z axis are di (blocks N 122 and N 125).0 TOBOO MJOgrooving and The following probetween the [001 reference of the tool tip . of IS important for good cutting conditions. just like coolant is {\ good and lubricating qualities. even hreak during the CUI.400. the tool is proportiono(c to depth caracity. In Ihe second example.03702 (PART-OFFI RIGHT SIDE TOOL EDGE)TOOLSNG P01NTD. the program zero is the front face ofthe nnj~hedright side andis consistent with the previous suggestions Selling up the 1001 reference point the 1001 is for the CNC operator.0 Toaos MOS GOl X-O.875ZO-2. Figure 37·5 shows correct of a part-off tool.6S MOS Nl25 XS. If reason.program 03702 Tool Approach Motionto program a part-off tool path IS to select a that has enough capacIty 10 completely nue the from a solid bar. wilh serL If such a lool is used for shorl parts.B75 TOBOB MOB N123 GOl X-D.12S T0800 Nl26 MJO %0. iirSI(001In examples.I"f'<l. When the a long part-off tool is necessary.50 ··············································02. A lypical he one part of soluble oil for 15-20 parts water or as recby the coolant mar.S Z2.01. Comparison of both programs shows values of X unchanged.102.ufaclUrcL Make sure coolant is supplied al particularly ror pressure coolanllo CUIflush olTihe chips that may accumulate in the0.336Iy has a wider insert than a short lool. 0125Nl20 GSO 31250 T0800 M42 Nl21 G96 3350 M03 N122 GOO Xl.. used directly.-1. A short mllTowcr insert will justify the setup A generous supply of coolant should available at the cUlling edge.55 M09 XS.I LEFT SIDE TOOL EDGE)03701 (PART-OFFN120 N121 Nl22 Nl23 Nl24 Nl2S Nl26%Gsa 81250 TOSOO M42 G96 S350 M03 GOO Xl 65 Z-2. inChapter 37for strength and rigidity.OJ FO.Figure 37-4 for program cases.03 FO. other tubular stock with thin walls.program 03701The weakness of the width has to be always added to the Z gram.875 2.

hut cham fering removes on Iy a small amount of maleriallhal is within the tool capabilities. The part should have been removed by the [001 and it should have fallen into [he bin . pan-off tool can be a better choice.5 Z2.but has all this actually happened? A variety of reasons may cause an incomplete part-off. think again. It may be very tempting to replace the two program blocks N 124 and N 125 with a single block.0 (or Z2.015 --. In the example.020 inches at 45°:CHAMFER 0. the block N122 would be changed in both programs .Not always the machined pal1 will be done during a secondary operation.3 to 0. the part has just been separated.125 inches aclual clearance above the 02.65 Z-2. In the example. ax is). for subsequent finishing.5 mm). When the machining has [0 be completed with a part-ofr looL il will require the best qualilY overall finish possible.0.015 TOBDS MOS.020 inches (0. rFigure 37-6 Comer breaking with a pan· off tool· example 0370303703 (PART-OFF CHFR) (G20) N120 GSO S1250 T08DO M42 N121 G96 5350 M03 N122 GOO X2. Avoid chamfers thal are wider than aboul 75% of the insert width or take severa! cuts if needed.it is X2. Ihe sharp corner is al the intersection of X2. study the following program example 03703 and illustration shown in Figure 37·6 .the loo! n. it could be a very hazardous procedure. In that case. That will leave . /lot from inside OUL The correct programming technique for machining a chamfer during pan-off is summed up in the following steps:o Position the tool further in the Z axisthan would be normal/or regular part· offooStart the part· off operation and tellllinate it just below the diameter where the chamfer will endReturn to the starting diameter and move to the chamfer start position Cut the chamfer in one block and part-off in the subsequent blockoTo illus!rLlte the programming technique.01 in the first program example 0370] and from Z-I. and (he required chamfer is .12S) T0800 M0902.for example.!diately after Ihe parI-off:N124 GOO X5. One requirement of a good surface finish is broken sharp comers. the bar stock diameter is 2.4 nnd Z-1.895 in the second program example 03702.400. from Z-2. scrapped part.20Arter all. The result is a broken lool. possibly a damage Lo the machine itselfAlways return in the X axis first and always above the bar stock diameter. Most part-off tools are no! designed for cutli ng sirleways (<lIang 1he 7. for safety reasons. If that seems a lillIe 100 much. If the turnmg lool cannot cut the chamfer during turning operalion.PART-OFF337 Part-off with a ChamferH--~YESFigure 37·5 Correct and incorrect approach to stock diameter Stock AllowancePan-off operation does not always mean all the machining has been completed.6502A602. some extra material (stock) has to be left on the back face. part-off may complete on Iy the first operation and additional machining will be necessary on the machined part In such an event.0 10 Z-2.010 to . then return to [lie luul change pusilion IrllllH. Always consider the actual slock diameter.500 inches and the aclual clearance will be a more reasonable .875. Often. fallen into the bin and one block in the program can be saved.075 of an inch per side of the stock.:nce poinlls on the lefl side. when the parting operation is completed. Another program entry Ihat is important to look at is Ihe X value in block NI22 .875 to Z-I. Leave a stock amount of about . Don '/ do rhis.65 in the example. The chamfer has 10 be cut before the pan-off and il should be cut from outside in.02x 45° Tool Return MotionAnother safety aspeci of programming a part-off 1001 is the method of returning 10 the lool change position.:Ct:n.

875 .36 Z-2. are generTools with ally weak some very demanding work. The. At of the part-off.OS FO.125Clll-Never touch the part while the program is in or the spindle is rotating.0 FO. Make sure to cut for each subsequent part LO lake this slep into con- Preventing Damage to the PartWhen the part is separated from the bar. always is an supply of inserts on hand. A operations.460).0 TOBOO M09 M30(LEFI' SIDE OFrigid grooving 1001 can do the startup comthen the part-off tool can do the res£.03 FO. to decrease can be quile remainder of theFor part-off.950is the back of the part per value is (he chamfer size. (he tool is positioned . 65 XS. the bar stock projecting from a will have a small step.125=1.950 was and subtractions:1. To prevent the possibility a damage.002is the Culling. Note the . which is often a speCIaline option. rn the 1001 shiflS in the Z axis. it falls down.004 GOO X2. two lools can justified for part-off of two tools has [0 be accurate.015 past the NI makes only a temporary groove (to N 124 is a mOlion out of the oflhechamfer(02.5 Z2. to chamfer.002 X-0.46 FO.030T. operator may want to place a with coolant in the path of the falling part.030 is the insen width.95 U-O.338N123 N124 N125 N126 N127 N128 N129 N130 % GOl X2_2 FO.Also note thefor the chamfer only.OJ Z-1. Nobody wants 10 run out of tools in the middle of a very important rushIn some cases. jusl lhat it does not the Ihe safety rules of the com-122. it mily suffer (l seve. the incremental mode absolute mode.re enough to make a a scrap. The value of 1. at the time of machine purchase.l W-O.004 X2. . method IS to offset the pan-off 1001 away from the centerline.usmgsaves a NI will be:N126 X2.. make sure or with very small radii.020. blockpart damage prevention is a CNC lathe equipped with a parts catcher. On . just for grooving operations.

the of interest.339. camera lenses o increase .n. but contains one special which may have one.. Iwo or three tips.. lead screw. the number of threaded products employing this method isI/the metalworking area of thread production. even onmultiple starts.~.. are two main groups of thread production metal cutting and plastic molding.... The most common "r". in a This is a very attractive many machine shops have reason alone...:nfl01 the thread form and the threading tool shapea single point threading is a machinll1go oa hel ical groove of a speci fie shape with a per spindle revolution.t. cit:. The shape or is mainly determined by the shape and mounli ofehe cutting lOOl..a very high quality thread in adboring operations.oForm of a Threadin CNC programof the leuer V) variety of the metric and shapesTHREADING ON CNC LATHESCNC lathes can di tion to the single of feature for a ary operation of production.'1::1f1<. screwsnutsvMeasuring tools.. It should nol a surthaI it is (he plastic molding method that dominates industry.. there areo orolling or thread (orming and die work millingflm.. secondthe costthreads). pop bonIes and other plaSlic products we consume. . lifting or supportingA thread cuUing is a very versatile manufacturing process. Given the number offlPlpn'~'n bottles. micrometer barrelo Motion transmission .uses a lool holder similar to other 1001 holders. The uniformity of advancement is controlled by [he programmed feedrate. fall inlo four major caleg1om:$o oI-.... usually on a major purpose of threads is to connect fWO without damage during joining and and disassembly).. shape and size of (he threading insert must to the shape and size of the fll1ished thread -devices.lnnSingle point thread CUlling lypically known as a point lhreadlng ..n.. right or variable lead.SINGLE POINT THREADINGThreading is a machining 10 cal groove of a particular shape.

nMI>(·. the pitch diameter is an imaginary diameter... is the smallestMUlTiSTARTshifted by the pitch·. is a thread that is cut on the inside of the for example as a nutCJa lypical CNC lalhe... is the angle made by the helix of the thread at the pitch with a to the axisothe threading tool will advance along an axis revolution..t. is a thread is cut on the outside of the machined part.Variable lead threads External and internal threading Cylindrical threadsTapered threads hand (A/H) and left hand (l/H) threadso[}[} [}[} MAJOR DIAMETER.terms appear in hooks. planeSHIFT[)..... is a thread with more than one amountoPITCH. on a straight thread. normal to the axis (in programming. is the largest diameter of the threado Face threads (scroll threads)oCl Cl Cl[} [}MINOR DIAMETERof the threadSingle start threads Multi. To understand them is programmer and operator.. the distance between the crest and the root of the thread. is a thread on which the pitch diameter is increased or by a constant ratio as a.....rI corresponding of parallel to the machine axisoPITCH DIAMETERTERMINOLOGY OF THREADINGis a relatively large subject.340 Threading Operationslist of the threading operations thaI can beo INTERNAL THREAD. depth is considered as a measurable value per thread side)[}CJo TPI. is the distance from a ... in multistart threading. is the bottomtheof tlNoadjacent threadsolher sources. it is the by which the cutting tool is displaced to cut another this distance is always equal to the pitch of the number of shifts is always one less than the number of starts.. . "the surface of which would pass through the threads at such points as to make equal the Width of the threads and the width of the spaces cut by the of the cylinder"[}ROOTof a· . generaJly.::'. .. rather than the more common thread along the Z axis:Jcutting:oOF THREADbetvveen the sides of the thread. for example as a bolt.. the number of counted over the length of one inch (I / pitch) metric thread is defined by its pitch ... The lead always determines the and can have constant or variable form.. In il is (l whole book dedicated to it.[} SCROll THREADis also known as a thread it is a thread machined the X axis.. IS the top surface of a thread that joins the two sides[} DEPTH OF THREADo TAPERED THREAO.n-mnualslOry. threading has its own technical terms.TPI equivalent is not applicableEXTERNAL". subjects of are. Several operations require a speciallype of threading insert and some operations can only be if the controlooConstant lead threadsHANGLEsystem is equipped with special (optional) features:rI....sta rt thread s Circular threads Multi-block threads. articles....... . in English units of measuring..

yet it could be one of the more difficult operations done on a CNC lathe. al the specified feedratc and only when the machine spind!e is synchronized with the threading feed rate.. the threading insert has the shape of finished thread. the structure of each pass remains [he sa me. What often makes threading a difficul[ operation is the cutting tool application. Each depth will depend on type of tool. A quality Ihread will be completed when Ihe last clltting pass produces the proper thread size. The coordinates are called the thread starling position.25 m/rev (6. An experienced programmer should have the ability 10 think of yet anolher solution. surface finish and tolerances.SINGLE POINT THREADING341A beller approach IS to cut the thread in several passes. There is no need to take any special steps to maintain the synchronization . the synchronization is automatic. Frequently.4 mm/rev to 0. This is trlle for any problem solving process and applies equally to threading problems. but close to the thread. shape.Threading Motion 1Before the first step. Although the.Steps in Threading0Compare a threading insert wilh a common 80 diamond tool used for rough turn ing. the machine spindle rotations must be synchronized for the start of each puss. the four step (001 mOlion process will typically include the following considerations that are critical 10 the CNC program. relative to the spindle cenler line.0313 radius (0. each pass increasing the thread depth. small= medium to largeThe comparison shows that even a tine pitch thread cannot be cut with a single threading pass. The actual threading pass will be cut during this slep. Initially. because they define where the thread CUI will start from ilnd eventually return to. programmers must understand these passes well. the second mOlion becomes effective. or parallel with.=almost sharp edge typical average is . the cutting insert is unique. This approach motion is programmed in rapid mode . when all the OIher solutions seem to have been used up.8 mm)Tool angle:Threading Turning typically 60° and a weak support 80° and a strong supportTypical feedrates:Threading Turning up to . II is important that the lool is mounled square in (he (uneL Even a small angular deviation will have an adverse effect on the finished thread. so each thread depth is at the samc position on the threaded cylinder. there are at least four motions for each Ihreading pass (as applied to a straight thread):Motion 1 Motion 2Motion 3 From the starting position. Thc thread will be cui to the programmed thread end position. The start position must be defined away from the part. could present a big departure from theory. at least unwl il is lime to start searChing for solutions to unusual threadi ng problems or even regular threads that just don't seem to be coming out right. and a few oddities wi II emerge:Toof radius:Threading Turning=:. Practical applications. The first 1001 motion is directly related to the thread. The mounling of a threading toolm the IUrret can be at 90 0 10. such as threading..5 mm/rev) or more . regardless of thread being cuI. the machine spindle centerline. For this purpose of mUlti-pass cutting. Threading lool not only elliS.03 in/rev typical (0.in threading mode. A single pass would produce a thread of poor qualily at best and a unusable thread at worst.one axis thread cut (at the feed rate equal to the lead)Rapid retract from the thread Rapid return to the starting positionMotion 4Expending on these brief descriptions. Since the tbread cannOI be cut at full depth in a single pass. the threading tool must move from its indexing position 10 the position close to the machined parL This is a rapid molion.. il also forms Ihe thread shape. In a most elementary setup. however.6 mm/rev)Threading Motion 2When the 1001 reaches the CUlling diameter for a given depth.THREADING PROCESSThreading is one of the most aulomated programming tasks in modern machine shop. This comment may he arguable. move the tool to the thread diameter in rapid motion modeCut the thread . as (he intersection of the X axis clearance and the Z axis clearance. It is a motionfi-oJ1l the starting position fo the cutting diameter of the thread. The tool life would also be much shorter than expected. Make sure to calculate (he XZ coordinates for this position correctly. on Iy I he thread data ch an ge fro m one pass to anot h cr. it may seem an easy procedure 10 make a program for a tool path that has the cutting parameters very clearly defined. Since the single pointlhreading consists of several passes to cut a single thread. The decision which way to mount the lool is delCffilined by the angle of [he thread.015 in/rev to . in the air. The single point threadll1g tool is unlike any cUlling 1001.In programming.Typical depth of cut:Threading Turning::. the total depth must be split into a series of more manageable depths. holder is moumed in the lurrel just like olher lools. the malenal and the overall rigid!!y of the setup.

the front clearance amount required will generally be much greater than the amount for fine Or medium threads.. Another value to be decided is the last cut depth. when the thread cUlling diameter is completed. All remaining passes are programmed in the same way. tile culling tool will move towards spindle centerline for external threads and away from spindle centerline for internal thJeads. This tool position is normally a diameter programmed Olltside of the threaded area.Threading Motion 4When programming coarse threads. For example. (he clearance is the same.! For complex methods of inked. 10 the X axis clearance position. Threading motions I. In some cases. the threading tool has to reach a full feed rate before it conlaC\S the material. For a tapered thread. In ihreading. the minimum suitable clearance along the X axis is about . Control manuals may offer a scientific way of calculating the minimum clearance. [0 (he insert. select thc cutting diameter for each pass of the threading tool in Ule program. For manual calculations. is only general in nature and usually not sufficient by itself for high quality thread cutting. complex formulas are not required.Thread Start PositionThe mol starting position is a clearance posilion. the starting position is changing for each cut by a calculated amount. Note that only Threading MOlion 2 will be programmed in the threading mode. Thread Cutting Diameter and Depth""Dc(»/. the chip load on the insert becomes heavier as the cutting depth increases. These values usually come [rom experience.100 (1. For a sU'aight cylindrical thread. To calculate the depth of each pass. To avoid this serious problem. Since the cutting feedrate for threads is equivalent [0 the thread lead. Just like a car needs some time to accelerate before reaching its cruising speed. A damage to the thread.1250 in/rev! If the Z axis clearance is too small. the cut [hat actually finishes the thread. The rest is limited to mathematical calculations or available charts.. such as when Ihe threading starts very close 10 a tailstock or machine limits. Since the acceleration time depends directly on the spindle speed. more for coarse threads. a common thread with 8 TPI requires feedrate of .This typical description illustrated in Figure 38-2. but applied over the larger diameter. another way is to apply a suitable infeed methocl Both threading techniques are often used simultaneously. As for Ihe clearance along Z axis. some special considerations are necessary. The actual culting diameter for each pass must be selected not only with respect to the thread diameter. the Z axis clearance must be reduced because of space shortage.c I-ro . just by changing the thread cutting diameter (thread depth control). the machine acceleration process will be incomplete when the tool contacts the malerial.programmer decides how many threading passes will be suitable for the particular thread. 3 and 4 will be in GOO (rapid) mode. ..342Threading Motion 3Chapter 38In the Third mOlion. but also With respect to machinirlg conditions. When the threading 1001 comes into contact with material. it must be advancing exactly 100% of the programmed feedrate.. using a proper G code.Start X. The effect of accelerarion must be considered when deciding the from clearance amount. From the thread starting position. can be averted by maintaining a consis1C'11/ chip load on lhe insert. The result win be an imperfect and unusable thread. at the machine rapid rate. One way to achieve the consistency IS to decrease each subsequent depth of the thread.the feedrate must not be reduced. the tool must retract away from Ihe thread.This is only a rule of thumb and works well in every day practice..TOOL INDEX POSITION"Dro(»L-NIJ. [he only remedy for imperfect threads in thiS case is to IOlVer the spindle speed (r/min) .. {he procedure follows a logical approach. just common sense and a bit of experience. when lhe 1001 returns to tile starling posi lioll ill a rapidmode. The lotal depth of the thread (measured per side) must be known .5 mm) per side. this rule may help:Z axis clearance for the starting point should be three to four times the length of the thread leadThe threading process is completed with the fourth molion. Thread 0Figure 38-2 Basic steps in single point thread cuttingFor cylindrical and conicallhread CUlling using the block method of programming (no cycles). U)/tt//. or both. it will take some lime [a arrive at the programmed feedrate. All threading cycles have an algorithm (special process) buill in the control system that calculates each depth automatically.

\Vith the last pass of 00031 (for programming convenience).2 x 0.2 x 0.0.9040= 2..0000 .00310.0100 2. which would make the depth 0. the constant in the fonnula is 0.0 .2 x 0.0 .0 .TPIj3.0031= 2.0511 = 2.0080 2.9040 .0100 depth .2 x 0.---:::::: TPI~wherexPThreading diameter #1 Threading diameter #2 Threading diameter #3diameter #4 diameter #5 diameter #6 Threading diameter #7.0050 2.9230 3.0000 in the example:+ 2 >< 0.9040oFigure 38-3 Threading diameters distributed forloadThreading diameter Threading diameter Threading diameter Threading diameter Threading diameter Threading diameter Threading diameter#1#2 #3 #4 #5#6#73.0140 depth .0 .2 x 0.2 x 0.0 .9230 02.2 x 0.9360=2.0.9720"""----.9360 02.0541.0 2.9520 .0140 0.cJ'i profile external thread on lhe fulluwing thread metric extemal threads only:There is nothing wrong with the threading diameters.0480 3.0080Accumulated depth = Accumulated = depth = Accumulated depth = Accumulated depth = Accumulated AccumulatedPass PassPass #4 depth 0.0435 0.2 x 0.0240 = 3.9130 . using single depth of cut.54127 x P Thread Cutting MotionIf seven threading passes are selected.D value is the internal depth:advantage of this method is that once the last diame(2.9130 02.::=oTPI P=Single depth of external thread Number ofthreads per inch Pitch of the thread (l.0050 Pass #6 depth .2 x 0.0240 0.0320 0.0140 2.9520 02. Wllat this methodin check for accuracy..0045Pass #7 depth .2 x 0.03.0.0045 2.0 NOMINAL 02. For a full profile internal thread.0. tbe formula to calculate the depth will be used for metric and American National threads only .9130 = 2.0511.64952.9230= 2.0 . using a "t<>Y1rl<>. It lS a has to find single depth of the cal way to do it.0140 3.0435 = 3.0320 3.9720 .2 x 0.0385 0.0065 Pass #5 depth .8978Figureshows aonly an example).8978According to another thread specification standard (UN thread fonns). add the double depth the must be equal to the nominal or 3.2 x 0. any error in calculation is not accumulative and might be hard to flnd A much method is to calculate each threading diameter based on the calculation.0480 0.9360 .0 .9520 = 2.POINT THREADING3Pass #1 depth .2 x 0.0000D:::054127 TPI :::: 0. the individual depths can distributed the following way:.05113.compare it with the last method:D".2 x 0.8978 in the example). is from the nominal diameter.0385 = 2.0.9720 = 2.0. not the accumulative depth .9230 ..0065 2.

G32 is the most common code used by Fanuc controls for threading. Figure 38-5 illustrates the concept. 972(THREAD DIA START)(THREAD TO END) (GRADUAL PULLOtIT) (RAPID our) (RE'IURN TO Z-START)G32 Z-1. Gradual pulloUl motion produces better quality threads and prolongs lIfe of the lhreading insert. Ihe siraigh! pullollt should be programmed whenever the tool ends CUlling: in an open space..rernal threads. use a G code specifically designated for threading.l GOO X3.3THREADING FEED AND SPINDLE SPEEDIn threading. the too! edge preparation. This 1001 motion is entirely in the open space. the threading G code and the I'eedrate must remain ill effect.3 N62 X2. setup of the cutting tool and insert. the spindle speed and feed rate selection are rather restricted.7S FO. tile return motion lo the starling position is along one axis only.Figure 38-4. the clenr(lnce diameter must be closer [0 spindle center line than the diameter of gradual pullout.but before the tool is retracted . straight or gradual. [he clllling tool and the feedrate arc determined by the finished thread. For inremal Ihreads.CLEARANCE 0 THREAD 0 CLEARANCE 0 PULLOUT 0 THREAD (21Figure 38-5 Thread pullout and cfearance diameter (external example)Retract from ThreadThe moment the thread has rcached the end position along Z axis. the last step in the threading process is always a return Lo the starting position. GRADUAL PULLOUTFigure 38-4Straighl and gradual pullout from a threadGenerally.han the diameter of gradual pullout. the (hreading mode G32 must be canceled and replaced by a rapid motion mode. The normal length of the pullout is usually I to 1-1/2 times the lead (no( the pitch). the choice of the cutting insert. During a thread cUlling motion G32.3 ZO. Often.OS33 UO. such as spindle speed.3(START POINT XZ). therefore programmed Il1 the rapid mollon mode GOO. particularly when thread ends close to shoulders oftlle parI. When the normal length of thread is completed .972 N63 G32 Z-1. For threads that do not end in an open area.the threading tool moves in IWO axes simultaneously. the suggested angle IS 45°.l N65 GOO X3. Inslead of GOI command. To program a straight pullout. This is the third mOlion in Ihe basic threading process. ending outside of the thread. . the clearance diameter must always beJurther away from spindle center line l. Figure 38-6 compares feedrates for turning and threading. The relr<:lct motion can have two forms . Return to Start PositionRegardless of how the tool retraction from the thread is programmed. usually the Z axis. If GO I is used.7S FO. Here is a complete program excerpt . Both.OS33(START POINT XZ) (THREAD DIA START) (THREAD TO END)Chapter 38N64 UO.3 ZO. The CNC operator has 10 be extra careful to sel Ihe Ihreading tool exactly. the tool muslleave the material immediately.3(GRADUAL PULLOtIT) (RAPID OtIT)For eJ.344malian. the 1001 retraction from the thread has already reached the X axis diameter.2 W-O.2 W-O. . STRAIGHT PULLOUT . for example in a relieve or a recess groovc. plus similar considerations. to avoid making a damage 10 the thread. here is a lypic!)1 program section:N61 GOO X3. .straight away in one axis (normally along the X axis). Other factors that can influence the final thread have to be dealt with as well. a change of only one factor will correct a threading problem.yet its appl icauons demand some of [he heaviest feed rates used ll1 CNC lathe programmtng for any tool. the gradual pullout is a bcHer choice. It is also importnnl 10 pay alten(ion to [he clearance diameter. do not use preparatory command GOI for threading.. as specified in the engineering drawing. This is because in most programs. Normally. control system aUlomatically disables the feedrate override. Threading illsert is one of the weakest tools used on CNC lathes . . the start for each pass will nOl be synchronized Wllh Ihe previous Ihread slart. the depth of each threading pass.3 ZO. To illustrate the programming process up to this point.our)For the gradual pullout. or a gradual pullout in two axes (simultaneously along XZ axes) .gradual pullout is shown:N61 GOO X3. using the GOO command:N64 GOO X3.3(RAPIDN62 N63 N64 N65 N66X2.

.POINT THREADING5From the last two formulas is easy (0 deduct number of starts is one.l1. refinish. the amount of is identical to (he amount the pilCh. never as a constant means the preparatory command must be... Each lenn has a in threading. a thread described as M24x3 is a single start metric pitch of 3 mm on a mm diameter.. In all laps have a sta.:. FS.125 x 1= FO. and nal diameter (for example. specifying the number of revolution~ example. In this sense. willIIj-: Imerhm single. both the lead and pilCh will have the same value. the thread with one srarl ofx 1~8will. F== Required==:LPn(in/rev or mm/rev) Lead of the thread (inch Of mm) Pitch of the {inch or mm) Number of starts (positive integer)three millimeters (3 mm) 3 x 1For example. etc. A deSCription means a Slart the millllncter." P TPI=Thread pitch Number of threads per inchIt may help to some of the basic relationships of the Thread lead and thread pilCh (see the terminology threading in Ihis chapler)."overdi amelers. the major diameter) is All single slarl Inetric threads have lhe pilch depending on the thread diameter.never Ihe drawings. What may in a shop talk language has 10 be interpreted CNC programming. of turning and threading feedratesThreading Feedrate Selection~of feedrale for general turning or boring is factors as material 1001 nose radius. the above~where. Since mosl shops work wilh a Slarlthread on a Ihe mislise of Ihe terms is seldom noticed.0uni(s. For instance.. a thread with a 11start and the pilch rccdralc of= F3. the words lead and pitch are often used incorrectly.nOl rhe Spindle Speed SelectionThe speecl of Ihe $pinrlle for thre!"lrl is nlwnys proin direct ilmin.where . or inch).". . G97S500M03.125threads are special ill lllally IS also the lead . The reason is thai for a single start thread. and a nominal diameler. the and boring cover a large In Ihreadis limited.01"". lhe thread description is of threads over one inch length.. so use them in the correctoran example.unil. In a common machine shop conversation (shop talk).. As an exthal is described in the drawing as means thread has 8 fhrecu/s per inch. the most important correct feed rate are the oj {he oj threading starts. TURNING TH NG should be applied fornm"_""". The threading IS by Ihe lead of Ihe thread .

In practice.125 in/revlrRm" Maximum allowable r/min Ft == Maximum feedrate per time (X axis) L "''' lead of the thread=:.. in Chapler J]. The fc:edrale per lime is always Ihc result 01 the spindle speed in direct IImill mulriplled by the i"eedrate per revolution in in/rev or mIT//re\!. specified In either in/mill or min/mill..125 and the maximum feedrate for Ihe X axis Frm(J\ is 250 in/mill. always make sure lhalthe feedrLlle per revolution combined willl Ihe· "peed will he l(. If this is confusing.Chapter 38eEnglish example:Jr the thread lead Lis .Maximum Threading Feedratee eEnglish example:700 r/min x . Every CNC lathe has a programmable feedrate value. up 10 a cerlai n max i mu m for each ax is. This is not the casco First. then the maximum threading speed RJ""\" will be:~=250 /. [here is a distinct possibility lhat certain threads cannot be cut at any available spindle speed. The feed rate actually used in a program must also take inlo account the various machining and setup conditions. but also by the overall capability of the machine.125 inches. (hen the maximum programmable feedrale will be: where . it should not be surprising that Sllnilar limilations apply to the determination of a maximum threading Jeedrate for a given spindle speed (programmed as r/min). similar to other turning operalions.The max i mum allowable rlmin only reflects Ihe Cilpnbilitics of [he CNC machine.the thread cUlling rouline requires a perfect spindle llnd feedralc svnchroniWlioJ! at (he slart of each pass. which [lllow~ R lhreads per inch or liner. 250 J 2000 = . Because of the heavy feed rates used for (hreading.346and the root of thread.H Ihon nr ('qual In the maximum available feedralc per lime Cor the axis with the lower raling..5~2540 rpmTake a tYPlcal maXlmum programmable feed rate for the X axis may as 250 in/min (6350 mm/min). not only in threading.>ox:=Q English example:(he maximum machine feed rate along X axis is 250 in/min and the spindle speed S is selected as 2000 rlmin. [he maximum spindle speed for a given kad can he selected according to the following formula:Ftma"l< SIEfwhere .. S Maximum feed rate tor a given spindle speed Maximum feedrate per time IX axis) \ Programmed spindle speed (r/min)Ft .5 mm and the maximum fcedrate for the X axis F[mu\" is 6350 mm/min. selectlhe spmdle speed with some consideration of the feedrale.125 = 2000 r/minQ Metric example:If the thread lead L is 2.just like any other tool path operation. Afler studyi ng the section on the maximum r/min selection (spindle speed). which is usually the X axis. the difference between the first and last diameter is insionificanL Second . The result of this relationship is actually Jeedrale expressed in fums of lime.. the majority of actual programmed spindle speed (r/min) will be well below the maximum capacity of the CNC machine tool.. then the maximum Rmil< threading speed will be:~: 6350 / 2. Recall that there is a direct relationship between Ihe spindle speed and the fcedrate per revolulion.Therefore. the selection of dmin requires only consideration of general machining conditions. the maximum thread lead that can he cut at 2000 r/rnin is .Based on this simple rule. keep in mind thallhe feedrate is determined not only by rhe lead. so be aware of them when writing {he thread CUlling program.For the majority of threads. At the same time.500 in/minThe select ion of culli ng feed rate in general was discussed earl icr. so G96 sclection would seem logical. Maximum programmable threading feedrate for a given spindle speed (in dmil1) can be calculated from Ihe following formula:Metric example:700 rpm x 3 rom/rev= 2100 mm/min1n CNC lathe programming generally.125 in/rev = 87. Again. even for fairly deep coarse threads. Fr "la. notycr revolution. Such synchronization can be more accUfmcly achieved only with constanl r/n/in rather [han constant surface speed (CSS).and this reason is even more IJnportant. the limits oflile CNC machine tool arc very imponant. the maximumfor the Z axis may be 450 in/min (ll430 mmlmin).

is rounding a with 11. 10.Not a..~where . The exact threading Take a 14 TPT thread. Lead error over one i nehcrror is always a potential problem when prothread leads. regardless of Lhe th(cad thread is defined by its lead already in drawing. ll1e majority of accuracy is quite sufficJent. Formany other rhreads. the proper roundCompare the they cause (11.5 threads with the feedrateI mto IhlS rather convenient group. Depending on the kind in the machine shop.atOver one inch. J I inches per revolution.0200 of an inch. an incorrect thread_ ilie loss is .1670 inches or 6 threads per inch. the accumulative en-or is virtually negligible. With proper roundlOg. threads programmed in the thread lead musl calculated from the given inch (TPI) in drawing.accurately. informat). most common number of threads. the accumulated error is the error over 50 inches will machine does not allow feedrate. known been improperly in a possible scrap due to as the thread lead err01~ will rounded value of .Metric example::::::=:Maximum lead error per inch actual feed rate rounded feedrate Number of threads per inch6350I1600 = 3.. feedrate should be JII program should be FO_0714_ The rounded used in is no noticeable error at all Over a short thread ll1al is not true and the thread is well or the rounded value has if the thread is unusually accumulative errOl..0325 error of . 16.0003FO.0714. en'or in the example will be an inch. within [he four lead is able A 10 TPI feedrate of of divide the TPI into oneerror of . the maxImum lead will to . the calculated value must be properlyoff.0869 . and three decimal place accuracy (F3.0870.3 format).ll roundedng the same illustration of 14 TPI over error l'or the whole length will only he .0714j" replaced by E0071 a thread with 11. For many English threads.000028571 thread revolulion. Another somewhat more critical.969 mm/revmeans the maximum lead that can 1600 rlmin must be less than 4 mm. can be casi Iy calclliated.:.5 TPI over.error overfifty inches will be onlyaexample.0825one tcn-thousandths of an inchWhat a difrerence rounding.0870 .5 should be with Ihe feed rate of [0 FO.0250 error of .POINT THREADING347Changing the spindle speed {feedrate remains the same) allow programming coarser threads on the same CNC example. There is never threads. over fifty it will be rull . if only 1500 r/min is Instead of 2000. the the thread lead may be critical or it never10with.pothreading benefi t of using it allows programming the standard four for threads allowed for metric threads using the E audress is seldom used).0871values only indicate the aClual and the machine and do not or even suitable machiningthe errorsErrorthreading feed rate requiresdecimal place accuracy for Ihread. such as 8.

BlOCK THREADINGpoint thread programming\0IS=. (here will be five blocks of program threading pass.(G97S450):. setup. u"n"~ edge and the actual edge...9520=. an must be made for Ihe difference between the . regardless of the al the same lime.b. .0140.2. ror a threadi ng tool much smaller than lhe thread it<.0385 2. external and internal.. (he gmmming control over rhe fhread. or one half of the threadi width (if applicahle) can be ll~ed instead. Small error can cause threading operation in program 03801 will use the {ool and offset number 5 (T0505). Its reference point..or . large knuckle threads with a roundvIlj. ormOLion associated with the il as an individual block of lhe prois called block-by-block Ihreadingmake sure all diameters are calculated without errors. When coarse threads.the block technique on all CNC lathes thatcThe preparatory this of threading is on some controls.00501..0031Total depth DiameterIhrcading andgralR 111ismethod. The lOol! list this value precisely. in the programming frequency.9230 ... In some cases.0480Total depth#7 depth2. Configuration in FigureGj2...9360. a 12 extemalthread will be used. BY.. All cuts are disLribUled in seven for the total depthPass # 1 depth Pass #2 depth Pass #3 depth=.0240lilat2. and evenare the negative On the plus side. If the gradual pullout from the is thread cutting. but G32Figure 38-7 Typical reference points for sewp of threading tools The rererence point of a considerations than for turning there are three possibilities. The tool cutting edge has!O ""{"""F'\! oriented. Command is the standard Gand compatibles.9040BlOCK.of four basic steps one block resulting in the minimum of four blocks ing pass.0080 .a'-d---d---d~Thread programmingI'or a constant lead thread is avaisupport threading..01402. securely moullted in the to be the right type.el or rnaktool... even some mulli star1 often means quite 11 program. is also very en tical.38TOOLNCE POINTA 1001 selup is !O a good mcnL Wh a setup is important tomnre Imroftilnl 10 mainlam a good setup of the tools.0511:In an example. when the selsetup for any lype of ling. control capable hands can often be applied La some i lechniques. The third version (c) is the rarest and virtually no hendillo the programmer in some cases of hand threading.0100Total depth Diameter Total depth Total depth Diameter Total depth Diameter Total depth Diameter.. in hard or exotic materials..errors.9720 . at 450 r/minmethod.0435#4 depth=. For mOSl lefl hand one of the two versions i~ also quite su The Ihreading insert sclli for general use and dcr.0065.0320Selection of the tool (G50 or geometry is the mas I offset selling) as tooling desirable one..

passes these repetitions wiJI hlock-by-block method has one main full control. the thread start stage is to implement the first pass:N49 X2.25X2.25NSf! N59 N60 N61 N62 N63 N64 N65 N66 N67 N68 N69 N70G32 Z-l.5 TOSOO M09 N78 IDO%For a comparison with the G programming method..simple thread cuttingBlock N76 terminates the c an as if there are no more too! sN77 X12 0 Z4. 6 N55 GOO X3. Incidentally.Using the 092 cycle.2 ZO.2 N76 ZO . just by changing the . is the Observe the three blocks diameter .same program example thaI illustrated the and apply it to a simple threading This cycle is usually called the 092 threading on Fanuc controls.9230(PASS 4)LSTART 0 THREAD (21G32 Z-L6 GOO X3.6 N75 GOO X3.256)xoL=(PASS 7)c=Z=38-8G92 .(PASS 1)N50 G32 Z-1.2 N52 ZO 25.. 092 in the tlueading context has nothing to do with [he command of the same name. 6 GOO X3.0 Z4.2 N72 ZO.083333)remntntng six passes can programmed next.000 inch external program will do exactly the same job. of rhreads and depth of method and a gradual pullout Actual program editing after it ha<. Adjustments ~. the same thread will 12 threads per inch on a 3.". Note that Ihe threading feedrate 110/ repeat . offsets. is much more inconvenientlist shows (he calcuwill appear in=::::::::::::::.6 FO_Oa33 N51 GOO X3.25N57 X2. the traditional and now old-fashioned 092. 6 GOO X3.NS3 X2..2 ZO.2 ZO.. the position If the lathe conlrol uses G92 use G50 for the position controls only. 6 N71 GOO X3. N46 TOSOO M42 N47 G97 S450 M03 N4a GOO X3. except it will have a noticeably different structure.25X2.972The nexthlock. the laled diameters for each lhe program (no change at#1 depth #2 depth depth #4 depth depth #6 depth #7 depthas odd in the example.8978 N74 G32 Z-1. h".2ZO.952 NS4 G32 Z-l.they are always the same..91305)G32 Z-1.SINGLE POINT903801BASIC THREADING CYCLE .2 NS6 ZO..G92can perform results in is especially for block-by-block \001 program shortened significantly.9360(PASS 2)(hreadIS{PASS 3}X2.it is modal from block N50 on.9040 G32 Z-1.25 N73 X2.=:::::::::.25 T0505 MOaNow.The(N4S GSO Xl2.

9040 N55 X2. These new development.the G92 straighlcycle is:MULTIPLE REPETITIVE CYCLE .2 ZO. II any special infeed methods.G16various lathe cycles were the normally for turning and boring.The simple threadinglilal there are moreaClUally completed inis just that . Later in this chapter. If GOO IS Ihis case by aterms.9520 N51 X2. the conlrol system will threads to cuL while they the previous block. In7. the threading tool will at the first pass diameter..0833(PASS 1)The control system will Ihe X value and the last before {he cycle call as the starting position for the point for the cycle.9230 NS3 X2.9360 NS2 X2.a live Ihreading cycle G76.8978can be IS nopro~It wlIh the origmal G32and(PASS 2) (PASS 3)(PASS 4) (PASS 5)(PASS 6)(PASS 7)cycle jusl described.0 25 (blockfullyeven theIhe impact of G76grammed jusl by to repeal the Z value orNSO X2. cycle requires one hlock for each threading cycle will do thread in olle block code (two blocks some the G76 cycle.25 T0505 MOS(STARTwithout any frills. this time used for various threading applof CNC development. Note the X axis and lheZ the cutting feedrale:N49 G92 X2.0 Z4.10015 (T0505) andrrogram.NS6 GOO Xl2.N49.it is simple.completed by an automatic return of the thread.G76.. If Ihe control system always use the . retract from the thread and return to the last blocks are repetitive for each benefit the lhreading cycle is that it eliminates data and makes the program eaSIer tofOmlal forAnG92lout can be programmed with to ling [he G92 cycle.the thread in machining for Fanuc JO/11/15T. ill fac\. This cycle is plex nO[ because it IS difficult to use trary) it has some powerfulFO.350the threading038021001Chapter 38has beenand spi ndle speed . X Z F Current diameter of "" End position of the thread Threading feed rate in in/rev passThe first threading pass will . chase the thread. One of the another ror threading . any threading occupy only a very small pomon or the editing on the ma(if necessary)There are two programming Ing on (he conirol model This is the other lathe cycles .6as well asand many great newprogrammers.0 Z4 5 TOSOO M09NS7 M30 G16 Cycle Format 10T/11T/15TA threading cycle requires initial data input . the plunge method of infecd will be described as notsuitable most threading operations. Figure 38·9 illustrates Ihecontrols.9130N54 X2. From that the same way as for G32.(N45 G50 X12. In this will aim at one more of the multiple cycles.information%provided to the control thatOne frequent with this is to only by another motion cycle can motion GOO. Ihe only method is a straight plunge type.5) N46 TOSOO M42 N47 G97 S450 M03 N4S GOO X3. the simple cycle was a direct re~mll of the its The computer technologyI:@i'where .first four blocks are identical to In the next step.972Z~1. While a program using method requires four or even blocks of proeach threading pass.

a two Programming ExampleThe earlier example oftne thread. no decimal point used 100-991 Digits 5 and 6 . 30..6261 Z-l 5 P0307o G76 Cycle Format .. it is very complex . Height of the thread (positive radial value· no decimal point) Depth of the first threading pass (positive radial value . but internally. Do not confuse the P/QIR adthe flrst block with the P/Q/R addresses of the They have their own meaning .. with 12 temal diameler 00.:.003 Nll G76 Xl.:..to them do the hard work.positive A = Included angle of the insert .the system must do a large number of calculations This is one reason why we use computers .05NlO G76 POl1060 RO..number of leads for gradual pull-out (0. the G76 cycle is somewhat changed from the lOll1l15T models.. (b) The distance from the start point to the lastthread diameter {incremental} 2 =: End of thread along the Z axis (can be an incremental distance W) R difference between start and end positions of the thread at the final pass (RO for straight thread can be omitted) p:::::.. is a six-digit data entry in threeDigits 1 and 2 . line input. These calculations need data (repetitive information). cycle to be simple. controls are shown.. First block: pKxZ-ENDL:: TOTAL 0:: FI K:: TOTAL X:: ROOTFigure 38-9 G76 . or .... 16T and 18T.Second block: (a) last diameter of the thread (absolute diameter) .:.~where .no decimal point) F Feedrate of the thread (same as the thread lead)X.0-9.number of finishing cuts (Ol·99) Digits 3 and 4 .05 N21 G76 X76 0 z-30 0 P812 Fl 5On the popular Fanuc controls OT.POINT351..angle (00. in the form of input parameters that establish the specifications. Diameter of the last threading pass Amount of taper over the total lengthx=IZ == Position indicating the thread endK == Single depth of the thread . the difference is only how data input is stmctured. 29. 80 only) Minimum cutting depth (positive radial value· no decimal point) Fixed amount for finish allowance (decimal point allowed)a:::::R. and remam same... using only the minimum program blocks (last tool sho\VIJ inblock entry for a fomlal is.-.Multiple repetitive thread cutting cycle (10m= ...positiveD = Depth of the first threading pass .. the G76 is a very easy cycle to use infollows the logic of several lathe cycles in Chapter 35. in spite of the more input values. described earlier. Yet.within eachblock only!oEnglish (External 1-11/16withFO. 55.positiveaObserve differences in the fonnat structure for pie cycle G76 with the basic G92 cycle.9 times lead).. 60.These parameters form the structurede (for external or internal mrea(lS~where.000 076 programming method...OT/16T/18TN20 G76 POll0GO RO.positive P Infeed method (one offour).

applying the samc logical thinking.083333 GOO X12. the CNC syslem does all necessary calculalions.1cu lated as:Tf=X + (K x 2) . The same principles apply to G76 threadIng cycle as well and can be used the same way as In the previous thrcading methods. the threading is eXlemal.972).5 TOSOO M09 M30There are few other parameters to explai n. applied to both axes for the purposes of supplying a suitable tool clearance. due to the machine acceleration for lhe feedrale. in [he G76 cycle has the same meaning as the Z value in the G32 Ihread clilting or the G92 threading cycle.OS33 (or F/EO. It represents the end position of the thread and controls the thread length.2.not the first . The Z axis clearance in the start position block only lakes into consideration the lead of the thread and the spindle speed.8978 Z-1.r (hat is programmed .2Z0.and lhat means the first cut diameter must be calculated by the control system internally.8978 Z-1. in itself. the same way as for G92 cycle.6 IO KO. providing the following In[ormation is supplied:o Theroot diameterooThe total thread depthThe first thread depthI X value I ! K value I [ Dvalue IBased on the supplied values.ONE BLOCK METHOD) (N45 GSO X12. For example. [he value was X2. mainly to be downward compatible with older programs. 0 24. If lhe thread start diameter X is smaller than the last pass diameter. in the G92 threading cycle application. They coexist in [he same control unit even at the present lime. In this cycle. to change the depth of the firsllhreading pass to .2S. The clearance for the X axis is an arbitrary clearance for the tool to move away from the thread. S)Several points relating [0 the program may need clarificalion. 0 Z4.03S04 (G76 N46 N47 N48 N49 NSO NS1 N52%METHOD .0140. The supplied inrormalion is contained in the program.OS3333) NSO GOO X12. This is nOl the case in the G76 threading cycle. A non-zero value is used for laper threads.0160 from the currenl . but first look at how the cycle calculates the tirstlhread depth. The comparison of the G76 cycle with G92 cycle is unfair.The Z value.S TOSOO M09 NSI MJO%BLOCKMETHOD)(N4S GSO X12. the position is X3..The calculation of the firs/ thread diameter i~ done completely by the control system. That provides enough information for the control [0 'know' what is the theoretical premachined pan diameter (the actual premachined diameter cannot be known).2 ZO. the same program will be very simi lar. First. The higher le\)el controls using the one-block inpur will be used/or the expLanmioHS} unless mentioned olhenvise. If the Ihread star! diamelc( X is la/ger than the last pass diameter. The fact thal the whole program requires only six or seven blocks is. the thread is imemaf. as well as for the Gn simple threading cycle.OS11 D0140 A60 P4 FO. only (he lasl pass diamcler input is importan!.Internally. in G76 cycle. the thread starting position was always determined as only reasonable. significant. For instance.'!WON47 G97 S450 M03N48 GOO X3. In (his example (block N48). it is the last diamete. There is one major difference from programming the G32 and the G92 methods. Its purpose is 10 prevent cutting imperfect threads. as each cycle is the product of a different technological era.Two parameters unique 10 G76 cyclc are the I and [he K values. [heftl'St threading diameter was all-vays programmed (in the examples. The X value is the diameter of the last threading pass. Any programming change can be done by a simple modification of a proper parameter in block N49.2S TOSOS MOS G76 P011060 QOOS RO.2 ZO. 5) N46 T0500 M42Chapter 38In the two block version. the K value is the thread deplh. where it represents the smgle difference between the start diameter of the cut and its end diameter (described later in lhe section dealing with a tapered thread). the starting position for the X axis was X3. The next slep the control goes through is the evaluation of all G76 parameters (the programmed data in block N49).pUIT0500 M42 G97 S4S0 M03 GOO X3. The two cycles are 3 good iIlustra[ion of some signincant differences between programming lechniques.35203803 (G76 METHOD . This relationship is important for selection of the tool rapid approach direction.0 Z4. which is lhe threading cycle call.OO) G76 X2. inof each thread pass diameter is important. In the previous threading examples.0 Z4. the control registers the thread sta11ing position.. as well as in (he G92 simple threading cycle. In theG32 block CUlling.25 TOSOS MOS N49 G76 X2. First Thread CalculationFor the G32 block threading. the first diameter TJ of (he thread will be cJ.6 POS1l Q0140 FO. The 1 value is always a zero if a straight diameter (hread is cut. all [hat has 10 be modified is the entry of DO 140 (0 DO 160.(D x 2).

for example. entered in program as DO J 40 or QO 140. is a method detailing of [he threading 1001.hown Ihe compound where one is in constanf contact thread wall. also known as the lhreading infeed.014)( 2)r:JOnecutting cuttingresull is same bUllhls lime it wasoBothpof the G76 cyclethe feature. one of fwo basic as illustrated intheRadiallnfeedmOSIis one of common methods.figure 38-11. Keep in .(. as the X dala in the program.9720+ (. K is II P0511).ootheX is 2. In :-. (he mfeed than the Oank hal f of the thread A Iypieal V-thread. a threadOne common the plunge method. lhis will cause temperature and wear problems related to decreasing depth each infecd may not problem. parameter IS used for a radial i grammi and G92 simple threadi IS no parameter to program. with 60u Inangle 30° and the should be a lillie than thal.orthe 10011 ife. a compound infeed approach will generally a much heller job.wards the duced by shape of a chip produced threading 1001 the away from Ihe toolThea plunge lofeed (straight is programmed wi Ih the Ainfeed). beuef known as a compound infeed or aflank infeed. the curling of the chips will also to each other. say 29".. the diameter 1001 is straighl for each new pass. It can to a unidirectional.8978Tf = .POINT THREADING353melhod has Its own procedures. the d of the thread '0' willamountConstant cutting depth= 2. also known as or perpendicular' other method is an angular method.RADIAL IICOMPOUNDFigure 38·10 Radial and Compound infeed for thread cuttingCompound Infeedalso called a flallk in of !he [001 tha! moves10-method in thread programming is called the radial method. The Z axis start position is the same for thread diameters and is easier to The radial Inis suitable for soft materials but il could damageof a radial infeed is thaI both insert of the threading tool are material at Ihe same lime.8978. The of rhe chip CJn be hea vier passes will be required for mosllhreads. depending on Ihe Therefore. The need 10 infeed direction in offer the best conditions for the insen for threads with very leads and some soft the majority of cut~ will bene/it from a compound infeed (al an Ihreaded shapes are rorthe reason of will always The angle of ill lhe G76 geometry . In applications.the shape or geometry of the thread is nm that is built insert What is is way into the how the insert cut .OSl1 x 2). of the mOSI important is the method that controls threading tool approach the thread. If the radial In does not produce a high thread. the cutting tool.2. There is no cUlli only undesirable which may cause a poor surface linish on the avoid Ihis problem.0 J40.THREAD INFEED METHODSthe material can bein several ways. the first Ing depth D is . Since Ihe edges are ODIDmme [0 other.

Lhat and defines Ihe cutting38withMODIFIED COM UNO INFEEDCutting Type .. an induded angle of its usage had declined even munc standard worldwide. The tool approach towards the part will be a lillie.. 60 Q . if cycle. and other is the address P.For example. the in feed for the extra clearance. an is very commonly used for a lire changingP3Figure 38· 12 elJNing fDr G78 threading cycle (parameter P) Used on 10/11/15T modelsP4programming notes are A Merrie Trapezoid thread.. as last pair of the P address in (he first G76 N49 076 P.7"r·" parameter A).. nOI common in NonhPl P2 P3 P4One Two One Twocutting .a cut and a zig-zag CUI. Gutting ..Fanuc CNC lathe controlsOnly the following076 threading cycle:A angle settings arc allowed in alingthread CUllingmethods of control38-/2):. cycle.Ihal can be used in programming a thread infeed . cutting .. As A80 PG il is (\ special German pipe (Pollserrohrgewillde) .with with with withconstant amount constant cutting amount constant depth constant cutting depth. terms refer to of cutting edges employed at one lime.". a value that is equal 10 of the threading insert. there aretwomain CULlingthan one half of the standard A60 is programmed in will be slightly less 30°..Parameter Pcan beModified compound infeed angle for berter threadthe G76 threading cycle. cutting . R...English or Metric Germanthread information and funher thread forms.Parameter Acontrols).3controls (higher level). with 30" . Only the Jngle description is available for Ihe two-block method.. The one cut refers to CUlling with one the zig-zag cut reo to CUlling with IWO clilfing of them can be in conjunction with A thread angle parameter and Ihe cUHing depth or a conslant depth.... are very powerful tools in forms of cutting parameters.rncontrols relating In addItion to the radial infecd with the AOflr"rrlnn/~r1 Thread Insert Angle . twO of which nrc related to the in feed method of a threading tool is the address A.. with the included angle of 80°.\AD A29 A30 A55 A60 ABOStandard 60° V-threadISO ACME Metric ANSI DIN 103BSW. a non-zero value [he tool angle.

0050 . Program will use the with a modified compound iFigure 38-13 Compound in/eed calculations for 632 block-by-block threadingPass Pass Pass Pass#1#2 #3#4Pass #5Pass #6 Passdepth depth depth depth depth depth depthat at at atat at at( single depth ( single depth I single depth ( single depth ( single depth ( single depth ( single depth.and threading pass diameas an Sand S I-S7 disis shifted.0511 x tan29 = . in Ihe grammed as ZO..".25. That will result in equal chip volume removaL Feel to with the Olher three options as well. is lhat must be calculated exactly.thread.014002. These values will be used In In there are seven the Z value (total in Figure 38-/3. The principles of ""..!>] block-by-block programming are work may be tedious and impractical. there is only one . is oow the P I parameter was the The fault. When the Ztance must be and the threading based on Ihe last calculation.0100 0..028325l93. A top class programmlOgjob is worth (he extra lime and effort when qualily and of the final pan depends on ie Quality is not programmers (and machine operators) have LO Invest some time into it. It has to be a because even a sJlght modification althe very difficult. PI cUHing method is is the most common threading application for many jobs.SINGLETHREADING355On Fanuc lathe controls manufactured before the lOT.0045 .0031JI I} ) })lers.9040ONE-BLOCK MOD CALCULATIONS02. lhal do suppon the P parameter. if the call. [he shift disbasis of compound angle Any new calculation must be l Axis Start Position CalculationThe Illustrated distance S the IOtal the nominal Z axis position. It will apply one cutting 1001 and the cons/am CUlting amount. will fail. example.n.'A"I'''''.0080 . Figure tances.00000.take a pocket calculator and calculate toot position and 1001 motion individually. Initial ConsiderationsThe thread used for the examples in this 12 TPI external thread..OOBO . shows the distribution of each for the seven threading passes and the illustration:Although another approach may distance will be calculated firs\. All individual ng pass had been calculated depths for each pass had been same time.8978a program needs[0. Is it worth doing? Absolutely.0100 . it shift IS programmed .97200. ]s it a lot of work? Yes.9130 02.0-12 TPI).S1 S2 S3control other{he G76Unfortunately. the P in the cycle was not available.. Each threading a difrerenl Z aXIs start position.so usS.9230 02.0140 .. the same thread will be as in (3. total II and lheselectcd compound infeed ing a standard trigonomelric formula will ranee value:S : . It also had bener be nght the the changes could be long and COSily.0065 . The is to the Z Theorelically.DIAM--03.

25 position.2705 .2705 . the value has to subTracted from the current Z starting lion.0055 tan29 ::: .5138the start Z axis position position..0 Z4.028325193..2 N64 ZO. changing the D depth input.9360 N58 G32 Z-L 6 N59 GOO X3. 6:::::::: :::5556 57..0055 .0080 .2517=Calculation for each uses same formula.972 NSO G32 Z-1.0044 .This example shows the initial the thread. The following IiSL shows the individual shift values (as rounded In ish units)'Sl 8253 54::(START 4)(PASS 4)(START 5)5) (START 6)(PASS 6)N67 GOO X3. itself This mitial value is needed for all the For each subsequent calculation.2783.0065 . 6 N75 GOO X3. Only the Z value will programmed values are not affected at all. 6 N63 GOO X3.0140 .0028 .356a threading be its relative as an in the The seven shi positions can be calculated..2 NS2 ZO 265N53 X2.0283 shift S.2783 at the 03.2606 .2517N69 0.000.0044 .2570 .25N73 Xl.2542 .0078 . The complete program is not short (which is typical with programming).0028 tan29 = .2650 . Lhe Z value for a 38-14 illustrates the process.5) N46 T0500 M42 N47 G97 5450 M03 N48 GOO X3.2517 .2542 .2N56 ZO.2650 ..6 FO. in mind that the of this process is to find a new Z start pass· i.2705 .OS33 N51 GOO X3.0050 .25.0025 .0lOO .9130N66 G32 Z-L 6(START 3) (PASS 3)Once the modified Z axis stan position is known for the first pass depth. The theoretical starti position will be ZO.0031xxxxxx xTotaltan29 . plus the .0017 .2705 T050S N49 X2.o=Dx(N45 GSO Xl2.0045 .2542 . rounded from the calculated value of . but never used in the program.2 N72 ZO.0036 tan29 tan29 = .2 ZO. then moved one step at a nal 20.250 never be smaller.0 Z4.03805(COMPOUND INFEED EXAMPLE)r.5 TOSOO N7B M30%.2570 . 952 N54 G32 Z-L 6M08(START1) (PASS 1)(or F/EO.2783 ..2650 .0036 .e.0078 tan29 ::: .2 N6B ZO..2606 .9230 N62 G32 Z-l.2517--S2 53 54 S5 86 S7'".0017 tan29 -0283N7l GOO X3.2570 . but it docs illustrate the compound method of threading when no cycle is available or is pracliLO use. calculated at the 03.2606 .2S7 N61 X2.000:#1S .0025 .8978(START 7)7)N74 G32 Z-l. Only the threading Lool is shown in the example.2606 NS7 X2.083333)(STARTFigure 38-142) (PASS 2)Calculation of rhread stan position· Z axisNSS GOO X3.2500Dx#2=:::#3 #4Sx = Shift for the current thread pass· incremental D :::: Single depth of the current thread pass#5 #6 #7:::. it is easy to find start positions for subsequent pass depth. Using Ihis method that the originally set .2N76 ZO. 2542 N6S 0.25 M09N77 X12.2 N60 ZO.9040 N70 G32 Z-l. We know that the modified Z axis position for rhe threading (001 will be the already established ZO. based 011 the of ZO.

. or in a solid material. Normal control setting is equivalent to one times the thread lcad. I[ represents [he mOSl common programming melhod for threads and can be used as n sample for many olher thread cUlling applications.OSll D0140 A60 P4 FO. so M24 is not needed. the only block thal was available without another 1\1 function. the pullout will no! be done. the end of the thread (the Z axis value) will either be in a maleria! [hat has been previously recessed.-d1JM23i ~______~~~______-.I d1. or a little less because of a delay In the servo system. IfM24 function is used. the finishing distance d is set by the control parameter. M23 was applied in block N45 and an addieional block NSI was used to cancel the pullout. The purpose of these funclions IS to enable or disable the aUlOmaric insertion of a pulloul mOlion between threading motion sequences 2 and 3. The pullout {lngle from the thread is usually 45°.2S TOS05 MOS G76 X2.2 ZO.-..OB3333) NSO GOO Xl2. or along both axes simultaneously.-. and a gradual si multancous molion along two axes. a statement had been made thaI [here are only two methods of relracting the 1001 from the thread .8978 2-1.700x the thread lead. This culting type employs only a single edge of the threading Insert.N4S N46 N47 N48 N49. ] n facl. but il is a good practice 10 cancel runctions used only for specific purposes.:lIhe work. These thread retracl functions are called lhe thread chamfering fllnctions or thread finishing functions.6 IO KO. In Figure 38-15. unless M23 function is used as well.SINGLE POINT THREADING357 Single Axis PulloutA single axis pullout (thread !inishing OFF) is a simplc rapid motion programmcd at the end of threading pass as the fhird l11olion of the four basic threading sequences.2 ZO.5) M23 (THREAD PULLOUT ON) TOSOO M42 G97 S4S0 M03 GOO X3. The actual pullout can be programmed "long a single axis. The pullout direction is always at 90° to the thread. their frequenl appJ ications even jusli fy special miscellaneous functions buill into the control system as a standard feature.5 TOSOO M09 N51 M24 (CANCEL M23)NS2 IDO %N45 N46 N47 N48 N491... Thread Pullout FunctionsWhen using the Ihreading cycles G92 and G76 ror lhe CNC l.S978 Z-1. Block-by-block threads will be longer and will need 10 be checked for accuracy very carefully.OSll D0140 A60 P4 FO. the threading program 03gm using lhe G76 cycle will be Slightly modified in 03806:03806In program 03805.-.25 T050S MOB G76 X2. within the range of. with a constant amount per each threading pass. two functions cancel each other. it must be programmed before the threading cycle for which il has been applied. Both are used in thread programming.0 Z4..0833 (or F/EO.5) M24 (THREAD PULLOtIT OFF) TOSOO M42 G97 5450 M03 GOO X3..M24Figure 38·15 Tvpical miscellaneous functions for gradual thread pulloutThere arc some conditions thaI apply to the M23 function. this is the default condition.--.0 Z4. Two-Axis PulloutTwo-aXlS pullout is a gradual angular tool motion along lwo axes.0833 (or F/EO. lhe thread infeed method is equJvalenlto the PI parameter in G76 cycle. as described earlier in this chapter.(GSO X12. The cancellation was not necessary in this program.0 Z4. For examrle.0 Z4.a slr.5 TOSOa M09 NS1 M30%The M24 funceion appears in block N45.d '--In this case. If the finiShing distance dis greatcrlhan the pUllout dislance dl..THREAD RETRACT MOTIONEarlier. They conlrolthe pullout of the threading \001 at the thread end:(GSO Xl2. away fTom the thread (thread finishing ON). usually for another thread in the same program.lIght motion along a single axis.-. For cilher lhreadil1g cycle G92 or G76).OS3333) N50 GOO X12.1 OOx to 12. The example 03807 is similar to [he previous example:03807M23 M24Thread finishing ONThread finishing OFF(two axes)(one axis)Other machine controls may have similar functions.6 IO KO. Typical Fanuc functions designed for Ihis purpose are M23 and M24. Figure 38-15 i! luSlrales the comparison of the threadi ng mOlion wilh and without the pullout.

The only method to prevent imperfcctlhreads due to acceleration in a small area is [0 decrease the spindle speed. which usually requires a different 1001 holder as well.. Be careful not lo grind off coaling within the cuLling section of [he insert.M03 or M04ooIf a smaller tool cannOl be used.but check first anyway!.IzRfH THREAD::: M03oThreading insert is too wideThread is too deepo.$orl. program for a modified exis1ing threading insert.heLler known as shoulder of the part. Before deciding on the modification by grinding. In case the program does use a modified Ihreading inserl. without damaging engineering intent behind the deSign. not \h("... but other factors are important. The majority ofrecess grooves can be adjusted for the threading tool. Modification in [his case means grinding off the portion of the insert that is in the way of CUlling.Incidentally.. then there is another choice . Even then.altering the standard lools designed for CNC work should always be I he Insf r(". Neither selection has any effect on the profile andlor depth of the thread.f 6. If the threading insert IS too wide or the thread is too deep. but this approach is nOI right.The hand of thread is determined by two conditions:oCutting direction of the tool ~z + or Z-)o Direction ofthe spindle rotatioll (M03 or M04)These conditions are used in combinations to program a particular thread.. The majority of threading applications use the righl hand thread. either hand of thread can be cut with any threading tool. :lIltomMic first choice A cO(lied insert will loose its cutting advantages. The obvious solution is to change the threading tool for a smaller one that can still cut the required thread deplh. A poor choice affects the thread quality.THREADING TO A SHOULDERProgramming a thread that terminates at a shoulder presents a unique difficulty. If the recess width cant'lOt be increZlsed.358Chapter 38HAND OF THREADAny thread can be cut in either the right hand or the left hand orienlalion. When a thread starts close to a shoulder (in a recess). The factors that it1fluence Ihe programming method for a R/H and L/H thread arc:oThreading tool design . etc. a collision is possible if the tool setup is not accurate. it is irrelevant if there is or there is not a recess groove on Ihe part. if possible. addi· lional costs Involved. In case a standard threading insert needs modification. The three typical problems in this area of thread programming are:o Recess groove is too narrow or non-existent/I . z+LlH THREAD:: M03Figure 38·16 Right Hand (top) and Left Hand (bottom) thread CUI using a right hand threading holder (reverse mounting)The second and third problems may not be related. the follOWing example illuslrates a few programming considerations . without disturbing the portion Ihat actually removes the material.tIIIThe first problem of threading towards a shoulder. This may be an insert une size smaller. but the solution is usually the same for both.. The difficulty is the wall . for whatever reason.right hand or left hand Spindle rotation direction . try to increase the recess wictlh first. if the coating IS removed by grinding.just increase Ihe recess width In the program. 111is may be ajustified case of 'overruling' the drawing .. It is not enough lO program the end point for the thread reasonably .Always use care with modified toolso The cutting direction· Z+ or ZTool tip orientation in the turretInsert ModificationTheoretically.Figure 38. consider other options carefully .. a narrow width of the recess groove. a few suggestions may help \0 do it with more insight.to decrease the width of the threading insert. is easy to correct .There is a number of standard threading inserts in every tooling catalogue and chances of finding one suitable for the job at hand are good. RighI hand and left hand terms relate to (he helix of the thread . Ihe clearance for acceleration is limited. life of the threading insert.il must be programmed exaCTly.

!'-r'. The height of the shoulder IS also important.05 . -0. and three. the rhread length is lhe aCllIa! lengrh of {he full depth rhread. the thread length has to be extended by . In (he example... The part program will reflecI the modification in (he thread end position of the Z axis. There are no clearances and the length orthe thread istoo short.100To modify a standard threading lnsert..012. as it cannot finish the minimum full depth thread length ..25ci . .020. Always make sure the depth of thread can be achieved with the modified insert. In other words. That will shorten the original anglllnr length of 130 to the length of .-.130. look at its normal configuration firs\. not relevanl in this casco The dimension H indicates the maximum thread depth and is normally measured to the sharp poim of tile Insen lip.2252H=The problem is illustrated in Figure 38-18. To solve Ihis problem.--0...()In the example. which will be wrillen as Z-O.25 10.030.620.0.750 .0.225166605 H = . never guess them= =-. This modil~cation does nol provide for any clearance at the thread shoulder or at (he insert tip..301!~--'1.130 / . Two.. Ihe amount of .0 02.030 to achieve the .577350269 H = .030. modification of a laroer . The two last clearances are the arbitrary decisions by the programmer. select a smaller sIze threading insert if possible. the shoulder is .. the clearance past the (hread end will be .0.100 recess groove width. A large threading insert may not always be modified and the only solution will be to use a smaller insert size.050. using an insert thaI has an angular length A of . the minimum amounl to be ground off the insert is . One. Even a minor setup error on the machine can cause a serious difficulty. Figure 38-17 shows a typical threading Q insert with the known width Wand the amwlar 1enbA th '~.250 and A dimension is .1303. The part design often allows a little longer thread..130.-. It is calculated using a trigonometric function:H = A / tan30.30 I I high and the insert modification was possible. there are three dimensions thai influence the amount of insert modi fication.0.650 thread length.S (setup position of the insert does nol change).75-Figure 38-19 Modified threading insert provides enough clearance in the recessCJfl:!CJFigure 38-18 Threading insert before modificalion does nul Iii ill the I!:IC!:ISSThe job is 10 program a thread WiUl a .080..080 must be ground off the original large threading insert.67-I0. Tllis insert is not suitable for the job. to allow the [001 to complete the minimum . rn theory. The modification requires grinding of the insert in the non-critical areas.---0.SINGLE POINT THREADING359.8978co0. A-<--60 V-THREAD0Figure 38-17 Essential dimensions of a threading insertIn the example. b Insert IS the only way. Both of these clearances are essential for the best threading resulLs.W -:W = WIDTH OF INSERT A ANGLE LENGTH R = TIP RADIUS OR FLAT H MAXIMUM DEPTH.351 0. If not.Always calculate the modification amounts.2252I. the clearance from the shoulder will also be . the difference between the required and the actual thread lengths..650The minimum thread length in the illustration is onlylip radius or flat R.75. insert dimension W is . and IS illu. The solution is the total amount of the insert modification being .650 minimum length.3011o --.J.the difference between the shoulder length and the recess width:In threading.trated In Figul"p 38-19. hut nOL shorter. The included angle of the threading insert is 60° and the insert flat or tip radius R is . The sum of all three will be the amount to be ground off the insert.62 --NNt 0.5 03. and an unknown angular height H.

move the handle in the same direction as the thread. both threads are almost identical. The purpose of the program tes! is [0 find out if the threading tool will collide with the part shoulder before actual threading cut takes place. 1l1is method requires a skilled CNC lathe operator. One is For threads of 10 TPI and coarsel. there is an equivalent thread. who does understand both the program and the threading principles well.the Squ{lre threads.In the non-threading mode. instead of (he G32 threading command. threading \0 a shoulder presen[s a time of anxiety for the CNC operator. Lebus threads (require special control fcalures).. Buttress threads. usually with a disengaging half-nut. As an example of a different threading form. without a part mounted in the spindJe. to use temporari ly the GO I linear modol! command. yet very elTective. provlding the thread formulas and the geometric details of the thread design are known 10 the programmer. called the Metric Trapezoidal thread. The following sters are general in nature .500 x P + . Since the reed rate ovenide and the feedhold switches are disabled during (hreading. the thread depth formula is:Td :::: . it is by no means the only form. the tool setu p is safe for the thread ing If the tool just about touched the part. thread program checkmg method is always available. discussed earlier.500 x P + .010o oo oFor the ACME threads J 2 TPl and finer. The main application of the trapezoidal type ulread is to transmit a motion. Aero lhreads. the thread depth formula is modified only slightly:Td ::: . Ihe metric trapezoidal thread has a 30° angle and somewhat different geometry definition.There OIlier threads that call be: encountered outside of the 60° category . Knowledge of the operation panels is also important This method employs several features found on the contemporary CNC controls. From the programming perspective. Programming trapezoidal threads is no more dirlicult than programming any V-shape thread. until the tool reaches the programmed Z value. Dardelet self locking threads. the other for threads of 12 TIl and finer. they are not!Td = Thread depth P = Thread pitchOlher threads in the trapezoidal group are Swb ACME or a 60° Stub ACME. A simple. the tool setup needs adjusting by the difference between the programmed pOSition and the actual position. Even computer based graphic testing methods may not show the potential collision. The purpose of the program lest is to establish safe working conditions before the threading lakes place. An important consideration is the lead error accumulated over a long distance.By readi ng the CUTTen! tool posit ion on [he screen display and comparing it with the programmed position.Whether a tlu·eading insert used is based on catalogue dimensions or a modified insert. whereas in the threading mode. Thread and threading data can be found in various tooling catalogues and technical publicalions. the program verification on the lalhc will become more difficult. il will be possible to know whether Ihe collision will happen or no\.spindle stops and the threading tool is in the clearance area Select the Xl screen display (absolute mode) Switch to the HANDLE mode ior the l axis While watching the XZ position display. for example. or it cannot move any further. The programming of a trapezoid threads oflen requires a steadyrest.005There are other testing melhods available. ACME thread has a 29° included thread angie. For ACME threads 10 TPI and coarser. There are two basic formuJas relating to an ACME thread depth. Round threads. whichever comes first If the tool reached the programmed l position first. but has not yet reached the programmed Z end position of the thread. the feed rate can be slowed down or stopped anytime. right al the CNC lathe.adaptlhem to suit local conditions when testing the threading program:o ooUse the SINGLE BLOCK mode and step through the program until the thread start position is reached Switch from the AUTO to the MANUAL mode . There are many threading forms and shapes programmers encounter in machine shops. Certain types oflead screws for conventional lathes use this type of thread. plus some additional clearance Thread DepthEvery thread has its formulas and mathematical relationships.360 Program TestingChapter 38OTHER THREAD fORMSAllhough lhe standard V-shape thread with the 60° included lip angle is the most common thread form. API threads (used in the petroleum mdustry). when the first part is produced. since these threads may be quite long. and several olhers. (00 numerous to lis!. Duri ng the test. the feed overrides are effective. look at an ACME thread as a subject for discussion. In metric.

SINGLE

THREADING

1
Depth and Clearances

for a tapered nificandy di than that for a straight motion i~ along two axes simultaneou~ly, nuher four basic motion steps are, identical to those for a straight thread:
Motion 1 Motion 2 Motion 3 Motion 4 Rapid from the start position to the thread diameter Cut the thread (cutting along two axes) from the thread Return to the start position

the previously established formula. the depth D of the thread used in the program will

D

.61343 / 8 = .0766788

=

.0767

rhttprp1'I1'p<::

to a slTaight thread, the only for a tapered (hread are in - Motion 3 and Motion 4 remain
rI,Q',;>,·F'r\

Motion I, the starting tool position is

orientation of the threading an external or an internal
external thread forms, the threading tool must always be of the Lhread. For internal thread tion must always be below The (mead. This is the same requirement as but for a tapered thread it takes on an lance. examples of a tapered p!ified drawing: in Figure 38·20.

For a tapered tttl'ead, the towllength of the tool U'ave] along each axis, nOl Ihe thread length as per drawing - this is no dil'Jeren{ than for a single axis thread. The tool I ravel in the will be the combinalion of the two plus the given thread length (along the Z axis):
.400 + 2.500 + .200

3.100

The next slep may not the method of is used, both the start thread will be
G92 or G76 is and end diameter of

~OTPF-8

lance will cycle and is lhe pan amples were straight

01

per Calculation
be calculated to establish stan calculation method depends on the and dimensioned In the ng will show the dimensions have to be calculated as pan process, using one of two common methods.
10

TPF = Taper per fool TPI == Threads per inch

Figure 38-20 Tapered thread example program 03808

uses the calculated by applying

other method defines as is oflen confusing to an
Typic:!1 rallo;; are rlefinerl in the

The thread is defined fronl diameter of

Qverfllliengih (2')00), hy lhe (1.375), by its angle (3.000

mches taper per pilCh (8 TPI). It is a single start thread and Lhe rlrf\O'r<lm zero will be at the from face of finished part. operations have been done
for the

for example as I: 12, I: 16, etc., or as amount of taper perfoot or, raper per inch. Keep one rule in mind:

this type of

will

programming consideration for the depth of [he thread.

362
A standard North American pipe thread is a good examtapered thread. It is defined a taper raLio of I: 16. which is equivalent to a oj an inch per JOO! laper, mcaon the diameter and to an axis. A pipe may also be defined with a per side(Jlle degree, jorty seven minUleS, (weill)' seconds (plus some leftover), or J. 7899 J0608 CNC programming, the decimal grees-minutes-seconds reflect [his preference. To a laper defined as the lowed by an

38

12.0 - -

- 2.51,5

AN LE:

A = tan (1.5/12)
A 7.125016349
=:

RATIO:
in the ratio must be in the same should be used in their lowest form of application (1/4 of 2/8 or 4/16). For example, of 3 IlnilS to 4 units may have these forms:
3 : 4

1.5

---'- = .3125
Figure 38·21 Taper thread calculations clearances excluded

3 / 4

a taper definition, it means

01.8966 01.3750 01.2216 01.1216
0.2 ---.0.4

one axis, there will be 4

of a :5 inch taper per root is equivalent to a because
3 / 12
[n

3.10
Figure 38·22 Calculated values for the

1 / 4 .. 1 : 4

nrti,n,-"m

example 03808

ng, weare only interested in at the beginning and at the end can be done ei ther means of

Block by
as'

Thread

block threading, the taper thread programming is just as programming a straight thread, simplify the example, a straight infeed and nine threadi will be for the IOlal depth .0767.

or

depths must be applied at both of column lisls the depth of Ihread umn lists the front thread diameter, diameter. l1ie front coordinate of ZO.4, the end tions.
end diameters have

Front0

End

0

(he ratio of sides method. will actually be in type of selected programa block-by-block approach depend on the thread control features.

.0165 .0145
.0120

.0100
.0080

.0060
.0040 .0030 .0027

1.2420 1.2130 1.1890 1.1690 1.1530 1.1410 1.1330 1.1270 1.1216

2.0170
1. 9280 1. 9640 1.9440 1. 9280 1. 9160
1. 9080 1. 9020

1. 8966

POINT THREADING

3
to program 03808: X represents the current thread diameter allhe end cut, Z is the end position of thread, I is the side between the diameter at the end and the diameter at thesrart. I value must include an al(only direcrion of the tapcr in this case a"''''''''>'''''''' value. Program 03809 will cut a tapered thread threading cycle.
03809
(Gn - TAPERED
2)

are
03808
- TAPERED THREAD)

N46
N47

N48 N49 NSO NSl NS2 NS3 NS4 N55 N56 NS7 N58
N59

N60
N61

N62

N63 N64
N65

N66 N67 N68 za.4 N69 XL 141 N70 G32 X1.9I6 Z 2.7 N71 GOO X2.S
N72 N73 N74 N75 N76 N77 N78

G50 X12.0 Z4.5) TOSOO M42 G97 S450 M03 GOO X2.S ZO.4 TOS05 MOB XL242 G32 X2.017 Z-2.7 FO.125 GOO X2.S ZO.4 XI.213 G32 Xl. 988 Z-2.7 GOO X2.S ZO.4 xl.la9 G32 Xl. 964 Z-2.7 GOO X2.S ZO.4 Xl.169 G32 Xl. 944 Z-2.7 GOO X2.5 ZO.4 Xl.1S3 G32 XL 928 Z-2.7 GOO X2.S

1)

(PASS 3)

(N4S GSO X12.0 Z4.S) N46 T0500 M42 N47 G97 S450 M03 N48 GOO X2.S ZO 4 TOSOS MOB N49 G92 Xl.01? I~O.387S Z-2.7 FO.12S
NSO Xl.9SS

4)

N51 NS2 NS3 NS4 NS5 NS6 NS7

Xl.964
Xl.944

Xl.928
Xl. 916 Xl.908

Xl.902 Xl.8966 NS8 GOO Xl2.0 Z4.S Tosoa M09
N59 lo00

%
(PASS 6)

zo. 4-

ence between meter of 1.l216,
(PASS 7)

taper inclination is of 1.8966 start diaby 2. The result

X1.133 G32 Xl.90S Z-2.7 GOO X2. 5 ZO.4
X1.127

(1.8966 - 1.
8)

I 2 :::; .3875

G32 X1.902 Z-2.7
(PASS 9)

ID9 GOO X2.5

NBO ZO.4
N81 Xl. 1216

This] value must have a directional LO mdicate the laper orientation (its direction from point). Inthe IheI value will be negative lhcslart is below the end diameter of the taper rear lathe. In the the entry

N82 G32 X1.8966 Z-2.7 NB3 GOO X2.5 N84 ZO.4 NBS GOO X12.0 Z4.S Tosoa M09 Na6 M30
%

Tapered Thread and a Multi

Cycle

pound thread. Of course, more calculations will

a straighl infeed and is used for will not change very if a comis used and/or the pullout from the

start

tiple repetitive threading cycle G76 cycle reI no! ro be a zero. if a tapered thread is cut. in the cycle specifles the difference per side. so dislance, as well as the direction between the diamecer of the programmed at that the X diameter is thread and the I supplies the taper side). CNC inclination (taper ratio axis direction an IIlcreaswg I value, and a will reqUire a I value. The I value is always a single value, measured not a diameter 38-23 illustrates for rear lathes.

Tapered Thread Using a Simple Cycle
cycle, the thread taper is programmed 1 value. wilh specified direction from the end starl diameter:

364 - - - - - - - ._- j X+
""0 C

..-----..----.-..-----

Chapter 38

--- ..... Z+

(])

ro .......
(j)

t

N

N

These tools are the thread stan position and the thread feedrale calculations. Figure 38-24 shows symbolically the views of the thread cross sections and tbe end views.

0X External

1

1 -

0X Internal

-<tFigure 38-23 Tapered thread inclination direction I used in G76 threading cycles

The basic G76 cycle will be maintained but the I value will be added - a non-zero value must be programmed:
03810 (G76 - TAPERED THREAD) (N45 GSO X12.0 Z4.5) N46 Tosoa M42 N47 G97 S450 M03 N48 GOO X2.S ZO.4 T050S MOB N49 G76 Xl.8966 Z-2.7 I-O.3B7S KO.0767 D0140 FO.125 NSO GOO X12.0 Z4.5 TOSOO M09
NSl %

r-.
l

/ . --.~
I

\

,~.---/' 90°

Figure 38-24 Representation of mullistart threads (dots indicate thread starts)

In the illustration are four examples of the cross sections (left) and the end views (right) of a single start thread (LOp), double start (one below), triple start (two below) and a quadruple start (Ihree below). Although the examples are represented only symbolically, the thread pilch lS maintained in all examples. Also note (he equal distribution of each thread start, represented by the. heavy dots. Each angle value is the angular spaclng of individual starts, when the threaded part is viewed along Its center line. The spacing is automatic and only the correel shift value from one thread start to the next has to be programmed, in threading mode .

mo

If this method can be used for threading. 076 cycle is the best choice. It offers the fastest program generation as well as the best opportunities for on-machine editing.

MUlTiSTART THREAD
Mostlhreads have only one start, suitable for most applicalions. The most common purpose of a multistarlthread is to transfer a precision moLion very rapidly over a relatively long distance. Note (he word precision - a coarse thread can also be used to transfer a motion rapidly, bUI with very little preciSIOn. An example of precision multistart threads are some internal designs of some camera zoom lenses. For programmers, there are some unique considerations for a mulristart thread. II IS important that the start PO&ilion for each thread is in such a location, [hal when viewed from the thread end of the screw or the nut, each start on the circumference will be divided in equal angular increments. Also imponanl is to maintain the equallhread profile when viewed from the thread cross section. To achieve these conditions, two programming lools are available.

Threading Feedrate Calculation
The threading feedrate is always the lead of the thread, never the pilch. For a single start thread, the lead and the pitch have the same value - for a multistart thread, they do not. Take a single start thread of 16 TPI. Here, the lead and (he pi(ch are both .0625, so the feedrate is FO.0625. If the drawing spec! fies lhe thread as 16 TPI, but indicates a dou· ble start, (for example 3.0-16 TPI 2 START), that means the pitch of the thread will remain unchanged (.0625). but the lead of {he thread will double to .1250. Therefore, the programmed feed rate for the double start Ihread with the pilch of .0625 will be FO.I25. The multiplication of the pitch will always depend on the number of thread starts. That means a triple start thread will have the feedrate Lhree tj mes the pi tch, quadruple start thread four limes, and so on.

SINGLE POINT THREADING

365
Shift Amount
Fecdmte is nOllhe only consideration for programming a

thread with two or more srarts. The olher, equally important factor, is Ihe programmed amount of [he tool point shift. if! will guanmlee that each start will be in (he rroper relationship 10 all other starts. When one thread i~ linished, the sLarLing position of the (oot has to be shifted (in Z axis only), always by Ihe pitch amount. The formula for the lool shin amount will be:

PITCH LEAD
Figure 38-25

-The shirt has 10 be programmedjor each slart above the first one. That means the number of shifts in the program is the one less Than fhe number of slarfs:

Relationship of the pilch and the lead of a double start thread

In Figure 38-25, the relationship of pitch and lead of a double start thread is shown, The same logic Iha! applies to a double start thread, (llso applies to triple, quadruple, etc threads. The feedrate calculation is identical for all threads:

Number of shifts

= Number of starts - 1

Note Ula! the formula is valid even for a single star! lhread, but there is no shi ft required (1 - I == 0).
A few methods can determine when the tool shift is to be programmed. 'He first method, for a double start thread, is to program one thread Lo ils full deplh, then shift out ancl CUi

Feedrate

Number of starts

TPI

Figure 38-26 shows Ihe relationships of the pitch and Ihe lead for some common lTIuhistart threads - Ihe samc pitch-lead relationship is mainlained proponionalely.
O.5P

Ihe second thread to its full depth. The second method, for lhe same thread, is to cut one pass of the ti.rsLlhread, shift oul. cut the same pass for lhe second lhread, shift in, cut the second pass for the first Ihread, shift OUI again and repeat the process unlil bOlh threads are completed [0 the full depth. This approach applies to any number of starts. The obvious advantage to the first method is the ease of programming. On the negalive side, if the 1001 cutting edge wears out on the firSI thread, the second Ihread will not be as accurate. The advantage of the second method is thal the (001 wear will be equally distributed over bOlh threads, alIhough the programming will require Ii 101 more effort, which presents the negalive side. Additional problem is lilat in many hard materials, the thread edge life may suffer from extensive malerial removal. To illustrate a sample rnultislart thread applicarion. thc following general thread specifications will be used
o
(J

I

p

a
P
1.5P

The number of threads per inch is twelve (12 TPI) The number of starts is two (double start thread) The thread is cut as external at 3.000 nominal diameter The calculated thread depth is .0511 (.61343 / 12)

o

o
-.-- 2P
3P

c
Figure 38-26

o The number of passes will be seven (for G92 cycle)
Although the block-by-block programming method G32 can be used ror special applications, acceptable results can he achieved in many threading applicalions by using (be G92 or G76 cycles, with less programming, as well as the gain or easier editing at the machine.

Mullistart threads - pitch and lead relationships: I a) Single start thread Lead "" Pitch = 1P I b) Double start thread Lead = 2P ( c) Triple start thread Lead = 3P

3
Application Example
N60 N61 N62 N63 N64 N6S N66 N67
N6B

Cha
G92 GOO G92 GOO G92 GOO G92 GOO G92 GOO G92 GOO G92 GOO G92 GOO G92 GOO G92 GOO G92 GOO G92 GOO M30 Xl. 944 ZO.525 Xl.944 ZO.4 Xl. 928 ZO.525 Xl. 928 ZO.4 Xl 916 ZO.525 Xl. 916
ZO.4

38

Z-2.7 Z-2.7 (T2
1) (T2 PS) (START 2) (T1 - P6) 1) - Po)
2)

The iou~ lhread with 12 TPI on a bUl as a double sian thread. The number seven, with the same depths a.s 1 I shows the completion or one thread i~ FO.2S, no! FO.1 In T is the thread

r51 program

Z-2.7
Z-2.7 Z-2.7 Z-2.7

before the other comments. P is
or second:

03811
2 - DOUBLE START THREAD 1)

N69 N70
N71

GSO X12.0 Z4.5) N46 TOSOO M42 N47 G97 S450 M03 N4B GOO X2.5 ZO.4 TOS05 Moa N49 G92 X2.017 Z-2.7 FO.25 NSO Xl. 988 N5l XL964 NS2 Xl.944 NS3 XL928 N54 XL 916 NSS XL 908 N56 Xl.902 N57 Xl. 8966 N58 GOO X2.S ZO.52S N59 G92 X2.017 Z-2.7 N60 Xl. 988 N61 Xl.964 N62 Xl.944 N63 Xl. 928 N64 Xl..916 N6S Xl. 908 N66 Xl.902 N67 Xl. 8966 N68 GOO X12.0 Z4 5 TOSOO M09 N69 IDO %

N72 N73
N74

( - - - THR.EAD 1) (Tl - PI)

(Tl (Tl (Tl (Tl (Tl (TI (T1 (Tl

-

P2) P3) P4) PS) P6) P7) P8) P9)

(--- THREAD 2)

N7S N76 N77 N7e N79 N80 NSl N82 Ne3 N84 %

Xl.908 Z-2.7 ZO.525 Xl.90B Z-2.7 ZO.4 Xl.902 Z-2.7 ZO.525 Xl. 902 Z-2.7 ZO.4 Xl. 8966 z-2.7 ZO.525 Xl.8966 Z-2.7 X12.0 Z4.5 TOSOO MO.9

- P7) (START 1) - P7) (START 2) (Tl - P8) (START 1)
- pe)

(START 2) - P9) (START 1) (T2 - P9)

(T2 - PI) (T2 P2) (T2 - P3) (T2 - P4) (T2 PS)
(T2 - p6)

cycle and GOO molion reason ror the G code repel remams In is the FO.2S med only once for each example.

is program-

(T2 - P7)
(T2 - P8l

THREAD RECUTTING
checked for quality the pan is removed Once the pan is removed, any subsequent reclamping will need a great efTon in order 10 recut the thread. The lirsl Ihreading pass
will start al a random subsequent 10 start at
maillS

(T2 - P9)

This version can mg cuts of the first In ~program 03812. will be evenly
03812 (G92 - DOUBLE START THREAD - 2) (N45 GSO X12.0 Z4 5) N46 TOSOO M42 N47 G97 S450 M03 N48 GOO X2.S ZO.4 TOS05 MOS N49 G92 X2.0l7 z-2.7 FO.2S N50 GOO ZO.525 NS1 Gn X2.0l7 Z-2.7 N52 GOO ZO.4 N53 Gn Xl. 988 Z-2.7 NS3 GOO ZO.525 N54 G92 Xl. .988 Z-:L 7 N55 GOO ZO.4 NS6 G92 Xl. 964 Z-2 7 N57 GOO ZO.S2S N58 C92 Xl. 964- Z-2.7 N59 GOO ZO.4

the cylinder circumference. aUlomatically synchronized As long as [he threaded reis assured.

There are I wo

chining, even rOf (he after removal,
(--- THREAD 1)

(Tl - PI)
1)

1. 2.

Reclamp the threaded part to run concentric w/spindie Set the X axis large enough, so the tool moves above the thread (external threading) or below the (internal threading)
Visually the threading tool tip with the thread already <:1'"....1>"",,, (only as accurate as one's eye)

(T2 - PI) (START 2) (Tl - P2) (START 1) (Tl P2) 2) (T1 - P3)
1)

3.

in the air while carefully tool will eventually recut the

- P3)
2)

Thread

should be prevented.

difficulty is the major quality concern.

10

SUBPROGRAMS
Each program must have its own rl.rr,nr"""" stored in the control memory. The M code function to call one program program thal calls another g ram, all other programs arc called program is never called by a subprogram - It lOp level of all programs. can also from other subprograms, up \0 a cerlnin of levels. When a program containing
always selec! Lhe main program, never the The onl y lime a subprogram is selected on the editing purposes. In some reference materials, subprograms are also called subrouflnes or macros, but the term subprogram is used most often and the word macro could

and less prone to elTors. programming are and custom macros. This development and applications of cienl program preparation use

a different meaning altogether.

Subprogram Benefits
frequently programmed order of instructions or un-

MAIN PROGRAM AND SUBPROGRAMS
A CNC program is a
different tools and two or more repetitive changed from a single

block sequences, can benefit from becoming a subprogram. Typical applications for subprogr3m applicain CNe programming are:
0 0 0

Repetitive machining motions Functions relating to tool change

rale programs. Each
once and called when subprograms. Figure shows a

0 0
0 0

and threads
Machine warm-up routines

pealed at differenl locations.

Pallet changing
Special functions ... and others

°0
o
000 000 000

000

0 0

Structurally, subprograms ure similar to standard prouse the same syntax rules and look and the , it may not be easy to see the difference beprogram and a subprogram at a casual
''''''.rr''''·''....., can

usc the absolute or incrementa!

Subprograms are loaded illto Ihe IYlt>'rrlrw\ljust I programs. When several benefits:

°0° °
0

o o o
.. ",,,,;;!,rn

length reduction
I!ffur

rl!uuctioll

and

o Quick and easy n\"rhW-",t,,,n,,
Figure 39-1 Example 01 a part requirement suitable to be used as a subprogram

No(

the benefits, but

a reason to use subprograms.

367

368
Identification of Subprograms
application of subproisolation of repetitive pronext six program Ul""'illL" zero return for a typical honat the start of program: For example, a the M98 function
N167 M98 P3951

Chapter

includes

N1 G20
N.2 G17 G40 G80 N3 G91 G28 ZO
(STATUS BLOCK)

In block N167, the CNC memory, to defaul~ depending on stored in the control

N4 G28 XO YO
N5 G2B BO

N6 G90
N7

(Z AXIS RETURN) (x AND Y AXES REroRN) (8 AXIS RETURN) (ABSOLOTE MODE)

a typical sequence of commands repeatf:d evely time a new program for that maa program may be written many each time repeating the same sequence of inpossibility of an error, the blocks can be stored as a separate by a unique program number. Then, at the top of any main program. This "' ...r'rr .. '>'""'........,,., will become a subprogram or an extension of the main program.

N460 GOO X28.373 Y13.4193 M98 P3951

executes rapid motion fIrst, then it calls the order of words in a block makes no difblock
N460 M98 P3951 GOO X28.373 Y13.4193
'="'''LUI,",U~

SUBPROGRAM FUNCTIONS
A subprogram must be recognized by the control system a~ a. un~quetype ofprograrn, not as a main program. This distmctton IS accomplished with two miscellaneous nonnally applicable to subprograms only:
M98 M99 Subprogram call function Subprogram end function
03951

order as if the tool motion looks illogicaL

Subprogram End Function
main program and the subprogram coexist in must differ by their program numbers. V,""..o;)lUi=.. they will be treated as one continuous StlIllctH)D must be made for the program end as well. end of program function is M30 aI, M02. The subprogram must be terminated Faouc uses M99 for that purpose: Subprogram start

HU,'''W\JU

The subprogram call junction M98 must always be by the subprogram number P--. TIle subprogram M99 telmmates the subprogram ann the , back to program it originated from (a or a subprogram). Although M99 is it may also be rarely in .... ;J.''''"Ll..l'. the M30 function. In this case, will run 'forever', or the Reset

Subprogram end

Subprogram Call function

The function M98 calls a program from another program. block, it will result in an error. M98 is an tion - it requires two additional T".<>,., .....''''~t>T"< pJete, therefore effective:
o o The address P identifies the number

When a subprogram tenninates, the returns the processing to the program of origin it will not terminate the program - that is the exclusive function M30 . Additional parameters may also be added to the subprogram end, for example a block skip code, a block number to return to upon exit, etc. Note that the stop (the % sign) is used in the same manner for a ~rog~ as for a main program. The subprogram terminatlOn 1S unportant and must always done right. It two important instructions to the control
o
To terminate the subprogram

The address L or K identifies the number of subprogram repetitions ( L1 or Kl is the default)

o To return to the block following the subprogram call

3
use the program end function M30 (M02) to nate a subprogram - it will immediately all program and reset the control. The program execution that contains it. subprogram end returns immediately following the subprogram call is illustrated in 39-2 (without described next

In

represents

block

completed subprogram.

in the program of
program contains these
(MAIN - PROOR1I.M)

N67 M98 P395:2 N68 N69 .. . IDO .. .

and the
03952 (SUB)

, ,y..., ,/ is terminated by

M99 P70

%

the calling program processing will continue N70 block (the main the example), bypassing
blocks N68 and N69.
'"'ULlLl .... "

kind of application is not suitable type of work, in addition 10 lln(1~,,:t~r\(hrI0' ofsubprogramrning

M30 %
Figure 39-2

programming method
with a single subprogram

Flow of a program

is an item to be explored
associated applications

Block Number to

to
function is

tools, such as a combinathe s lash code t.
Number of Subprogram Repetitions

as the last instruction in
are no other commands M99 function causes the subproits execution to next from. For example,
N67 M98 P39S2 N68 N69 __ _ N70 ...

A very important subprogram or K, depending on the control number of subprogram ..."....""h'hr.M h",."n.rr...,...,.,. has to be _,..""f,,1i processmg resumes in the original nrCII!nm1. most programs, the subprogram will be the original prowill continue.

executes block the subprogram the original program from the block N68,
Special Applications

03952.
CDrltmues processing instructions block to return to.

that require a subprogram repetition proceeding with the rest original program are common. To compare, a single use of the subprogram could be called up from the of origin as:
N16? M98 P3952 Ll (Kl)

For some special applications, it may be necessary to specify a different block number to return to, rather than us. the next block default. If programmer frods this tion useful for certain jobs uses this technique, the P dress must be included in block:
M99 P .

ll1is is a correct program. but not to be programmed at
control unit defaults to

N167 M98 P3952 Ll (Kl) is idelllicaJ 10 N167 M98 P3952

370
Note -In the fol/owing examples, substitute K llisted, if required by the control system. every
There are some good reasons. five hole pattern has to be spot drilled,

39

Number of repetitions for some control tween LO and L9999 and the L address other always be programmed. Some programmers block:, even for a single repetition, rather than "Aunt,..,.,. the default conditions of the control The personal preference.

3.0 TYP

--1---1

1.0

Repetition Count Variation
H'-"ULI',,'

--0/-2.0

controls do not accept the UK as of repetitions and use a different format. On a single subprogram call is the same:

N342 M98 P3952

<D-"?
5/8-12 TAP (5)

I

I
block calls the subprogram only once, as no special has In order to repeat the subprogram of programming
N342 M98 P3952 L4 (K4)

nwnber of repeats directly after

dra wing used for a subprogram development programs 03901, 03902 and 03953

in a single sta tement:
N342 M98 1.'43952
islhesameas

cycle is used
N342 P00043952

0.2

is identical to the other version - the subpro\;.j..!~~<l.l\A.1 four times. The first four the last four
For example,
M98 P3950 03901

For the tap drilI, GS1 i 2 tap. G84 cycle is hole for drilling and makes a drill will be 35/64 drill (00.5469), for 5/8-12 tap:
1 - 90-DEG SPOT DRILL - 3/4 DIA)

is

M98 00013950

Nl G20
N2 N3 N4 NS N6 G17 M06 G90 G43 G99 G40 G80 TOl GOO G54 X2.0 Y2.0 S900 M03 T02 HOl Zl.O M08 GS2 RO.l Z-0.327S P200 F3.0 (LL HOLE)
(LR HOLE) (OR HOLE) (UL HOLE) (MIDDIJ!: HOLE)

subprogram 03950. In times, program
M98 P390050

or

M98 P00390050

N7 X8. 0

does not change for the 0/16/18120121 controls - it is represented by the first four to the of 9999.
M98 P99993952

N8 YB.O
N9 X2.0

XS.O Y5.0 N1l GSO Zl.O M09 Nl2 G28 Zl.O MOS Nl.3 MOl
(TOOL 2 - 35/64
J..Jfi..,I..JI..L.I..I}

mo

repeats the sand, nine hundred number of repetitions have the maximum

03952, nine thou-

the maximwn (some old models may

LO/KO in a
counter than is a common application. the form Dro'f!TlllnmeO'! Would

Nl.4 Nl5 Nl6 Nl7 Nl8 Nl9

mo
N21 N22 N23 N24 N25

T02 M06 G90 GOO G54 X2.0 Y2.0 S840 M03 T03 G43 R02 Zl.O MOS G99 GSl RO.l Z-1.214 Fll.O X8.0 Y8.0 X2.0 xS.o Y5.0 GBO Zl.O M09 G28 Zl.O MOS MOl

not to subprogram numbers.O MOBN30 G99 G84 RO.0 S500 M03 TOINl2 G90 GOO G54 X2.N3 M06N4 GSO NS G43 N6 G99 N7 M98N8 G28GOO G54 X2. Here IS (he pattern of holes from the long program thal also' I.O N3S Gao Zl.O M09N24 N2S N26%M06 T03 G90 G43 G99 M98 G28 G28 M30GOO G54 X2.0 N3I xa.0 Y2. else Ihe firs! hole of the pattern wi II machined Iwicc. M98.SO-DEG SPOT DRILL . program LO in call is mandatory.0 Y2. 01001 molion for each cutcutler ailhefirsl hole of the machining pattern.O YS. drilling.O M08 G82 RO 1 Z-O.0 S500 M03 TOl H03 Zl. not at It is the programmer's responsibility. as Ihe sr3ndard end of any acrive fixedX2.SUBPROGRAMS37TAP) (TOOL 2 .0 X8.35/64 DRILL) MOe.0 YS. the lowed by {he P. in a new program 03902.0M05. not distinguish numbers.3/4control system recogni7es a programmed format. as it repeats after each M98 ! in the main program 03902. This is a classic application of the relating to fixed cycles.O YS.0 5900 M03 T02 HOI Zl.0 YS.O MOS G84 RO 4 Z-1.214 Fll.O M09 N36 G28 ZI.ON38 IDON13 G43 H02 Zl.0 Y2.O MOSm4 G9S G8l RO.0 Y5.Oit imo a main program repeating machll1mg pallern.3275 P200 F3. subprogramG20 N2 G17 G40 GSO TOINJ. A may be used In many other identification technique isConlrol unit directory of program numbers andsubprogramproper subpro-important.O X2 0 X5.0 Y2. This practice correct but not recommended.0 LO P3953 Zl.4 F41.4 F4l.o YS. great flexibility in organizing (he (lnd set identification . 0 M09N'7M99%to know exactly what they are used. In order to make the program more all blocks of Ihe prowill be collected into a subprogram and much more efficiently. 0 NS xs.in fact.O LO N1S M98 P3953 N16 G28 Zl. any programmer can basiC rules and related Many of the rules governing the format of main also apply to subprograms. The LO Lhe first hole:03902 PROGRAM) (TOOL 1 . as illacks in a clearly structured program.O MOS N17 MOl(TOOL 3 12 TAP)%NIS N19 N20 N2l N22N23type of program uses XY coordinates for tool (spot drilling.l Z-1. Remember these four main.O MOS XS.0 LOP3953ZLO MOSN9 MOlAlllhis means thatlhe programming level. of all five holes in the pattern are included:03953 (SUBPROGRAM) HOLE PATTERN) X2.0Gao Zl. 0N4 X2.In the program.0 5840 M03 T03N29 G43 H03 ZI.o N32 YS. fol-can be called from the main program. The only by it.4 Z-1. All in the program start at the first hole of the firsl hole definition is included in the as well as in the main program.OM09. what is purpose.ting 1001 willSUBPROGRAM NUtrackkeeping track ofmN2 X8.0 Y2. Also in subprogram 03953 can be Ihe siandard machine zero return block G28Z1. 0 Y2. 0 N3 Y8. but not subprograms.0 MOS N37 G28 XS.(TOOL 3 N26 T03N27 M06moml T02N2S G90 GOO G54 X2.O N33 X2.ONo G80 Zl.0 N34 x5.

the Situation some COIltrol as welL On some controls. in this handbook.Nl G20N2 M98 P3954N3 GSQUnits:Jut'orc'lZmm 03954 callGS4 GOO X". There IS no one method.{. the needed. then there will numI subprograms. but some proven suggestions offer an how to npproach the subject of program numbering and a personal approach. One('.cannot beThe subprogram number cannot be negative or equal to zeroWIthin the allowed programmers1$U'AA. This available for mosl manu an presents a good control over whose numbers selected.. so It is nol Iy needed. the main number on {he written copy will not always load automatically. 2000.. All four-digit can be documented. all main two digits correnumbered consecutively. Alone point. This way. often at a short which they have been allows to organize all the (i.are For example. the of machining have to have assigned program TI1e program number assigned to together with the M98 function andoIf used in a the program number can be specified by the colon commonly: for the ISO format.zero return subprogram into the memory. M98 requirement for a subprogram call (early in [his chapier) of the a lour axis vertical machining cencan (with an assigned representing all needed commands or 021 is not included:another03954ZEROo~'~nJM\mOl G17 G40 G49 GSO Nl02 G91 028 ZO N103 G28 XO YO Nl04 028 BO N105 G90N1.372o If used in a commonly or five digits. with sponding lo the chapler the merhod are arbialso applies to subprograms. That means. memory capacity is always limited. follow all operational program execulion.IVlnn7117JJ"" . main or without a fear of duplication or iii mismatch. will be the trarily increased by fifty. depending on the control settingThe main program negative or to zero-ooa or:.>N45 IDO%Mainendthe execution of the lwo system.06 M99 %Organized ApproachThe suggested programming approach is understanding that Ihe CNC memory is lIot media for all part programs made. complete with detailed descriptions. is !he minimumSuch a combination of the two words.If the unique program number is assigned the machine rool operaro)' during selup. every main program can start by calling the 03954:has heen designed03903 (MAIN PROGRAM)(PART ABC-123)The units selection should for nexihilily. etc. should always be documented in some book... this Imil will be reached and there will no more lefllo accommodate more programs. rrom all of origins. the program number is by the letter O.. followed by up to four or five digits. If an ' with shop supervisor lhal the CNC usi!!g ouly three numbers 1-999. A good program ization is one Ihal uses tbe CNC system memory only the current program. followed by four on the control system39called from any program. or I J the type of CNC machme. perhaps a few more that are to soon. 1000. _<. DUring the program the control system will follow rhe following lions (instructions):. (heused in the main program.U"-does not program On the firsl is [0 gel oris even more Important if the subprograms are designed 10 up by otlIe r programs at dlr ferem rimes. for third subprogram example in the Cmlp{(~r this method 10 any reasonableIS.e. 3000.. andN4 .

Repeating RecognitionTo avoid this problem. here is an example. 1 to 8 are reOleatl~dmethod works only with the maximum of one hunblocks. like any other program. . 9. The reason is that a properly designed to any major gram will not there should extra blocks reason duplicated sequence display screen..blocks in the subprogram 03954When M99 is processed. subprograms are same main program.it may haltOn the use ofthe main program uses uses increments of I.This. If there are repealing clusters of consecutive blocks containi same it is a very good reason 10 evaluate Ihe program more and possibly develop a subprogram. One method is to the hIgh thousands series. ability to recognize the main a subprogram. all2. the subprogram ends and returns to the main program main program is processed.. will nOl display on locked by the syslem con!rol screen.. as well as operator to the exSuch a situation may in the content of losing track of what is really trol system at any To illustrate thea simple application. the main program ends and returns to the beginning When the CYCLE START switch is activated. The will quickly inform the the main program or a subprogram controls are very forgiving about and allow idcntificmion of block sewithin a range. processing. Tn a main program calls a single no rroblcm in block numbersubprogram.Set program number 03903 as the current program number Oisplay comment on the display screen the units of measurement (inches in the example) Branch out to the top of subprogram 03954.in lhis series cannot be edited or rrintedlocking parameter is not set.men is of I.SUBPROGRAM DEVELOPMENTdeveloped.. il (0 monilor a program with This not a foolproof method for all but idea will work for most jobs. for a. the block 06300.Inof this feature to protect some from umlUthorized editing or even documentation for furtherIm-concept. A<..3.SUBPROGRAMS306200 (SUB 2) N6201 N6202 N62031.. etc...4. the during the main program duplicated block numbers are processed... when several will be any confusion. 06200.6. a program number series 9000 thin the of 09000 to 09999).S.. suitable for many subprograms. there should lng.. it must be well most common applicapaUern of machining./Idsool15. but startl ng with N to 1 block number. the subprogramAsthis potential problem by allowof a certain specified series of program can be locked up by a system parameter seta typical example. and so Oilexperience su bprogrums at However. . Protected Subprograms7. beginning with the block N3 When M30 is processed. Even if the are duplicaled in both it is not likely there lhe main program and hand. the programs normally.O:. There are lwo reasons for it. in a subprogram example:pattern is n mancr of when writing a conventional program by block Visually scan the written copy firs!.unique blockcan be based on the subprogram06100 (SUB 1) N6101 N6102 N6103a duplicanumbers in 100. t:/.numbers to each tion.

l Z-O.llle subprogram is designed Lo machine nine holes in a rectang\llar pnHern.374is no damage done by developing the long program firs!.8S YI.75 L3 N554 Y-O.0 mo M98 P3955 Nll G90 Xl.0 S350 M03 HOI N5 G99 GSl RO.MAIN PROGRAM -' 0. First.50 DEEPrOpOOSubprogram 03955 processing flow03955 (SUBPROGRAM) (FOUR-CORNER LOCATIONS) N551 G91 XO. Then program the X and Y incremental values.6 N555 M99 %Detail of the hole pattern used in program 03904This hole pattern is repeated at four specified locations of the part. starting from any hole. this is how a professional experience is gainC{j.S8 YS. For example.75 L3 N552 YO.Figure 39-6. as illustrated in Figure 39-5..2S Yl.Tool Motion and SubprogramsOne of the most C0l110100 subprogramming applications is a lool path machi ned at di fferen! locations of the part.is mach ined in a block with the cycle call or the rapid motion.6 L2Figure 39-4NS53 X-0.25 Y5.25Figure 39·5 Hole pattern layout for program examples 03904 and 03905 (both using subprogram 03955)N4 G43 Zl. a tell hole rectangular pattern needs to he programmed . be willing [0 re-write a program from a single long form to a main program and one or more subprograms. concentrale on the hole pattern.269 F3. It lakes more time and it is not efficient.Figure 39-4.407 10 PLACES 0.88 N8 M9S P3955 N9 G90 X6. the tool motion precedes the subprogram block.O MOS N14 G91 G28 XO YO(LL HOLE 1) (LL PATTERN) (LR HOLE 1) (LR PATTERN) (UR HOLE 1) (UR PATTERN) (UL HOLE 1) (UL PATTERN). With limited experience. it is only a maner of small adjustmcl1ls La separate these repetitive clusters and define them as subprograms . Once such a series of repetitive data is identified ill the conventional program. The four pattern locations are not included in the subprogram . Since the main program is using absolute mode G90. In the first main program 03904. To sran the program development. the individual local ions can be established:03904 (MAIN PROGRAM)(FOUR-CORNER PATTERN)mG20N2 G17 G40 GSO N3 G90 GOO G54 XI. such as the lower left hand corner and continue in one direction . However.they must be included in the main program.O Nl2 M9B P3955 Nl3 G80 G90 G28 Zl.Chapter 39Subprogram 03955 contains this paltern and uses the L address (0 establish [he number of fixed cycle repeats.'"Figure 39-6:: SUBPROGRAM REPETITIONo0100.75 (3)t0. selectlhe G91 incremental mode for the pattern.60 (2)8000"-.. The rcnlh hole . Programmer should be able to identify those sections of a long program thal can qualify as subprograms.ac(ually It is the firsl hole .5 N6 M98 P3955 ill G90 X6.

7S N568 M99%madlineu wlu. but i I not work on all controls.BS YS.75 N567 GOO 040 Y-O 7S N558 M99%(D . As long as 0 is I/G42. leavi some stock.~N562 N563 NS64 N565Yl. . the D .for example:ittogether wilhM98.. fromsubprogram will be called byM98 P3956The same subprogram can used for finishing as well as for semi finishing.88 M98 P3955 N7 G90 X6. NOT INCLUDED) N551 G41 GOl XO F10. is called and (he remaining nme positioningisway.""'y. it can be passed on to the main program. 875 YO N566 X-O.O M98 P3955 N9 G80 GSO G28 Zl.257 D52 = .25 Y2.5 M98 P3955 N6 G90 X6 25 Yl.. The subnot the same asthe control srarus to the hole of I he ten hole pattern is IIrSI hole of the pattern IS to Illal hole is in the main program.SUBPROGRAMS375M98 P . Here is the contenl a simple contouring .0.000 stock . offset DS 1 stores the amount conI cu(ler + Slack).:!m.. This is03905 (MAIN PROGRAM)(FOUR-CORNER PATTERN)Nl G20 N2 G17 G40 GSO N3 G90 GOO G54 X1.B) (D ..S8 Yl.250 radius + . depending on tM98 P3957 DSl M98 P3957 052finishing andwork. They are very imporwllt. 7S G02 XO. Modal values have to for subprograms...O N562 Yl. 0 . for seJwfinishing .2S N4 G43 Zl.0 RO.7S N567 GOO G40 Y-0..A) NS61 G41 GOl XO 051 F10.O M98 P3955 N8 G90 Xl.250Next..A finish contour sub..75 N563 G02 XO.D51 . INCLUDED)For conlOur normal means.250 radius + .O 5350 M03 HOI N5 G99 Gel RO.jorJUlishingtwo f) offselS PInel(hen callt~kethe f)out nflhe.0 RO..a7S N565 YO N566 X-O. tool is positioned at (he lower len hand corner of Ihe pattern hole of tht:: is driHt!U allilal locutiun.D can changed anytime wifhout Change to the subpromel hod is useful jf the conlour {)Vo or more different offset values.n lIlt: in the absolutenot within the) or 042 with the D is to he used forfor example."' .. The reason is in the control as the full culter. note repetitions of . 052 tain the slOck allowance stores Ihe :: cutter radius).269 F3. For aendcould be:unnecessary repetitionsaxes. it will not is fixed and is sLored The solution? Userequire the 0 offset but not same block as G41/G42. 1 setting value is to the cutter radius:Only one cutting 1001 was used for this other tools will follow the same ml This method of the last example is more common .2S YS..25 Gal Xl.25 N564 GOl Xl.O MOS NlO G91 G28 XO YOadvantage of 03905 is shortening the 03904 ...in the abso· lute mode from Ihe maln program.. particularly useful for a location with the most control systems:number of is to combine [he rapid motion to thecall. with embedded D offsel.007 stock = .O03904 and 03905. has[0 ModalSubprogramsbe removedthe subprogram:03957 (CONTOUR SUBPROGRAM .25 Y2.either melhod produces the same reis a malleI' of persollal03956 (CONTOUR SUBPROGRAM .1 Z-0.. but two D offsets have to be such as D5! and In case. ~lIhrroBr.

temporarily suspended before. 111£11 means.Figure 39-7. (he CNC system will aUlomatically return to the program if branched OUI of [I will resume processing of Ihat program.il is a COlltinuous extension of the program of origin and its integral pan. When that happens. if the main program calls a subprogrnm number one. When the conlrol encounters . Alllhe modal cycle data are carried forward [0 the subprograms.MUL11 LEVEL NESTINGThe last example has shown the main program ChUl calls only one subprogram and the subprogram does not call another subprogram. processes its contents. This is called one level nesting.The current modal values should be clear in the main program when a subprogram is completed. starling from its top. it will branch from the main program and starts processing the blocks in (he first subprogram. The return [Q the program of origin wi!! norrnally be to thc block immcdiately following the subprogram call block in that program. This is called afour level nesting. M30 terminates the execution of the main program. At this point. that can call a subprogram number three. a fixed cycle is called ITom the main program only once. When a subprogram is called from [he main program by M98 P. in this case to the main program. Suhprogram that is nested one level deep is the moSI common in CNC programming. During processing of the first level subprogram.J sllbrrogmln c~lI for the firs\" level. All modal values set anywhere in the program are valid until changed or canceled by a command of the same group. coolant and olhers. All remaining blocks in the first subpro· gram will be executed until anOlher M99 function is encountered. TIle main program clearly shows current modal values. Since there are still some blocks left in the main program.Two level NestingTIle processing of a subprogram that is nested (wo levels deep also starts at top of the main program. The program processing starts at the top of [he<START><START> 010 (MAIN)I021(SUB)I022(SUB)010 (MAIN)I021 (SUS)M98 P21' --M98 P22M98 P21M30%nM99'-----0/0M30%~n L% M~9M99%<ENO>Figure 39·7<END>Figure 39-8Two level subprogram nestingOne level subprogram nesting. this subprogram can call a subprogram number two. The M99 subprogram end function will not cancel any modal values that are currently active.376Return from a SubprogramChapter 39 main program. All four levels arc rarely needed for any practical application. lhey will be processed until the M30 funclion is encountered. all blocks in the subprogram will be processed. processing of the first level is temporarily suspended and CNC system branches to the second leveL Since there is no subprogram call from the second level. Anytime the block containing M99 function is encountered. Subprogram is always a branch of another program . Figure 39-8 illuslrates schematically the concept of a two level subprogram nesting. then it returns to the main program to process the remaining blocks of the main program ..One level NestingOne level nesting means thaI a main program calls only one subprogram and nothing morc. but these are [he programming tools available. block. CNC system encounters a call for a second level subprogram. Values that may have changed 1n the subprogram are absolute or incremental mode. or nesting at one level deep. the control system will return [0 the program it branched out of (program of origin). molion command. the control forces a branch to (he beginning of (he called subprogram. Modern controls allow nesting up to four levels deep. Just in casco The following examples show program processing flow of each nesting level. As the 03904 and 03905 examples show. and [hal can call a subprogram number [our.

When a programmer hecomcs obsessed with making tilt. even if technically (lawless and logically correct. use such complex programming technique as the means of expressing their so called 'professional skill'. many nesting levels offer advantages and (he inevitable disadvantages. Such a programming approach may result in a short program. Like anything else.%<END>Figure 39-9 Three level subprogram nestingnested subprograms.---I023 (SUB)~30rrM[lL~99 ~[l %:i~ '" L%M99<END>Figure 39-10 Four level subprogram nesting'---LM9a P23M98 P21%nL M. etc. If a good example of a rour level nesling application is found. who try to use a multi level nesting at all costs. Not only the logical development IS complex and more lime consuming. Such programs. The program preparation lime. in order [0 modify or oplilnizc the programs for a bellcr performance. These programmers.OM99n L% IM99M99%'-. In lypical machine shop programming. when developing subprograms wilh several multi. and the more levels. shows the enormous programming power available to use and explore. setling up the initial conditions. the firs! branch will be LO the first level (021). a frustration perhaps. or the end of subprogram. even dangers. four level NestingThe logic of multi level subprogram nesting should be pretty clear by now. he or she is taking the wrong trek. at any and a/I costs.Nesting ApplicationsConsidering the realilY that each suhprogram can be rcpeated up (0 9999 limes in any program thai calls it. starling al lOp of Ihe main program (program 0 lOin the example illustraled in Figure 39-9). the better programmers they fcel they are. thiS is nothing more [han a unnecessary contest. <START>021 (SUS)022 (SUB)023 (SUB)024 (SUB)M9S P23 M98 P21 M98 P22 M98 P24010(MAIN)0~:~. but al the cost of a long development time.~2 (Su (SiS)M98 P22 . another branch follows (022) and there is an additional branch to 023. Four level nesting is just a multiple extension of a single nesting and is logically idenlical LO all the previous examples. I:l significant portion or programming lime must be spent on careful and thorough doCumenlaiion of the process flow of all programs.and hav i ng a suitable application for it. there is seldom the need [0 use level [hree and level four nesting.even skilled and experienced operators will nnd them hard [0 read. the typical program flow will conform LO the formaL illustrated in Figure 39. Each subprogram is processed up [0 the next subprogram call. checking the validity of data. Often. A simple general rule for multi level nesting technique use It only in those cases.SUBPROGRAMS377<START> 010 (MAIN) Three level NestingThe nesling up to three levels deep is the neXI logical extension of the two level nesting. A CNC machine operator with limited or no programming knowledge find !hest: programs extremely inrimidating .: program as short as possible. they will be unable to make substantial changes La them.Programming the subprogram nesting into (he four level depth (or even the three level depth) will require a full understand in g 0 f t he pro gram processing order . There are many fairly experienced CNC programmers in the maChining trades field. are not very easy to use by a CNC operator. Always be aware of potential difficulties. and definilely an expression of a little ego trip. its development and debugging often lake more lime lhan writing convenlional programs. ending in [he main program. hard 10 interpret and most likely. more often Ihen not. As before. when the frequency or their future deployment justifies the extra time spent for their development.JO. The program processing will always return to the block following the subprogram call. Unnecessary addition of more branches a multi depthsubprogram nesting makes any programming application Ihal much more complex and JlIure lIi ITiculllO masler. usually measured against other programmers.

The subprogram 019.OI .Oll N582 G03 I-0. Note the word lilcremenral for the plunge depth.25 2. forexamrle brass.010 = . Described differently..378Chapter 39CONTOURING WITH A SUBPROGRAMSo far. The material is D2 lOOt sleel. and the G90 changes Ihc Incremental mode back to absolute mode. Ii does show. it will enable the 1001 to increment 25 limes the distance of .250. nowhere else! Being at ZO. and .'iR will contain only the 100/ mo· tions common to all the groove cws.125 may prove beneficial. fronl view shown. almos\.0 (FULL CIRCLE CONTOUR) N583 M99%Figure 39-11Main program 03906 using subprogram 03958The job requires a groove with a 01.a ralher speCIal one .O (START Z POSITION AT ZO !) N6 M98 P39sa L25 (CALL SUBPROGRAM 25 TrnES) N7 G90 GOO Zl. Ihis lime applying a simple XY contouring work \0 a mulliple Z depth . to maintain a transfer from the subprogram.87S Yl.lob is done. back to the main program (after a subprogram is completed)The firs! requiremenlls mel in block N5. Why? Because lhe subprogram uses G91 incremenlal mode. They can be described as special requirements:o . Here is one more example relating to this chapler.250 lolal required deplh.Ol FO. a number of rrogramlmng examples have been using a subprogram. so look for it).010. the presented program is simple. to maintain a transfer from the main program toa subprogram Ibefore subprogram is called)o ...250 center end mill (slo! drill).875 F2.The second requirement is mel in block N7..250 inlo two depth cuts of . program a 36001 circular tOol ralh. Well. repealing Ihe grooveIntentionally. for 25 x . resulling in 250 groove derlh.0. Symbolic detail of Ihe depth cui for a single incremenl is i Iluslratcd in Figure 39-/2. The Z axis posilion mUST be al 20.0 I0 at a lime.010 musl be programmed incrementally.50. The 100] will rlln at only 630 r/min and only plu~ge inco the material . splitting a single depth cut of . plunge 10 Ihe deplh. followed by a single related subprogram 03958 (tool TOI is assumed LO be in the spindle):03906 (MAIN FOR SIMPLE DEEP GROOVE)01. it no longer beneJits from lhe incremenlal mode.250 DIA CENTER CUTTING END MILL)N1 G20N2 G17 G40 G801. otherwise it will cut at (he absolute deplh of Z-O.allhe end of this chapler.010 incremenlal plunge cui and the 360 0 circular cut.750 pilch 10 be machined 10 Ihe deplh of . All needed is a 0. They all related to machining holes and. II is a uti lily or rough groove.250.. G91 Z-0. There aft: other examples found throughoul Ihe handbook [hat make generous use 01" subrrograms..all twenty five times! Here is [he complele main program 03906. It is Ihe G90 comJnnnd [hat makes Ihis block special. Preference for a subprogram in such a case IS wilhout a question. These conslderatlOi1S rclalc 10 mainlenance of a continuous relatiolJship be/lVeen the main prograrn and Ihe subprogram. 0 MOS N9 M30%--<00--0. so there is no need for precision tolerances.evaluate Figure 39-11. The .0N3 G90 GS4 GOO X2. offered enough material to underSland the concep! of subprogramming (there will be one marc . All other motions will be in (he main program 03906. hopefully. Even in a material (hat cuts well.503958 (SUB FOR 03906) N581 G91 GOl Z-O. two important consideralions [hal have LO be maintained in any subprogram developmenl. however.75(TOI . the tool Slarl position before a subprogram is called must be at a position [hal results in a correct tool path.S (INCREMENT BY -O.1 HOI MOS NS GOl ZO FIO.O M09 N8 G28 Zl. ralher a tOUQh material.profile 25 times. Thal means the .01 Groove widthFigure 39· 72Del8il of the subprogram 03958 . or even the high quality of Ihe surface finish..5 5630 M03 N4 G43 ZO. When the subprogram processing returns back to the main program.

rectangular grid pattern0. taking vanof fact that a cancellation of a function Ihat is canceled will be ignored by the controlexample shows. perhaps a little deviation from handbook seriousness will be tolerated. Anolher is a for 1001 change and Ihe ON function. they are quite typical.how one hundred million holes. Program functions to machine zero return. ~"rtlrm will look at subprograms from aof thisis on a lypical venicnl CNC and uses automatic 1001 change function (ATC):1.12.1001change100 000 000 HOLE GRIDIn the last of (his chapler. 7. their usc.2. are all an integral part of the tool four. five or more program blocks to conditions . Although it is note.SUBPROGRAMS3Also note the various cancellation quite a few oflhem in a subprogram. even a 'simple'some serious thinking. lhe programmer whether the coolant will be ON or or the cuuer radius offset IS has no idea as 10 what or G91 modes is. it IS the T function thai same for the tool change cannot be programmed without esconditions./ . programmed tmer's options.consider the following seoperations. manucombining the two facturers create a special M standard functions. Figure 39-13 shows a SImple 10000 rows (X) and 10000 columns (Y).6. it does serve a very of subrrograms and. current stamsoractual status is really nollhal important. the M06 funclion will normally do lathes. required to a 1001 for several (Ools ina single prognlm. SUBPROGRAMROW1 COLUMN 1Figure 39-13100 DOD DOD holes .noor nol. canare included in the subprogram. 4.. coolant cancellation. million holes).off the coolant a fixed cycle mode a cutter radius offset made Turn spindle Return to Z axis machine reference positionvaluesfollowing exercise lakes the extreme. The 1001 at a certam machine modification the LOol would be Ihe addition of a change block.Make the actual tool changeseven individualgram (hal occur for(hisa subprogram thaI includes in the main program when-ROW 10000 COLUMN 1000003959 (TOOL CHANGE VERTICAL MACHINING CENTER)Nl M09 N2 GBO G40 MOSN3 G9l G28 ZON4 G49 DOO HOO NS G90 M06 N6 M99%This example cnn II may even chine design or a manufacinclude special requirements. for is Lhe combination or M06 and M08ooC'J 0-00000! '0.TOOL CHANGE SUBPROGRAMprogramming sequence for a typical change (ATC) is usually shorl and simple.every time the automatic which can be quile is the fact that the blocks always regardless of the program being used.5. can be spot drilled and of only 29 blocks ror the two cuteven Include the program num(% signs). 3. a system._.

From the programmi ng pain! of view.060 from the clearance to the lop of part and .0 .0 Yl.0 Yl. as if lhe grid were only 100 holes. to spot drill and drill one hundred million holes . Bo[h cutting 10015 start machining from RO.O 53000 M03 T02 ZI. These motions will be multiplied by Iwo.030 seconds.The program deSign takes an advantage of the subproo oram Ilcsrin Co and Ihe lnaximulll number of r(1)critions. consider the lime spent on programming.and all thai can be done with the main program and a subprogram tOlalingjust over two dozcn blocks of input.275 at the rate of 4.100 al the rale of 475 in/min.2269 veary. 0 N9 G28 Zl.21S N. mulliplied by one hundred million holes at the rate of 5.0Y I .O LO P3960 L5000 G80 Zl. so the actual machine travel would have to be greater than 100 feet along the X axis as \\)el/ as the Y axis. One hundred million spaces (less one space) multiplied by .Chapter 39What makes the program even more interesting is thees(imate of machining lime.000 minutes. for two lools. Believe it or not. Enough or thai . or a stack of approximately 705 feel (215 meters) thick.215 for the drill.12 L9999N60S M99%03907 (MAIN PROGRAM) Nl G20 N2 G17 G40 G80 TOIN3 M06(SPOT DRILL)N4 N5 N6 NtGOO G54 Xl.052.526. As far as [he paper is concerned. The subprogram will repeat the active fixed cycle 9999 times.O H01 MOB G82 RO. only 05/64 (.3153 minutes.120 along the minus Y axis). therefore cuning time for spot drilling will be 2.263.O 53000 M03 TOl ZL 0 H02 MOB GSI RO. so are {he clearances and the dwell time for spot drilling. translated ioto minutes will take another 50. therefore 50.how long will it take to machine all holes with the two fools? The speeds and feeds are reasonable for most materials. This may go a little too far.l2 N604 X-0.8947 hours.0 in/min .12 L9999 N603 YO. il will take more than seventeen ye-ars of uninterrupted machining. doing It witholll a subprogram and wi/holll the repetition count (address L). which is 150. for example? That is another question.000 minutes.829 days.0781).12 N602 XO.0 (shi fled hy . The tirst calculation finds the lime it takes to make a rapid motion bel ween all holes. How would Ihe plate be mounted. 100.O G28 XO YOGoing into related details.6837 minutes. Assuming that each block will take 6 seconds to write and 55 blocks will fit on a standard paper (hard copy). This subprogram pattern repeals 5000 times in the body of (hemalll program:03960 (SUBPROGRAM) N60l G91 YO. J 82 sheets. but let's finish the fun. Before reading the whole page. Only IWO tools are used.it will usc a main program and one subprogram. ninereen years .0 LO P3960 L5000 N8 G90 G80 Zl.000 minutes. 10laling 21 . 0 NIO MOl Nll T02 Nl2 M06 Nl3 G90 Nl4 G43 N15 G99 N16 M98 N17 G90 m8 G28 Nl9 G9l N20 M30%G90 G43 G99 M98(5/64 DRILL) GOO G54 X1. The spot drill will move .which is another 6. which is 17. A fixed cycle drills the firSI hole.907. The drill will rapid out of one hundred million limes by the distance of .287.875. size of the plate without margins would have to be 100 x 100 feet. repeats ilself9999 times.120 divided by 475 in/min is 25. TIle SpOt drill will rapid oul oflhe hole one hu ndred million Ii mes the dlslance of .') just 10 write the program for the two tools (no interruptions. the. Hardly any CNC machine on the markel can handle this monstrous task.818.0 in/min. To make the example even more fun for the last time. . a spot drill with a 90° 1001 point angle \0 startup the hole for drilling and a 05/64 drill.7168 minutes. The programming procedure is the same for 100 000 000 holes. and interesting al Ihe same lime.894. t. which is 6.06 Z-O. Ihe dwell time at each location is 0.04 P30 F5.63l6 minutes.040 depth of cut.060 clearance leveL for (he tOlal travel of .473. It is worth the few calculations? Malians between Ihe machine zero and Ihe first location are disregarded in both directions for convenience. The main program contains the standard settings and also calls the subprogram. for the totalleng!h of. it would lake about 19 years (yes. rcsu lIing in a square grid pallern of holes very close (0 each other. adding another lime of 57. The actual drilling will take place to the depth of . 0 Zl. for two rows.1576 minutes. (he holes arc very small.215 from .380To make (he example reasonable.04 for the spot drill and Z-0. with a pitch of.06 cycle position above the plate to Iheir respective depths: Z-O.000.. shifts in the posltive Y axis once.. one in each direction. program design is not difficult at all . at the rate of 475 in/min. make a guess . A rapid traverse of 475 in/min is assumed in all axes. of course).275.06 Z-0.SlIbprograms do work . 120 along each axi s.054. drills a hole and repealS along the negative X axis 9999 limes again.The slart position for the first tool motion is at an arbitrary local ion X 1. a reasonable speed.The grand lolal of aH results is 9. it would end up with 'only' 1. simple.

withoUl errors and in [he most efilcient way.DATUM SHIFT WITH G92 OR G50In essence. Review Ihese commands now. [his machining pattern is executed for the given job only and is irrelevnnl (0 any other CNC program.381. Often. mand G92 and G50 registers (he absolute coordinates of the currenl tool position and have no influence whatsoever on the incremental dimensions. When Ihis programming technique is used. Certainly not a desirable situation. the rrogram can be optimized later. In most programming jobs. rather than the morc current and very efficienc G54 to G59 work offsets.DATUM SHIFTThe majority of CNC programs will be programs for a single job . where an exisling machining pauem can be used for many new jobs. the physical position of <1 cutting tool') A<. Such a particular job will have ils unique characteristics. tool breakage. also known as the Machining Pal/ern Translation.5 units away in the Y axis. 0 Y6. The 1001 path is the most impol1ant of all the features of a CNC program.The programming technique that addresses this issue is known as the Translation of a Machining Pattern or. For example.0 units away from lhe program 2Cro in the X axis and posilive 6. so called work shift. more commonly. In an earEer section (Chapter /6). Also keep in mind thallhe position register com- Program Zero ShiftIf the G92 command is used on machining centers or the G50 command for lathes at all. What happens if a wrong position is rcgistc(ed? What if the values in the G92 or G50 statement do not accurately reflecl the !rue. because it represents a machining pattern unique to the job at hand.. The \001 path development IS very Important. G92 and GSO commands are only Iwo of many 10015 Ihat offer a tremendous power to a creative CNC programmer. The drawing is illustrated 10 Figure 40. recailihat these commands do not cause any direclloo} motion.J. 5It is the CNC programmer's main responsibility to develop a functional tool path for any givcn job. A imaginative CNC programmer always trtcs to find ways and special methods that Lake advanlage of rhe available programming tools. TIlis step is necessary alleast once at the beginning of each tool to establish the relationship between the fixed program zero (pan origin) and the actual position of the cutting tool. when using the G91 command for milling or the um axes for turning. there is no need for special or creative manipUlations. This discovery will encourage development of the programs more efficiently and produce CNC progfi. described in the chapters that follow. Its normal purpose is LO 'tell' the control system the curren! 1001 posilion. but they do innuence any tool motion (hal jollows it.'ferencc point) inside of Ihe program. [n particular. For simple jobs. before continuing further. explanation of G92 (milling) and GSO (turning) commands was covered.G92 XIO.To illustrate Ihe concept of the program zero shift. may be expected. only one G92 (GSO) posjllon register command is neededjoJ Q single 1001 . a DafUn! Shift. a simple bUl relevant draWing wi 11 be used. It is not very economicallo invest precious lime on adding features to Ihe program (hal will never provide real advantages. The mosltypical example oflhis technique is a temporary change of Lhe program reference point (program zero) from (he original position to a new position. the tool path will occur at the wrong place and the result is qUIte likely a scrap of the machined part. programmers encounter opportunities. This chapter describes in detail the advanced subjecl of DQ/um Shift.ajob thaI is relative to a specific machine available in the shop." an existing machining pallern (tool path) 10 the program a( different locations within the CNC machine work area.lms for many additional applications and without errors. described in (he next chapter. a datum shift is a temporary or permanent relocation of the part zero (program n:. If such a need is well justi rled.is "elling' lhe control system thatlhe CUlling (001 is set at positive 10. This is a basic feature of all CNC systems Ihat can be applied in a variety of ways. it relocate.assuming thal work offsets are not used. Other programming techniques include Mirror Image. even a damage to the machine itself. ils special requirements as well as its own tool path. Coordinate Rotation and Scaling FlInc/ion. Any occurrence of more than il single position register command per each tool in one program is called tl programzero shift.

. 01mUSED FOR TWO TABLEG20 G90 N2 G92 X22.l Z-0.7 Y19. They coule! must start from pan zero.l Z-0.SYS.2 Y-9.-.5 Z12.program 04001the four holes will be machined at loca!ions oflhe machine table setup.. them relates to the in some way.7is I inches rellects th is In pleted the last hole ofG92 selting). 5 (TOOL AT LAST HOLE OF PART B) GSO Zl.8 (TOOL FROM M/C ZERO) GOO Z12. Uthe tool or ParI B.5Y5. bul ParI B not yet been started...5 .7 Y-4_7.but in relation to arithmetic calculation:G92The G92 X(A) X of Par! A to (he machine zero.G92 X(A) .program 0400 I:Blocks NI3 and Nl4 contain the location or Parr B.OAdrawing for zero shift illustration .he coordinate block N 16.zero along the X axis.S Yl. the tool has comA (at X2. because (he same lool is both drill the four holes at two locations.77ParI A: G92 X22. distance from the pan zero or Note !.2 P200 FS.7 (Y) = 9. lht: written this way . In order to complete the LOol has to return to the home position (machine1001.S ParlE: X-l1. Gnd I coordinale setting in block N2 N7 N8.ON8 X2.hat the zero.0 Y-4. Be velY careful here.0 X2.0 .5 Z12.S M09 XO YO (TOOL AT M/C ZE:RO) M30G92 x-a..5= -4-8. In LO use between both must be known. the Part A is completed.22.2 P200 XC. 11. .S RO.5 + 2.04001The next is NIO.2Figure 40-2~Program zero shiff using 692 command for fWo pans .zoAAlso note thallhe Z value is the same Part 8.l)40oN.5(TOOL ATN3 S1200 M03N4 MOS N5 G99 G82 X2.S Yl.ONo X6.0 of ParI A.O G92 X-9. used La simplify the example:G92 (X) . From the illustration.S RD. it easy to understand the meaning of !.7 Y19.75 Y5..75 N7 YS.19.(001starts from the machine zero position forIt is mounted in the spindle In block N2.0 of the currenL11.. the part zero (reference cutting tool at this point9.7Evaluate Figure 40-3 to ree(ion of arrows in the illustration ismining Ihc axis sign in the G92 block.8 + 5. Not behind G92 calculations havetroubles. 5(TOOL AT LASTHOLE OF PART A)1o40-1moN9 GBO Zl. At this poinl in the program. asNl1 Nl2 Nl3 Nl4 Nl5 Nl6 Nl7 Nl8 Nl9 %(SET AT LAST HOLE OF A) G99 GSl X2.. Think a little now and see the Lool is after executing block It is at X2. Machine 111ZeroN2.204001I. which is the gram has La 'tell' the moment .

the part zero maybe at the edge comer of the work..also called a child . the work coordinate system.ln lime.The local coordinate system is not a replacement for. when a drawing is dimensioned in such a way that the work offsets 054 to 059 become somewhat impractical. A good example is a bolt hole pattern.0 G92 (y) ~ 9.0 is the last hole of the patterno Use the center of the bolt circle as program zero. There are many cases.8Both programmed coordinates X and Y win be negative. G54 for the reference to the part edge and G55 for the reference to the center of the bolt circle pattern Use a local coordinate system.7 + 5.22. Such a siruation prevents changing the program zero on the fly. The work coordinate system (G54 to G59 work offsets) has been discussed and a suggestion made that 092 should not be used when any work offset is in effect. or a 'child' of the current work offset. Fortunately. (I common method and no comments are necessary. or a special coordinate system is selected..DATUM SHIFT383~--. The target position for machine zero is XOYO not because it is a machine zero. as it causes more work during setupoFigure 40·3 Calculations of G92 coordinates (XY) for program example 04001Use two different work offsets in the program.The third method. using the changes from one work offset to another.5 .0 . using the local coordinate system method. absolute locations of the bolt holes will have to be calculated from program zero.TIle second method.7IYS.coordinate system within the current work offset .19.2X2.7----+I. Ifa11 six offsets are needed for some work. Any number of local coordinate systems can be defmed within any parent work offset.. when needed only temporarily. TIle limitation of this method is the reality that only six work offsets are available as a standard feature on typical Fanuc control. within the current work coordinate system (work offset) selected at the beginning of programoreturn will take place from X2. This method may even simplify setup on the machine. Needless to say. three programming methods are available to make the job a lot more convenient and perhaps even less prone to miscalculations:~l9.000 inches from the machine zero along the X axis and 4. When working with work offsets. one significant advantage has been gained the programmer uses calculations relating to the bolt circle center coordinates. without the need of extra additions and subtractions. It must be programmed only when a standard or additional work offset has been selected.Local coordinate system is a supplement.OlCD0A11. or a subset. because it is the location of the first tool.isTI1e first method.also caned the parent work offset. work is alNote: ways done in one coordinate system at a time. Once the current tool position is set at the last hole of Part B.O of the Part IJ.This will be convenient for the eNC programmer only.In all cases. but an addition to. There are many applications that can take advantage of this powerfill control feature. chances are that the program zero will be selected at the center of the bolt hole pattern.5 = -4. Which method is better to select and when is addressed next. for example.5 Y5.7 -9. This retum is necessary. 22. unless either a shift of the program zero is used (using 092 described earlier).SYS. been supplemented by additional commands that control the system of coordinates. which is 9. directly in the CNC program. Its usage is not difficult. to use for situations such as a bolt circle pattem (There are additional work offsets available as an optional feature of the control system). has the main advantage that it allows the use of a dependent .800 inches along the Yaxis:G92 (Xl = 11. a return to the machine zero can be made. If the overall machined component is round.054 to G59. none is left as a 'spare'. it hao. there is a solution in the form of a progranunable subset of the work coordinate system (work offsets) called the local coordil1ate system or the child coordinate system. programming to the bolt circle center. if the bolt pattern is within a rectangular area.2 + 2. is also quite common. which offers a certain benefit in calculations. but because the 092 coordinates were measured from there! The actual X and Y motion to machine zero is programmed in block N18.ii?1lHowever.. Normally.LOCAL COORDINATE SYSTEMThe 092 command for position register is as old as absolute programming ilself..

4.0 inches from [hal shift amount.COORDINATES FROM NEW ZERO .GS4(X) .Gsa XO YO( .5 and 6. in the program.0 HOl M08PROGRAM ORIGIN40·4 Local coordinate system definition using the G52 command(CNTR)N6 G52 X8 0 Y3.W ZERO)( . .. araryzero as illustratedFigure 40~4.. control system offers yet anolha coordinate system.----------)or thiS.MACHINE COORDINATE SYSTEMSo far.O M09(HOLE 5) (HOLE 6)(RETURN TO G54 SYSTEM)edge of plate and the bolt Y3.r.N15 G52 XO YONl6 G28 ZI.O andwhich will become the G52 is 04.NEW PROGRAM ZERO ESTABLISHED----------)called the third coordinaleSelection(G8l) X2.PRGZERO AT Be CNTR)(NO HOLE)N7 G99 G82 RO 1 Z-O..12SX-2.3.WORK COORDINATE SYSTEM POSITION ---------)GS2 xa. True.CANCEL LOCAL OFFSET AND RETURN TO G54 . 0(l'EMI-.CtTor by the CNC operator minimized.125 Y-l.0 S1200 M03 T02 N5 G43 Zl..9486 Xl. . The boll circle program uses the teChniques about the benefit of th is type of as 10 letting the lower left comer be the only part zero.. To cancel a local coordinate turn 10 the previously aClive work (0 is to program zero values withG52in and to rethaixoYO. is also the coordinate values center of the bolt04002 (G54 AND G52 EXAMPLE)N1 G20N2 Gl? G40 G80 TOlN3 M06N4 G90 G54 GOO X8. the operator shl! at the lower left corner of the any adJustments for center. it can be defined as a co~ orCillHues associaled with the aCLive work by the preparatory command G52..340Commandmodal 052 commandISactive until it isWhat exactly is the local coordinate sySlem. The lypical program zero is al the lowerNlO Nll N12 Nl3 N14X-l..25 YO{HOLE (HOLE 2) (HOLE 3)(HOLE 4)X-l.. 0 Y3.).0 Y3.125 Y1.program.O MOSN17 1'(01theNl8 T02 Nl9 M06H2Otransfer the to Ihe bolt circle cenillustration as a follow the programming as they to the bolt circle and in (he logical order they would in a program:What the program willpan zero from [he lower ter.0(BOLT CIRCLE CENTER)(-..125 GBO Zl.0 Y3.m~ln(l ISalways complemented by the aeIhal set a new ~ thai is fempoIntool motions (hal follow lhe cancellation wit! original work offset.9486The llluwalion a of six holes )ocaled in a rec[angular plate.1.O LO Ne X2. The bolt hole is atlhe 0° position ofare machinedIncenler is located XS. It may heG90 G54 GOO X8. 2S YO (HOLE 1 LOCATION FROM NE. work (G54 to 059 work offsets) have been as well as the local coordinare syslem GS2. which was speci earlier in the example.2S YON9 Xl...500 inches and the I'irst Subsequent holes as holes 2... and how il work? Formally. not commonly used.m. last exampleTher.2 PlOD F10.'('\(\1'". They are both very powerful and extremely useful programming lools. 0 (-.

DATUM SHIFT

Machine coordinate system uses from (he machine zero as an input -

mea-

benefits in using this unique
apparent. evaluate the rules for machine coordinates some become clear:
nOI

04003 COMMAND USAGE) Nl G20 N2 G17 040 G80 TOl N3 G91 G28 ZO

N4 G90 GS3 GOO X-170.0 Y-SO.O
N5 MO 6

(TOOL CHG

(AC'TUAL TOOL CHANGE)

N6 GS4 GOO X25 0 Y25.0 SlOOO M03 T02
N7 043 Zl.O HOl MOS

o o

is effective only in the block where it is specified
coordinates are always relative

N8 G99 G82 RO.l Z-O.2 PlOO FS.O
N9 xS3. 0 Y13. 0

to machine zero position

NlO G80 G28 Zl.O M05 NIl G53 GOO X-l70 0 Y-50.0 Nl2 MOl N13 N14 MIS N16 N17 Nl8 Nl9 N20 N2l

(TOOL CHANGE POS)

o
o
o

It is only used in the absolute mode

Current work coordinate system (work is not by G53 command
Cutter radius offset should always be prior to GS3 command
IJV.:l,;)lU,""

usage emerges

system can be used 10

T02 M06 (ACTUAL TOOL CHANGE) G90 GS4 GOO X53.0 Y13.0 S780 MO) T03 G43 Zl.O H02 MOa G99 G8l RO.l Z-O.836 Fl2.0 X26.0 Y2S.0 G80 G28 Zl,Q MOS G53 GOO X-l70.0 Y-SO.O (TOOL CHANGE POS) MOl (ACT1J1U., TOOL CHANGE)

same machine rable
regardless of which work is on work offset is active. 111is can program, or as a standard for all machine tool. Remember, the will always be determined by the actual tool
lance from machine zero position, nOl the and not from any olher position. On many during i\ is ildvisable to establish a tool of the part A

N22 T03 N23 M06

%
stales that

by the machine cothe programming examsitualion, the foJlowing
\0 program

example

with a rotary
Nl G21

04003)

from
(METRIC)

tbe machine program or the job

illustrates the use of the lool change at a fixed position thai is not directly related to 40·5.

N250 N251 N252 N253 N2S4

G90 G54 GOO X17.7 Y35 3

GOI Z-S.O F200.0
GOO ZSOO.O G53 X-400.0 Y-lOO.O MOO (FIXED POSITION) TOOL CH.i!\.NGiE

,. ..t-----170 - - - - ,

N255 S1200 M03 (IN ORIGINAL WORX N256 XSO.O Y3S.0 N257 (... Machining continues ,..)
sequence in the program is quite the XY position of (he rart In ""'.·TA.·'.... " the required machining opC!mlion, such as
1001 moves to

/

to derth in N251, rapids to a clear Z N252, then moves to the fixed tool change
. In the next block, the CNC operator changes

.

manually, in
/TOOLCHANGE POSITION
Figure 40-5 Machine coordinate system G53 . program example 04003

N254 , then the spindle in N255, [n the sel comhas the same mean
as:

N256 G90 G54 GOO XSO.O Y35.0

386
always program all setting information, and do are olher practical uses for

40

it new the machine coordinaLe

sys[em,

wailing Lo

be discovered.

DATA SETTING
a small or medium machine shop, job shop, or any other environment stand alone CNC machines are used, (he machine typically sets all offset values that have (0 be input into CNC system during the job setup. This common when CNC programmer does not ng values - the actual ues - of various offsets at the (ime of development.

G 10 command has a simple format that is di for centers and lathes. Be prepared 10 encounter minor in format for various Fanuc controls, although the programming methods arc logical the same. also vary for the different types of work offsets as opposed to tool length
in this arc for typical Fanuc a common lested on Fanue 16 Model conlrol.

In

..

or incremental programming impact on the offset values input throughRegardless of which type of offset is

agthis An ngile or large voltechnology, such as and tool path development, automatic 1001 changand 1001 life programmable auxiliary equipment, machme automation, and so on. In such an environment, there cannOI any unknown elements - relationships of nil reference positions ru:e known and (he need for offsets to be found sel al each individual machine is eliminated. All values must be always known !O the programmer. machine and tool setup takes place.

the G 10 command, the programmed offset the current offset amount siored in the is in absolute mode (G90 for milling turni controls).

mode

for

milling cumruls and UW

offset amounl does nor amouni stored in the conlrol:

in the program, as long
command is assigned

There is an advanlage in such the offset data can be included in the oeled into appropriate There is no operator's automated, including the All offsets are under constant eluding their updates required for changes in tool length or radius. All this high tech aULOmation IS possible with an optional feature called Data Selling. Many control s this
feature available, a feature thaI should never be underestimated. Even a small shop with CNC machine can benefit from Data

command is called.
All types can be set through the pro-

gram, using G 10 command: o
o
Work offsets
Toollength

to G59 and G54.1 P..

G43 and G44

o

Cutter radius offsets

G41 and

This group includes all

if available.

WORK OfFSETS
Before studying this the concept of that de-

provided il is supported by the control

.. Data Setting Command
select the data setting option and to set through the program, Fanuc offers a G
DatI.:! se.lling

..

Work Offset Input

The standard six work offsets both the milling and turning chining Irements, they are typically with milling cOn!rols. The programming format is (he same:
G10 L2 P .. G10 L2 P ..

preparatory com G lOIs a 11011 valid only for the block in which it is [f it is needed in any subsequent blocks, it to in thaI block.

x .. Y .. x .. z ..

Z ..

Machining cenlers

mills

DATUM SHIFT

387
the in this case
to
se-

L2 is aflXed offset group number !bat input as the work offset setting. The P can have a value from I to 6, to the !eclion respectivel y:
Pl=G54 P4=G57

TOOL lENGTH OFFSETS
Tool length offset value grammed with the G Ja ~~.~~,~~.N set group. Depending on type offset group will have different There are three types of memory on tool length and tool radius

for example,
G90 G10 L2 Pl X-4S0.0 Y-37S.0 ZO

inputs X-450,0Y-375.0Z0 coordinates into register (all examples for this sec:tlo,n
G90 G10 L2 P3 X-630_0 Y-408.0

Input: Values:

Combined Geometry + Wear offset

Value set by Gl0 L11 P.. R.. block

inputs X-630.0Y-408.0 coordinates into coordinate offset register. Since the Z amount the current amount of the Z

Input 1;

Separate Geometry offset value Values set by Gl 0 L10 P.. R.. block Separate Wear offset value

Values 1:
Input 2:

Additional Work Offset Input
to the standard six work offsets for milli

Values 2:

Values set by G10 111 P.. R.. block
Memory C two columns for tool offset and two columns for radius offset

offers an oplional set of addirional ] P48. G 10 command can also be used to values to anyone of the 48 additional work sets and (he command is very similar (0 the one:
G10 L20 P..

Input 1:
for:

Separate Geometry offset value
H offset code

x..

Y.. Z - .

offset group number has changed to c",lc'l'l~ (he additional work offsets.

l'

ValuessetbyGl0110P..R .. block
Geometry offset value

ooffset code
Values 2: Values set by G1 0 l12 P.. R.. block

External Work
to lhe work coordinate sysor Common. This offset cannot any G code and is used to globally, affecting all work offsets. into the offset, G lOuses and PO as the offset selection:
G90 G10 L2 PO X-10.O

Input 3: Used for:

Wear offset value

Hoffset code
Values set by G10 111 P.. R.. block
Wear
value

Values 3:
Input 4:

Used tor: Values 4:

D offset code
Values sat by G10 l13 p.. block

will 10.0 into work offset, while retaining all other (the Y axis. the Z axis and any additional axis as well) n prac[ice. when using the shown sen! ng, each work in il particular program will be shifted by 10 mm the X negative direction.

In all cases, Ihe L group number isler number in of Ihe offset to set lute and incremental length pr:ogrammed input as

388
As an example for a CNC machining center, the following block will input the amount of negative 468 mm into the tool length offset register number 5 (five):

........................................

Chapter 40

If the existing offset amount needs to be only adjusted, use the incremental programming mode. The last example of a wear offset will be updated by adding 0.010 mm:
G91 GIO L13 P7 RO.OI

G90 GIO LIO P5 R-468.0

(NEW SETTING IS 0.02 MM)

rf the offset has to be adjusted in order to make the cut 0.5 mm less deep for the lool length offset 5, change to the incremental mode G91 and program:
G91 GIO LIO P5 RO.5

Be careful with the G90 and G91 mode - remember to restore the mode for subsequent sections of the program.

LATHE OFFSETS
Toollenglh offset does not apply to the lathe controls, because of a different offset structure. G I 0 command can be used to set offset data for a lathe control, using this format:
G10 P .. X(U) .. Z(W) .. R(el ..
Q._

Note the G91 incremental mode. If the last two examples are used in the order listed, the lInal amount of offset number 5 will be -467.5 mm.
Older Fanuc controls were using the address L1 instead of the newer L11. These controls did not have a wear offset as a separate entry. For a compatibility with the older controls, L1 is accepted on all modern controls in lieu of L11.

Valid Input Range

The P address is either the geomefl)' offset number or the wear offset number to be scI. The addresses X, Z and Rare absolute values, the addresses U, Wand Care theirrespective incremental eqUivalents. No G90 or G91 mode is available. using the standard G codes of the A Group .
To tell apart (he geometry offset and the wear offset, the geometry offset number must be increased by an arbitrary value of 10000:

On most CNC machining centers, the range of tool length
offset values is limited:

± 999.999 mm ± 99.9999 inches ± 99.999 mm
± 9.9999 inches

Metric Geometry offset input
English Geometry offset input Metric Wear offset input
English Wenr offset input

Pl 0001 Pl 0012

will be geometry offset number 1 will be geometry offset 12

... and so on

If the value of 10000 is not added. the P number will then
become the number of the wear offset.

Here are some typical examples of offset dala selling for a CNC lathe, along with expected results. All examples are consecutive, based on the order of input:
GIO PIOOOl XO

The number of available offsets is also limited, depending on the control model. There is a minimum 32 offset numbers available. Optionally, the CNC system can have 64, 99, 200 or 400 offsets available (even more), mosl of them as a special option.

zo RO QO

· .. clears all geometry offset for G 01 settings (Geometry offset register I)
G10 Pl XO ZO RO QO

CUTIER RADIUS OFFSETS
For the offset memory lype C. (he amount of the culler radius offsct (D) may he input through the program, using G 10 command with L 12 and L 13 offset groups:
G90 GIO L12 P7 RS.O

· .. clears all wear offset for W OJ settings (Wear offset register I) Note - QO also cancels value of tool tip number in G 0 J
GIO PlOOOl X-200.0 Z-lSO.O RO.8 Q3

will input 5.000 radius value inlO the culter radius geometry offset register nUlllber 7.
G90 GIO LI3 P7 R-O.03

· .. sets the contents of G OJ geometry offset to:
X-200.0 Z-lS0.0 RO.8 T3

· .. also sets T3 in the wear offset - automatically .Ii.'
GIO PI RO.8
. sets RO.R

will input -0.030 radius amount into the culter radius
wear offset register number 7.

Currelll T selling assumed

value in W OJ wear offset

DATUM SHIFT

389

Note, that it may be safer to program:
GIO PI RO. 8 Q3 GIO PI X-O.12
OIlTeli1 selting 1101 assllmed

PROGRAMMABLE PARAMETER ENTRY
This sectlon covers yet another aspect of programming the G10 command - Ihis time as a modal command. It is used (0 change a system parameter, through the program. This command is sometimes called the 'Write 10 parameter fUllctioll', and is definitely not very common in daily programming. Timid programmers should skip this section allogether. 11 is very imponan! to understand the concept of control system paramelers, otherwise this section will not help much. Authorization to change parameters ror lhe machine [001, regardless of other professional qualificatIon!>, is equally important LO apply this section.
WARNINGI Incorrect setting of CNC system parameters may cause irreparable damage to the CNC machine!

, ,. wear offset W OJ is set to X-O.l2, regard less of ilS previous selli ng
GlO PI UO.05

... updates X-O.! 2 by +0.05, to the new value of X-O.07 Note lhat (he tool tip number (programmed in the G 10 application as tbe Q entry) will always change [he geometry offset and the wear offset simultaneously, whalever the amount or the offset lype is, The reason is a control buill-in safety thai attempts to eliminate data entry error,

MDI DATA SETTING
Programming various offset values through [be program selling requ ires f ul I understanding of the inpul format for a particular conlrol system. It is too late when an incorrect scuing causes a damage to the machine or the part. One method [hat can be used 10 make sure Ihe offset data selli ng is con"eel, is a simple test. Test the G I0 cntnes in the MOL mode on the CNC unit fir!>t, and check Ihe results:

Typical uses of [his command are common [0 changes of machining condition, for example, spindle and feedrate time constanlS, pitch crror compensation data, and olhers. This command usually appears in the so called User Macros (applied by the G65 command) and ils purpose is to control cenain mach i ne operations. The concept and explanation of User Macros is not covered by this handbook.

Modal G1 0 Command
When the G 10 command was used for [he offset data Seiling earlier, it had to he repealed in each block. G J 0 for the offsel entry can only be used as a nOll-modal command. Modern Fanuc controls also allow to do anolher type of chonge through the program - Ihe change of CNC system parameters through a modal G 10 command. Many enlries used
111

o
o

Set the Program mude
Set the MDI mode

o Insert the test data
For example. enter:
G90 GiO LiO P12 R-I06.475

programs are automatically con-

verted LO a system parameter by the control. For example,

o Press INSERT o Press CYCLE START
To veri fy, check the too! length offset H 12 - It should have the stored value of -J 06.475. While s(ill example:
10

Ihe MDI mode, inSeri another test dalJ, for

programming G54, the set value is seen on the work offset screen. Yet, the actual storage of G54 value takes place in a system parameter, identified hy a certain paramerer number. The G54 selling can be changed either through the offset data or through a parameter change, and the parameter number must be known. Some system parameters cannOI be changed as easily (and some cannot be changed at all), so Ihe modal G 10 command can be very usefuL In fae!, two related commands are required - G 10 to start the seui ng and GIl to cancel the setting:
Gi0 LSO

G91 GiO LiD PI2 R-l.O

o
o

Press INSERT Press CYCLE STAH1

(. .. data selling .. .)
Gll

Again, to verify, check the selling of lOo] length offset H 12 - it should have [he new value of -107.475. Develop other similar tests (0 follow the same routine. It is always better LO slart a program with confidence.

The data selling block has three entries:
GiO LSD
.. P .. R."

Gl1

390
In case of d modal G 10 and G II combination, this meaning:
G10 Data setting mode

40

com-

If more Ihan one aXIs IS required to be sel at use mulliple .. P. R.. between G 10 funher in (his section.
R Address

same GI J -

Programmable parameter entry mode fixed
Data entry specification

setting mode cancel

Ihat are 10 be sel, one parameter number uses the N

address R is the new value to be inlo parameter number and musl always entered. The listed above must be observed. Note or points in the entries.

dala use P and R
rameler input:
Of~o,alll~'~1

There are several types of

Program Portability
containing even a single programmable eter entry should be used only with the machine and for which were designed.

input

Allowed input range
0 or 1

Bit type

Bit

type

0 or 1

Byte type
axis

a

to

127
255

on dl

con-

o to

same. The exact control
numbers must be known duri
example. on Fanuc control Model 15.

Word type Word axis type Two word Two word

0 to :t32767
0 to :t32767

out n will use

ting the meaning of an address withnl is number 2400 (Bit #0). The parameter
n15 un Fanuc control Model ]6

a
.,"

to :t99999999

connolling tile Sal!le

3401 (Bit #0). examples illustrate various programmable and have been tested on a Fanuc 16 con!rolmill version. The selected illustration only, not necessarily as parameters on The Inabaud rate selling of an Ininterface, if (he I/O Chan-

0 to :t99999999

- a si ngle Jaw HUlIl iJer is a differenl meaning, so exercise care when cilanging one bit but not another.

Word Iype is type is also called EI

an integer Type and the two-word inle.ge r type.

Parameters Notation
Numbering of bit standard from 0 Lo 7 ilotfrom one), from . type parameters is Slarf cOllnting from zero
G10 L50 N0103 IUO G11

baud rate setting for the seFrom a table supplied by where Number is the #7 10 #0 are individual
bering and Ihe elers are input as a hyte,

number and the

Setting R-value
2

Description
50 baud 100 baud

1

are axis and non
PAddress

2
3

110 baud
150 baud 200 baud

The P address IS used only for (bit axis, byte axis, word axis ramelcr does nol relate to an ax dan! and does not have to be

4
5

DATUM SHIFT

391
Description
300 baud 600 baud 1200 baud 2400 baud
G90

Setting R-value
=

G90 GlO LSD

6

N1221 PI R-250.0
Gll

(DECDfAL POINT NOT A.L.I..OWED)

7

B
9
10

. Proper input is without the decimal point. An error condilion (alarm or fault) will also be generaled i(ihe P address is not specified at all. For example,
GIO LSO
Nl22I R-2S0000 Gll

4800 baud 9600 baud 19200 baud

11
12

will generate an error condition. The next example changed for two axes input:
G90

IS

In the previous example,

GIO LSO
NOl03 RIO
Gll

GIO LSO
N122I PI R-2S0000 Nl221 P2 R-175000 Gll

4800 characters per second baud rate has been selected. In another example, the parameter #5130 controls the chamfering distance for thread CUlling cycles G92 and G76 (gradual pullout distance applicable to lathe controls only). The dala lype is a non axis byte, unit of the data is 0.1 of a pitch and the range is from 0 to 127:
GIO LSO NSI30 Rl
Gll

If this example is used on a lathe control. PI is the X axis. P2 is the Z axis. On a machining center, [he PI is the X ax is, P2 is the Y axis and P3 will be the Z ax is, ifrequired. In eith~r case, the first two axes of the G54 work offset setting will be -250.000 and -175.000 respectively_ Sometimes it is necessary to set all axes to zero. This may be done with a standard offset setting:
G90 GI0 L2 PI XO YO ZO
(MILLrnG CONTROL)

This program segment will change parameter #5130 to the value of I. The chamfering amount will be equivalent to ?ne pilCh of lhe thread. Do nolconfuse byte with a bil- byte lS a value 0 to 127 or 0 to 255 for the byte axis type, bil is a s[ate~nly (Oor I, OFF orON, DISABLED or ENABLED), offenng selection of only one of two options available. The word BIT is actually an abbrevialion of two words: Bil :::: Binary digit ('binary' means based on two)

or write 10 a parameter, also for a milling conlro\:
G90 GI0 LSD
N1221 Pl RO N1221 P2 RO N1221 P3 RO
(SET G54 X COORDINATE TO 0) (SET G54 Y COORDINATE TO 0) (SET G54 Z COORDINATE TO 0)

Gll

Bit Type Parameter
The next example is quite harmless and may be used as a lest, but be careful wilh any other parameters. Its only purpose is to set automatic block sequencing ON while entering a CNC program at the control. It also serves as an illustration of a bit type parameter and IS a good example of some general thoughts and considerations that go into program preparation using programmable parameter mode. On Fanuc 16 Model B (and most of the other models as well) is a feature that allows automatic entry of sequence numbers. if the program is entered from the keyboard. This feature is intended as a time saving device for manual entry of program data. In order to enable Ihis feature, select the parameter that controls the ON and OFF status of the feature. On Fllnuc 16 it is 11 parameter number 0000 (same as 0). This is a bit-type parameter, which means it contains

Another example is for the entry of a two word parameter type. It will change the work offset G54 to X-250.000:
G90

GIO LSO
N1221 PI R-2S0000
Gll

Parameter # 122 I controls G54, # 1222 controls G55, and so on. P I refers to the X ax is, P2 refers to the Y axis and so on, up LO 8 axes. Because the valid range of a l~ng'integer (two word type) is required, a decimal point cannot be used. Since the selling is in metric syslem and one micron (O'(JO I mm) is the least increment, the value of -250.000 will be entered as -250000. The following exumple is NOT correct and will result in an error:

392
eight bits. Ench bit has the End-Of-Block

40

lrols the state of sequence OFF is the same 8S I or 0, but only a number can An individual bit the means all the other oue. IlltiJis eX<lJllpk, ois as f(111ows:
INI ISO #1

will appear automatically on screen. In the saving keyboardi during manual program input.
lilt:

TVC #0

0000

#7

#2

The idea behind the G 10 modal in the programmahIe parameter enlry is that more than one parameter can be sel as a group. (WO paramelers are cally connected, a can be with the same Iinal two smaller segments earThe modal G 10 {"n'"TlIflO"'," comes handy here:
G10 LSD NOOOO R001010l0 N3216 R5

o

o

o

o

meaning of the example. TIle bit is sel to

is irrelevant means the auto-

malic block numbering is

Gll

U .:>,ClUH_'-'

The following program without changing Ihe other
G10 L50

will turn on the bit

neither parameter is.
omitted. The NOOOO is. the same as. legibility.

lype, the address P was and was used only

NO R00101010 Gll

The resulting entry in lhe

screen

WIll

reflect
TVC #0

o
!hal all bilS had \0 be written. The job is not done yet. however, Fanuc offers an additional reature - the increment the numbering can be as well. for examselection of 10 will use NIO, I will usc N I, N2, N3, increments ofi"ive, for NIO. NI5, etc. llle incre10 be sel - yes - by another 16. parameter number value is #3216. is a the val id range is 0 10 9999. by selling the bit in na'"""·.... "An'."..."' .... ' will look like this:
G10 LSD N3216 R5

to Fanuc 15 users (Fanuc 15 16) - the parameter number the automatic will IS 0, #1 (SQN). There is marc on 15 - the slarting secan be controlled with parameter #0031, 111M stores the increment amount IS as shown. Also. on 15, the allowab!e sequence numbers is lip to 99999. 111is IS a typical exampJeofadifference I wo control models, even were produced by the same manufacturer.

of Block Numbers
f"\"'~"nH

include block "H"Tl"''''''''

N121 Gl0 L50 N122 NOODO R00101010 N123 N3216 RS
N124 G'll

Gll
are completed,

There are now fH!O di and N123. How will be no block wirhin lhe G is the block number, the same block will be interpreted as pa-

In any program

con-

MIRROR IMAGE
of a program development is to create a cuuer tool path in a specific location of the part or the tool path requires both the right and left programming lime can be shortened called the Mirror Image. of machining operations can be repemed using the mirror image feaLUre of the contml is no need for new calculatiol1s, so this technique of programmi reduces the programming time as well as the possibility of errors. Mirror image is sometimes [he Axis Inversion function. This description is accurate up to <:\ point. Although it is true that in mirror image mode the axes will be inverted, but several other will take TIllS makes Mirror Image more accurate. who are miliar with a thai the mirror function In
IS

BASIC RULES Of MIRROR IMAGE
rule of a mirror image is based on thl: machining a given 1001 path in one quadrant is not di than machining the same tool path In The main difference is (he reversal of That means a given one quadrant can be repeated in another same mirror
Ihal

Hand vs. Left Hand orientation part orientation -

on

principle of symmetrical

known as the RighI Hand (RJH) and the

(Figure 4/-/).

UH
Part
Figure 41-2 The
nrlflf':JnIf!

applied a machined part

versa]

lhal each quadrant requires function allows the re~ changes automatically.


Figure 41-7 Right hand VS. Left hand as the orm!c/D,fe of mirror image

Tool Path Direction

the tOOl path directiOnal
o

Programming mirror image basic rectangular plies (0 quadrants. It also requires lerpolation and applications of cutter
are four quadEarlier discussions established that raniS on a plane. The upper right area creates Quadran! I, the upper len area is Quadrant II, left area IS Quadrant IIf, and the lower right area is IV. Iflhe program zero is at the lower left corner programming in the tirst quadrant.

Depending on the quadrant "'''''c; . . ,.<:.u for the mirror image, may affecl some or all of these activities:
Arithmetic sign of axis Milling direction Arc motion direction (plus or minus) (climb or conventional)

o o

(CWor CCW)

One or more
these axes are only used for mirroring

393

394

Chapter 41

Ir

IS

is no arc diof the mir-

QUADRANT II (Q2)

Y+ i

QUADRANT I (Q1)

MI

<_ QUADRANT

It
...........

~I
1 '\

x-

,02
G41
QUADRANTIII

...........

QUADRANT III (03)

y_

,

OUADRANT IV (04)

IJ

,
yIV

Figure 41-4 Mirror axis and its effect on pan orientation

Figure 41·3
Effect of mirror image on tool path in different [J1l~llJr~/[Jrs

Programmable mirror image must be supported by the control system

Original Tool Path
The originallOol path program may quadrant. If there is no condition), the tool path is in ranl only. This is how the m~iorilY of all programmed. Once mirroring is Ihe original machining pauern - the gardless in which quadrant it has been

machining follows the program as IS. For examif (he programmed path takes place In the second quadram (using absolute mode G90), the normal X values will the normal Y values will be positive. poims is always normal within the origiquadrant programmed, when no mirror image is used, the machining takes place in a mirrored quadrant, one or both signs will change.

Sign of Coordinates
'normal' sign depends on the quadran t of the coordinate system used in programming. If programming in rhe Quadrant /, both the X and Y axes have positive absolute is the complete lis( for absolute values in all

Mirroring will always transfer the lool path) to another quadrant or quadrants. pose of the mirror image function. image requires Ihal cerlain conditions are mel. conditions is definirion of the mirror axis .

Mirror Axis
Since there are four quadrants, they provide in fact lou I' available machining areas. These areas are divided by two machine axes. Mirroring axis is Ihe machine axis about which all programmed motions will flip' over. Figure 4 J-4 shows the mirror axes and theIr effect on pan orientation in quauranls. mirror axis can be defined in two ways:
o

x+ y+

Quadrant II
III

x- y+

x- yx+ y-

Quadrant IV

At the machine

... by the eNC operator ... by the eNC programmer

o

Through the program

typical person who is responsible for the flip' is also lis!ed. method allows one selection of the following possibil it ies:
1.

2. 3.
4.

Normal machining - no mirror image set Mirrored machining about the X axis Mirrored machining about the Y axis Mirrored machining about the X and Yaxes

Original arc is CCW: Quadrant Ii CW Quadrant III ..Most conlrols have a screen setting or switches dedicated mirror image set at the controL Both designs allow nn. when the mirror the following considerations!ITaTIIlllilll'different technique(wilhout {he all motions in Ihe zero return.. Conventional mode Control Setting(0o Mirrored in Quadrant IVIl is importanllo understand the machining mode when A conventional machining mode may not In may negatively affect the surface tolerances. the display must show(O:OFF l:ON) (0: OFF 1: ON)MIRROR IMAGE X~AXIS :: 0 MIRROR IMAGE Y-AXIS 1LO mirror about bothaxeswillON for both axes:(O:OFF 1:0N) (O:OFF l. arc motion direction change the both Ihe millshould not ing direction andFigure 41-3. and is direction.. typically atTogg/e switchesof mirror.cutting CCW QuadranUV . WhenMIRROR IMAGE BY SETTINGA mirror image can be set al [he control unit No are required.1I.2.HOW the program is WHERE the mirror image will be WHEN the mirror image will canceledis usu-OFFFigure 41-5Start and end of the program [hilt is to ally al the same localion.MIRROR IMAGE X-AXIS 1 MIRROR IMAGE Y-AXIS:::: 1programMIRROR IMAGE X-AXIS MIRROR IMAGE Y-AXIS 0 0bothto return (0 the nonnal and Y axes is zero:(O:OFF 1:0N) (0 : OFF 1: ON) Program Start andWhen a part IS with intent to use the mir~ ror image.1l.MIIMAGE Milling Directionmilling can be programmed or climb milling mode.'r""". to set certain parameters in a friendly way. Climb mode.lool motion defined in climb millingllllflTIf....yONMIRROR [MAGEIhat uses a fhan whe~ programming in a mirror image).where mmoring for both axesTo apply X axis mirroring only.ON)The control will automatically perform G02 as G03 and G03 as G02 For the majority of machining applications.3. is the rotation direction of an arc.mirrored machining in Iherants willas follows:. ll>lnIO'~r of overwriting other parameters by error. a display similar 10 Ihis(O:OFF 1:0N) (O. versa. 0 (0 : OFF 1: ON) (0 : OFF 1: ON)based on Quadrant I: oQuadrant!· Quadrant II Quadrant III IV o Quadrant I .OFF LON)Arc Motion DirectionMIRROR IMAGE X-AXIS 0 MIRROR IMAGE Y-AXIS:::: 0to the tool path that will happen only when a is mirrored..it must with mirror image in mind .. make sure to use a carefully thought out pro-~:. During program. Conventional modeinoMirrored in Quadrant IIoIII. with the mirrored.. Program is relatively tool motion for one quadrant only Not mirrored wHhout a good plan first. CWTo apply{he Ymirror. Any clockwise arc programmed will become counterclockwise arc one axis.MIRROR IMAGE X-AXIS :::: 1 MIRROR IMAGE Y-AXIS . That meansoxONMIRRORIMAGEXOFF YOFF1. will be on.

the 1001 mOlion will in one quadrant only Figure 4)·7. but the applicarion principles are the same.0 0<:)o-0.. then the other quadrants ..For a manual milTor image.l Z-0.-. ControlprogramMirror Image Functions these functions will be used:InIt locates the cUllingLook at the tirst tool motion intool at XOYO.0 RO.Figure 41-8(XOYO)Zl."'.00 0-05. using mirror imageG82 X6.O N8 GBO ZLO M09 N9 G28 ZL 0 M05GOO XO YO N11 M3D %RETURN TO XOYO)are automalic by the program.0Figure 41·700 0 00."...Figure 4 J-8 and example 0410 I:04101 Nl G20 N2 G17 N3 G90 N4 G43 N5 G99 (CENTER DRILL THREE HOLES)G40 G80 GS4 GOO XO YO 8900 M03.O HOI MOSResulting tool motion in all four "" .mode when thMost controlsby the control setting program. because il is this location lhat is COl11mOI1 to all Jour quadranls~PROGRAMMABLE MIRROR IMAGEMirror' is sel for each axis by an M function must be canceled first. To make only one axisuses the M functions (oruses ~ubprogram$..". .' This is the most important block in the program for a mirror image.0 1...-N0 "<::t0<. The image vary between machines.0 Yl..269 P300 F7.Chapter 41Y+ j'--G54G Programming· Manual Mirror Settingis a drawing with 3 holes to be machined in quadrants.0N6 X4. It wil! be used to illustrate the of programming of the mirror image.0 YS. where there is no hole.0 Y3.0 3. 0moN7 X2. On the otherrunction is in effect when another function is I both be elfective.Programmed tool motion for the three holes located in Quadrant I0-0 0 0j Y+oFigure 41·6 Drawing to illustrate manual mirror image programming.

0 Y3. 0 N4 M99NIl M98 P41S1Nl2 M23%The main program 04 J 02 calls the subprogram 04151 in different quadranls. Notethe XOYO localion is common to all four quadrants.25 DEEP 12 HOLES1500. X6.1S (3)'000.50 0. can be.269 P300 F7.50oIALL QUADRANTS ARE SYMMETRICAL ABOUT THE CENTER LINE00L4.00RO.MIRROR IMAGE397N2 G17 G40 GSON3M23Simple Mirror Image ExampleProgram 04102 for the 3 holes in Figure 4 J-6. G20(MAIN PROGRAM)MJ2 M98 P4151 GSO Z1.S Nl6ill X2.0 LO P4151 (QUADRANT Il(X-MIRROR ON) (QUADRANT II) (Y-MIRROR ON) (QUADRANT III) (MIRROR OFF) (Y-MJ:RROR ON) (QUADRANT IV) (CYCLE CANCEL) (MIRROR OFF) (Z MACHINE ZERO)M98 PH51moNl3 Nl4 N1.0 Y6.-. 0 M09 M23 NJ.04102N1.00MATERIAL: AL PLATE . 0N2 X4. 0(MIRROR OFF)N4 NS N6 N7 N8 N9G90 G43 G99 M98M21M22G54 GOO XO YO S900 MO} (XOYO) Z1.4x 4 x 1/2Figure 41-9 Comprehensive example of programmable mirror image Uses main program 04103 and subprograms 04152 and 04753.7 G28 Zl.0 HOI MOS G82 RO.0N19 M30(CLEAR ATe LOCATION) (PROGRAM END)%01/8 DRILL 0.-00 00ol0. using the mirror image functions.25 SLOT DEPTHT4.125 R1.00o o·.1 Z-O. 0 Yl. changed to the programmable mirror image. 0 MOS Nl8 GOO X4.1250. 0 Y5. Holes absoIute locations are stored i 11 subprogram 0415] :04151N1.

25 F3. roughing the radius Ihe walls.48S 10 JO.823 J-0.S Yl.S N2 GOI Z-0.135 (SLOT END) N19 GOl G40 Xl.s YO.O N4 GOI Xl.0 Y6. tool or at the end of the program. The program 04103 uscs two ff more lools are used.0 Y2.365 YO.6754 YO.269 F4.65 1-0.ZO WORK TOP) (M21 = X-MIRROR ON ----------------------)(M22(M23= MIRROR~Y-MIRROR ON-------------)OFF--------------------)Machining with mirror image can be used with other lime saving features.2125 N13 G03 XI.lS N14 Xl.0 LO P4152 (QUADRANT I)(X-MIRROR ON) (QUADRANT II) (Y-MIRROR ON) (QUADRANT I II) (MIRROR OFF) (MIRROR ON) (QU1UlRANT Dl) (CYCLE CANCEL) (MIRROR OFF)onerorNe M2l04152 (SUBPROGRAM .35 10. area for the too! change IS aillhat isslol.S YO.5 10 J-I. programming melhod for both lurrets.35 YO. such as Rotation Scaling FUllction.635 YO.35 IO. CENTER CUTTING END MILL) N21 T02 M06 (TOOL T02 TO SPINDLE) N22 G52 X2.0 Y2.0 N37 IDO %(CLEAR ATeLOCATION) (PROGRAMIn order to use thezero must be defined onmir-Quadranl IISalso used infor onetwo lines (axes) arc required center plate must be the program LCro.R)IM 04153 END) N22 M99%(T02 .S Yl.I Z-O. the pwgramming technique will nOI change.OS Nil XO.1"I''I4'O OF SLOT) N1 GOO X1.O FS.15 JO N17 G01 Xl.677 YO.398 Comp Mirror Image Exampleexample of a mirror lmage applical wilh mollons will use two culli lools LO41drawing in Figure 4aUiomutlc loolarc needed .5 10 J-l. one on each mirroring wii] use the X linc.0 N20 MOl(CLEAR ATCLOCATION)(OPTIONAL STOP)LO04153 (SUBPROGRAM .'" machining center.l MOS N19 GOO X4. in effect.MIRROR IMAGE ON CNC lATHESMirror Image function has ils main aUIJtl~. lathes.5 YO.DRILLING) N1 XO.15 JO NlS XO.l H02 MOS N25 ]. The cycle call is not included in lhe lhe return to the center (N4) ismode but wilh lheN9 M98 P4152 NlO M2:>' NIl M98 P41S2 Nl2 M23 N13 M22 NI4 M98 P4lS2 Nl5 GSO M09 N16 M"23 N17 G52 XO YO NIS G28 ZO. 5 (SLOT START) N5 G41 DOL X1.4SS N6 G03 XI.0 M23 (MIRROR OFF) G54 GOO XO yO SIBOO M03 T02 ZI.15 N16 XO.MILLING) (~n.65 1-0. 5 N3 XO 125 Yl.5 YI.S 10 JO.0 N3 G03 XO.125 YO.l MOS N36 GOO X4.65 Yl. cenler I as the mirror axis and. to relum La the X and Y machine zero. 5 NlB G03 Xl.one the slot milling inNI N2 N3 N4 N5 No N7G17 TOI G52 G90 G43 G99 M981/8 DIA SHORT DRILL) G20 G40 GSO G49 BLOCK) M06 (TOOL CHANGE) X2.O HOI MOB GBI RO.15 JO N9 GOI XO.7125 10. the same as in drilling.135 JO N7 XI.S IO JO. 5 IN X) (HOLE IN Y)N4 XO YO LO N5 M99%(NO HOLE AT PLATE CENTER)<SUBPROGRAM 0415204152 contains only (he lhree hole local.le.125N2 Xl.7254 NlO G02 XO.05 JO Nl2 XI. culler radius offset i::.S YO.0 Y6. 1lle machining slarts with Ihe cutler at the slot centerline.35 10.l (MOTION TO PLATE CENTER) N21 XO YO (S"CIBPRCX:.7 10 JO.55 YO.15 N8 Xl.04103 (MAIN PROGRAM) (USES SUBPROGRAMS 04152 AND 04153) (XO YO LOWER LEFT CORNER .198 P4153 (QUADRANT I) (X-MIRROR ON) N26 M21 N27 M98 P4153 (QUADRANT II)N28 N29 N30 N31 N32 N33 N34 M22 M98 P4l53 M23 M"22 M98 P41::i3M23(Y-MIRROR ON) (QUADRANT III) (MIRROR OFF) (Y-:MIRROR ON) (QUADRANT IV) (MIRRORG52 XO YO M09 N35 G28 ZO.S YO.S N20 GOO ZO.1/4 DIll.0 M23 (MIRROR OFF) N23 G90 G54 GOO XO YO S2500 M03 TOI N24 G43 ZO. this lathe wilh two tulTets. used and SIOI is fini La The subprogram ends at the plate cenler in N2 I.

The two G trolling the rolation are: ti. X and Yfor the G 17 active0. arelei:Mathematically. G 18 or G 19 muSI be en-(Olalion point coordinatcs point coordinates. The coordinate rotation feature is a lion and must be the part of the controlIf the X and Y coordinate arc not srecilied with the G68 command as the center of rotation (in the G 17 plane).Original orthogonal object (a) and a rolated(b)The above figurc (a) shows an orthogonal orientation of a rectangle.65 \Iand GI9 will use as the plane selection command G 17.1yxRAbsolute X of the center of rotation Absolute Y coordinate of the center of rotation The angle of Center ofcenter of rolationwhich the rotadefined by two differplane. usually a dinate System Rotation. there are many opportunilies Lo . the coordinale rotation is a requires only three items to define a rotated of [he aogle of rotation. theThe number of decimal places L)i" R amount will become amount of the angle. and vertical orientation. negative R defines a CW rotation. is called the Coorfealure. This method is recommended approach Ir1 anyRadius of Rotationcell-The G68 angle R. the current 1001 position will center of rotation. or Coordinate Rotation.. Thethe rotation com-1. ng process much more flexibe and equally very powerful programming control option. on the cemer of rOlcoion (also known as the pivot point) and of rotation:tBf where . With this control feature. the figure below (b) shows the same rotated by 10° in the counterclockwise Manual it is much easlcr to program the 1001 path for (a) and the control system change it (0 a tool path figure (b). One of the mOSI i talion IS a program thai is tation but machined at an specificalions)..COORDINATE ROTATIONA 1001 malion creates a pall ern .-Figure 42-1tered into the program unytime mand G68 is issued. R nes a CCW . which means thai the motion takes place program orthographic tool posilionsROTATION COMMANDS10rotation uses two preparatory turn feature ON or OFF. conlour or a pockel that can about a defined point by specified angle.ition ON Cooldirlale sySlem rotation OFFThe G68 command will activale thc coordinate system rotation.

in Figure 42·5.a/ CENTER OF ROTATIONr__ . In Figure 42-5 are the two possibilitie's and the effect of coordinarc rotation on program zero.0 NlO X3.CW=='CENTER OF ROTATIONbFigure 42-2JPROGRAM ZERO ~ \ (ROTATED) .ir the approach and/or deparlure molions are i nc\uded in the rolation. This is a very important decision.0Figure 42-4 Part oriented as per program.D N7 G68 X-I.S Y-O. the approach tool path starts and ends at the same location of X-I.O NB G41 X-O.R15The following program 04201 illustrates the above example (a) .O Yl.CCW== +For (l moment.. using the G68 commandN12 GOl YO.375 FlO.-\CENTER OF . . which does include the proaram 0 zero rolallon.O S800 M03 N5 G43 ZO.S DOL F20.l HOl MOB N6 GOl Z-O. ignore the rotation angle and program the part as if it were oriented in an orthogonal position. In both cases. ROTATION == XO YO -~.O and Y-l.S5.._____ -\ _\~\\\Figure 42-5'-15 \ PROGRAM ZERO (UNCHANGED)0Comparison of the programmed tool path (solid line) and the rotated tool path (daShed line): ( a) Program zero included in the rotation ( b) Program zero not included in the rotation Figure 42-3 Pari oriented as per engineering drawing specificationThe actual lool path. the orientation of the part i~ 15° counterclockwIse. based on the lower len corner. and exclude the toot approach or departure motions.400Chapter 42. as shown earlier in Figure 42-4_ For actual cutting.S.lpproach towards the part and the depanure from the pan. we use a simple pan shape that is easy to visualize.5 Rl. such as a rectangular sbape with a {mel corner radius . \ PROGAAM ZERO ROTATION = X-10 Y-i.Figure 42-3.. based on the center of rotation: ( a J Counterclockwise direction has a positive angle R ( b) Clockwise direction has a negative angle RFor a basic programming example. It the program zero is not to be rotated.O (clearance location).0 ~ (ORIGINAL)Direction of coordinate rotation. In the Figure 42-4.CENTER OF .f. G20N2 G69 (ROTATION CANCELED IF NEEDED)1-30N3 Gl7 GSO G40 N4 G90 G54 GOO X-l.the cancellalion is included there for added safety. that is perpendicular to the axes. include only the part profile lool path between the G68 and G69 commands. Be careful here .. includmg the C. Also note the G69 in block N2 . is not normally included in the engineering drawing.0N9 Y3. ____ .04201 N1.O Y-l. the program zero may also be rozated.. decide whether the approach tool motions will be included in the rotation or not. 5 Nll GOl XS.D Y-l.O RlS.S Nl3 X-D.

-WORKblock N8 conlains cuner radius offset or compensation programmed will coordinale rolation lakes place . as in (he-WORK AREACommon ApplicationsROTATION NOT SHOWNAs mentioned already.O Zl..to IlIteq)l"et {he notes will help. there are cases when this be very useful. fy (he command in a separateblock. Work area must be able10 accommodate all ances..PRACTICAL APPLICATIONIn many cases.... illustration only shows the general principles of application.O M05 N17 MJO%PART PER DWGfor an orthogonal but machined at 15°. Work area is used for programming and the setup as well. of the mourlled part und Calculate illrigollulllt:trically."-I N16 G28 X-l. a orthogonally.aCoordinate Rotation CancelPARTCommand the coordinate rOlation funclion and returns the control system to its normal onhogonal condition. In all. Hopefully.. Includingtool motions and clearcuLLer radius offset In effectoIf there is a short XYtravel on the machining center and the part is positioned on at a known angle.Coordinare rotation appJied to lit a long part within rhe work areais lypically than the actual work area.COORDIROTATION401Nl4 G40 X-l.. lions are satisfied:example of [he cothal two major condi-o oRotated part must fit within the work area The angle ofthe setup must be knowndeceptively simple butused very efficienlly Applicalions such as or machining at boIL circle locaThe following detailed drawing that looks a bit of programming.O M09N15 G69 (ROTATION .O Y-l. because of the limited machine travel.. a special fixture for such a setup. il(?)30 FACE MILLlapp]is expected.. A placed within the work area length ever.program. but it canThis method is quite ble to be implemented. nothavelhe they may have il lion can be veryo If the nature of the work includes orthogonal parts machined at an angle per drawing requirement).. onlyo 3/8 CHAMFERINGNotWith glo 1/4 CENTER CUTIINGis definitely aexperience..:.In the Figure 42-6.... togelher with milling lions areexample inThe second application is ordinate system rolalion. If the positioning angle is nol known.Slack for finishing of the addition. The earlier example belongs to this category. In some cases.The requirements and opmenl must be machine all 7 pockets with a type). [he.:. even if it is nOI LaO common."".O Y-l. 10 allow for setup and additional space. use an indicalor at two 10calion. and is always defmed by the limits motions. all sharp chamfer.. To make the plunging to the full ma>(lmum deplh of' cut.u.

The complete program that follows heavily documented and should present no "'~r'.. Wilhoul Ihe advanced programming program could be done as well.'. because ofonlyFigure 42-8This example is not only a nale system rotation.J-r.429Its purpose is 10 shift(0nextCUJ3'U'UI. low its progress and structure. Although some difficult to underSland.program 04202RO.'-Vk of four sUbprograms..detailnrnl1rr!'lmTop and front view of the04202..4x 3 x 1/27 EQSP POCKETS SEE DETAILnmllrPflPn'... In two subprograms willG91 G68 XO YO R51.242-.--o1.15The main program x.TheXOYO remain the same will the angle will increment..".>.IVPC"CHIfWCof coordinate system rotation .. but also niques of using subprograms and lures. but il would ger and il would be virtually Impossible 10 machine.\. one cal.~.

.0 DIA FACE MILL . 360/7 = 51.H1>..0 Y8.MFERING TOOL ... .RIN ... 0 N3 2 Yl. .PETER SMID .. 0 DIA CIRCLE .125 F15..COOLANT OFF) lO3 G28 Zl.05) (SEARCH FOR T02 IF NOT N14 T02 (T02 TO THE SPINDLE) N15 MOS {CANCEL COORDlliATE ROTATION IF ACTIVE} Nl6 G69 N17 G90 GS4 GOO Xl.0 M09 Nl2 G28 Zl.MAX DEPTH OF cur O. DIA CENTER CUTTING END MILL .90 DEGREES .OS) (T03 . 0.0 N31 G4l X-2.0 H02 MOS (Z CLEARANCE FOR SETUP .COORDINATE ROTATION40304202 (CooRD. . ... .110 SUGGESTED . 0.0 M30(SEARCH FOR T03 IF NOT READY) (T03 TO THE SPINDLE) COORDINATE ROTATION IF ACTIVE) (Xl' START POSITION FOR PERIPHERAL CHAMFERING) (Z CLEARANCE FOR SETUP .429 DEGREES) (T01 3.ZO AT THE FINISHED TOP OF THE .SKIM COT TO CLEAN TOP FACE) (T02 . .375 Y-3.MINIMUM CHAMFER) / D51 .mATE SYSTEM ROTATION)(7 POCKETS ..125 SUGGESTED) (T03 / D53 . .. 3/8 DIA c:..COOLANT OFF) (Z AXIS HOME FOR TOOT. ..25 Nll GOO Zl. . ..OFFSET FOR CHAMFERING .1/4 DIA CENTER CUTTING END MILL .mEES) ms T03 m6 M06 N27 G59 lOS GSa G54 GOO X-2.O M09 (Z AXIS REl'RACT .3/8 DIA CHAMFERING TOOL 90 DE(.0 MOS N13 Mal TOP FACE) (ENGLISH UNITS) (CANCEL COORDINATE ROTATION IF ACTIVE) (SEARCH FOR TOl IF NOT READY) (TOl TO THE SPINDLE) (Xl' START POSITION FOR FACE MILLING) (Z CLEARANCE FOR SETUP .075) (APPROACH MOTION AND RADIUS OFFSET) (CHAMFER LEFT EDGE) TOP EDGE) RIGHT EDGE)BOTTOM EDGE) TO START POINT AND CANCEL OFFSET)ABOVE PART) TO THE CENTER OF POCKET 1) SEVEN POCKETS) COORDINATE ROTATION IF ACTIVE) (Z AXIS RETRACT .TO BE ADJUSTED) (INCREMENT OF ROTATION ..VERIFIED ON FANUC 15M CNC SYSTEM) (PARAMETER #6400 BIT #0 ..COOLANT ON) (CONTROLS 0.005 LEFT ON THE POCKET BOTTOM) Nl9 GOl ZO. 3. .HORIZONTAL LAYOUT) (XOYO IS CENTER OF 2.OFFSET FOR ROUGHING POCKET WALLS .O HOl MOS N7 Gal ZO FlO.0075 PER / D52 OFFSET FOR FINISHiNG POCKET WALLS .l XL 0 YO M9B P4254 L7 G69 G90 GOO ZL 0 1409 G28 Zl.O MOS (Z AXIS HOME FOR TOOL CHANGE) (OPTIONAL STOP) m4 MOl (TO) . 0.COOLANT ON) (ABSOLUTE DEPTH FOR CHAMFERlNG Z-O. . 0 MaS X-2.075 F50.O N8 Y3. .0 N9 GOO Xl. 375 NlO G01 Y-3..0 S4000 MOl TOl lO9 043 ZL 0 HOJ M08 N30 GOl Z-O.0 DIA FACE MILL .....5 Y-2.02 F30 0 N20 M98 P4252 L7 (ROUGH AND FINISH MILLING OF SEVEN POCKETS) (CANCEL COORDlliATE ROTATION IF ACTIVE) ml G69 lO2 G90 GOO Zl.O YO S2000 M03 T03 (XY START POSITION FOR THE CENTER OF POCKET 1) N18 043 Zl. 0 D53 F12.. .25 S3500 M03 T02 N6 G43 Zl.MAX DEPTH OF CUT 0. . .. .COOLANT OFF) (Z AXIS HOME FOR TOOL CHANGE) (OPTIONAL STOP)(T02 . .TE:RIAL 4 X 3 X ALUMINUM PLATE .MUST BE SET TO 1 TO ALLOW G90 AND G91) (WI... 0N34 N35 N36 N37 N38 N39 N40 N41 N42 N43 N44Y-L 5 X-2.0 ZO. .2.SKIM COT TO CLEAN Nl G20 lO G69 N3 G17 G40 GSO Tal N4 M06 N5 G90 G54 GOO X-l. CHAN'GE) (PART CHANGE POSITION) OF MAIN PROGRAM 04202)%.140 SUGGESTED . 5 GOO 040 Y . 5N3 3 X2..0..COOLANT ON) (TOP OF FrnISHED PART FOR FACE MILLING) (FACE MILL LEFl' SIDE) (MOVE TO THE RIGHT SIDE) (FACE MILL RIGHT SIDE) (z AXIS RETRACT .

4S YO X-O.225 YO XO. 07 5) (POCKET CONTOUR .POCKET 1) (START AT POCKET CENTER .OSm02 M98 P4253 ID03 M99(POCKET TOOL PATH AT ZERO DEGREES .OOS N203 M98 P4253 DS2 F4. Z .2 G40 X-0.1 G68 XO YO R51.04253 USED AT FULL DEPTH)(RETURN TO ASS. 429 m06 G90 Xl.1S YO.02 N205 G91 G68 XO YO RSl.15 XO YO.15 Y-O.2 10. MODE AND Z AXIS CLEAR POS.1S XO Y-O.1S Y-O.0 .O YO m07 M99 % 04253 N30l G41 N302 G03 NJ03 GOl N304 G03 N30S GOI m06 G03 N307 G01 IDOS G03 ID09 G01 IDIO G03 N311 G01 N3l2 G03 ID13 GOI N314 M99%(SUBPROGRAM FOR MILLING POCKETS) (ROUGH TO ABS" DEPTH Z .04253 USED FOR CHAMFERING) (RETURN TO ABS.IS 10 JO.175 F50.15 JO X-O.0 P4253 D53 FB.0 .05 XO.2 YO.429 Xl.2 YO.) (NEXT POCKET ANGLE INCREMENT) (MOVE TO NEXT ROTATED XY AXES START POSITION) (END OF SUBPROGRAM 04254).2 X-O.225 YO XO.IN BY O.15 JO XO.OS(LEAD-IN LINEAR MOTION) (LEAD-IN CIRCULAR MOTION)(CONTOUR (CONTOUR (CONTOUR (CONTOUR (CONTOUR (CONTOUR (CONTOUR (CONTOUR (CONTOUR BOTTOM WALL ON THE RIGHT)LR CORNER RADIUS) RIGHT SIDE WALL) UR CORNER RADIUS)TOP SIDE WALL)UL CORNER RADIUS) LEFT SIDE WALL) LL CORNER RADIUS)BOTTOM WALL ON THE LEFI') (LEAD-OUT CIRCULAR MOTION) (LEAD-OUT LINEAR MOTION)(ENDOF SUBPROGRAM 04253)04254 N40l G91 N402 M98 N403 G90 N404 G91 N40S G90 N106 M99%GOI Z-O. 05) (POCKET CONTOUR .235) (POCKET CONTOUR .0 N204 G90 GOO ZO.O YO(SUBPROGRAM FOR CH. 230 IN FIVE STEPS) (FINISH TO FINAL ABSOLUTE DEPTH Z-0.FEED .lS IO.lS IO J-0.2 Y-O.04253 USED FOR ROUGHING) (END OF SUBPROGRAM 04251)%04252 mOl M98 P4251 D51 FS.) (NEXT POCKET ANGLE INCREMENT)(MOVE TO NEXT ROTATED XY AXES START POSITION) (END OF SUBPROGRAM 04252)(POCKET TOOL PATH AT ZERO DEGREES .AMF'ERING POCKETS) (CHAMFERING DEPTH FOR POCKET AT ABS. 2 IO JO.2 Y-O. MODE AND Z AXIS CLEAR POS.40404251Chapter 42mOl G91 Z-O.O GOO ZO.2 JO XO.2 XO.1S YO.15 1-0.O L5 N202 Z-O.POCKET 1) X-O.

Reduction or Magnificationo Tool length offset amountoTool position offset amount/H /HIn fixedno! affectedare (wo by the scaling andalsoThe most common preparatory command function is 051. majority of scaling is applied to Ihe X and Y axes only.rtain values and preset function. Note the following two imponant ilems:o function is an option on many controls may not be available on every machine Some function as well may be used tor is used 10 make a new than the original one. Scaling Function UsageIn indusfry.. Through a control scaling can be made effective or i of the three main axes.:. n can· called the Scaling Function is used. To achieve this goal../DooScaling center Scaling factor. namely are notamountPROGRAMMING FORMATTo supply the control unillhegrammer mllst providerf'flIllH"P.. The programmer must supply both scaling center and the scaling Jaclor. The changed If (heo Cutter radiusReductionFigure 43·1IMagnificationComparison of a part reduction (left) and magnification (right) wifh a part in full scale (middle)ce. when the machining lOol path thal programmed once must be repealed. of extra work are some of the typical possibilities a scaling function can be beneficial:o o Similar parts in terms of their geometry Machining with built-in shrinkage factor Mold worko oto metric and metric toconversionoflexibility in programming.mdGSOScaling mode cancelooX and Y shift amounts inPeck drill depth Q in G83 and G73G51Scaring mode activeo Stored relief amount for G83 and G73. Ihere are many applications for1001Ipath. namely with Datum Mirror Image alld ordinate Ro((lfion described inFor evenDESCRIPTIONa scaling factono all means the programmed value Scaling process is nothing more value by the scaling than multiplyi factor..Fig tire /. but machined as smaller or larger than the original. but not for any additional axes. canceled by the eomm. Scaling is (increasing size) or redllcan ex i51! ng loa I ra Ih .It is important to amounts are not various offsets. a programmed lool motion a center lhe dimensions of the with culler radius offset in effect. based on a scaling center point.SCALING FUNCTIONNormally. The result is many hour. Pivot polnt . the with other can functions. yet slil! keep il at Ihc same lime. Occasionally.

A1 to A8 is the original path. with a scaling factor LESS than 1.IIn order toof the scaling center (absolute) of scaling center (absolute) of the scaling center (absolute) (0. As the center point conlocation of the scaled tool pafh.'\""\n't>ri as ahsolute values.through a system parameter ..he smallest factor.b Scaling factorcFigure 43-2 Comparison of scaled part location based on [hecenterthemaximum scaling factor is related to !. "r.to preset the scaling factor to either 0. The more advanced CNC can set .aconnecting individual points are used visualization of the scaling function.00001..406Scaling function uses program formal:ewhere . the line always connects Lo contour change point. with a scaling factor GREATER than 1. including the work through G59.001 as Scaling faclOr is independent of the units or G21. from scaling center C. 81 to 88 is the scaled tool path C.... The B point is always a midpoint tween the center poim C and the corresponding A point In it means that the distance between C and 85 and AS is exacl1y lhe same. ..ASA1A4Scaling CenterC :: SCALING CENTER15M uses IIJIK La specify the center point of scalin XlY/Z axes respectively. can only be scI LO 0. These values are . il is important to know one major principle:N .... FULL SCALE "MAGNIFICATIONon theA I to A8 and points B 1 to B8 in the illustration contour change points of the Lool path.001 or 0.. Other can be active. tool path A1 to AS is the scaled tool path aboutcenter C.00001 increment)J Kpshould always be programmed In a to the machine zero rcand should always be If the G92 is used for function is activated.If the tool path 81 to 88 is the original path.001 or 0.

03936 o 499872 mm..75 FlS.O<XH28" Magnification.PROGRAM EXAMPLESThe first '-''' . errorofO. the largest When the smallest largest programmable scaling factor is set to 0.0 Nl5 G28 X-l.. mainly due to values.03937rom> Inch 12...000126". Given the choice.75'1Irom1. 038 "" 0.7 F50. using a one cut around the part periphwithout any scaling.' .0047.AU.500o Usi0.001 minimum scaling factor:.. 1 block.1romin this case is 100 to convert the value of 1.rogram.2S S800 M03 N4 G43 Zl.yr.03938 0.001 factor the smallest. which equals exactly to 0.04301 (BASIC PROGRAM USING GS4 .75 001 F25. (magnification) or 0.0 N7 Yl..7 rom o 499999 mmx 0. " Noo Scaling factor1are rather extreme is to be applied.7 rom x 0.O HOl MOB N5 GOl Z-O."accurate.5625".7 rom x 0.001.7 rum x 0.25 Y-l. at cost of precision and precision at the cost of the majority of scaling applications.. error of 0. Now0.99999. issimple .O N14 G28 Z1. 75 Nll X-L2S Nl2 G40 Y-L 25 M09 Nl3 GOO Zl. For example. scale is only 9.040 = 0. the by default.4953 inches rom > Inch 12 .0 N6 G41 X-0..nches must beT\rl'\l'Ir'!>'rn. Common terms factors are:o oScaling factor > 1 Scaling factor = 1<:oUsing 0.5rom= 1." error of 0.500126 rom rom > Inch = 12. the programmer has to decide bet\veen . the uses the standard multiplying factor which is an exact conversion factor.r<.Figure 43-4.n.6875 romFigure 43·4 Drawing to illustrate scaling funcfion programs 04301 and 04302is no problem.SCALING FUNCTION407is set to 0.7 rom x 0.4= 38..ISHnp..5inches x 25.-.5625 inches x 25.4826 inches rom> Inch 12.25 Nl6 M30%./ .00001 minimum scaling factor:rom> Inch= 12. is quite sufficient.r-00.R1.. The resulting shown is also 100 percent accurate within the normal programming in '-'''. for example.95 (reduction) is expected accuracy of the fmal precision.00001.0080N9 G02 X2.7S IO J-l 0 NlO GOl Y-O.5error amount with different nun.. 7 rom x O.5080 inches'" error of 0.ON8 n.5 YO.039 = 0. In order to convert a 1. the 0.0174rom > Inch 12.4 = 39.NOT SCALED) Nl G20 N2 G17 G40 GSO N3 G90 GOO G54 X-l.0 Rounding Errors in Scalingconversion process should some inaccuracies.... error of 0.25 Y-l...5 inches to its in i.

0Original contour'\.5 m04 Gal X3.2S0 IZ-0. S I'lll G02 X2. KO Cdn be omitted in G51.0 DIA END MILL) N1 G20 N2 GSO (SCALING OFF) N3 Gl7 G40 G80 TOI N4 M06 NS G90 G54 GOO X-I. 0 Y-l.5 PO.O F1S. Figure 43 -5 is the original conlour. There are significant differences between various control models.0 Y-1.O N8 G4l X-O.O N703 G02 XO..0)Figure 43·5 Original contour in full scale7/8 SCALE AT Z-O.0 Jl.7S DOl F2S.0 Y2.0 RO. 5The scaling function offers many possibilities.O N19 M30%I Z-O 5003/4 SCALE AT Z-O.0RO.0 (0.VERIFIED ON YASNAC ISO) (TOI = 1.0 Jl.25 Nl4 G40 Y-I.. Note the very imponant blocks N712 and N713.75X AT Z-0.O I'll7 G2S Z1.0 YIO.35 (O.O Nl12 GSO (SCALTI1G OFF) N713 X-I.5 MOS IDa GOO X-2. 25 Y-l.7S (RUN NORMAL CONTOOR) N12 M98 P7001 (SET DEPTH) Nl3 Gal Z-0.5 YO RO.S RO.0 NlS G28 X-I. OS FAcroR) I'll G20 N2 G17 G40 G80 (SCALING OFF) N3 GSO N4 G90 GOO G54 X-l.O HOl MOB (FROM XOYOZO) N6 GSl IO JO KO PI. a I'll2 GOl Y-0.""""'---Chapter 434.S PO.5 m09 G02 XO YO.7S IO J-l.or 5% magnificationand scaling center at XOYOZO.O I'110 Xl.S PO.-\.5 YO.a (RETURN TO ORIGINAL START) N714 M99%07001 (SUBPROGRAM FOR G5l SCALE) (D51 '" currER RADTI7S) NlOl GOI G41 XO D5l m02 n.O Yl.5 N706 GOI YO. Check the related control parameters and make sure the program reflects the control settings.408Program 04302 is a modified version of 0430 L II i 11eludes a scaling factor value of j .5X AT Z-0.S Y3.125 F12.2S (0.S Nl07 G02 X3.75 FIS..S HOl MOS (SET DEPTH) NI GOI Z-0.O mIl GOI G40 Y-I.2S0) Nll G51 I2.05 .2S Nl9 M30%.START/END POINT (X-1.S Rl.53.0 N9 Y1.a Y-l.0 J1. 0 S2500 M03 N6 G43 ZO. Each contour must start from lhe original start point!04303 (MAIN PROGRAM) (SCALING FUNCTION .350!Program 04303 is more complex.S (RUN NORMJ\L CONTOUR) N9 M98 P700l (SET DEPTH) NlO Gal Z-0.12SIScaled contoursFigure 43·8 Scaled contours at three depthsNlOS G02 X4.5 moa GOI XO.875 (RUN NORMtIL CONTOUR) N15 M9S P700l N16 M09 N17 G2S ZO.12S) N8 GSl I2. Program starts with the smallest scale and works down.S RO. 25 Y-1. 2S M09 (SCALING OFF) N1S GSO I'll6 GOO Zl.7 FSO.OSO NI GOl Z-O.350) N14 GSI I2..04302 (PROGRAM 04]01 SCALED DY 1. Figure 43-6 shows contour details with new scales and depth.87SX AT Z-0..7S N13 X-1.5 NllO G03 X-I..s FIO. 25 S800 M03 NS G43 Zl.

A key switch is avail 44-} shows the dicannot be opened. it is necessary conlrol.external Note the setting of the CHUCKSeveral other mable Opl o Parts catcher10o o oPull-out Tailstock and quillrunctions Ihal conlrol the chuck or ing arc normally available. found on the ma-CLOSED .409.. Typical M functions \0some applications. such as open and close theng.l Ml. interlock. so it is worth lookjng at rhem in some detail and Wilh a fewexamples of their programmingCHUCK CONTROLIn manual operations. a chuck is because il is protected by anOlher Important feature of close depend on the method nal. others as per machine designconlrol arc:Some of these are fairly common.that hasis a very si Il1pl i tied sequence. Two MSteady rest I follower resto oPart stopper . Chuck functionsAllhough the assigned funclion'» may vary Cor application is exactly the same. III most CNC machines have at someTHE ACCESSORIESCHUCK switch set to CHUCK CLOSED switch set toadditionaleither as a standardare a certain amountor asINOUTtime to lathes are also equipped with accessones that arc usually of the most noteworthy and typiadditions (or features) of this kind are:o Chuck controlooTailstock quillFigure 44-1o 8i-directional turret indexingBarleederalso be available asPart chucking .CNCmachine can be equipped with additional acto il more functional or functional in a parlicular way.l M03(STOP SPINDLE) {OPEN (DWELL 1 SEC:OND)(CLOSE CHUCK)(RESTART SPINDLE)are relative LO the . amounted on the when the CNC a or a special fixture a foot pedal.:SLOp and dwell:a lathe normally opens andsafety reasons. the lime required for the bar (i'or example) 10 through to spinthe stop posilion. in which the clwd I I::. Some barfeeders do not dle \0 \0 feed the bar Lhrough have a special programming rouline of their own.. An-MOS Ml.O G04 UO. ForExample:programming procedure would Indue!.

usually within lh~ same Such special jobs will benefit from a mabie chuck pressure control. A tails[ock may also be to support a finishing operation of a thin lubular stock. Boredchucking pressureCORRECTFigure 44-3I TOOBored DiameterTOO SMALLTypically.A very few CNC lathe manufnc!Urers offer a pressure. there are Jobs rethe chucking pressure to be increased (tighter p) or (looser grip) frequently.mck area. (00 large. spaced I--oo QuillbodyoAll parIS are important In programming1Figure 11-2ilstock BodyTvpical three-jaw chuck lor a CNC lathebody is the heaviest part of the latht! It IS mounled 10 the hed orllle lathe. mode in manual mode.410cfln also be used on {he machine. On most is contTol1ed by an adjustable valve.Soft jaws diameter bored rnnrprllU. the part has to reclamped in either function can replace the olher. or needs La be extra against the jaws. it is illnOli-standard miscellaneous function. il is not changed very often. Its that is too long.Ihree jaws. for example. lUrb lis position in [he holding If sure fcalUrc is present on the lalhe.44IIwillChucking Pressureamounl of force required to clamp a is called the chucking pressure. buton a CNC lathe. If they do. eilher manually during a or lhrough a programmable option. jaws may be hard (usually serrated for (normally bored by the CNC operator to Only soft jaws can be modified . usually in Inil. hydraulically. or [0 supporl a parllhal has a shallow In il from flying out.TAllSTOCK AND QUI Jawsto programming. On the negative usually in the way of lOol motions. In some turning operations.one correctly bored In bmh incorrect ver· or bOlh. Once the chuck pressure has been sel. may suffer. Programmable tai is norm<llly available only as a faclory installed option and must be ordercrl :lIthe time ma-. so make sure A typicaltailstock has three main Tailstock is iJ very common main purpose is 10 ncovers lipstoMosl chucks44-2. However. supplied by tile lathe manufaclurer. lorBored Diameter .

s<l. the (Wo taiJs(ock functions have the clamp/unclamp functions built-in.fcty is at least a<.Unclamp the tililstock body Move tailstock body forward Clamp the tailstock body Move quill forward into the part5. let this procedure serve as a guide . important as for other operations. 3. a CNC lathe will use these two M functions:Body of lailslock forwardCenterCenter is a deVice thaI is placed into the quill wilh a tapered end.Here is a lypical programming procedure [0 move a tailstock towards the part. Machined part has to be pre-centered (on the CNC lathe or before). When the tailstock body is mounted (0 (he lathe bed in a rixed rosilion. the M 12 and M 13 functions may be used. for example. Move quill backward from the part Unclamp the tailstock body Move tailstock backward Clamp the tailstock body Guill functionsProgramming the tailstock quill motion is just about the same for the majority ofCNC lathes. the other for unclamping it.M13Tailstock quill OUT or OFF = Inactive Safety ConcernsWhen programming ajob lhat uses the railstock..M22Body of t{]ilslOck backwardOn some CNC lathes. there may also be two additional M functions available. or in. The safest is an approach from the lool change position (ov. 8. In many cases.CNC LATHE ACCESSORIES411 Programmable Tailstock GuillQuill is the shiny cylinder that moves in and out of the tailstock body. Many different Iypes of programmable tailstocks are availabk. for examrle.... using the same anglc of Ihe \001 as the lailstock center (normally 60°). 7. but thiS feature IS available for many CNC lathes as afactory installed option.. usi ng the M 13 funclion.OUT (retracted lor work change) ( 3) Center ( 4) QUlI/. For the setup. The tool molion towards the part at (he (oo! rath beginning and its relurn La the lool change position is critical. reverse [he order . The two Iypical functions are:M12Tailstock Cjui II IN orON. fhplJ move the Z ilxis (both <lxes usually move to a safe tool change position).firs! reIract the X :1xi" nhovc (he pm!. Rather than presenting an actual programming exampJe. if the tallstock has an internal bearing.IN (in work support position)1. On return from a clear position close to the work..'ards the part along the Z axis firs!. the quill is moved oul to support the part. 4. one of them rOT clamping the tailstock. or a swing out type.6. A typical lailslock defined as programmable can be programmed using two non-standard M functions (check these functions).If the quill is supporting the part. It has a fixed range of travel.fill-in the M funclions required for a particular CNC lathe:Figure 44-4Typical rai/stock for a GNG lathe: ( 1) Tai/stock body (2 J Quill. a toggle switch on the control is provided to operate the qUill. il is in. There are two miscellaneous functions !har work the same way for a programmable and non-programmable tailstock body. it is OUl.Spindle should be ON when the quill fully supports the. Depending on the design. 2.ilf:liwSome procedures take certain amount of time to complele. I f [he qui II is not supporti ng [he part. a 3 inch travel may be found on medium size lathes. do some machining Lind move it back. 10 alIowa part change.. 9.. If the tailstock has no imemal bearing. A typical tailstock is illustrated in Figure 44-4. The part itself is supported by a center. a slide-type thai moves left and right only.. a live center must be used instead. and on many lathes. held by a matching internal taper and is physically in contact with the part. Ihat is out of [he way when not needed. even i r [he time is measured in seconds. That means it has to be ordered i[ when making the initial rurchase: the dealer cannol adapt the option to the machine at a later date.Tailslock body is normally not programmable (only the quiJi is). For the example. [hen the X motion. using the M 12 function. It is gent:ral!y recommended to program a dwell function 10 guarantee !he completion of one seep. mounted in the quill. do the required machining operations . A reVIC\\' of Chapter 24 may help. a dead center can be used. before the next step ~tarts.

7) N26 G96 5500 M03 N27 GOO G42 KJ. The nextexample shows how and where to place the M ["unctions.006 UO. II makes sense.O ZS.412Chapter 44BI·OIRECTIONAl TURRET INDEXINGAnOlher efficiency feature is a hi-directional turre! indexing.O Z5..0 M30(QUILL OUT) (1 SEC. However. when going from T08 to TO I.012 NOO UO.S FO.l T0202 Moe G01 X3. which is rather an inefficient method.0 Z3. Otherwise.62S Z-O..685 Z-0.SET INDEX FORWARD) N2S T0100 (SHORT FROM TOa TO TOl WITH MJ.008 N29 Z-2. DWELL)/N22 Ml21N23 G04 Ul. that a bi-direclional turret indexing should be used for efllcicncy. so check the machine 1001 manual. Ihat means an automatic melhod of the turreI indexing (the comrol decides the direction).T0200 (SHORT FROM TOl TO T02 WITH ill?) G96 5600 M03 GOO 042 XJ.385 ZO.ON24 G50 M1.25 N1? X1S.. It has to be programmed. BOlh functions are non-slI.. then from T08 [0 TO I in forwru-d direction.5 FO. DWELL) (QUILL IN) (1 SEC.01S GOO G40 X1S. . Many CNC lathes have a so called hi-directional indexing built-in.0 ZS. A fter all.2 N9 G40 XlO. assuming thcconlrol allows thal.03 N7 x-O.3 GOO ZO.O? FO.?Figure 44·5Programmable bi-directiona! turret indexingIn an example.1ndard. There is no problem to index from TO 1 to T08 or from T08 to TO I. DWELL)(mID OF PROGRAM).OOS G04 UO. All tool mOlions are realistic but not important for lhe example.lhere will be two miscellaneous functions available to program turret Indexing. a programmer is working with a lathe that has all eight starion turret. M functions described earlier are used here:04401for turret indexing are:TO j·-T02· TO] . 0 N1l N12 N13 N14 N1S N16(TAILSTOCK FORWARD)(2 SEC. from TOl [0 T08 in backward direclion.OS FO. T03-T02-TOlM17 M18Indexing rorwilrd: Indexing backward:Figure 44-5 shows an example of M 17 and M 18 funclions for an 8-sided turret. 2 NOl GOO G40 X10. in Ihis case. Tool Tal will be used first.2S TOSOS MOB GOl Z-O.O T0200 (SPINDLE STOP FOR TAILSTOCK) MOS (OPTIONAL STOP) MOl ill3 G04 Ul. in normal programming.32S ZO..2 FO.l TOlOl MOB N28 GOl X3.2 TOlOl MOB N6 GOl ZO FO.0 TOIOO N10 MOl TOBOO (SHORT FROM TOl TO TOB WITH MlB) G97 S850 M03 GOO XO ZO.(BI-DIREcrIONAL INDEXING AND TAILSTOCK) N1 G20 G99 IDS (SET INDEX BACKWARD) N2 G50 81200 (LIMIT MAX RPM) N3 T0100 (SHORT FROM T02 TO TOl WITH M1a) N4 G96 5500 M03 N5 GOO G41 X3. then 1001 T08 and then back to (Ool TO I again.05 FO. If [hat fealure is avuilable on the CNC lalhe. DWELL)N42 N43 N44 N45 N46%(TAILSTOCK BACKWARD) (2 SEC.007 N8 GOO ZO. TO 1 and T08 may be far apart in numbers but Lheyare next to each other 011 a polygonal turret with eight stations.85 ZO. there is a certain benefit in having a programmable 'lI1dexing direction.3S FO. The order of numbering the rools all rhe turret may nol be consistent from one machine (0 another! The Icrms!OIward and backward are related to such order.004 Z-2.O TOlOO N32 MOl (OPTIONAL STOP)N33 N34 NOS NJ6 N37 N3a N39 N40 N4lIf the automalic bi-directional indexing is not built in the machine. The control system will always choose the shorteST method.O M22 G04 U2. the indexing motion will pass all olher six stations.Typical M functionsProgramming ExampleThis example is a complete program incorporating the bi-directional indexing and also shows hoe to use a fully programmable tailstock.0 T0800 NI8 MOS (SPINDLE STOP FOR TAILSTOCK) N19 MOl (OPTIONAL STOP) N20 M21 N2l G04 U2. using the automatic turret indexing direction.(NO MAX RPM .

quill moves out. stock material economy and high spindle speeds can be achieved on many models with many Olher advantages. As an example. Thrl( means M 18 bas to be programmed at the program beginning.Watch how (he M 17 or M 18 functions are programmed their location in a particular block is very important. Ihink of an oversize tool mounted on Ihe turret. there are some benefits in having [he programmable method available for special machining occasions.0STOPPERI?G~Figure 44-6 Bar stopper position for bar travelBARFEEDER ATTACHMENTBarfeeder is an external allachment to a CNC lathe that allows small and medium cylindrical pans to be machined without interruption. Ihen (he tails lock body moves backward. in terms of how far it has to move au! of the guide tube. after which T02 comes to finish the chamfer and diameter. The functions conlrolling (he chuck opening and closing. to get a short indexing from T02 to TO I. This is the amount to be faced off (20 at the front face assumed). These oon-standard miscellaneous functions are (in the example):M71 M72 Barfeeder ON .BARTRAVELBAR. flere is the sample program:. no sofl jaws Lo bore..functions. When the center drill moves in a clear position. the programmer has a complete control. There are many advantages of using barfeeders. available in Ine form ofM 17 and M 18 miscellaneousor similar . spindle stops. {he block skip function.it will take a few seconds extra time. Programming such a setup in a way that will never cause Ihe turret to index full 360 0 al any time is possible. Many ingenious designs of barfeeders do exist nowadays and the programming method is heavily influenced by the design of the partjcular barfeeder. This may not be a typical situation . unattended operation is possible (at least for an extended period of time). sawing operations are eliminated (replaced with a much more precise part-off 1001).Bar StopperAlthough the bar movement from [he guide tube is con-trolled by the chuck open and chuck close functions (M I0and M 11). the target pOSItion for the bar slill has to be provided.At Ihe encl of the joh. up to the number that can be machined from a single bar of several feet long.CNC LATHE ACCESSORIES413Bars of material are stored in a special tube that guides the bar (by pushing it or pulling it) from the tube LO Ihe area where machining takes place.. the M99 function and several special functions. the center drill. The operator sets the tailslock position. The tool is perfectly safe.This example first uses TOI \0 face stock to {he spindle center 1ine. T02 is in the active position.how do we fwd out if the available CNC lathe has a built-in automatic indexing direction (shortest direction) or a programmable direction? There is a good chance that on CNC lathes where only the forward direction Lakes place (automatic indexing is nol available). (here is a feature called the programmable direcTioll. but it can happen quite oflen. All this leads to one question . When the finishing is completed. as long as it does nor index the full swing of the turret Automatic indexing has 110 provision for such a situation! With a programmable indexing.. rather than Ihe old mechanical design.start Barfeeder OFF .it only sets the direction! TxxOO will make the actual indexing. It will use the M 10 and MIl functions.stopThese functions are only examples and may be different for a certain barfeeding mechanism or unnecessary altogether.025 shown). tailsiock body moves forward and locks.. Then T08 comes I n.. Figure 44-6 shows the example. Either function by itself will nol cause the turret to index . particularly those of the modern hydrodynamic design type. Many of Ihese functions had been discussed earl ier. and makes a center hole. but also another two functions thai mayor may not be required for a particular barfeeder. Although the tendency on modern CNC lathes is to incorporate the automatic tunel indexing direction IOto the control system (which means thaI Ihe control system makes The decision). This position should be lower than the bar diameter and on the positive side of the 2 axis (. The only limitations are the bar length and the bar diameler. then the quill moves into the work. For example. are Iypical aids and tools available for programming barfeeders.The program is quite simple. TO! comes back to rough Out the chamfer and diameter.. They are specified by the barfeeder manufacturer and the spindle bore diameter of the CNC lalhe.

04403Tool station 1 (TO 1) holds th e bar stop per (N 1)Initially. the moves the srock oul of and Ihe whole program indefinitely block skip switch on control panel is set to lion. DWELL)mointercept the part and move box is often in the area can without danger. Another two to each other accessories that are also often related Continuous Operationfor setup M30 .Ol. dam-the M99 function is mainly defined as the end it can also be used in the main program (as In that case.62S T0707 MOB POS.N4 G04 U1.0 to 2.. N9\ and N92. FO.125 ZO. 0M1lG04 01.2 Z-2. or may not be that rare. 0N5 M7lN6 N"7 N8 N9There are tWO nona parts catcher:G04 U2. is an optional stop.125 wide ing off a 02.O T0100 N1l MOl(CHUCK CLOSE) (1 SEC.AM)ADDITIONAL OPTIONSarea CNC lathe thatThe T07 in is a .} NBS M73 (PART CATCHER ADVANCE) N86 GOl X-O. but dure for the barfeederconsiderations forthe recom mendedIN91 M30(CONTROLLED END OF PROGRAM)Nn M99 %(RESTART FROM THE TOP OF PROGR.are:known as Part UnloaderooPartPull·OutBoth are commonly used together wilh tlons and use two miscellaneousopera- Part Catcher or Part Unloadercommon accessory for a continuous machining. In the there is a special nique used.repeat the Since the first 1001 will normally have a programmed.O T0700 (SAFE XZ POSITION) Na9 M74 (PART CATCHER RETRACT) N90 MOl STOP)These are some a bar slopper. ll1at means the program will not end there and the will continue [0 [he block where M99 is programmed. DWELL) (BARFEEDER ON) (2 SEC. to continuous on the last three blocks.Some maybe chip conveyer.404402 N1 G20 T0100 MOS N2 GOO XO.004 (PART-OFF MOTION) N87 GOO X2.0M72NlO GOO Xl0. N90. DWELL) (BARFEEDER OFF) (CLEAR POSITION) (OPTION1»L STOP)The following program example illustrates how eachA important notes helpful to develop aoostopper mayfunction is programmed for a part-off 1001.without interruption .2 M09 (MOVE ABOVE STOCK NBB XIO. rest (a moving too! support for help prevent or deflection on a relatively long part or a part with Lllill walls.0 ZS. the control system will n01 process the instructions in block N91. a cess. and .5 length.O ZS.500 NB3 G96 S350 MOl (SPINDLE SPEED) N84 GOO X2.and of block.AM)TOOL ACTIVE)oo oSpindle rotation must be stopped prior to the chuck opening All miscellaneous related to the barfeeding should be programmed as separate blocksDwell should be not excessive for the task but(LIMIT MAXIMUM RPM) N82 GSO 5l.025 T010lN3Chapter 44IS BAR STOPPER}(STOP POSITION)(CHUCK OPEN) (1 SEC. it causes a continuous proThe M99 function will the program 10 return to the lap. the chucking of the bar (for each first piece from the bar) is done manuallyN1 G20N81 T0700(TOP OF PROGR. Then the M30 over and M99 in block will no!. as il is IS \0 calch completed part the completed . lypicallyN91w baifeeding as well .the end in front of the earlier in Chapler When the block on [he panel is set to the ON position. is part carcher or part unloadel.

02.004 GOO X1..N23 G04 Ul.7T0300 G97 S1400 M03. until been machined.. or as an add-on to an existing 1001. DWELL)than itspart-off:oI.OB.. move to the spindle centerline ~XO). second for the finger to complete.BAR STOPPER) N3 GOO XO.1. ZO.125TOl TO T03)WIDE PART-OFF TOOL)RPM)08. DWELL). ascending orderCount down number for the cOUn( is usually ity or the required number of parts from a at the end of lhis chapter will counter function and other features.0ON)(1 SEC.S T0101 (NEW BAR OUT 1.O Z2. the structure will lar 10 Ihis formal (item numbers rArrpt:1C"H.0 (1 SEC.S(ITEM 01) (ITEM 02) 03) (ITEM 04) (ITEM 05) (ITEM 06)(ITEM 07)(ITEM 08)U1. DWELL)12.NS Ml.a ... The lathe opera~ of parts when starling a new requires a careful study.FEEDER ON) Nt G04 01. UO.CNC LATHE ACCESSORI415In programming terms. G99N . _ _ .. This is a typi-to modi fythe program structure to suitre-of any unique setup in the machinePROGRAMMING EXAMPLEa com-for barfeeders of the 'pull-type '. or by selling the number of required parts on the They may also be programmed by neous functions. DWELL) N6 M7l (BAR.Pull out the bar stock from the guide tube.. Pull-Out Fingera pull-out finger is a device (CNCthat grabs ana pulls the bar out of (he tube (while the chuck is open). and a axis position about half-way of the overall bar projection. It does practical and advanced features.0 (CHUCK OPEN') N5 G04 U1.OON . N N N .O Z2.to the tool station where is mounted. Spindle must be stoppedMOS!At a rate. N N N N T:loc Parts CounterThis kind of unattended lathe machining uses anfeature of the control system .02 FO.Ope n the chuck with M10.1.N19 MlB N20 TOlOO MOS N21 GOO XO.ll.. Normally.07. either as a tool' . Since these acwith the spindle rotating.GOO G98 G04 M1.05 STOCK ON FACE) (CHUCK OPEN)(1 SEC.0 T0100(CHUCK CLOSE)N10 MOl N11 N12 N13 N14 N15 N16 N17 N18M1. the pull-out is mounted in the turret.S Z ..Ithe exact pull-out fingeris abOUllhe same .n list):04404N .1.GOO Xl_2S ZO T0303 MUS GOl X-O.O N24 M71 N25 G04 01.05 T0101N22to the safe start position.2S M09 XS.feed-in towards the bar as Dwell for about the bar stock. for example:CountSlml-.l G04 N.0 (1 SEC.Reinstate the 'feed·peHevolutlon' mode. F uo. in order to prenumber available tool stations.09. G01 Z F .__ POSITION) (OPTIONAL STOP)05. for the finger to catch03..Close the chuck with Ml1.5 CUT-OFF) Nl Ml8 (INDEX T03 TO T01) N2 G20 TOlOO MOS (TOl .parts caunter.0 T0300 MOl(START POSITION) BAR END) ABOVE BAR) POSITION) (OPTIONAL STOP)10..l Zl. may be counted via a program (usually a user macro).0 Z .nobarfeeding operation. (ITEM 09) (ITEM 10)N X Z T>oc. GOOMOS XO Z . yet they they are programmed in the G98 lime (in/min or mmimin).. Dwell for about the pull-out. all of mostly in Ihis ch(lpter:04405(Nl TO IDB FOR NEW BAR ONLY . bar stock. Dwell for about 1 second to Move the pull-out finger away from Return the pull-out chuck closing. N N .N9 XS.0 GOl G04 M1.04.5) N4 M1.moTO) TO T01) (TO 1 BAR STOPPER) (0.

9) N50 'M99 P19%N41 T0300 (T03 .0 TOlOO STOP) Mal (INDEX TOl TO T02) m7 (T02 ~ FACE-CHAMFER-TURN 00) T0200 SPEED) G96 S400 M03 (START FACE) GOO G41 Xl. Hopefully.O Z2.OO) (CUT DIJi"MErER Z-l..57 (COT GOl XO.2S Z-1. 25 POSITION) N46 x5.07 FO.004 (PART-OFF TO ABOVE BAR) N45 GOO Xl.025 FO. It is not to cover any specific procedures into a ence material. n~""'r<.125 T0303 MOS N44 GOl X-O.0 T0300 N47 MOl {OPTIONAL (INCREASE PART COUNTER BY 1) N48 'M89 / N49 M30 (CONTROLLED END OF .007 (CLEAR GOO ZO..0 Z2.O Z2.2S ZO T0202 Moa FRONT) GOl X-O..26 FO.l (RESTART FROM BLOCK NJ.02 FO..l (CHAMFER G42 XO.""·.0.0 T0200 STOP) N40 MOl44N43 GOO Xl.:2 FO.Ol (CLEAR ABOVE BAR) UO.416N26 N27 N28 N29 N30 N31 N32 N33 N34 N35 N36 N37 N3 8 N39(CHUCK CLOSE) ml (CLEAR POSITION) XS. the ideas presented In this chapler will help to adapt any manufacturer's recommendations and understand them better. 02 POSITION) GOO G40 XS.125 WIDE PART-OFF TOOL) N42 GS7 S1400 M03goes with and the mamanufacturers use a number functions to deactivate a particular accessory.92 Z-O.

. Z. K.plane "'''H~'''''''interpolation in a profor acircular inler-Q Using arc centers IJK for CW and CCW motion:G02 GO)important:CCW motion:=x . it is a form '-''''~u"w interpolation . R F GQ3 X . ilthe Z were..HELICAL MILLING Helical InterpolationHelical interpolation is usually a special option thai is designed to be used for cUlling a arc with a third dimension. x .. F .. the third dimension is the Y axis In G19 YZ plane .Using radius R for CWmotion'NOle that there is no Z lact... Z. I. J .an arc mali on or a(the plane that is most of the cireu lar i nlerpolal ion wi 11motion is always synchronized by the conal! axes reach the target location at the same time.HELICAL MILLING OPERATIONWhat exactly is helical milling? Essentially.. with linear motion along the remaining axis. R . F . il will nOI not work.. unless conlrol has a special fealurecalled theoption..... L J .normally. the third is Z In the active plane G 18 (ZX). Programming Formatgeneral formalS gram are similar to the polation .. the third dimension is Y and in the active plane G 19 the is the X axis.. milling a little closer. I. The third dimension is by the active plane:o In G17 XV plane ..oF ..Q Using arc centers IJK for CWCCW motion:UsingRCWG02 Y .. the dimension Will be a linear motion that isplane.The plane selection polation block which axes will program and what their function will417. Y. F... z .~uu'c'-'...Y ..a helical interpolation can statement:Helical interpolation is a simultaneoLis two-axis motion in the working plane.the third dimension is the X axisx .tion in the same block. I. F . J.. Y . y .plane G 17 (XY). Y ..x . F.... J . K.=Y.. the th'lrd dimension is the Z axisoG03In G18 ZX plane . That means it will cular milling.it is a programming technique to arcs and cirdes combined with a linear interpola-In all cases. Let's look at the . during the same mol1on .Inoperation is only available for CNC machincenters as an optional feature.

three conditions must before writing a program:oa Control system must support the operation Diameter to be threaded must be pre machined Suitable thread milling tool must be selectedaAll three conditions must exisl simultaneously..ITl-UUHtwo axes (hat form motion linear motion no innuence conlrol system supports the direct radiuso o otraditional UK vectors). most common industrial lion feature of the control. The last two applications are similar.. the physicalautomatically.oo opower of the tool versus the cut 1/5th is not unusual) different thread pitch sizeTHREAD MILLINGon predominant a CNC machine. method of thread generating is tapping. These benefits are otoThe arc functions are programmed using the same principles as in but will be differentfor is a summary in a table:ActiveArc vectorsA large thread diameter· virtually any diameter can be thread milled (with high concentricity)Smoother and more accurate thread (only thread grinding can be more accurate)oG17G18zyI and JI and Ko Combination of thread milling within a singlesetup eliminates secondary operations oo Full depth thread can be cut Tap is not available Tapping is impractical Tapping is difficult and causes problems Tapping is impossible in hard materials Blind hole tapping causes Part cannot be rotated on a eNC latheG19xlOJ and K(.. fhread hobs....For successrul thread milling.. On CNC lathes.the pilCh of thread is built info The cutter.. although used less frequently and will be described later ill this chapter as well. In both cases..". there is one common for both types of cullers .lIIInt1 has to be done with one tool Thread deburring .''''IO No need in tapping) tapping headsthe three gTOUpS. it may be the only special machining ap-Left hand and right hand threading has to be done with one toolExternal and internal . Fnl".!">. On machining centers. withinooUApplications and Usagehelical interpolation option is not the mos[ method. notConditions for Thread MillingApplying Thread MillingThere are many cases in lapping or the point difficult. but the majority threads are machined by the single point the block method of 032.Thereo One tool holder can accept inserts for oReduction of overall threading costsare two familiar methods of producing aenhances other threading it Lhem..418 Arc Modifiers for Helical InterpolationThread milling can be used in special benefits. r . It uses special threading cutters.. the simpJe cycle repetitive cycle G76. or impossible in a difficulties can often overcome milling melhod instead. a lap is (without the use of a cycle). the lhread milling is by far mosl common method of helical interpolation applied in industry and is described next." or eliminatedoo o oomilling Helical profiling Helical rampingo oLlof high particularly inExtended Elimination of Elimination of <1vrU". normally cycle G84 or 074. or special multi tooth thread milling cullers.

For internal thread milling. A curvature of a common screw thread is a typical example of a straight helix. Perhaps it is time to look at the terms relating to thread milling in more detail. A dictionary definition gives us some clue as to its meaning . this way:Figure 45-/ Typical thread milling cutters. only the pitch.this is called the dearanrP anglp This clear. Inc. the threading tool pitch must match the pitch ofa thread required by thedrawing. The main word that is used in this context is the word helix."This quite detailed definition means that the helix is a curve created by a circular mOlion of a poilIl 011 a cylinder or a cone. Thread Milling ToolThe thread milling culters are available in alleasltwo varieties .250 inch (6. but cannot fit into confined areas. There are many sizes of thread cutting tools available.. single insert (middle) and a double insert (r(qhtjPremachining RequirementsA hole for a tap cannot have the same diameter as [he tap itself. Solid carbide (left).the combined effect may shorten the CUlling cycle time. A large diameter cutter can cut more efficiently (heavier feed rates). 1n either design.it suggests that a hellx is anything ill the shape of the thread of a screw. Small diameter cutler has the opposite effect . Helix is defined in the" Machine!\"·s Handbook" by Industrial Press.A great deal of influence on thread milling productivity will be the total length of travel and the selection of culti ng feedrates. It has to be smaller to accommodate ilie depth of thethread. the tool must have all necessary clearances.some are made of a solid carbide. Productivity of Thread MillingOne of the reasons programmers choose the thread milling operation could be the desire to improve machining productivity.35 mm). The word helix is based on the original Greek word for spiral.oIf the thread is milled on the outside diameterof the part (externally). use a threadmg tool that is large enough to cut the reqUlred thread in a single revolution (in a 360" sweep). the premachined diameter must be equal to the nominal thread sizeEither diameter (internal or external) may be slightly larger or slightly smaller than the 'normal' size.it can be used in a tight areas. the premachined diameter must be smaller that the nominal thread size"A helix is a cun. New York. In order to achieve the highest level of efficiency in thread milling. some use carbide mterchangeable inserts. The tool has [0 be small enough to fit into the available internal space and large enough to guarantee suitable rigidity while cutting externally. but at lower feedrates. thread milling lools do not have the helix angle built in.A cutting Lool motion based on the mathematical definition (using three axes). combined with a simultaneous linear advance. Typical thread milling tools are dlustrated m Figure 45-1.THE HELIXThe words helical and helix are quite common in CNC programming and appear in this and other publications quite frequently. also known as helical interpolation. At the same time. NY. but Lhis deviation is decided by the required 'fit' of the thread. The same rule applies to heJical milling:oIf the thread is milled on the inside di ameter of the part (internally). USA.ance angle guarantees smooth cutting conditions during thread milling. Unlike a lap. with just about all pitch variations. A smaller cutter may also be used with higher spindle speeds and the corresponding feedrate . The helix angle is required for threading and is controlled during helical interpolation motion by the linear movement.HELICAL MILLING419 Clearance RadiusClearance radius protects the thread from damage by the cutting (001. cutlers are available for thread milling in holes as small as . results in a helical motion.'e generated by a poilll moving aVOlli Q cylindrical surface (real or imaginary) at (I COllsrnlll rare ill the direction of the cylinder's axis.. Each cutting edge on the threading tool (hob) or indexable insert is ground with a decreasing angle in the direction of the cut .

. .....r 45. One revolution of 380 0 is illustrated.. This view is comas a flat objeClthat can wrap145-3a nat layoul of aview representation of a righi-hand helix. . .z~FRONlTYZV~EW-A45-2 helix shown in four standard views . . ..~-.XZ) shows the helix from the front. The front view ..o o10. The side view (YZ) shows the helix from the standard right side view.~-. The isometric view iXYZ) shows a three-dimensional appearance of a two-turn helix.two revolutions are shown between the top and the bottom of the helixA helix is aoUmali on that has/ourClockwise circular cut with positive linear motion Clockwise circular cut with negative linear motion Counterclockwise circular cut with positive linear motion cut with l1elllsmle linearooin Figure shows a is a three-dimensional obiect) in four is shown in these views:oDtop view (XY) shows only a circle. ...hand helixthaI is often very useful. . IS the layout). .~~+4Another viewflat view (also monly used to around a cylinder.yxv VIEW ~ TOPIzISOMElmC. . . .

00-12 UN~If the formula is applied to aFigure 45·4 Internal thread milling example· program 04507><.02.Tool T03 and offsets H03 and Bored diameter is 2.This summary sets theInitial CalculationstheIn the example are six were supplied by the lecled or calculated as We look at the ""'''~''''L\'A. Selecting a culler diacarefully .0097884 stock on diameter.VI.Ilem 6 lists the bored diameter as inches. (he value will be . The D03 offset will contai n the radius of threadi ng cutler.0451058of a twiceInternal thread is 3.54127=.it must be smaller Ihan the a challenge is to cOITecl number of teeth per inch is more Important Inbut the pilCh cutter must of whether the thread IS Inwith the lool number and In this case. characterisconsidered .I".90984. will do the lrick. this amount 10 be the required nominal3. The loollength offsel number is clfset number is 003.75 12 TPI == 12 threads per inch 1. the bored diameler3.Therefore.2 x .I. is to show an illustrated example Figure 45-4. leaving only .9097884the thread should be must be made.. but il did lake such as 2.(1/12 = . Just in mind thal the diameter machined for an internal thread culjuslllke ting must be smaller than Ihe thread nominal predrilling a hole for lapping. A mula to calculate [he depth D of an internal thread mUHiplies the pilch by a constant:---.6250.Item 6. or . TIle easiest way to explain the straight thread milling.:enlers efficiently by using the helical inof the control system.0048942 per side. for finishing.9.its diameter cu[\er must edges (teeth). The formed on the fina certain advantage.IS2.00 Plate thickness is 0.500 diameter thread hob. the tool number is 3.9000 inches6. in this case. .MILLING421CUller size. Why this number and not other? Remember thai the thread depth is established by a common fonnula.0451058 Straight Threadis theand (he1.9000. No the is reasonable. others may be different. By a little the final finish. the.0833333 x .03./.5.0000 .1calculated can rounded 10 an even 02. 111e offset numbers are bers this example. through the plate= 2.0833333 pilCh).When the formula is applied to bored diameter. That introduces!rem 5THREAD MILLING EXAMPLEoperation on CNC machining c.

collected and properly lhis time to calculate Motion Rotation and DirectionIndinate. spindle rotation and cutter motions shown.10 ~\fn. another step can be the thread starling position.the size of the rhread mill (in this case a tool with an indexable insert). direction.alongo o o Zmotion directionso important? Why do they have naled al all? Evaluate them.G02 is the clockwise1 Axis MDtionaxisthe rules of circular .:enler of lhe lhread In In this exdiameter is as good start as any cqUlvaample.pn"t\nlit is extremely important to coorthe following threeTllalls tasy fur the X aml Yaxes 111(: <. start position must aJwith the pitch as lhe CU\proceed in three axes Z axis zero (20) will be at the lOp of pllrtSpindle rolation can (counterclock wise).right and left hand threads. and for simplicity. the pilch of Ihe (in this case . G03 IS the counter-a thread is cui using axes used must51rW\I'T\.0833333).RIGHT HANDFigure 45-5EXTERNAL .Cjrculareither M03 (clockwise) or M04start position of the Z axis is by several . one by one. Starting PositionAfter all required data have calculated.Spindle Rotationmilling than in type of milling. the direction ofrhe Z oxis (up or down) and method of the infeed along theCircular lion .M'1"Isame[he approach arc for circular arc for a helical intcrpolation can procedure is exactly the same. this to the XOYO position.For venical may be along twoUp or positiveo oDown or negativeDOWNUPtM03.LEFT HANEXTERNALthe climb mtiling mode .

The program start includes current considerations:(on aNote.right andINTERNAL . bUi it is the coordination of all motions that makes the thread to match neenng purposes. This extra clearance provides an even entry into the thread. the radiusisin block N6:N6 GOI G41 XO.RIGHT HAND45-6 INTERNAL thread milling using the climb milling mode . the mainly its height.04501 (INTERNAL RIGHT HAND THREAD MILLDlG)N1 G20N2 G17 G40 GSON3 G90 G54 GOO XO YO S900 M03 N4 G43 ZO.l HOI MOB NS GOl Z~O.75 DOl FlO.95 (the plate is as per drawing). right hand). These motions together of thread (left hand vs. determined that two ficient 10 mill the required thread. Figures 45-5 and the possibilities for the most common method of in the climb milling mode.0 lead-In MotionsSimilar to a program using circular interpolation.7S Y-O. next step to be done is determination approach to the lead-in arc (in climb miJIing This is also (he molion that applies tJ1e cutler radiusThere is one last consideration.Onext block is the lead-in are.HELICAL MILLING423UPDOWNtINTERNAL . with .To start the thread milling positioned at XOYO part originIn the example. The revolutions are required to cut single insert cutter will ing catalogue. externally or internally.2()().le below . 75)a multi tooth insert culler is able. at Z-0. start will be a Iitt.LEFT HANDhandspindle rotation and cutter motions shownmotion item by itselr is important.7SY axes will he needed:(or 10 JO.95 F50.750 approach fa-XN7 G03 Xl 5 YO RO.

9292 RO. it has to advance onc quarter oflhat UJ~'lal\Iv"" each 90". Milling the ThreadBecause of the cutter oiutions have been to thread. not Helical appilCh the of proach has to consider travel on the circumference of (he lead-in arc.75 to X 1. is unacceptable. 90°. It also this time based on theTo make a better cut.S4S9 1-1. The thread milling cutter must by the distance that is equivalent to the pitch amount in one revolution (360°). The thread pitch in the isIIiY'wh ere .R1A5P'''''TInJPCalculationFigure 45-7 Lead-in and lead-out motions for thread(top view is shown)0450 IHowever.S YO Z-0.5 N9 G03 XI.5 YO.srraighl!brochures or product catalogues may on the helix angle of the threading still remains unchanged. in the upwards direction. so the target position absolute value will the start position. a lend·in arc is only a portion of the pilCh is grammed. try 10 program the twomenial."1 / 12= ..0208)R1. The amount of travel has to be calculated previous example). not threads. threading cutter into thehas the threading teeth grooves.75cUlling motion takes place along the tion (up). that is position of the cutter must is the . of the earlier one.0833333 / 360 . t 80° and are much easier to work with.0208333(.7626 1-1.RO.75Y-0. Thwould bring the the culler it would cut a series of of course.0833333 value in is a helical milling and can absolute method will be method:Ne G90 G03 Xl. get posilion must be calculated.xolpoinl.I. the tool is in a position Always try to start (0°.A TPI"" Linear travel in helical interpolation =:: Amount of interpolated (angle)Threads per inchand the degrees traveled on the from XO. stall with 11 helical motion for the Z to the circular lead-in arc.75(or IO JO.S YO Z-O.(TURN 2)A'-tPLinear travel in helical Amount of interpolated (angle) 1 / TPO90° in Ihe example will be:repelitious data will not appear in thecomparison.083333390°. For each revolution. '111at means adding amount ofthe Z tarmotion. and a corrected block N7 can beN7G03 Xl. calculation of the linear travel can beformula:fromA x P360IIiY'thenincre(TURNwhere .S YO Z-O.5Considering that the thread mill has (0 advance for every 360°..45Lt90 x .50.

75or (1-0..75Z-O.. the only simulation of the helical milling (software IS In1) 2).7S Z-0.l HOl MOS NS 001 Z-O. suggested by the LOa I manu recommendations always take on a more lmporlam than any other method..7418~XOYOZ.. Tapered Thread MillingIt is possible...75 Nil G40 GOl XO YO Nl2 GOO Zl.'.. motions shown in Figure 45·9.r"·.S N9 G03 XO YO ZO.75 Z-0.. . The calculations arc logical and . again turn motion Ihm is still in rhe helical mode.O.95 F50.o.95G40 G01 XO YOSTART AT XOYOZ.. a lapered Clltler may be lIsed and programmed as if It were a single revolution.0 M09l'l..0 N6 G4l XO.·.75 YO. 7S JO)move [0 machine zero and termi-nale theN11 N12 N13 N14%X0.o..0833 1-1.will be the ending of the cut.5When the two helical motions arehad traveled ." the lotal of 720° (lWO revolutions)..LNujsame rules as for an and lead-out may be to Chapter 29 (Circular Inlerpolalion).15Y0.0 M09 G28 XO YO Zl. 45-8 illustrates isometric view of the sample milling program 04501.J.7S N8 Z-O.7626 I-1..O MOS N14 M30 %NB G9l G03 XO YO ZO.. but much more difficult.0 M05 M30Figure 45·8 Isometric view of caol motions forthread milling exampleThe thread cUlling job is can be written .HELICAL MILLING5N13 G28 XO YO Zl. For larger threads..S NlO XO..0833333 J 360 .7S Y-O.>.75 YO.S N9 z-O.I.95GOO Zl....74~in absolute mode):moG03 XO.75Z-O. ".9292 RO. For threads with a small material and very narrow taper angle.0833 I-l. Complete ProgramnrtHTr"rnand the complete program External Thread MillingThe complete ing culter:vidual calcularions and04501 (IN'l'ERNAL RIGHT HAND THREAD N1 G20 N2 G17 G40 G80 N3 G90 GS4 GOO XO YO S900 M03 N4 G43 ZO. is the same as before and so is the amount:Lt Lt=90 x .0 N7 G03 Xl. ThecutlerZofThis program is only a smallmethod.84S9 I-l. to gram a tapered thread (such as NPT or soft (hread milling cutter.7S 001 F10. the exit will the same way.I. "'" Reading various lechnical specifications cutler presents a wealth of information tips).7SY. Lead-Out Motionsthe same reason why the tool approached the helical interpolation over a 90° are.74l8 RO.1666 along the positive .".7418 RO. This deparlme thread (lead-au I motion) will move the cutler away from [he finished thread..0208333value will bring [he tool up Md awayXO.S YO Z-O.

9298 XI.9S F10. writing similar utlllly software can be done very efficiently.94S7further ConsiderationsTwo additional considerations are necessary to cover the subject of general thread mi Iling ina reasonable depth.SI9I Y-O.SOOO YO.9482 XO. the program is incorrect.7214 Z-O. in a very precise order and increment. Always select theclimb milling method.8536 Y-O. Needless to say.XI.9470 XO. The more accurate thread needed. it is lhe preferred method for the majority of thread milling appl ications. It only relates to the straight line and the part of the lead-in arc.1 HOI MOS GOl Z-O. Knowing a high level language (such as Visual Basi<. the longer program will be generated.. within (he acceptable tolerance of the thread. the cutting feed rate wi II be 10 to 30 percent slower.9883 Y-O. Many manufacturers of thread milling cutlers provide such a software free ur for unly a small cost.7846 Y-O.To illustrate this topic.426Chapter 45XQYQof the helical mOlions requires a simultaneous three-axis linear cutting mOlion. This is a special application of helical interpolation thal does not really belong in the manual programmmg area.8878 Y-O. This method is practically impossible to do manually. By the way. What is needed is a program software lilal will do the calculations in a matter of seconds.4967 Y-O.O XO. it will be the X and Y axes).7S Y-O.G20 G17 G40 GSO G90 G54 GOO XO YO 8900 M03 G43 ZO.('jl.4992 Y-O.9494 XO. a simulated program may be extremely long .9216 Y-0. Tapered threads are sometimes called conical threads and will require different tool holders for right-hand threads and left-hand threads..at least a few hundreds blocks.7373 Z-0. Feedrale selection is similar to the feed rate for outside and inside arcs described in the Circular Interpolation chapter (Chapter 29). comparing to just 14 blocks for the complele program using helical interpolation.9476 XO.730l Z-O.9304 Xl. Cutter radius offset will only be aclive for the two axes selected by the active plane (for example. the same thread will be used as in program 0470 I. the development time could hardly be justified in any case. Since a precision thread is the goal. Practically. Holders and inserts should be selecred by [he nominal size of [he thread. Follow at least a few blocks and visualize the actual motion. thread lead and resolution.0697 Z-0. One is the application of the CUffer radius offset and the other one is the selection of (he cutting Jeedrate.this is a linear interpolation in three axes and cutter radius offsel may not be used.9488 XO.7112 Z-O.THREAD START/ENDFigure 45-9 Lead-in and lead-out motions for an external thread millingthis case). To mill a !luead (external or internal) under these conditions. the user inputs Ihe number of revolutions. The radius compensation would he done in the software. SimulationWhat the program output shows is a series of very small line segments.7468 Z-O.95S2 Y-O. as.0350 Z-O. it took about three seconds to generate the 463 blocks of code in CAD/CAM. nol with G41 or G42 in the program . and was 463 blocks long. Here is an eXClmple of stich a program . using very small increments in linear interpolation mode only. when the utility is executed. a helical milling simulafion will be used.it shows only a few blocks of the beginni ng and a few blocks where the tool completes the lead-in arc. Visual C++® and similar languages).9292THREAD MILLING SIMULATION METHODThere is an interesting way to mill a thread without (he benefit of helical interpolation option available on the controL This may be a case for many CNC machines. Y and Z axes).75 XO.9464 XO. The length of the program can be shortened but the lhreading quality may not be acceptable. the radius. Typically. A good start is at about . because the tool radius is not compensated.001 per tooth and up by experimenting. That means each motion will be a very small Ihree-axis linear motion (using the X.7428 Z-0.7492 Z-O.OOOO Z-O. in G 17. or in such cases where the machine shop needs to mill a thread only once in a while and the helical interpolation is not worth the cost of a control update. The complete program had been done by using a CAD/CAM software.

The cutting will be done in the climb miUing mode .10 Schematic illustration of a helical mOl ion used for ramping .05 (CUT 1 .helical ramping . Helical ramping is used primarily as a replacement for a plunge cut into solid materials.250 and in each helical motion the tool will be moved by .O HOi MBa N5 GOl ZO.750. if the material had been predrilled. the incremental mode is a little easier 10 program. The tOlal number of helical motions (revolutions) is six (one above the top of work.500 inch end mill will be used (there is no need for a center cutting type)HELICAL RAMPINGAlthough the thread milling is probably the most common application of helical interpolation. Recall that a roughing operation in an enclosed area (for example a pockel).0 (START COMPENSATION) (CUT ABOVE WORK) N7 G9l G03 1-0. 0. in this case.program 04502. if the cUlting [001 is of the center CUlling type (using the so called slot drill). the more helical passes will be necessary and the longer culling time will be required.I/\'iFigure 45.BELCM TOP FACE) N9 1-0.050 above the top of part (which is (he Z axis program zero).that allows using any flat cutter and reach the required Z depth as a series of relatively small helical cutting motions. The smaller the increment.050.OS N8 1~O. for instance. before the actual material removal.37S DOl FlS. The pocket center is XOYO and the start Z position (clearance) is .OS (CUT 2 BELOW TOP FACE). One very useful application of this control feature is called helical ramping.04502 (HELICAL RAMPING)ill.375 Z-0. The Z axis motion can also be CUlling into a solid material.375 z-O.program 04502.Q Example:To illustrate the programming technique for this type of milling application. This Z axis motion can be in an open space.O (APPROACH TO Z-START) N6 G4l XO. because all the cutting action is done by the cutter sides. The cutter can be fla! and non-cemer (laring. flat boltom. Any increment value can be chosen for the depth.HELICAL MILLING427RegardJess of the method used to generate the lool path for thread milling. requires the cutting tool to reach a certain Z depth. there is another possibility . not its botlorn. a standard. G20N2 G17 G40 GaoNJ G90 G54 GOO XO YO 8700 M03N4 G43 Zl. this is a machining and programming area that deserves alai morc attention than it normally gets in many machine shops.and open the stru1 hole to the 0. Well. Once the required Z depth has been reached. depending on cutting conditions.375 Z-O.The program can be in either absolute or incremental mode and. A high level CAD/CAM software can do this very efficiently. it is not the only one. The pocket depth is . plus another five below (he top of work). a full circular interpolation is often used [0 clean Up after the last helical CUl.OS FSO.

05 I-O..o'/. justify extra cost.375 z-O.T TO XY START)45helical mOlion. ils program output themi .OS I-O.Two items are wotih a note pie straight motion fromOne.OS I-O. the Z llxis Slart is (block N4).375 Z-O. The cutler. interpolation can be a very powerful irreplaceable by any other though it is a conlrol option.37S Z-O.mental mode is used. Figure 45-10 shows the schematics of the program in different views.428NlO Nll Nl2 Nl3 N14 I-O.37S G90 GOl G40 XO N15 GOO Zl.O M09 N16 G28 Zl.O MOSN17 M30 %(CUT 3 4 5 (CIRCUIJ\R BELOW TOP FACE) BELOW TOP FACE) BELOW TOP FACE) BOTTOM CLEANUP) f'Ot:~'1'Tl.

Second..0From the illustration is clear that all the XY plane is used for the primary plane of work and the Z axis is used to con-' trot cutting depth. 0. there are lhree major differences on a horizontal machining center:DPresence of a fourth axis. apply equally (() CNC horizontal machines. the programming of the indexing motions can be done in two directions. the Z axis controls the CUlling depth. This is an indexing or a rotary axis. However.HORIZONTALFigure 46-1Axis orientation differences between verticar and horizontal machines. a brief look al the fourth axis of a typical CNC horizontal machining center.: . 'He horizonlal machining centers and boring mills have an indexing table as a standard fealure. to index <1 table lo a 45° position.and for rotary machining . This type supports a contouring motion. typically an indexing B axis Presence of a pallet changer Richer variety of setup and offset settingsoDFirst. is used to index a table. a typical minimum unit or increment could be I degree or even 5 degrees. Horizontal maChining cenlers differ from Ihe vertical machining centers not only in the axes orientation and the lype of work (hat can be machined. Most machine manufacturers offer 0. cailed the B axis. First. Figure 46-1 shows thecomparison of the axis orientation. there have been dozens of programming examples. program:G90 GOO B45. for more flexibility .ININGINDEXING AND ROTARY AXESAll programming concepts that ve been discussed so far.much finer increment is required. They all shared one common feature . Belween programming and setup.The mi n imum increment depends on the machl ne design. as the name suggests. if the machine is equipped with this feature. A rotary table will also rotate the part that is mounted on it. but it cannot be used simultaneously with any kind of cutting motion.1.::". This fealure alone makes a horizontal machining center a much more versatile machine . and mixing I wo different types of mach ines would make all reference material more complex. There was a reason for this approach. there are more vertical machining centers in machines shops overall.they were aimed at the vertical machining cenlers. A full rotary table is an 0Plion on a both types of machining centers. For indeXing.DAn indexing table will rotate the part that is mounted on it. Ihere is a difference between them. While a vertical machine is mostly used for only one face type of work. Units of IncrementThe indexing axis is programmed in the number of degrees that is required by the job. There is no difference whatsoever between the two machine types in Lhis respect. This type supports a positioning motion. but a simultaneous cutting action is possible.and also more expensive.:. Although the two terms are often used interchangeably. usually designated as the B axis. The XY axes are used mostly for drilling and contoUling operations. So what are the differences? The horizontal machining center mainly differs from a vertical machining center in ils genera! functionality.001 of a degree as the minimum indexing increment In all cases.429. a horizontal machine is used for work on many faces of the part during a single selur. One of the major differences is an additional axis.0 I and 0.INDEXING TABLE (8 AXIS)Indexing axis.. almosl every subject covered so far for lIlt: verlical models is equally apJJlicable LO the horizontal models. ':~The most common fourth axis on a honzonlal machining cenler is the indexing type.HORIZONTALThroughout the handbook.'If'o<cL<9. For example.

Table Clamp and Unclamp FunctionsCCW -105.0 B42..000 CW 360. with the same behavior as the linear axes. the B axis can be programmed in the absolute mode or incrementa! mode.~ Absolute Mode . the second column shows the motion directions and the actual resulting absolute position.Z+-X+82700CCW-Programmed motion in G90 G90 G28 BO GOO B90. The following exa. for example M78The next table is similar.31 8-75..ble Clamp/ableBO8125.0 8-63.0 890..0 8270.0 842.. looking from top down at (he table. Normally.consecutive indexes:Actual i'lhsolute position~The function numbers may greatly with different machine designs. for example M79oIncremental Mode . The first column is the programmed indexing motion in G90 mode. This is true of most machining centers.-.430.CW 755. followed by the B axis motion and another block containing the clamp functlon:M/9Programmed motion in G91 G90 G28 BO G91 G2aBO GOO B90.31 8-424. using standard G90 and G91 commands respectively. the second column shows the actual resulting indexing motion (Distance-To-Go) and its direction.644 degrees CCW -247.two functions wlJl be used in the examples:o o Table Clamp Table Unclamp. which is the XZ plane .0 8-75. For this purpose.consecutive indexes::7SETUP SLOTSccwcw890.dex ID. showing two table columns.0 B90.000No motionGOO B90. the indexing table must be clamped [0 the main body of the machine during a cut. All rotational directions are based on the perpendicular view to (he XZ plane.0 8180.356 degrees CCW -37 degrees CW 79 degreesNo motion (0 degrees)Figure 46-2 B axis direction and general descriptionsBO8-37.0 B180. Either the absolute or the incrementa! mode can be used for indexing.0 8247. for example to control the clamping pln or a table ready confirmation. manufacturers offer special miscellaneous functions .0 8270.Actual indexing motionMachine 8 zero positionn'---"\ TABLE CENTERSPINDLECW 90 degrees CW 90 degrees CCW -90 degrees CW 180 degrees CCW -22. The first column is the programmed indexing motion in G91 mode.356.31 8-180.69Some designs require other M codes.310 CCW 500. the unclamp function is programmed before the indexing. so check the manual for proper coding.0cw)E l~\VTABLE. the table must be uncJamped. The B axis is programmed logically the same way as the linear axes.Figure 46-2.-------------Direction of Indexing Chapter 46Indexing in Absolute and Incremental ModeThe B axis can be programmed to index either clockwise or counterclockwise. For indexing motions. including the mode of dimensioning...871 degreesIn order to maintain a rigid setup.000.871The table size including the size of comers is imponant to determine the clearances before indexing.000 CW 630.mple is in the absolute mode. All rotational directions are based on (he perpendicular view to the XZ plane.0Machine B zero position Machine zero .690 CCW 0.no motionCW 90.000 CW 270.310 CCW 575.Just like any other axis.0meUnclamp table In.000 CCW 424.

exaclly the same achieved if the block read B323. It zero again.. Y.HORIZONTAL MACHINING1Study both tables block by block.0 >The for the example. the of each pan or even ther approach and is no specified requirement of the job..0MachineIbl45·3 B axis direction from 80 to 845. A small example is illustrated inB AXIS AND OFFSETSOne of the most importantand horizontal machining centers isand particularly set the two majoro Work offset o T001 length offsetsradius offset is not affected by the B and is programmed the same way as in machining.lhe preferences. of the work and . Z . What is different now is lhe reality of several faces used for machining rather than one.M79G54 (Y}:eoM7S<. in results are always important for B-37.1 aJ)plll~atllm front view shownAlthough the illustration of the indexing table. That means the too! path for each has to have own program zero. . a relationship of offsets [0 the machined important and is also more complex than for the verapproach. the first block is in to guarantee a start at BO.when the rotation in the same direction full circle).. YM79zFRONT VIEWFigure 46-4 Work offset for a h"""nnt".LOtheare not important.)345.0Mfa< DRILL HOLE AT )345.0 in the first table . therefore its own work shows a typical setting.000°.PART. It continues to increase./Zerothe typical block04601:04601 G90 GS4 GOO X.r"'iI---GOO BOB45.of course .0 as a In the second table. One occurrence (hat is .JDRILL HOLE AT )30 >a90 G55 GOO X . That is something to (in the incremental mode) takes place table position will be 720. Work Offset and B AxisThe work offset [s measured the same as before the zero to the program zero.0 in the absolute mode· 04501@)-. be necessary in the opposite way in order to zero.. looking at the spindle.

followed by other four tools Ihal also do Inacliining on the same six faces. The preset method uses a special tool length presetler device and is done off machine. Both have already been covered in Chapter J9. it is not a practical solution.. Recall that one tool normally requires one too! length offset."..0-I~[~PART.All solutions use the preset tool length measurement and olle additional setting. Although it is possible \0 sclect the center of indexing table as ZO. N.0 . For example. G56 and G57..0. if there are four faces to machine. the tool length is accuralely measured.':<. such as G54...yAN-~Z0W <.... Each of the five tools requires a unique tool length for each face . consider a very typical situation for a horizontal machining .I-~[PART'..Touch-Off MethodI I. but there are several solutions to such a situation.JNI...i=. remember La change the work offset. Then. .. and Figure 46-6 shows a practical example. Selling the tool length can be quite complicated..yChapter 46. -.TABLEIIIJH = NEGATIVE VALUEOne method is to rouch-offlhe ZO of the machined face and register the distance from the tool tip as a negative length offset.for the tolal of 30 different length offsets! This is not an isolated example. The first factor is the meLhod of setting [001 length.. if HOI is set 10 -300.. Now.. There is only one problem .. each face will have its own work offset. No[e that the setup is exactly the same as for vertical machining..I-. 1lle previous short example illustrates the method. DIST-TO-GO.layout with H as negativeThis setting [s an entry or the distance hetween machine gauge IIne and the ZO of the current work offset Z address Figures 46-7 and 46-8. so [he best block to program a new offset is during the first rapid motion.where iswill move the tool Z-298. The next section describes Ihe work offset setting for the Z axis and tool length offset..0 HOlFigure 46·£ Touch-off roo/length offset method· example with H as negativePreset MethodTool length set on vertical machining cenrers is often a touch-off method but it could also be the preset method.><:H-I ITABLEIIIH=NEGATIVE VALUErhe relationship of this measured amount to the part position? In the touch-off method..0.. 1l1e touch-off method may be acceptable for a small number of tools and indexes.. depending on many factors that influence the decision.. 1l1cre are aL least two methods to set the tool length offset.Figure 46-5 Touch-off too/length offset merhod . Through a computerized optical reader. It is a positive value representing the actual tool length from ils tool tip to the machine gauge line... G55.. N0 0I-~------~'. (he tool touches the part and the relationship is dIrect. -. but now they take on a new significance..ILO0NIN/l!0 0 Tool length Offset and B AxisIt should easy to understand the concept of multiple workoffsets for multiple faces."V'.. This is (he amount that wifl be input into the corresponding tool length orfset register.a single tool has to machine six faces.. A program blockG43 Z2. The tool mounted into the holder is placed in the presetting device.{I.')<:(I-0:::'« ·W'..-I"-Z-298.U .-300. The preset method has no contact . z0!~I. The B aXIs is usually noL dependent on work offset. This was thc preferred method for vertical machines..JQ. There is a good reason why the preset method is much more practical for horizontal machining than for vertical machining.432When changing from one face to c:mother.J0:::0. [he preseHer is calibrated to match [he machine gauge line.one additional seTting mentioned earlier has to be made. Figure 46-5 shows the principle of louch-off setup in general terms.

.0HO}.--'----..HORIZONTAL MACHINING3yyG540:::l--+Z(Z-NEGATIVE)CDwI-«N10i~ N.HH :: POSITIVE VALUE H = POSITIVE 46-9 Preset tool length offset to lO=center layout with Has posit.------.".. it is only the perception of a is the same in reality. Figures 46·9 and change from the last twoo o lI.0 depth.0Figure 48-10TIle toollhen continues(015.0II1::TABLE:x:IJoH=.0000.200.0 + 2.Preset 1001 length offset to ZO=center· example with H 8S.VALUE=-298.0j<lllI-q[./e with Has positiveThe illustration Z ofG54IJV~"lJl.iveTABLEI46·7 Preset toof length offset to ZO=face -layout with H as positiveywas-500.II1...0 + 200.0--lao-:only because of the additional dithe distance from the program zero values in the program will ruso dimensions are taken from ZO at the table of partIH=Figure 46-8 Preset too/length offset toVALUEexamD.£!PARTas always:G54(Z) + Z clear + HOl :: -500.i=to the ZO position at the option exists irZO is set as the cenIn fact...IZ-298."'nip.. ( OIST-TO-GO1<111 :.'"into the is the distance method as G43Z2.

". tools. The Z clear position includes W lenglh and the physical clearance of2 mm. In [his example.rnu. different part faces. clearance in the Z axis would also That may pwve more difficult than it <In.!H-i-+--J.0250RETURN TO MACHINERDIn vertical relUrn to machine zero has tool in majority of cases..:.tI13. the amounl of is used:G54{Z) + Z clear + H01: = -650. Of course.. the tool to be away from (he pan al the same time....TOP XZVIEW06THRUIS.75 TYP 6.0 + 200.·Q' . in an index position other than zero. for every job.. particularly portion....J. Although only the Y is to a successful automatic lool change.t50. programming exactJy the same.. [he lion before each lool respects.O. The return lhe 2 makes It easier.. all combinations of various setup and theIr mfluence on the program fonnat is virtually irnThe subject of horizontal macbining..434is block that moves the loollO Z calculate the distance-Io-go W distance thaI must always be (iixture ..:. w.-. or actual me~sureW"".safety... etc ..""'-l--:.0 = -298.046[n IheINDEXING AND A SUBPROGRAM.hich is typical to rotary type ~ aXIs...875 TYPHere is a comparison a change for the IWO machineVertical: Horizontal:G91 G28 ZO G91 G2B YObefore a loolFRONT XY VIEW1_·««««««««<<<<<<26. no change for the length but an Important change to thc 054 now it is measured table center (ZO).... same as in case. drill 46-11..875zoJ. fixture in the way... The program does not use clamp and uncJ~mp sequ~nces.rof X 45°.0 Overall.fe".J-i-. this selup application is the same as previous one. can be quite complex and some The layout presented in at least the general understanding of the programming example may help_ way..tmfJ.'UJllJ/r:. The spot drill will 'r". The operator must know is 20 IV'I..000in the The question is what is lhe Z axis relurn when only the Y return IS answer is a one word .J0 .. measured from the h All the depth calculations areThe tool then normally to the Z-135. If the machme requIres unclamping before and clamping it after indexing. it to always know exaclly how to retract is why a simple rule is worth612 HOLES IN COLUMNS 17 HOLES PER COLUMN46-11Practical ex.04602discouraged by the a subprogramming will nimize length.\.Due to its design. This information from the CNC in the a·\. use M functions for clamp and unclamp the table.. The been programmed relUm was along the Z axis only.0 + 152. reason was sjmple on a vel1ical machining Z machine zero is synchronized with the automatic tool This is not the case on a horizontal center.

Drilling depth guarantees a full drill penetration. Actual calculations are not important here..4 P200 F120.875 (MOVE UP BY PITCH) N207 G90 Z27S. but they do follow the same rules established in the earlier chapters. Seveml olher methods cou ld have been aJso used. a 10 mm spot drill and a 6 mm drill.0 Z-5. Comments in the subprograms explain (he process. except for the fixed cycle selection..75 L16 (16 MORE HOLES IN Y PLUS) Nl06 GSO GOO Y6.875 S1250 M03 TOl Z275. but the J00 indexing has to be included in the subprogram. the tools and their use need [0 be selected. The hole is not drilled yet.158~IZ121.75 L16 (16 MORE HOLES IN Y PLUS) N206 G80 GOO Y6. the table for this job will be 400 x 400 mm square with 50 x 50 mm corners. For the record.-N(T"J-.0 (CLEAR Z) N208 G91 B10.0 H02 MOB P4652 L18 XO yO ZO BO04651 (SUBPROGRAM FOR SPOT DRILL) NlOl G91 G80 Y-6.0 H01 MOS N8 M98 P4651 LIS N9 G28 YO ZO NlO GlB BO Nl1 MOl Nl2 T02 N13 M06 N14 G90 Nl5 043 Nl6 M98 N17 G28 NlB G2B N19 M06 N20 M30%XOFjgure 46·12 Detail of tool data used in program 04602The R level is the same for both tools and the depth for Lhe spot drill also includes a small chamfer [0 deburr the holes.0 (DRL) N205 Y13.10 MM DIA SPOT DRILL) (T02 .. '.4 P200 (1 HOLE) NllO Y-13..0 (ROTATE BY 10 DEGREES) N209 G99 G83 R-148.875 (MOVE UP BY PITCH) Nl07 G90 Z275.::t C')('jC')("').75 L16 (16 MORE HOLES IN Y MINUS) NUl M99 (END OF SUBPROGRAM 04651) % 04652 (SUBPROGRAM FOR 6MM DRILL) N201 G91 G80 Y-6. Development of the subprogram needs some work.0 Z-5. Z127. is reasonable for safe indexing.0 (CLEAR Z) N203 G91 BlO.000 R LEVEL LEVEL1"'\--~--INITIAL=Z275.99 (END OF SUBPROORAM 04652) %0(Io 0 0 0 0000 0 0 0 0 N(T"J.. The two subprograms will start at the bOltom of the pattern.875 (MOVE DOWN BY PITCH) Nl02 G90 Z275.HORIZONTAL MACHINING43504602 (MAIN PROGRAM) (START FROM MACHINE ZERO ... Note the area marked in Figure 46-13. They are virtually the same.:tlO O.000N2 G17 G40 G80 IN3 G91 G28 ZO IN4 G2B XO YO INS G28 BO N6 G90 G54 GOO XO Y26.600 .Subprogram contentsFirst hole in main program Last hole is subprogramFigure 46-73-a~ .Z111.6 MM DIA DRILL THRU)N:l G21Before getting into the program itself.0 (CLEAR Z) NI08 G91 BIO. To select a suitable Z axis clearance is very important and knowing (he indexing table size and [he size of its corners is imperative.84 Q7.875 S1000 M03 T02 N7 G43 Z275.0 (DRL) NQOS YL3.0 Z-15. 0 (CLEAR Z) Nl03 G91 BI0.O (ROTATE BY 10 DEGREES) N204 G99 G83 R-148.. but Ihis chapter concentrates on the indexing table only.0 F200.O (ROTATE BY 10 DEGREES) NlOS G99 G82 R-148.0 (ROTATE BY 10 DEGREES) Nl04 G99 G82 R-148. Two columns are part of each subprogram with a 10° index between them.84 Q7. Only two tools will be required.75 L16 (16 MORE HOLES IN Y MINUS) N211 M.S7S (MOVE DOWN BY PITCH) N202 G90 Z275. Figure 46-/2 shows the critical positions of (he two (001 lips. This hole will be used as the start position only but will not be drilled until all other holes have been done.wFlat cvlinder layout· both ends shown for subprogram developmentThe initial level ofZ275. indicating the subprogram contents.0.ooQG54 GOO XO Y26.TOI IN THE SPINDLE) (XOYO = FIXTURE CENTER I ZO = BOTTOM OF PART) (T01 . The part setup is concenu'ic with the indexing rotation and there are no intertering elements. used in all three programs.0 Z-15.0 (1 HOLE) N210 Y-13. That is the reason for starting one column away. Two subprograms will be used. at the BO location (0°).

is shown in 46-14. Such of a housing.7S Y-42.mOl X74.326 YS2.0 YO m06 X-S2.75 Y42.JJ« LLLNG011 DRILL THRU 0148 B.D.O NlOB X52.7S Y42.326 Y-S2.JJ12016FACE AUl.program 04503 (subprograms 04653 and 04654J04653 FOR S HOLES AT 148 MM BCD)COMPLETE PROGRAM EXAMPLEpart [or a horizontal machining center requires from several sides in the same setup. is to develop two subprogramsholeAll dimensions have beenaccu-rately but no details are necessary.S YO mos X-24.868 m06 X24. First (001 is in the die at The part IS located in a [he' table.75 Y-42.326 Y-52.The contain bolt patternX-49.JJ ----(QULL«Ul.326 Nl09 M.326 mos X-74.5 YO X24.C.S69 X-24.99%04654 (SUBPROGRAM FOR 6 HOLES AT 99 MMA. 8 EQSPFigure 46-14 A typical multi sided part suitable horizontal machining operation .868.326Nl03 XO Y74.436Chapter 461coLLliu wu~l.326 NlO? x-o Y-H.0 YO Nl02 X52.326 YS2.0 Nl04 X-S2.868 N207 M99 %mOl N202 N203 N204X49. Pallet changing has from the but is explained in the section that follows.

0 LON69 M.0 Z-23.O G99 G94 R5. Probably the of a pallet table to idea in machining.MACHINING437N51 N52 N53 N54 N55 N56N5704603 (MAIN PROGRAM)(FACE AB(FACE C= G54 = BO = 8HOLES) G55 = B90. A CAD software a Other features and programming same as used elsewhere in the handbook. Such a of a machine tool has one flaw while the machine is working (and the CNC is virtually idle).0N13 M79 N14 B90.0 nr"""""r-nT1n.AUTOMATIC PAllET CHANGER .N30 M06 NJl G90 GS6 GOO X49.ON24 G99 GS2 R2. resulting in an unproductive time.4 MM TAP DRILL)N29 T02DRILL FACE C)comments (0 the example.11 MM DIA DRILL) N6l T04 N62 MOG N63 M79 N64 BO N6S M78 N6G G90 G54 GOO X74.3 P200 F225. the Z axis too high with Z300.APeOne of the greatest concerns in machining is the unproductive time required initial part setup and reu butch job.0N36 M79NJ7 B90.0N3S IDSN39 GSS X49.S Q6.5 TAP) N45 T03 N46 M06 N47 G90 GS5 GOO X49.lS MM DIA SPOT DRILL)(T02 . no other work can be pelformed.S YO ZlO. Bmh the two subprograms are quite plain. applications.0 LO NSO M98 P4654 (TAP FACE B).moN58N59(TOl .0N20 M79 N21 B270.S yO Sll37 M03 T03 N32 G43 ZlO.0 LO DRILL FACE A) Nll M98 1'4653 Nl2 GSO Z300. It is not minimum Zclearance.\. 0 Z-S.0 Z-S.0 Z-20.S YO ZlO.8 Q6.0 H03 Moa N49 G99 GB4 RS.0 M09 G9l G28 YO ZO MOS MOl(TAP FACE C)IN6 G2S BOI'IDM78N8 G90 G54 GOO X74.8.O H02 M08 N33 G99 GS3 R2.0 M09 N7l G91 G28 XO YO ZO MOS N72 M30%NlS GSS X49.0 Z-S.0N22 M7e N23 GS6 X49. but it is enough for all faces.0 YO 5800 M03 TOl N67 G43 Z10.0 M09 N43 G91 G2a YO ZO MOS N44 MOl (T03 .d'-".4 MM TAP DRILL) X L 5 TAP) (TQ3 (T04 ~ 11 MM DIA.0 LO N34 M98 1'4654 DRILL FACE C) N35 Gao Z300.0MIS(TOl .O HOi MOB NO G99 GB2 R2.3 P200 LO (SPOT DRILL FACE B) NlS M98 P4654 Nl9 GBO Z300.0 F200. However.0 YO S86S MO) T02 N9 G43 ZlO.0 = 6 HOLES)GBO Z300.0 F825.0 LON4l M98 P46S4 DRILL FACE B)N42 Gao Z300.5 YO 5550 M03 T04 N48 G43 Z10.O Z-23.O N40 G99 GS3 R2. none of them the ti me used up when ble. Many mounting the pllrt when or the machine incorporated in the control sel f can shorten the They include tool length offset.98 P4653(DRILL FACE A)N70 Gao Z300.S YO ZlO.V U " «.8.0 NlS M78(T04 . [0 minipallets setupTraditionally.0 LO M98 l?46S4 G80 Z300.mo x 1.0 Z-24.0 M09 N27 G91 G28 YO zO MOS N28 MOl (T02 . one machine has one work [able.8 1'200 F1SO.:>/i Large clearances are for indexing table (0 index within a in the way. for the next part is done at the expense of idle.0 Z-24. etc..3 P200 LO N25 M98 P4654 N26 GSa Z300.ALL HOLES) N1 G21 N2 G17 G40 G80 INJ Gn G28 ZO IN4 G28 XO YO/NS M79N60GS6 X49.is MM DIA SPOT DRILL .0 H04 MOS N68 G99 G81 R2.0 M79 B270.5 YO ZlO.O Nl7 G99 G82 R2.0 = 6 HOLES) G56 = B270.

~-~--.. If a purpose of such a design is to improve a nonproductive setup lime. the machining and the setup can be done simultaneously. In this way.Figure 46-16. the other pallet is available for changing the setup for the next job or for unloading and loading individual parts.. the other in the setup area... outside of the machine\....Transfer system (also known as a pallet loader) is the system that rransfers pallets between the load area and the machine work area. shortening or even totally eliminating the unproductive time.Z+-X+Working Environment/(.By definition. two major areas should be distinguished:o---\Machining area Setup area..The popular rotary type works on the principle of a turntable.... based on their transfer system:o oFigure 46. 111ere are many designs of pallets. the other pallet is in inside of the machine. Load means to move the palJet into the machining area.. Tts programming is still Simple but more involved than for the rotary type.. unload means to move the pallet into the setup area. Orten the terms load and unload are used.438-~.76 TVpical shuttle type of a pallet changerRotary type Shuttle typeBoth pallet types are loaded from the machine front area Other pallet types are also available for some special machining applications. but they all share three major parls:/Figure 48.. Figure 46-15 i Iluslrates the roeary type ..)\~J/oOne pallet is normally located in the machining area. it normally starts with Pallet # I (with the part) located in the machining area and Pallet #2 (wilh no part) in the setup area. Its design must be very robust and accurate at the same time..-""For a typical dual pallet changer..~. When a program starts.. The transfer system determines the Iype of the palletPALLET 1PALLET 2 Types of PalletsThere are two general types of pallets.~~--~...15 Typical rotary type 01 a pallet changerooPalleto Machine locatorTransfer SystemAlso popu lar is the shuttle type... Machine locator (also known as a receiver) is a special device located inside of the machine. The pallet change command rotates the pallets 1800 and its programming is very si mple.while the part on one pallet is being machined.. Although a two pallet system )s the most customary for horizontal machining centers.~~Chapter 46. within the machine.Z+Pallet is the portable work table with a ground surface to which we mount the fIxtures and parts.... The table can have T slots. where one pallet is outside of the machine. This design incorporales double rails between the load area and (he receiver inside tlie machine . an automatic pllilet is a work table thal can be moved iol'o and out of the machining posilion by a program command. it is necessary to have at least two independent pallels available .. designs with up to tweJve pallets are not uncommon. Its purpose is to accept and firmly hold the palJetloaded wilh a part ready for machining. tapped holes or bOlh...~..

columnAutomatic Pallet Changer (APC)0Z.. Z axis value is Ihe length quill out of the spindle... .W axes). A CNC boring mill is similar to a CNC horizontal center.. and usually has spindle motion split into two axes· Z find W. > G30 xOM60[01] 04605 (PROGRAM [02] (MESSAGE OR COMMENT)[04] mo G91 [OS] IDO G90 [06] N4.. G28 and G30(24] N600 M30%. Y.G91 G28 XO YO ZO G28 BOM60(LOAD PALLET 1)< machining 011 Pallet 1 . H .. mnt". MO)GOO X. table traverse . one area. This position is set by a system parameter..l>nr''''mo(11)< 1l1il'~lUl'Ul >. lypical work0WG54 Xy:::Zthe same.. is pulled out only for its extension from the spindle must enough clearance for the shortest program...<. F .h"... table longitudinal .Y. In both cases. it can a system. Typical tailed explanation. the G30 should be set conveniently for the operator (0 a tool change manually (X..0 GS4 [07] NSO G30 [08] N60 G43 J G01 [10J[03] IDO G21(iJNLOAD PALLET 2)lO0%G30 WO S . a horizontal still only a four axis machine...As many horizontal boring mills do not have an automatic 1001 changer.. >Programming format is on the principle that all mOlions into the dcpth are in W aXIS.·""m on Pallel2 .. fol is a typical setup of a 4 ax is horizontal boring mill with an indexing B axis and a Fanuc or Similar control Wilh:o oSix work offsets Tworn1O.. usually a little larger in size..ZOW. indexing or tablecommand works properly only when the tion is at one of two machine reference points:Machine return 10 the primary reference point Machine return to the secondary reference point0WB axis0Settings are similar to a During setup. match the comments is followed by a more dereference only andG91 G28 XO YO G28 BOM60zoG30 XOM60(LOAD PALLET 2)<.HORIZONTAL BORING MillThe chapler on horizontal would not be complete without at least some comments relating to the machine called a horizontal mill.. It mayor not have an automatic lool changer. The axes are:X axisy... n.MACHINING Programming0 0there are five axis designated. spindle quill. the other is in the04604. rather [han the Z axis.. The quill that is controlled by the Z axis. except it moves machine referenceWB=Negative Negative Zero Negative Zero Pallet Changing Program StructureThe following program emphasizes on a typical shuttle pallel system. G54 to G59. W. chining area.tl>r....

.. . ) [23 J .. .. ."n ! 03 1 Metric or English uniti\ selectionr 12] [ 13) r 14)n! 04 I W axis moves to a tool change position[motion to the starting pOSition in XY within the work coordinate ! 07l Quill out by the [08\ Tool (set program zero) and motion to ! 09 I Feedrate motion to the [10) . .. I 15 J Rapid motion back to the clearance i 08 r 16 J Spindle stop r 17 I Rapid motion of the quill to spindle 118 I Rapid motion to the tool change position along the W axis and cancellation of tool length 119] Rapid motion to the tool change position along the X and Y axes· in incremental mode for I 20 I Manual tool change 121 J . I 24 I End of program I I End of record (stop code)( 01 I Program number (name up to ! 02 I Message to the operator· only n"'Tl"....". .... .r 06 )I Selection of absolute mode and spindle functions(incremental motion for safety)[11 J .. I I· . .440following comments in the example:identificationpter 46 . following the above format . ( machining the part) . (additional machining.

Programming involves at least one user of the final program . The program IS composed of individual instructions related to n:~chll1mg and arranged in a series of sequential blocks.WRITING A CNC PROGRAMWriring a CNC program is the final result of manual programming. W. Wriling (he program is based on two initial factors:o o The corporate standards The personal style.interprets the written program.more than one programmer. It lS Important to know Ihe principles of program writing techniques. what to avoid and what form~( is correct. as an old cartoon claimed). Even today. Manual work means wo~k b. lhe focus wi Il shift at the actual method of writ! ng the CNC program. you decideBoth factors can be adapted simultaneously in a single !. Modern Wnlll1g methods employ a ~omputer and a text editor. The final result is that the first guiding factor .or plans to employ .the CNC operator . for better or worse. unless there is a general set of rules and rc:commendations already ill existence. the written copy will often be required for documentation and other reference purposes. what syntax to use.company standards . the personal slyle ofille firSI programmer in the company will carry 011 and on and eventually becomes {he company standard. Now. If the program works.etlled in. A short program with a few lines of code may be as easily entered into the control directly as to be written down on paper.iting a part program manually requires lime and is always subject to errors.y hands.wogram . . a program can be written with a pencil and a paper (and a five pound eraser. The only difference is that the computer keyboard has replaced the pencil and the editing features of the text editor have replaced the eraser. It i::. Manual program development is the result of a lot of hard work. printers . Its final form is transferred to the control unit.is replaced by the second factor . in effect. and other hi-tech c wonders but it is a method that will not dlsappear any lime soon. who cares how it was done. Reoardless of the media used.. by pressing various keyboard keys. The moder~ alLernaUve (0 a pencil is the keyhoard of a compu~er. Often. This tile can be pnnted or send directly to lhc CNC machine.eNC program should be written in such a way that it can be interpreted without a difficultyPROGRAM WRITINGWriting all collected data into a final version of the CNC part program is one of the last items inside of the programming process. first evaluale some suggeslions and practical observations thaI may be helpful \0 prepare the program efficienlly for any style [hat may be suitable (0 foHow and useful in [he future. Is thai a correct assessment? In lhe traditional way. thiS approach is a waste of time. following this logical process. a team work. Ll~lOg a ~Jmple ~exl editor 10 make a plain ASCn text hie. For long progra:ns. The computer creates a CNC program as a file stored on the hard drive. all decisions have been made and a certain level of comfort has .when all thoughts have been collected. This last step requires a sheet of paper. there is nothing wrong at all with a personal style of programming. Any CNC machine shop that i:mploys . To define a company standard. a greal amounl of manual programming work in is still done in writing. calculators and erasers. using a devices such as pens. W. The most common problem with uncontrolled personal style is inconsistency. that contain the program.. pencils.. company decides . if necessary.:. WIll) no tormaHlOg. a short program may be keyed inlo the system directly. the emphasis was on the program development as a logical process. should establish certain minimum standards pn:paration of a part program. Such a situation may well be very positive. or many sheets of paper.and thac makes il. To get to this stage requires hard work through all other stages . but the result is still a written copy of a manually generated part program. but in most cases it needs revaluation or at least a bit of modernizing.personal style. However. In the previous chapters. Even if not programming manually al all. in order to make changes in any program that was developed by a CAD/CAM syslem. Adherence to these slandards allows any team member to pick up where another member has lert. unreasunable tu expect any indus!l}' or world-wide standards relating to the various techniques of developing a program. It may be even less reasonable to let any company based standards.rttlOg does not mean usincr only·a pen or pencil. so it seems that a need for special computer skills lS not required. From a revised point of view..441. From an objective point of view. it needs 10 be acknowledged that a CNC programmer can never succeed in isolation. .LIley are fully cOlilpati ble. The need to program by hand seems somewbat backwards in the aoe of computers. learn how the computer the c~ntrol system .

a ruled sufficient. the whole word . method is as the program still has to properly formatted.I'<... The on a computer and send it directly 10 through 11 cable connection.. r'''. if still do... ofusers today do not use a punched tape anymore. Make a special effort when ters (alphabetical or numeric) that can Depending on can be confusing to examletter 0 digit 0 can look the same. find a the rest is all digits 0 by zeros are identified specifically part program.unless hundreds and in a unique way inapplied (0 personal handfact that (here is no letter 0 except as a program numwhere a misprint will not If preferred. No special cola umns are a or two is justified. Problems with paper copy clean manually generated are much of a the program is into a computer text file. handbook there is an obvious difference between a a narrow digit 0 (as in 000 letter 0 (as inThe same technique writing. Take used on most controls ber and in a comment create a problem nation only ror fault .U as personally rw.o or 0 oIDIGIT ZERO LETTER 0 ONE RI DIGIT TWO LETTER Z1Figure 47-1form of characters writtenambiguityilyMany managresponsibility.alpha charDeters as well as numeric and special symbols..~ is nothing worse than for evcry new program.. process is much more hardly any machine manufacturers print forms any more. CNC. the copy be illegible for cal reasons. but many olher characlers can also confusi depending on person's handwriting. This way. to further legibility. Such a person of CNC programming even simple syntax errors. special programming forms were wilh pre-printed columns each address in the were the days when only the numerical values were into the appropriate column and the column f determined the meaning. be IransfelTcd reliably... it can drawn easily enough.t>f'r\rt'\. all and printers (even the old preparation systems) use a special method to individual characters on the screen and in print. such as an disk storage of a or laptop computer.. A wriuen program (preferably by pencil) is easier to correct without a mess and i[ should be double or even triple when written on a sheet of paper. which method :><. such as a printer toner. son who prepares the program final than confused and eventually may make a error.. means somebody else (a or an written copy and has to be it was intended.P Confusing Characterslegibility of programmer's handwriti portarH. forChapter 47For instance. interface computer and the machine. rnrl"'51rtpr~ rhat may imway to write legibility. yet still keeping lhe overall appearance neat. Try to a tem writi technique 10 distinguish potentially confusing characters is a relative term.442 legibility of HandwritingWriting a assistance of a computer and a text means a CNC program in I.. Individual words in a block should be by a space. then the part machined and sent out the job IS finished.tp.. programmers in some the final program version ers consider such work a cPr" . More modern methods are available. thus punched methods altogether.ll<. Handwritten method can be bypassed entirely by keying in the data via control keyboard... This the machine for a while and is not ryday lS to prepare the program tern. That will read the it corrccily. use alphanumeric representation.l..Programming formsIn the early years of numerical control. in those cases. the leller Z can be con leiter 1 I as well as a low case l are examarc only some of the most obvious examples. These were often cOnlrol and machine as an (0 writing and a little on Il Today. it is usually for old machines only. any additions or future changes (if necessary) can quite easily. the absolutely no nOI be able [0illustration in Figure some suggested of common character in handwriting.....

3F37. 25Y3.2563F12. chapter chapter.25 N12XO Nl3X3.5Z-1.2SY-3.OM09 N29G2SZ1.2SYORO.25YORO.0M05 N44M30%ISc::>Version 1 :G20 G17G40G80G49 T01.25 N24YO N2SY-3. 25Y3. 25Y3. it is the leas! with a very poor appearthe CNC openHor to readPROGRAM OUTPUT FORMATTINGwho followed this handbook from the beginning.0M05 Nl6MOl N17T02M06 NlSG90G54GOOX-3. 25 N22XO N23X-3. Look at sian of the decimal in programsThe next program applies all so far and addresses some addilionalmo%done.0 N2lX3.0H03Moa N34G99G84X-3.intentionally program.0 N"7X3. It is not important whalit does.lZ-O.2SZ1. 25 N36XO N37X-3.25YOS750M03T03 Nl9G43Z1.S N35X3. Each new verover the previous version.2S N42G80GOOZ1. DH01.25 N14GSOGOOZ1. AIsome doubtful benefits.25YQS900M03T02 N5G43 Zl.25YOS600M03TOl N33G43Z1. Identical in every respect.0M09 N15G28Z1. exappearance. when printed or displayed.OM09 N43G28X3.IZ-2. This section deals with the actual program formal not but how it appears on the printed or screen of the computer. OMOS N30MOl N31T03M06 N32G90G54GOOX-3.25 N28G80GOOZ1.25 N40XO N4lX3. Feel free to be the judge as to four format versions IS the most suitable and long program is presented .lfTlInrnUl"'1Ic::> Program Version 2 :NlG20 N2G17G40G80G49 N3TOlM06 N4G90G54GOOX-3.39POSOOF8.WRITING A CNC443of writing a program. It will evaluate four verof the same program.MOS N6G99G82X-3. 25 N8XO N9X-3.25 NlOYO NlIY-3.25 N38YO N39Y-3.DH02M08 N20G99G81X-3.25YORO. should be well familiar with programby now.25 N26XO N27X3.M06 G90G54GOQX-32S00YOS900M03T02 G43Z10000HOlM08 G99G82X-32500YOR1000Z-3900POSOOF80 X32500Y32500 XO X-32S00 YO Y-32500XOX32500 G80GOOZIOOOOM09 G28Zl0000M05 MOl T02M06 G90GS4GOOX-32S00YOS7S0M03T03 G43 ZlOOOOH02MO 8 G99GBlX-32S00YORIOOOZ-22563Fl20 X32 SOOY32 500 XO X-32500 YO Y-32500 XO X32S00 G80GOOZlOOOOM09 G28Zl0000M05 MOl T03M06 G90GS4GOOX-32500YOS600M03TOl G43Zl0000H03M08 G99G84X-32500YORSOOOZ-13000F375 X32500Y32500 XO X-32500 YO Y-32S00 XO X32500 G80GOOZlOOOOM09 G28X32500Y-32S00Z10DOOM05gram.

25N2B N29 N30 N31 N32G80 GOO Zl.25 N38 YON39 Y-3. G20 N2 G17 G40 G80 G49(TOl .444Chapter 47oill N4 N5 N6Program Version 3 :N1. 0 MOSX-3.2S YO S750 M03 T03 Nl9 G43 Zl.25 YO 5750 M03 T03 Nl9 G43 Zl.3 F37.1.:2S YO 5600 M03 TOl N33 G43 Zl.2S YO S600 M03 TOlN33 G43 Zl.0 MOSX-3.2SN12 XONl3 X3. It also includes the description of all tools at the program beginni ng.90DEG SPOT DRILL) (T02 .25 GSO GOO Zl.0 M09G28 Zl.2SN4 G90 G54 GOO X-3. If there are comments in Ihe program.2S N22 XO N23 X-3.2S(HOLE (HOLE (HOLE (HOLE (HOLE (HOLE3) 4) S) 6) 7) 8)N44 M30%o Program Version 4 :(DRILL-04. at the beginning of each 1001 section.25 NlO YO Nll Y-3.0 H02 MOB N20 G99 GBl X-3.25 Nl4 G80 GOO ZI.2S Y-3.2S YO RO.90DEG SPOT DRILL) Nl G20 N2 G17 G40 G80 G49N3 T01 M06TOl M06 G90 GS4 GOO X-3. 0 H01 MOB (INITIAL LEVEL) N6 G99 G82 X-3.39 POSOO F8. It uses all improvements of the previous version.3/4-16 PLUG TAP)N31 T03 M06N36 XO N37 X-3.0 M09 G28 Zl.19. It also uses the same tool descriptions for individual tools.0 HOI MOB G99 G82 X-3.25 Y3. It includes programmer's name and the date of the last update.25N14 N1S N16 N17 NI8Gao GOO Zl. The next version will add a blank line between Lools. where it matters most.25 YO RO.2S63 F12.25 YO Y-3. yet adds a significant improvement .25 YO RO.1.11/16 TAP DRILL .0N7 X3.0 MOSMOlN9 X-3.5 (HOLE 1) (HOLE 2) N3 5 X3.25(T02 .O M09 Nl5 G28 Zl.N40 xo N41 X3.2S N42 GBO GOO Zl.25(T03 .0 MOS MJOThis version is much improved. The spaces do not impose an extra drain on the CNC memory.25 YO RO.2SG80 GOO Zl.2563 Fl2. yet the program is much easier to read.. 25XO7)8)MOlT03 M06G90 G54 GOO X-3.0 N21 N22 N23 N24 N2S N26 N27 N2B N29 N30 X3.2SXO(HOLE (HOLE (HOLE (HOLE (HOLE (HOLE (HOLE (HOLE1) 2) 3) 4) 5) 6)N26 XON27 X3.0 DIA .O MOS Nl6 Mal(HOLE (HOLE (HOLE (HOLE (HOLE (HOLE (HOLE (HOLE1) 2) 3) 4) 5) 6) 7) 8)T02 M06 G90 G54 GOO X-3.0 H02 MOS N20 G99 G81 X-3.25 Y3.0 DIA .5N35 X3.l Z-2.5 Z-1.THROUGH) Nl7 T02 M06 Nl8 G90 G54 GOO X-3.07-DEC-Ol .NC) (PETER SMID . Still.11/16 TAP DRILL .5 Z-1.:2 5N36 N37 N38 N39 XON41 N42 N43 N44%X3.25 NlO YO Nl1 Y-3.0 H03 M08X3. 25 Y3. 25 Y3. it is difficult Lo visually idenlify the start of a tool. 0 MOS MOlN34 099 GB4 X-3.0 N21 X3.0 M09 G28 Zl.0 M09 G28 X3.2S Zl.25 N40 XON32 G90 G54 GOO X-3.O R03 MOB N34 G99 G84 X-3.2S Y-3.3/4-16 TPI PLUG TAP)The fi nal version (Version 4) may be a lUXUry for some users. 2S N8 XON8 XON9 X-3.2S YO RO.THROUGH) (T03 .2S YO RO.3 F37.25 Nl2 XO Nl3 X3.1 Z-2.Some lower level controls do not accept comments In theprogram.0 M09N43 G2S X3.1 Z-0. It adds initial descriptions and messages to the operator.l Z-0.2S YO 5900 M03 T02 NS G43 Zl.2S Y3.2S YO S900 M03 T02 G43 Zl.43)(T01 . such 3 COn-trol system WIllSlfJP[hem automatically during loading.39 N7 X3.2S Z1. 25 YO Y-3.spaces berweeH words.2SN24 YO N2S Y-3. but it is the most elegant of all four.2S Y3.

0 N90 GSO GOO Z2S.0 NnO G43 Z2S. most part programs will run from CNC system. that memory as well. often well below what tbe tape ca-II all means thal a situation may arise. this is a no-frills program. naling or deviating from an Organizing the for example. are (wO to eliminate this problem. if thai is possible. F100. )%A grand total have been programmed. G43 Z25.0 HOl N40 9500 M03 N50 MOa N60 G99 Gal Xl20 0 Y35. YSS. Hl S500 M3 M8 G99 Gal R3. etc.WRITING A CNC PROGRAM5shortcut compare the .. There is no doubt thai many When thinking well ahead erly. so here are sev-above example:descriptions onoProgram description has beenBlock numbers have been eliminatedprocess will definitely many instructions in a dividing them into many block as possible. if possible.. Keep in mind..or 108000 loday's modern there is no anymore. not asprogramming procedures. with a minor Ise.zero retum has been changed from absolute mode to incremental mode. Program in Ihis form is more memory efficient hue much harder to read .0 R3. Unfortunately. have been removed1. Gao Z2S.1 Eliminate ali or most of the block numbersIf block numbers.0 NBO Y55.Ol. the than can be areas that should be consideredall unnecessary leading or trailing zeros GO. if safety allowsoo ooby one will make a shorter program04702 G90 GO X120.A04701 (TYPICAL PROGRAM) NIO G21 G17 G40 GBO G90 N20 GS4 GOO Xl20. At the '~"'. X1S0. the results will W011h these measures will resultooG21.remember Ihis is only a shalltirety.0 Z-10.~U. The condensed of the program needs only 89 acters.O YSS 0 Z2S. increments tool motions into tool motion. where the dio~GOO =not a wouldlong program inen-more impressive:oEliminate all zeros programmed for convenience : X2.0 FlOO. Z-lO. M9 G91 G28 XO YO ZO M30%Use defaultbut check them firsto oDo not include program comments and messages to the CNC operatorUse commentsa !':epilrilte pi~ce of paperin a rather very shortmay become methods lhal have beenlength hav!:! he!:!n saved the program some cases. even side effects when eiimisame lime. .These methods are shortcuts and shQuld be used for emergencyGSO GOO has been replaced by GSO only (GOO is redundant..". XO.0m20 M30Program length Reductionthe program characters from me to a long program. although zeros in GOO. watch program format.o oosituations only. Y35. organizing the work properforl.0 "" X2.O mo X150. G17 and G54 have been eliminated (correct settings assumed on the control· be careful! 1full number have been canceledo Zeros following a decimal point in aooSome blocks were Joined togetherin some compromise between convenience and necessity.0 moo M09 m10 G28 XlSO.0 Y35.both will have the same results10LONG PROGRAMSwho ever worked with a directly in anm max!-was (he maximumtape that900 or meters . long program will not fit inlo the memto a good directory cleanup. use fewer tool vidual blocks.Ol00 = X.

The comfrom the of-to consider the setup first and towards or away from the part.446Chapter 47will be processed A very important change can achieved in the lool approach towards the the tirst example (standard version). Tn the shorter the order of motions has been preserved for safety reasons. TIle 043 and 054 commands can in the same block. load the software and work with the tem as usually! The major difference is in actually resides on the hard disk oflhe computer and a (ext editor to edit the CNC conlrol system.'""". positions X and Y axes firs!' wilh following in a separate block. "'. of course. without a problem'G90 GO G43 G54 X120. tool and die shops and other industries thaI require extremely long programs this techa while ago. If come in the way because of the shortcut the conexample would be a wrong programming and its actual writing will soon establishing a Jf using a computer. . Y35. mold shops.nr"-''''rlflP'''' not punched lapes in the machine shop (most comranies do not). investigate this method a personal computer. Z2S. Hl SSOO M3with many added benefits.. and is flIn from the . . and very consider this method for the This relatively new speeds and feedrates but 111is combination means extremely that will nOI fit into any system. these two can combined into one. Tape mode is not to Think of the Tape mode as an external old fashioned sense. learn how to directly at the keyboard. If Inl conditions allow. companies. Il may take a liule lime is well worth il.pwgram is loaded into the edited from the memory." mode is..everything is eonligured to work a CNC or programs on the hard computer. it is a waste first. The capacity or current hard more than will ever be needed. to run a program many users ignore the possibililies this . The Memory mode is frequently . So before investing into rather updates. if the u """_"'''''''Memory Mode and Tape ModeMost CNC system have a special Mode from at least two opljons MEMORY mode. external mode requires a lillle extra On the hardware only a i '~~'U~'" with a fair size hard disk that will conrequired. !he Tape modecan be. .

job descriplions.files are useful\0 the programmer. use il [0 a customized tooling library and setup sheet A of blank forms can be predefined. Ihat il 100 long to collect all documents and prepare [he documentation. Pascal or even AWoLlSP (Lhe ming language for AutoCAD). and every in easily retraced. documents mentioned here are They creale a sel all ficalled the data files. that it is essentially a are true. setup tooling sheets. underestImate thementation. the purpose of a program documentation is tocommunicate programme-r's ideas to review them at a later date. Documentationment in lime management. etc) or in such as Basic.PROGRAM DOCUMENTSpreparation. some time will be Not an amount of Ijme. quile a number of various pieces will accumulate. direc!iy productive work.in order 10 make a documentation. Any changes to the finished at a for whatever reason. If blank forms available. calculations. etc. to a nonproductive effon. information should be stored as part of the program documentation folder. point . it can save awho have written programs in a high level lan(C++. yes. The only 10 the machine shop are:Many CNCsors.only every piece of documentation for items Ihat relate to the actual in the shop. instructions to the and related notes contain valuable information. If a CAD system is available.but onlysome are impOrlanl to the CNC machine operator or person A number of tiles are only for and are nol senl to \he machine shop. can done much easier if the documentation IS complete. but enough Lime La do a job. it the doCtlmenration neal. organized and In one A makes a review of [he the documentation somebody to way programmers will save much their personal prodocumen[ programs gramming their sense A simple definition relatiDATA FILESa hard copy the on adisk). they jusl to nOI take any more time Ihan wriling the same information on any olher pIece of paper . then filled quickly they are CAD system will save lime. Visual Basic.ir can actually lake a lot lime.to program documentationProgrammer keeps all the filesMachine copies of relevant files onlycan beguarantee thallhe ullimate responsibility the CNC programmer. Theireven machine shop superviprogram docuthe paperwork isnot worth the lime. know that comments within the body theThose. Using a word processing or aoQProg ram I'ITI"tn tSetup sheetToolingoosoftw<:}(e is another way to save lime forIn essence. Unnecessary duplicaand should be avoided. All sketches. butexIra inor totirne. Two for established:ooa reliable indication ofcapabililies.

. If more most likely even a user's manprogram documentais also adaptable to aInternal DocumentationPROGRAM DOCUMENTATIONan deserves some other? Which one for maximum types. All program comments. are gram has to be the toolingprintout is the final of the It shou Id be the exact contents of the or other media.'''''. The only is that when loaded into the CNC memory. Either comment. the comments do occupy memory If the avai lable memis scarce. It is All sketches dina£(. clean the clamp on the 120 mm diameterreverse andProperly prepared internal documentation should always brieny each cutting toolN250 T03 N251 M061 DfCH DIA 4 . use of viallons In the program comment ElM IS a form for a 4-flule end mill.~''' or commen! would to be stored in the body. biggest advantage of documentation is the convenience offered [0 the operator.s.enough to reprogram.Remove part. ifPart drawingWorking sketches and calculationsooLJ:ITEMCoordinate sheet Setup sheetTooling sheeto oThe ITEM 4 in program comment section will be a detailed description relates to block else in the program documentation.Chapter 48comments are usually mind (he user of what is happening information about the nrr". message or instruction can be an individual block in the program or it can be parl a program block. MESSAGE OR INSTRUCrION)External DocumentationThis is the required formatting.' blocks of a program or to individual blocks (delimited by and can be actually seen display screen execution (on most They are also in the copy of the program. the program data source (usually slored media) to be included in the documenany special instructions thut may be rcler. let's evaluate them internal program Is one one (hat combines between Ihe twodocumentation is contained within the body of a When writing a an effort to strategically place comments into the Such messages are parI of the program are categorized as infernal program documentation. profor some reason. be modest program comments and more instructions.. messages are either '''''r'I. or otherSf ructions:oCIProgram dataSpecial instructionsthe CNC operator may fi referenced sheet.r'"rT'I would be'additional ua!. control system will ignore all between the parenthesis. In machine on a or merhods sheets. use pointers to exlernal documentation example:N344 N34S MOON346 . sheet and will be: discussed shortly.documentation of a CNC program of several items of their latest version Ihis last slatement is very important The follOWing menlation.!lr'''f. together with a of coorat a later date. To avoid long descriptions internally. They canooProgram copy printoutMethods sheet. under the heading of Special ill-programming program stored shops that use should make it sheet in the copy) is program.. the rmiCllillc operaLOr orITEM 4. and instructions must enclosed in(THIS IS A COMMENT. kind of external and lion applied In sof£ware program. such as in a This kind of is useful when [he '"''. the programmer La include a copy of the methods a as welL drawing (or its important to be kept with the rderence source in the future..FLT ElM} N252 T03 is the current This designation vary depending on the tool systems particular machine \001 builder.

'.many programmers always havelimeor the setup person and theybetween mdividual jobs.PROGRAM DOCUMENTS904802(DWGEvery rime the Program MOO is used In (he program.. even III times of Crisis. It Ihal all fixtures and 1001s and holders are already available in the wailing to be used. program descripTioll can also This is a special kind of a comment. 42541)Once conditions are rollowed.. if both.O Nl3 MOS (CLEAN OO::PS Nl4FROM THEloolillg sheer are Ihe mher two most program documentation. length of these comments is not usually limited to 15.157 INCHES)SETUP AND TOOLING SHEETSIwr''' . even if lhey are or even wrong.ideas from the to programming enVironment. bur can still be handy for documelllation. ''' . They will not seen on the screen.ooThe description must be included in the same block as the program numberarethe forces of method Implies a well organized Implies (hal everything is under control. a and similar problems.printed copy and IheComments can be in the same block as program data:Nl2 GOO X3.. document the reason why ie is used:. all cOniribUlC 10 programmer in many companies. Programmer has to the reality a lillie more If there is no choice. A small conflict a delay in delivery.6 Zl.O NlOS MOO {CHECK DEPTH "" .Themust have no more than 15 characters not be acceptedo Low case charactersof program description may Include a in the comment seclion:04801.. The logic behind is very strong indeed .gain an extra space in the commentblock:make It aNl04 GOQ Zl. Examples of chapter.. also in parentheses. from all sides. however. No doubt.both types are The ongoingsetup sheet is a or a and orientation of the part on even the description of insheet usually lists only the positions. the programmer no to improvise. TIle mathe setup sheet and tooling sheel iscomment is written as a comment block is not lhal are part of Ihe documentationEnigmatic or cryplicl<#"~'a.Nl06 . always try to find a rensollable comprobut never as an excuse for being sloppy. the ideas from the programmer's II serves as an important link within the communication process.1)A-S462 REVISION D)SMID07-DEC-Ol)Nl04 GOO Zl. They will be displayed processing on all controls that accept Ihe com ments..If an additional that does not fit the 15 characters is needed.157 Nl06Nldocumentation IS 10 trans.reminds one of a'Do I make The after wriring {hesituation:rhe rooling sheet before or program?'Program Descriptionsystems. with spindle for each tool..O NlOS MOO(DEPTH TO SHOULDER MUST BE .". enter more comments in subsequent blocks.:> translate mto acuttingspeeds.. does not take into chine shop realities... There are some thatAs is usual in many and foes can be found onmake thedescription special. the program can be viewed along with its description right on the directory screen of the control system. the setup sheet and the the program.

make sure the changes will be minimal.The main purpose of a setup sheet is to document all details of how the pari IS mounted on the machine. part replacemenllimc. it may lnterl"ere with !. or the exact rool to be used are not known. Setup sheet using an outline of the material. it rests in the selection of the mosl like!.he future. machine. but many setup sheets are quite poorly prepared if lhey are prepared al all.450The freedom in programming is considerable but it is not unlimited. A normal part program cannot be wrincn without knowing the machine setup and the tooling to be used. indicating the maximum or minimum distances. This range should appear in the setup sheet. The compromise does not rest with the 'now or later' situation. hard and soft jaws. Setup SheetChapter 48sheet may have to be done for every machine or at least for every machine type. thi nk of some ideas. some programmers include [he cutting time for each machining operation on the setup sheet. Scale.. Critical posilions should be dimensioned. ·]n any case.}' possibility.J. Not only the type of material.nOI rep/ace . and other features that are important to include in program documentation. it is quite possible Ihat the setup sheet and/or Ihe toolIng sheet will have to be modified after the program has been proven and optimized. setup sheets are a luxury.. a face plate.each other. its condItion. fixtures layout. and the cutting tool). amount of stock for machining. they do not reflect the latest program changes and adjustments. and many others A master form for a setupAlthough not a strict requirement.. have some opinions . (he maximum grip of [he material should be speclfied In the setup sheet as well. Tooling SheetAlthough the tooling is really part of the setup. it becomes proven and eventually finalized.. In many cases. nO[ only the culting time Itself. That means it has to cover the part holding method and reference point relationships (part.but have ideas and opinions based on experience. a barfecder. certain rules can be set and adhered to and they can be applied to the preparation of a good setup sheet. making a separate tooling sheet is more practical. Clamps and other mounting devices should be drawn in positions corresponding to the actual setup. Atthe discretion of the operator. the setup sheet and tooli ng sheet. a program is made when the blank material is nOI yet available. 1t is a simple stalement of fact.1n many cases when the culler exceeds a certain length. finished shape. etc.Figure 48-1Simple setup sheet form . If something has \0 be changed. also its rough dimensions. Many times.07-Dec-01TOP FRONT. the speeds and feeds refleci a certain nominal cutter radius. etc. for large or complex setups. are part of the same documentation and complement . the setup sheet should include the maximum cutter length allowed within lhat setup. Although the rime spent on preparing a setup sheet is considered nonproductive from the cost angle. When the job is run for the first time. is very important for visual companson. This information is very valuable at its conception and will be even more valuable in !. For a chuck work on a lathe. If Ihe setups and tools used are constantly simple. the necessary changes are easier to make with good program documentation.).onlv basic data shownA well designed setup sheet should also include information about the malerial used for machining. i! is a time far from being wasted. Feel free to improve it as necessary. it requires a separate set of data. Knowing the cuUing time may help in planning the load work on the CNC machine. As the program is used and optimized on the machine. the nature of the job offers many Solulions. for example. tool path. Tool change location should be marked accurately. A very simple setup sheet is shown in Figure 48. Often. The golden rule of a good setup sheet is 10 make it in scale. even an approximate scale. It has (0 descrihe the positions of auxiliary devices used.G54X . describing Ihem both. However.. they are not consistent between individual machines and even programmers.If a cutter radius offset is used. The setup process can be organized. material the program is based on. a lailstock. Even if Ihe exact setup. If the programmer finds out later that there is too much deviation from the estimated conditions. inCluding a note on the adjustment of speeds and feeds. In these cases. if necessary.. thaI mayor may nol fit on the setup sheet. mainly for repeated jobs. should always be done in scale. a vise. Both. The most useful cutting time for an individual part is the chip-fa-chip lime that includes all the supplementary times (for example the [001 change time. the cutter radius may be changed within a reasonable range. the cutting time becomes known with morc precision. the actual CULLing time is unknown.he part or olher tools. different views shown.In many shops. it may be more convenient to have only one sheet.

The basic thinlUng behind this idea is Ihatthe available program number range between I and 9999 will take forever to use up. al a rate 01'25 programs a week. there may be dozens and dozens of subprograms that ruso need their own program number. sometimes very hard to find. premachined condition of the material. Even if more machmes are available. It has been used in programming from the beginning and it was mentioned in tbis handbook many limes already. A simple printed form containing the X. This is a shor1sighted thinking. Modify the sheet to add additional axes or make separate sheets for each machine type. yet quile an impractical method. Is that the time [0 scrap the machine and buy a new one? And if 25 programs a week seems a bit steep. etc. It could be a manually generated method. to inform the operator about non-standard tools..only basic data showno oToollengthBlock number of the tool being indexed Brief description of the tool operation Basic speed and feed of the toolo Tool projections from the holdero o oThe Z axis column will be usually blank for machining centers and Y axis column will be blank for lathe programs. now is the time to put them all together and organize (hem. tools that require modificalion.Identification MethodsBefore some better methods of identifying program documentation can be suggested. t11ink about a very popular. So. It is (ime to make a file folder. ThaI may be Ihree Or mOre separate operalIons [or a single job. usually by not a very busy programmer who has only one machine to take care of. identify it. or a comprehensive computerized database. Y and Z axes can be used for both machining centers and lathes. Some programmers use the program number as a reference for all related material. Look at possible problems with this thought. So the figures are not so unreasonable after all. An example ofa simple tooling sheet is in Figure 48-2. A contents of a typical {ooling sheet will include description of the following items:o oMachine and program identification Type ofthe cutting tool07-Dec-01Peter Smid1 of 1i oootdinal'ao Tool coordinilte dataooTool diameter Insert radius and the tip number Offsets associated with the toolFigure 48-3 SimpJe coordinate sheet form . (0 make almost ten thousand programs for one Ii would lake 'almost forever'. The data gathered for elwer machine will have some similarities and some unique items. numbers will run oul in a little more than 7 years.o Tool holder descriptionooDOCUMENTATION FILE FOLDERAll records lhat havc been collected during program preparation are quite likely important enough to be kept for future reference. also include any unique information in the tooling sheet.Figure 48-2 Simple tooling sheer form . therefore becomes very useful for olher purposes.only basic data shownCoordinate SheetThe idea of a coordinate sheet is not new. Figure 48-3 shows an example of a simple coordinate sheet. remember that each program will have to have i1 number.PROGRAM DOCUMENTS451Machine unit and the CNC system influence the contents of a tooling sheet. They may be stored aJl over the pJace. for example.Tool number and/or tool station number Special instructionsIn addition to the most common items. fill il up und store it properly. and some beller method should be soughl from the beginning. A tool ing sheet for a lathe wi II be di t'fcrent than a tooling sheet for a machining center.

The variety may thai it is almost impossible (0 Gnd some common ground for Another variation on the same theme is ajob numbel~ rather than a drawing number. With an access to a personal computer. Magnetic devices are particularly to conditions and should be stored from any source and magnetic field (including a They should be kept Keeping duplicates (or in a dry and dusl in a even tripl is also a good and safe procedure. if possible. they are not a netic fields. The sccdisplay. The storage of office steel fil ing to evely work shift. Individual sheets or pages the part ralion should be either numbered reference number on each page. Common sense standardization The quality ured by its usefulness in the future.2point of Ihis evalualJOn is that all menl (with the exception of subprograms). I f the zeros are ypnV"n"" order on the files will not . to be found to identify the documentation decisions is the program name ". a computer database.rf. etc. time a particular standard can be of thought has gone into its. usually because [here is no losophy behind an orderly filing is cess to a required program that provides instant rale information. the nature of the particular comment or should have the operator's name. the mach! ne and job description. the next program would be POOOOOO2. current date.One IS an I order.""""'" of the number of machining operations or there should be only one folder only one name for one folder. and software. That means.is storage of proven programs on a Disk) or a DVD (Digital Versatile Disk).. Regardless of CNC . even current time.Hopefully. the old up to eight alpha numeric file name and another three alpha nufor tile extension.for POOOOOO I. names are allowed. No number as the maya good that are not Jobbing shops. ideas. The name share the common denominators with any 10 such a name meaningful. . left to the CNC operat01. particularly when media. ail related to the firsl program would be . In thIS simplest form.r'''"'lr There are no given rules on individual there are no dard of part program is always use the old common. sense that is often not so common. Since Windows 95.. up to 255 characters plus extension try to advantage of this feature.. or a similar communicating the operator's to Whatever system may be sel. the tional ideas that will suit a ". a number the mome!'ll Ille order is Number is always used as the num-48 Operator's Suggestionsthe CNC machine operator runs comments. In many jobbing shops. the only limiting factor is Ihe sofrware structure to name the files. Filing and Storagequite bulky. as as other details that may be relevant and in future. Although still away from all heat sources. There are several this approach. so the operator a access to it. A very much less bulky . the chances are 10 each program are stored in comall In Ihal case.. establish a fi Ie nam tng convention Lo ble restrictions.~C(~(] available at the machine. The main benefit of such a system is communication goes into one source and is to control.. common enough requirements.Cl. as large size etc. For example. but together. alpersons should be any kind media for storing [he part sure they are safely stored in a separate than file folder itself. customers means dealing types of drawing numbers. nets should be identified as to their contents. corrections and variety It may be a good idea to a card system.

proactive measuresmeasuresPreventive measures areshouldpanies involved and conslluclive measures require even authority. the second action will error al the machine./'I. Checking can quile simple. Aoflen very productive. one or two actions. that was intent from [0 make an error .measures. Of course. -no errors. This is a prellentive to be corrected at the machine.UII'"Ul'.PROGRAM VERIFICATIONa wrlllcnISPreventive Measuresdetected and correcled by IheNow. Then.and should been the office. Programmersthe establishedme order of commands at thefollowed.The second method can programmers. An error can hard.Corrective Measureso oPreventive measures Corrective measures. To do all program the machine is very nonproductive and should beis easy. . il is a correclille action."'1"""'''' successful in rheir dcrcclion. If the 2 is the program instead of the j nlended lax error. The operator has no (ime to errors thut could .. program is error but programmer's desk. A error is one thaI does not from being processed by the3. measures thaL can be to help eliminale errors In a program are of twoA major pan of prevt. The operator should to concentrate all effol1s on proving the serun the first part. or fresh air firSl willDETECTION OF ERRORSit mllsl heerrors can found copy leaves the programmer are undoubtedly to they are detected during the CNC machine. Could an error prevented? if so. lhe effort should to il All programs arriving at the machine should gain of CNC operalor. Ask a"" '"1'''''''-''''' changed program. and the such as a visual comparison of the wnlten The main purpose of a is to mistakes . Thai is a logical errOl~the control can accept. . a check can reveal.If an error IS discovered at the il was missed and the An error that is II forces the measures and eliminate the error. it some techniques to . sel up seL up rules.'( ('rIOrs.niive measures is finding synra. if a dollar appears in the prothe control will reject it as illegal:nle control reLurn' an error message or an 'alarm'. during the run of the the CNC operator has to do something that should not normally be part or the operator's dulies. Ifall errors beshould be checked It Ihe machine. Which is on the seriousness of Ihe error. kind are mostly syntax errors. the elTor check the appearance of the program.". Whaleve( action II is the operator must take. Of course. The measure is to gel SCI up procedures. how?gram mer. wholaken a certain amount of<'(". should use isthe program and evaluate it. For example.en'. A syntax error is one Ihal can delected by the control unit. One will be to return 10 programmer. low them thai can be found program is on machine are numerous.Checking the program shouldginning and end nol lake much lime a£ all. What hapof the best efforts -there is an a I !ypi error can cause a severe problem when the runs on the machine. a perfectAI! errors shouldU'-l'.mistakes that can looking for them.

To get [he benefits of hard copy plouing.Chapter 49One method of graphic verification of a CNC program isa screen plot. This is an example of a hard error. A simple version of a pen ploUed tool path is a screen dump. The program itself is wrong and must be corrected. where the 1001 path IS simulated on the screen. A dedicated machine operator Will do anything possible to correct a problem without any assistance. It uses a computer and software specially designed 10 read a manually generated program. especially delays caused by somebody elsc. even if their cause IS a minor human error. that may not always happen. The feed rate motions will appear as a solid line of the selected color. On the other hand. etc. if it is designed and delivered in a professional manner. the program documemation must reflect these changes. It is a hard copy ploUed representation of the CUlling 1001 motions. particularly if they are permanent. The purpose of such a training is nOl [0 make the machine operator a fully qualified CNC programmer. Not every operator is qualified [0 do even a simple change to [he program. what exactly is a program error?Program error is the occurrence of data in a program that will cause the CNC machine to work contrary to the intended plan or not to work at all. some qualified operators may not be authorized to do program changes as a maHer of policy. rhe rapid motion will appear as a dashed line. if the CNC operator has least a basic training in CNC programming. Its purpose is to highlight how a part program influences CNC machining. without interrupting the program processing. A common example of a hard error is a programmed tool mOlion that cuts in Ihe wrong direction. along with suggestions to prevent. The second verification method is much older than the first. First. classified as a major error.all are mi nor oversights that cause major errors. the less damage Lo the production control has been done. since any human activity is subject to errors. a missing coolom function M08 in the program can be switched on manually al the machine.GVERIFICATIONProgramming etTOrs can be costly. the setup.A hard error occurs when the program processing must be stopped by the operator. an illegal character . pari. For program errors. Hard copy plotting has been available in computer programming for a long Lime. Some graphic simulation uses actual tool shape and Ihe part for a realistic display. oj' at least to minimize. is always a worthwhile investment. a misplaced decimal point. but classified i. Some software even uses a solid model like features. Its purpose is to offer the operalor tools Ihat can be used for minor program changes.AVOIDING ERRORSThe goa! of every programmer is (0 write error free programs. Time delays on CNC machines are costly and the sooner the program is made functional. usually to a printer.it is still an error. this section looks at the subject in more deplh. Omilled lIlil1u~ sign. Thatls almost impossible. Even a small permanent change should be always be documented in all copies of program documentation. Each cutting tooJ can be shows by a different color or density. making the vi~ sualization easier. One of the most reliable methods of part program veflficarion is a graphic display of the \001 path as it appears in the program. The display of the tool path will appear on the screen of the controL Many contTOls offer a graphic simulation option. It may be a relatively short traming thai will pay for itself very quickly.Most CNC operators do not like delays. The negative pari of any graphic verification is [hat it can only be used when the program is loaded into the control. The plotter is seldom a problem In companies using CAD software but may not be available to small machine shops. Such a training. Every company benefits greatly.1S a minor error. The most com mon mistakes will be evaluated. The required software is also part of a large computer based programming system and can be quile expensive. tooting and all (he other relationships between programming and machining. by one of three avai lable graphic veri ficalion methodsAll errors can be classified into two groups:o oSyntax errorslogical errors. This is very useful for 2-1 J2D and 3D lool path veri fication. Programmers with all levels of experience make miSlakes. or all of them. then displays the 1001 path on the screen. That is an example of a soft error . Almost all errors relating [0 the 1001 path can be detected early. This optional control reature will show allprogrammed tool mOlions on the screen. The human eye is weaker when it evaluates nongraphic elements. a pen plotter and a suitable software will make it work. The motion will be represented as lines and arcs. their happening. as the only available choice. cutting tool. Although a visually checked program should be error free. so the actual surface of the part after machining can be seen as well. at least once a while. and without doing a damage to the machine. the operator wi II try to fake corrective measures 10 clllninate the problem.atWhenever a program has been changed at the machine. Since the prevention of errors should be the main goa! of any programmer.454For example. There is a third method of graphIC verification and can be done in the office.

l MOB I N5 GOl X-O. The error is inN4 GOO G41 X12..06 FO. Syntax Errorsgroup are usualJy to deal with. For example. Note blocks N5. N6and N7.it should be: grammed. A programmer with limited experience wi!! all kinds of ererrors.Oo FO. Try to further.012 I N6 GOO ZO.O.. If a motion is to the coordinate of X 1.l M09 N1l X20.. The same result will when is programmed for most milling can nor be used with eitJler most V . it is very character In a fOllr control.o.1 T0404 M08The second error is eye to spot it.l M09 NIl G40 X20. once .2 I N7 Xl2.0 T0400 MOl logical ErrorsLogical errors are more than syntax errors. damage the machineA error of this kind may have a next tooL Even worse. 0 N8 ZO FO. ity to exercise all care and caution. this error may not part ron.0 Z5.it is an illegal character Yet. block should correctlyNIl 040 X20.l T0404 MOB I N5 GOl X-O.0 ZO.:. it wil] it as a syntax error nnd ter Y in a the won't run. which was never prosition and the tool offset N4 . but only for orocesseCl The correct block N8NBand requires a In symbol was program with the cutting feedrate is control would issue an time the program is be:zoFO.0 ZS. a lathe control systems do no! character Y. but program states conlrol will go ahead but the tool position will same error will happen whenZIO.0 ZO.0 Z5. Logical errors can be serious -Liley may not only result in a scrap.VER IFICATION5Logical errors cover an unlimited the following lathe program is For04901(EXAMPLE WITH ERRORS)Allhough the average distribution programming errors could be generally splil al 50/50 "~t.g the machine fOol logical error is to act in a to the programmer's intentions.N1 N2 N3 N4G20 G40 G99 GSO S2500 T0400 M42 G96 S530 M03 GOO G41 X12 0 ZO.Ois ahhough intenlwasXIO. """. look at each error group. they can even the operator.a tooloJfse/ is missing. An experienced programmer more rars. ThIS block is correct Block Nil is the return to the Indexing polallon.012 / N6 GOO ZO.012th error is the missing cutter radius block N II .<.''-. The correct04902(EXAMPLE WITHOUT ERRORS)N1 G20 040 G99 N2 GSa S2500 T0400 M42 N3 G96 5530 MO) N4 GOO G41 Xl2.>~ the syntax and errors.. tool T0400 is without an offset.2 / N7 Xl2.06 mo GOO ZO.0 T0400 MOlThere are errors in tify them before04901 example..t. If the control encounters the letprogram. Syntax error is simply one or more charprogram that are either misplaced or do not beThis error covers program that do not to the programming format as syntax) of the conlrol system. A as an error causin.The first error should . In the block N2.06 mo GOO ZO.D12 N9 GOl X-0. oflhcblock in block case.0. The contTol does not cannot have any buill-in protechas the responsibiltion against logical errors. 0NSzoN9 GOl X-0. cenain conditions swi the balance.O T0400 MOl.

are just some causes.456After evaluating the three errors. Always program with the attitude to eliminate programm errors altogether.ask yoursel f 'wha' mistake do I do repealedly ?' Everybody makes some 'favorite' mistakes.cuts that are too heavy or 100 lighl. but never counl on it.error is an omission of some fundamenlal instruClion. etc. A11 errors in the example are good illustrations of logical errors. poor altitudes. all represent a serious error. Be also careful when canceling or changing modal program values.Chapter 49Calculation ErrorsCOMMON PROGRAMMING ERRORSStrictly speaking. For example. Inexperience. rom tolerances. Most errors are a result of insufficient program planning and a lack of precise progr<lmming style. negligence.Hardware Errorsfunction. style offers tools and organization. Olher errors ale insufficientlool clearances. The mosl important step towards eliminating errors IS the idenli ficalion of a problem . insufficient clearances and depths. Their occurrence is rare. With some common sense. don't blame the control or the machine as [he firs! {JIU:/ only possible cause. Math is a generous science and more than one calculation method is usually possible.. It may become a very bad habit. Many errors are caused by the incorrect inpw of intended data. USlng a differelll formula. This error is an accumulative error that results fTom too many dependent calculations. it is a good idea to check the calculated result once morc. Planning offers a sense of direction. that some mistakes are made more frequenlly than others and in that sense they are more commoo. just mark il as unproven. They may not always be easy to find. there are no 'common' programming errors.Calculations checkTo prevent math errors when using fonnulas for calculations. but they have to be considered as possibilities. many programming problems can be cltminated. Even the whole block may get 10SI.Miscellaneous ErrorsProgram Input ErrorsMost programs are hand wrillen or typed and have to be transferred to Ihe control system or a computer file. and sUltable precautIons. Keep in mind thaI if somebody else is using the program.Rounding ErrorA special lype of an error is causeu by incorrecf rounding.and the most frequent . Many errors are caused by the programmer's inability to visualize what will exactly happen when the program is processed. as modern controls are very reliable.The simplest . a missed decimal point or a wrong 1001 retraction will. Input errors also i nel uue errors caused by forgetting to input significant characters in [he program. These sirings can be almost anything and can cause a serious problem. zero. Before callmg for a service. Drawing errors include too many or too few dimensions. In CNC. It is also true. In many cases the error will be too small to cause any problems. errors relating to cutler radius offsel (this is always a big group). A n error in lhe drawing is possible. To this category belong all errors relating to setup. lack of concenlraLion. Mistakes do nol happen . One common error is to cancel one kind of motion by replacing it with another type of mOlion in one block. a depth Ihalls 100 shallow or too deep. Also make sure to work with the latest drawing version only. These are not programming errors. It shows ignorance and unwillingness 10 address the problem responsibly. but they can creale a lot of additional problems if not found early. the solution lies in the correct answer \0 this simple question. A missed coolant function is not likely 10 cause a big problem.but mistakes are alwa}'s caused. Thnt will be the Cirst step Lo making fewer errors. The type of calculation errors include a wrong numeric input. make sure to exhaust all other possibil tties of error detection first. A rounded value used in olher calculations may lead 10 an error. even when a pocket calculator is used. Both syntax and logical errors share the same cause .S. incorrect spindle speeds and CUlling feedrates. Focusing on this group should be beneficial. program stop. its legibility and syntax is very important. zilch. Keying a wrong fonnuia.The lasl type of program errors is by tile malfum:tion oj 11 hardware element of the control system or machine. A complete elimi nation of errors is not realistic. what chances are there that the control will return an error message? Nil. but first make sure to interpret the drawing correctly. Every programmer makes some unique mistakes. to prevent an unproven program to be processed as a proven program. Other errors may be caused by the wrong setup.the person who writes the program. tooling or material. a missing minus sign and olhers. Mark it at Ihe beginning of the program and leave it there untl! the program is checked. tooling and machining conditions . then forgetting to reinSlate the previous motion later. even Ihe selection of wrong tools for a given job.Some errors can be traced 10 the part drawing. wrong arithmetic sign or placing parentheses in a wrong position. It is difficult 10 lisl any errors as being more common than others. When encountering an error. mainly when preparing the program from poor sourCt. It may be a coolrlntUsing malh functions and formulas is a part of developing CNC programs manually. even a bug In the software is possible.

Wrong! to be in constant field of bus! ness have a learn people LO ming project. programmer all directions. without management. lions and seeking answers is the only way to formed about what is actually shop. 1£ takes quite a bit of lime and errorl.in facl . Now. tude that they are always are all on the Exchanging ideas with machine operators.iobs . at by the physical level. It is in programmer's interest Lo how !. programmers who may closed and ears plugged.programs that 11::1\(: al least once before and have been proved to correct in all respects. The firs! covers all programs that have never been used On the machine. it must managed intelligently and by qualified people with cnce. Programs In . The quesresponsibility really manufacturing can the uated? When can the programMACHINING A NEW PARTThe most expensive pan done on a CNC machine IS al~ ways the first one of the batch.in will become counterproductive. These programs must be proved for accuas well as optimized for best performance. secgroup covers the repelilive .this group have most oplimized for the best performance conditions. perhaps or even criticism?ideas and do commun with each other· thai is advice for becoming a better CNC programmer. programmer will No doubt.listen La whallhey have to never put their fOOL in the reluctanlly. make portant . shop offeTS tremendous resources. the CNC operator must a care running Ihe first pan of the: balch. The function and responsibilities a has been covered. Setup time is non productive and testing a program IS non produc1ive as well. leI's look at what when the completed program and related malerial actually the machine shop. Without a firm grip and good control. [here are two groups of CNC programs. even if a good pan comes out of the first run. All the calcubeen wriHen. In both cases. docuway Lo the CNC finished? Is there back... from talking to gram or particular grams used in machine lypically CNC machine of constructive ideas. As any other technology. Do exchangeGenerally.r''''''~osent to mais over. the programming and the approach to programming overall. take of them. CNC technology is an instrument 10 ity with a minimal human involvement. improvements to them. hut doing too many 'first' for one batch is not productive either. After completed. the CNC operator is ready to test the and Ihe machining conditions. as it should.he operalOrs feel about (he program. the technology will not yield the SullS .is peifecr. there are di ffercnces between a 11t'\\:job flm versus a repetitive job mn. After all. each a different effect on program proving.. Iwo qualities relating to the parl program established lirst:Setup integrity457. These activities are and must be done.CNC MACHINING""' . ask quesllons. InaDcase.

The whole process covers Ihe setup of the CUlling loots. Adjusl the lis! 10 reflect personal working methods ancVor programming style. or any Olher for [hat mutter. operation. Whether the damage La the part or even the scrap is caused by the program or for some other rcason is a littJe consolation when the work is rejected. For example. in II form of 11 brief check list.458These two consideraliol1s are equally important .]n manual CNC programming. What does the CNC operator look for in a new part program? Most machine operators would agree that the first anu the most important thing is the consistency in programming approach. He or she has a sense of great responsibility. Also keepControl Settings Check0 0 0 0 0Chapter 50Is the coordinate setting registered (for G54 to G59) Are all the offsets entered correctly Is coolant necessary What is the status of the BLOCK SKIP switch Is the optional program stop MO 1 active (ON) Is the DRY RUN off if the part is mounted Do you start with a SINGLE BLOCK mode set to ON Do you start with spindle speed and feed rate overrides set to LOW What is the status of MANUAL ABSOLUTE switch (if applicable) Has the position read-out on the screen been set from zero (origin preset)in mind thaI the setup integrity has to be established againwith each run in the future. as well as the part selup and many related tasks.Setup IntegritvThe machine setup is only a general description of the lype of work actually done to gellhe 'CNC production goIng. A good way to look at a new program is Ihrough the machine operator's eyes. No single check lisl can ever cover all points that have to be considered during a CNC machine setup. procedure.it simply renects [he facl that the machine operator is ultimately responsible for the expected quality of the work and is aware of it.re a reason? Is the basic programming formal maintained from one program to another program and from one machine to another? A good operaw(" scans the written program twice once on the paper copy. coating) Are all the tools the right size Are the tools placed in the proper magazine station00for the fI ir 1"Ittflchments0 0 0Are the offsets set correctly(set zero to unused offset values) Is there an interference between individual tools Is the boring bar properly oriented (milling) Are all the tools sharpProgram Integrity0 0 0Part Setup Check0 0 0Is the part mounted safely Is the part properly oriented on the table (milling) Is the proiection of the part from the chuck safe (turning) Is the part lined up for squareness (milling) Are the clearances sufficient Are all the clamps away from the cutting path Is the machine at its start {home) position betore you press Cycle Start Does the tool change take place in a clear areaAny new and unproved program is a potential source of problems.is Ihe.Cutting Tools Check0 00 0 000Machine Tool Check0Is the slide lubrication container filled with the proper type ot oil (lubricant) Is the coolant tank filled Is the chuck and tailstock pressure set correctly /tuming) Has the machine been zeroed before running a job . th ere p.nough (air hose. Even a small omission may cause an accident and part damage or even a scrap due to a raully machine tool setup. etc. mistakes are a lot more common than in a CAD/CAM program. the final result is not satisfactory. 111e major look here is at the most important considerations.if only one of them is weak. grade.. etc. 111e program integrity has to be established correclly only once.they lake 110 chances.~ Ilre0 0Are the tools properly mounted in holders Are the proper inserts used (radius. are all tool approach clearances the same way as always? If nOl. is to cover as many details as possihle and not to omit an important item. the second time when the program000 00. chipbreaker. Adjusllhe individual poinls according to the machines and CNC systems in the shop. Experienced CNC operators take a direct approach when running a new program . That does nOl mean the CNC programmer IS not to be trusted .is the read-out set to zeros I!'. The main purpose of this check list.)prf!!. AJways aim at [he highest level in eilher category.

Check the programconlrol It is surprising what can mto screen Ihal was nol seen during the be seen on reverse is also true. There is 10 graphically check the program on asimulation and file comparisons. switches on the control panel may be I Watch for lool motions in general and be sure 10 . clamps.are already set in the control. can be prevented.Set the tool offsetsIhisDf:re:nding on the lyre ofthe tool geometry and wear offsets. set cutter radius offset.or the looling inforoperator selS the tool stations control memory. Again .:. they will remain the sameoSTEP 1 ...rem[)ll<JlSI2~ed. It is feedrates.\latch specifically..may be removed from the fixture temporarily.Set the partPlace the part into the fixture and make sure it is safely in mounted.of the will be two kinds ()f path:o oTool path simulation Tool path animationhave been described in the. timeov. and tooling sheet. if important parlS of this slep is (he nate (work offsets G54 to or (G92 or not both... aamoun l extra large or extra u'-..m. Trial cut is a cut that is designed to idemify in offset sellings and their sure the trial cut leaves enough material for cut also helps 10 establish Lool within limits. The common copyisslep is the firsl evaluation of thesuch as adecimalminus sign or an address. jfone<:essar'v adjustments are finalized in before production begins.STEP 3 . properly in theAn trial cut may be required in to whether programmed speeds and reeds are reasonable or nol and if the various offsets are set properly.oSTEP 4 ..:t:kl.Start the production batchsecond double check may prove toA full batch production can start now.u on Ihe screen easier Ihan on a computer for manual programming..:!Jt. particularly drawing may often be reqUiredoSTEP 9 . etc.as well. If not sure with any aspect of the programmed tooloSTEP 6 Reset the partstyle is very important Consistency is the operator in the proconfidence of the gram illtegrity.. just 10 be sure.TheRUNNING THE flThe CNC machine studying thePARTonow is the I steps allows continuation with AI this point. The]Make a trial cutmainly the fewvaryfor most johsstarts a new job by with the program.. with all considerations... ". Work and most conventent selection 1001 setup..inin the fixture again.. This slep represents the end of most initial of CNC machine operation. The next procedures lhal will Iy..'\J'-. it visually.oSTEP 8oSTEP 2 . Repeat this step. adjustment (usually a wear to adjust spindle speeds andThe fixture thai holds or the machine.!u accurately. squared and part is not mounted at this documentation.Set the fixtureAt this order to TIlis slep offsct).CNC MACHINING9o STEP 5 .l"<' Make sure the tools are sharp holders.Set the cutting toolsTh is fi rsl step uses the malion from the part culling tools into their and registers all 1001 nnrT'oh". check the the ad and air pressure.a quick worth the time. <. Check for possible inlerferences and the setup. Using a douhle .

in mind that only one second on a cycle lime will save one hour for each batch of half an hour for each 1800 pieces. What it does show is quite jmCNC macllini centers. do nol forgetlo set before the program is lesled. optimization. Others are taken for the best productivity rating. to make il better than it was before. il is compared to another lype of pro-Program UpgradingUpgrading a CNC means to strengthen it. That can gram change . virtually any by the machine the CNC programmer who has 10 apply to the new program.All should be for the beuer. all in a shaded form.once 111 the XY lime in the ZX or YZ view.'" a special option of the cont("ol 1001 to available. also W/IIdow.. The solid area of the the lools. The part outlme IS identi by a smgle color. this option also adds to the overall cost of the control system and many companies choose not La purchase il..0 0 0(Jhave been has to be done those details that to be checked have easier to follow. Some improvements require a different setup. areas that arc (or reduced for Cutter radius [001 functions can be turned on or off Make sure the 51 mu!ated cond llions are as possible. ng a split screen method. can {he flexibililY of the50PROGRAM CHANGESis proven. No can show every single detail and no chips. the tool path animation a additional benefits. changes 10 the are resull of a design lion and have to do wiLh Ihe program optimization. as well as lOIS. there will be no Many other but what does show will Since all motions of the control. The tasks down and the program isFine-tune the spindle speed and/or f!::ednne Choose the heaviest depth af cut possible Choose the largest tool radius possible Experiment with new cutting materials. Also.'> or . atool path more descriptive method to machining is fOol path allimation.to a reasonable extent. before the whole job is completed. Some in only [0 milling operations. can also be preset.460first type of graphic representation.. the display is also proportional in the actual CUI. Jobs that are repeated frequently.. Regardless reason. but they should be appl the next time the job is done. to enrich if.. very accurale representation of the an additional benefit. or fixturlng. tested and !he fi rst part a good CNC operalor looks at ways of improvements may be done on ne..program updaTe. Often a major change will rebut more likely. alilhaL run.most controls. the tool parh simulation. The improvement over lool path100% accurate display of tool path. should be scrutinized with even more care.. It means to change it in a way cost IS The cost promise in quality upgrading (optimispeeds and feedrates. instructions cannot be lested by us-upgraded. and so on. When a proit is said to be optimized.In the following check list are somewhen optimizing a CNC but it should serve as a into and be explored. Many CNC operators run the display especially for milling systems . control can be set lo one of several views. the material can . lhe (001 motions are identified by a dashed line (rapid mOlion) and a solid line (cuLting motion) processthe order of machining is shown on the display screen as either dashed lines or solid type. The form... . shows the oUlline of a tin and the tool molions. rather than an outline only. others only 10 are also some items that apply to bOlh . the chuck or With a screen. Unfonunalely.<. The too small or mode. display is turned on. righl on the screen. it would not be practical or even h1e to implement changes on the current job. More one view can be set at the same lime on the display screen. as well as etc . is [0 concentrate on seen on Ule display..]n many respects to tool path simulation. and seen on the screen display. Milling operations may require a approach then turning operation'>.

A program needs LOIn con!rasllo program son for program updating iog the part cost In the end. mayan Improvement Ihal can be applied to a differenljob..i. H are several existing copies of the documentation. Tuuls I rtu:.on anotherbe Usually is for a specilic machine and a CNC system. the rcato do with decreasmay COSI due to a or similar interventions. they too.rl". (he nature of the even the lime of the day. only once should be carefully audited. but with the same type. should replaced to make them current 10 1l1C programmer's name. thjngs can go wrong.whether it is a minor program rewrite.planning. can be executed on anyone or them. except when a rush job is just about [0 set up on [hal very machine. the design lomer. If two or more such have been installed in shop. It usually happens when it is leastEveryof action. all revisions.. the CNCin [hethat ofthat have beenpreviously upgradedEngineering changes in pariif two machines [Ire differentlll size.! alloe The pan posi-are diA specific change (hal will program may as small as a sional tolerance or as large as a Personal experience may be somewhere upgraded CNC program will the change .r1oConsideronly. the change in the but nm because abe updated after any jer. changes should be recorded.CNC MACHINING1 Documentation Change0 0e tool order for faster tool chan es bi-directional turret rotation00 0 0 0 0[)documentation thai is program is not much useful if it not changes done during machinidocumented engmeeringthe MOl rather than the Avoid excessive dwell times cutting' situations motions where applicable Use multiaxis motion whenever safeApplypasses for threading0Look tor block skip applications Avoid spindle direction change Shorten tailstock travel distanceoo o o onot return to machine zero after each piece Program tool Reassesssource. al What happens in a machine shop when lhe only ne is suddenly out of commissIOn? or course. this never happens. Thc exisling program may be usable as orwith only minor modifications. sometimes in the fULUre. Keeping the (at for a while) may one or tWO experiments may on theMACHINE SELECTION. two or more machines and/or conlrols are totally are not transrerable and a new TIle best OppOrlU-Program Updating(opllmlzation).forcompanies {halshop. but have the same overall is in the source and origin ofown are Iypicallyare more common in In ajob by the cusonly differencealternate machine selectioncull i ng toolsa valluole.nl'H·".grammmg. updates. ahhough deveJmore items can be added TO modified in their description. calculations should be especially weI documen supplemented with formulas and sketches i f . should be a change took place.

To write such a program is simple. usc M99 function al the end. wilhin Il cerlain environmcnl romare parlicularly sensitive to rapid in humidity.OZ-2 0 SSOOG04 PSOOO G28 ZO MOSthe safety concerns or a machine are almost the same as those operators funninO" conventional i pmenl.5°Nl1 Nl2 Nl3 N14 NlS Nl6 N17Y8.0 Y-8. This will used with many jobs and modifying it a new job is set up is nOI an option. completed and the program will/ N19 M30(REPEAT FROM BLOCK 5)G04 PlOOO N21 M99 P5 %is . the in be programmed. when the machine was sillin o all night ill an unhealed the CNC c::IaI' turns the spindle on for a few to it warm At the same lime.0 Y-2.0N7N9 G04 nooo N10 X10. moving the[he chuck jaws. on a cold morning in the Winter. setup and Many do's and don'ts can be itemized.ll on the spindle Some ultra high precision machines even an internal cooling syslem 10 keep (he spindle constant. but keep . Proalso fUnclion M30 for the block skip symbol [II. All potential hazards are clearly specified In {he manufacturers' I Every CNC operator knows from precision depends a great ue<.0 Z-2.0 ZS.simple in structure.46250NlS G28 XO YOMACHINE WARM UP PROGRAMis guaranteed by ils manufac-monO( only if it is handled properly. Here is an attempt at a of concerns in CNC shop.example 0500 I is a typical warm up milling system and uses English units. external vibrations. a program thaI can be used with all jobs. Also keep in mind . but there are several sure thatlhe maimportant points to consider. but no will satisfy all the safcty concerns. il may be wOr1h 10 automate it.ON8 S600z. 0 InlenllOnal programming techniques consample progr<lm:QThewhole The The Zis in the incremental modeaamotions are to the machine zero is the first motio nao Owell isspeed is increased graduallyto lengthen the current actiona aaThe end tool motion is to the machine zero The end of program M30 is 'hidden' by a block skip functionEach repetition of the program starts at block hiScan be developed. adapted to any other machine:05001 (WARM-UP FOR A MILL) Nl G20N2040CNC MACHINING AND SAFETYMachine shop safety is everybody's basic issues have aheadv of Ihis handbook.purpose. In cold climates. chine mOlions will always be in area wherc there is no possibilily of a collision. yet well thouoht OUL . 10 re([self indefinitcly. dust level.5 F1S. A will do the job.JN3 G9l G28 ZON4 G28 XO YON5 S300 M03N6 GOO X-10. Anothcr POlnl is the spindle speed in r/min. Avoid hiah r/min . 111ere are III the incomplete lis\.10 warm up a that had been idle for a relatively of lime in a cold temperature.05750GOl X-S.0 X-2. in order 10 freely a few moving along the free mOlions In all axes. dependingwork expecled on lhal ma-a warm up program for ilthal are typical to a CNC range. on a boring mill. and try (0 Improve them. SnfelY starts with 11 c1enn work p~cc and approach [a programming.O Y-3. If process is repealed months. eiC. and so on. When the warm turn the block skip off.(he goal is a genpriC program for (I specific machine rype. Many. at Ihe programming machine.a horizontal machining center. without modifications.a [001 mounted in the up cot:ld have a small or large diameter.

always follow proper policies. the electrical power is still !':llrmlifHI to the eNC machine.Machine Environmentfree from oil. perhaps even noseooNever remove cutting chips by hand. protection may also be needed for and ears. water..For a complete procedures asbyshut-down. that tools are sharp and selected properly for the job onit iso On the machine.CNC MACHINING463o ooDo not alter design or functionality of the machines or controls Electrical or control maintenance should be done by authorized personnel Do not use a grinding machine near the eNC machine slides 00 not use a welding equipment on CNC machine under powerPersonal SafetyoWear suitable clothing (tucked-in shirt.do not engage inand horseplay around machinerynol aare only some common sense comprehensive list for CNC machiningaoIn some cases. and similar jewelry before machine operation long hair under a net or tied up Protect your feet by wearing approved safety your eyes . design. there may be several located at convenient should alw(\ys know the locaswitch. Emergency switch isWARNING!Never use a file tor breaking corners or a sand paper for surface polishing during the program execution Deburr sharp edges before handling a part Stop all machine power for Do not operate a faulty machineAlthough the emergency stop switch disconnects all power to the machine axes. regardless of the current operalIonalbeshould such as oSee whether all the material is safely stored and finished parts are in proper containersWhen pressed. bracelets. with or without gloves on or gloves around moving or When lifting use a crane orSHUTTING DOWN A CNC MACHINEmachine IS not used for an extended it should be shu! down.oask for help. make sure all the tools are tight inoo o o o o oStop all Do not leave on when of keepor inspecting finished workUse only a suitable coolant mixture. buttoned-up sleeves I watches. it will lock in place and must manually in !:he opposite direction to II sparingly and only in realMachine Tool SafetyAn situation that is unsafe to the human being is about to occuro o oDo not remove guards and protective devices Read and follow manualsoAn collision of the machine tool elements is about to occurCheck fixtures and tools before they are used the holders.never reach part while the spindle is rotatingoo o o oouBehave responsibly . Many users assume down a CNC machine means just to turn theThere is more than that to shutting down a malool with a power switch.wear approved safety with protective side shields at all times an approved safety helmet if that is the company policy Always towards your hands .Emergency Stop Switchof the emergency switch IS (0 stop all Ina-o oo Check the from anyso they are not blockedchine InUliOI7S immedialely. the coolant tank clean at all timesto cause damage to pressing the Emergency Sii'ilch. rings.

but a good CNC operator will leave the control syslem in such a state that it does minimize a potentially dangerous situation. The CNC machine operator should only be concerned with the basic preventive maintenance. there is no one switch to do all work. it is better to leave any kind of maintenance to qualified technicians. Modern control systems require very liule maintenance.3.Turning the Power OffProcedures vary from one machine to another. Again. with their products.Setting the Control SystemControl panel ofUle CNC unit has many SWitches set to a certain Slale at the time of a shut down. or mechanicaL Many machine manufacturers. This is for the safety of the sensitive electronic system of the CNC unit. The manufaclurer of the CNC unit and (he machine manufacturer supply reference manuals. the solution to one problem may cause another problem. Since it is done manually. possibly causing staining or even rusting in and around the 'parking' area. oClChapter 50Set the Single Block switch ON Set the Optional Block switch ONoSet operation mode to MDIIf available.EQUIPMENT MAINTENANCETo mainlain a CNC equipment is a professional discipline of its own. It does nOltake any more lime and the slides will never be too long at anyone position. variations exist as to what is rhe proper procedure. In general. before the power is turned off. 10 a different position every time. is impractical and may resull in an overtravel. if the procedure to turn the power on is1.the machine zero. including special ones for maintenance. This condition is usually achieved by pressing the Power On switch. 2. some programmers make a small program 10 bring the machine slides into a safe position at the end of work. If the machine slides arc 'parked' repeatedly at the same position for a lengthy period of lime. A beller way is to let the CNC operator do the positioning of the slides manually. For example. various dirt deposits will collect under the slides. 3. also offer training courses in maintenancc and general troubleshooting. A practical CNC machine operalor knows Ihat to shut off the machine when the slides are at the machine zero position causes the subsequenl start up 10 lake a lillie more time. so always consult the machine manual first However. when used by the next person. The machine zero return needs about one inch minimum (or 25 mm). remove the Edit key from the lockoParking Machine SlidesSeveral chapters have menlioned a comment that a CNC program cannot be executed unless the machine had been zeroed firsl. there is a better chance Lbat the machine position will bc always different.or almost at .Control switch off Machine switch off Main switch offNote lhat in either case. Also check the exact function of the emergency switch (described earlier). the machi ne does nOl reslm1 automatically. usually consisting of the air filter change and similar simple tasks. All that is needed is a motion of one axis at a lime. to be away from the machine zero position in each axis. Recalllhal zeroing the CNC machine while the machine slides are at . electronic. Here are only some possibilities ro apply before leaving the conlrol system for a break. electrical.2.Several other precautions could be also be used. there are some procedures pretty common to all machines. as it relates to the machine shut down procedure. and even dealers.Main switch on Machine switch on Control switch onthen the power off procedure will be1. Although the idea is good. This position is often easier LO reach ill the end of work than at its beginning. To avoid any potential problems in lhe future. or a complele shut down:oo Tum down the feedrate override switch to the lowest setting Tum down the rapid override switch to the lowest setting Set mode to JOG or HANDLE Set the handle increment to Xlo o. General rule is to reverse the procedure of turning the power on.464When the Emergency Slop switch is released or unlocked. 111ese publications should be a compulsory reading for any person involved with maintaining machine tools in working order. The machine setup conditions and other condllions have to present before the automatic stan call be selected. just by taking care of the machine in general. but the ones listed are the most typical and should ensure reasonable safety precautions.

(known as a port) that is marked port in two forms. but also a software drivers lhat can run these devices. it only the stand>lrd >IS . TheROM (read-only-memory) devices. Almost every CNC computer. many require not only a special cabling. a tape puncher and has a connecior or similar. there must tain independent standard that all The RS-232C is such a standard .:I ine."I1r.. The focus of this chapter will be on the connections that can beeasily assembled and those that use standard configurations There is one industrial standard have in common . nol as (l5. it must he first and optimized. There is a number of variations that follow the standard in principle. The one WIth {he is known as the DB-25P connector.In order to load a part unload a program rrom tbe ncclion called a data is "".25 configuration. This handbook is not an in-depth CNC communications. usually a desktop comtogether with a suitable cabl~ and a comneeded to transfer CNC prouse mainly the DB-25P lype P means it is a pin type). manufactured by a different company. An eXlernal computer.. the other with a 25 socket configuratIon. There program inlo the most lime at theRS-232C INTERFACEData transrer uelweell two and controls) requires a number same rules for each device. but deviate it to some extent. and others0Many of these devices are proprietary.a standard called most these ~ an RS-232C interface.the leuers RS 'Recommended Standard'. one with a .almost a standard.. the one with the socket as DB-25S connector (male/female respectively).INTERFACING TO DEVICESand oplimized for for fUTure use or refstored.. Well . Figure 5 J-J illustrates the layout.rj usually an electronic device thaL is cale with the computer of the unitTypical interfaces and00are:51·1 Typical 25-pin RS·232C port· DB typeTape reader and tape puncherData cassettesData cardsBubble cassettes Floppy disks Hard (fixed} disks Removable devices0 0 00 00The RS-232C port on the CNC unit is usually a siandard and uses the DB-2SS Iype (the letter S means it is a type).

Working on a means some inevitable changes to the program it had loaded. These once tools replaced by (he inexpensive microcomputer and inexpensive communication software.:""\.o. Rather than as source running the program.1. The only the CNC memory. lhe paper {ape is no longer needed. not to run the job from (he tape.punched tape is generally avai two main purposes:oTo store the program data for use at ain athough a folded strips version may still beoTo serve as a media for transferring the the control system via a tape readerdata into. It can gel dirty easily. both devices can 'talk' LO each other. machine is used to load the program stored on a system memory.Jquality. Loading and coosoftware Ihat runs the complele done first. terface .a few notes relating 10 the bacomputer as an interface a short look at the anginal inpunched lape . but it had very popular. punched tape technology is obsolete nny modern standards. The difficulty of this while a built-in was common. Since these changes cannot be on the tape.as a media used anymore.466To51method of communications has to be installed between {he porI. Once loaded. the is from the memory. the has been replaced by '-'\. This is an organizalional and can be resolved relatively . The wide (25. There is one witb rhis method. 1l1e majority of new not have tape reader any more. In addition. then punch oul a new port.(he used for many years bUIMediastoringPUNCHED TAPESince the beginning of a punched tape has the part program 1980's. of any kind. it may justify a short sideline for those who I use it and also for those who are In 'historical' of numerical control.the late splendor and laptop computers loadedDATAA punched tape is Ie and bulky.Later in this a sic principles of with the CNC system. a built-in A significant amount to be spent on an external portable tape usually incorporates the lape (eader anyway. duplication. Used older may have it. in the Mem01Y mode SCl!ing. is to make all the necessary cmmg':!s CNC umt.0000 Tape Reader and PuncherOne of the original facilities for built into the old NC and on a CNC machine is quite non equipment.4 mm) and about 900 in a single roll. there can be confusion at a bly when the job is repeated.. It is economical 10 use and is still available (although the per roll could be high). Changes (0 [he done through the CNC and a corrected tape may out later. enforced paper.machine shops do not use tapes. man most useful descriptions and in Figure 51-2.II.Figure 51·2Punched tape detail· basic dimensional standardstape material for stori proven on the machine. Many of these old controls accept tape only as an input device.

any digit. slash. represented by a unique combination of boles punched across the width of the tape in . and the other. and others. make sUle llialtlie process IS consistent for the whole length of the program tape. such as a decimal point. A character can be any capital letter of the English alphabet. a pair of punched codes representing parenthesis identifies a section that is no/ to he processed by the control system. called ISO in a common abbreviation.54 mm) increments. 6 or 8 punched holes. The blank section also provides protection to the coded section when the lape is slored rolled up. Odd parity is the standard of the Electronic Industries Association.. that is punched on the tape will be ignored. see Figure 5J-3.nown as the standard DIN 66024 (ISO) or RS-358 (ElA) or ISO code R-840. The odd EIA format is the standard number RS-244-A.INTERFACING TO DEVICES467The even parity formatlSO is also k. they will appear in the hard copy printout.0l8 9AABlank TapeBlank tare i~ [he tape purchased and i. and Odd Parity. to indicate the feeding direction or the top of tape. The technical terms for these two systems are Even Parity.1000 (2. on the left. Another term used in conjunction with the significant data section is a label skip function.BBCDECDFE FG H IoFigure 51-3G H ITape coding standards Even parity (ISO.ISO CODEEIA CODEo 7 8 9. ETA in short. Whatever infonnation is contaIned between the parenthesis will be ignored by the control. Mixing ISO and ErA codes on anyone tape will result in a rejection by the comrol tape reader. This is a section that may include program comments. minus sign. It means that everything up to the first EOB (end-of-block) character. 4. completely free of any holes.ISO and [fA TapeParity CheckWhile punchillg a lape. The purpose of such a check is to detect malfunction of the punching or reading equipment. located between the third and the fourth channel of the tape. providing they have a will accept either tape coding automatically. odd parity (EIA) on the rightSignificant SectionEven parity of the punched tape corresponds [0 the International Slaodards Organization coding.formatWhcn preparing the tape. it may be overprinted with directional arrows. try to understand two methods of standard tape coding . Blank tape can also be one that has only sprocket holes punched but no holes repreSenlJng individual program characters. when the punched tape is loaded into the CNC memory or processed in a reel-to-reel operalion. Blank section of a tape is used at the beginning (leader) and at the end (trailer) of a punched tape. 1l1e new blank tape is sometimes called a virgin tape.Control in and OutOn ISO tapes (even format). but will not be rrocessed when the tape is read. that is slowly on the decline. based on the pari ly of the firs! end-oj-block character punched on the tape. The punched characters are transferred through the tape reader to the control system in a fonn of electric signals. mostly due 10 the limited number of available characters. which employs the even number of punched holes. That means the significant data seclion of a tape is the section following the first EOB character. The section of punched tape that contains the program data is often called the Significant data section. plus some symbols. where each row represents one character of the progra. There is also coding that is a mixture of the two. to make it easier to handle.a character is the smallesl unit of input. The sprocket holes are small size holes. called No Parity. For ilIustration of a partial tape coding. Often.5 or 7 punched holes.one.tflpe renderTape CodingA punched tape consists of a series of holes. Most modern numerical controls. formerly known as the ASCII code (American Stannard Code for Information Interchange). Such a fault is normally called a parity errOl: The system check for correct parity is automatically performed by the control unit.3. that uses the odd number of punched holes. which can be very costly if it causes a character of one coding to become a character of the other coding. when a character is composed of 2.<. when Ihe character is composed of 1. laid across the tape width.m . Each character can be composed of up \0 eight signals. The conlrol will check for {he occurrence of odd characters in an ISO tape and (he occurrence of even cha(acters in an ETA tape. that has no application for lhe machi ne tools.

Additional equipment. The identification usually contains (he program or i~pe number. . This is a symbol for the end~of-block character and is never written. small enough to fit in specially designed metal cabinets wilh dividers.l <-nJl. Hand written data. since they can be generated on the majorIty of tape preparation equipment.. tape reading is completed. Take a special care for paper tapes. In order to prevent curling. the numerals 0 to 9..IChapter 51 Non~printable Characters~ost program characters stored on a punched tape will pont normally. but should be about 60 inches (1500 mm) when the tape is on reels. This signal identifies the beginning of the signijicQJll data section .One character appears on the display screen as a semicolon ( . printer. When the stop code is read by the reader.seem to be the best solution.et. splicer.These special characters are actual punched holes representing real characters. Tapes can be ITansferred inlo computer files to save space and expensive cabinets. Tapes are normally stored in plastiC boxes. They are called the printable characters and include all capitals A to Z. Long tapes require more care [han short tapes. is also available. The control hctS features available (0 make data transfer possible. the tape should never be wound inlo a small light roll. The blank section preceding the coded program data (significant data section) is called a leader.Tapes can be damaged if placed into the tape reader incorrectly. dlgllallapc viewer. An end-of-block character or the stop code may nOI be used in the readable section. programs are transferred through the means of DNC. Allhough alpha numerical characters are printable. elc. these symbols cannot be printed:o Stop code in EIA format o Delete charactero Carriage return (or Enter key) leader and TrailerThe blank section of a punched tape is used as a leaderooline teedTab codesand a LIailer. InSist on the same LIcalment by the operator and others. The external sources are usually a hard disk or a paper tape.Figu re 5 J-4 . the leader and Irni ler section can be shorter than for large reels.other mformation may also he included.Storage and HandlingTape IdentificationPaper tape is punched in a lape puncher. handle them carefully by the edges only. For smaller diameter reels.468The first occurrence of a carriage return (caused by (he Enter key on a compuler keyboard) is the first Occurrence of the end-oF-block characler. A reasonable amount of moisture keeps the tape from becoming too dry. such as a tape wmder.lrol.Figure 51·4 Example of readable characters on a punched tapeDISTRIBUTED NUMERICAL CONTROLThe lnpuvOUlput (lJO) pon RS-232C on a CNC machine is used to send and receive dara. some have advanced features such as keyboard.section where the actual program is stored. ). Sometimes the length of the leader section must be exlended to allow space for tape identification.lmr>rim. the section following the dara is called a Iralle/: llie suitable lenglh of [he leader or the (rai ler is usually about 10 inches (250 mm) for memory operation (without reels). particularly when they are manipulated by winding or unwinding. drawing number and the pan name . Ie is a control system representation of the carriage return in the part program. setting switches. as is water. That is whv no information is ever placed past the percent sign. Grease and dust are the worSI enemies of paper tapes and sllould be guardetJ against. 1np~UOUlput'ports. and most symbols..If still using paper lapes. if Ihat section will go through the tape reader.c. digits and symbols. adhesive labels or readable characters can be used within the leader section of the punched tape. Stickers or bright pencils can be used to supply information aboul (he [ape in ilS leader section. which means Distrihuted Nl. Hand wrillen notes may present dlfficul(y when writing on a black back2fOund. should be duplicated or even triplicated. rather than lape codes. So called readable characters .Each punched tape should be identified as \0 its contents. namely letters. Punchers come with only the basic features. The significant data section is terminated by a stop code. which is very tempting for saving storage space. lape reader.Swragc of lapes requires a fair amount of space which increases wilh more tapes. identified usually by a percent sign. Heat and direct sunlight are also enemies of the lape. acting as the end-oI-file character. Adhesive labels may nol be a good choice because of their tende~cy to peel and fall off. Any tape tllal is tu be used many limes over. In many shops.

Typical Fanuc settings are:oIE't'where . This is the simplest form of DNC. it takes about 10 bits \0 transfer one character (see SlOP Bits section below).Sb B::==Time required to transfer a single bit in seconds Baud rate in secondsA single bit lransferred at 300 bps will take 0. ParityParif). has exactly the opposite meaning. LIl·h billi. consult the machine manual .to the receiving device [hal the byte hilS ended or stopped being transmitted. Newer models have a higher defaulL Typical software selling is done through the configuralion al the computer end and lhrough the CNC system p8rameters at the CNC end. each byte is preceded by a special bil calJed the start bil. and symbol used in the CNC program is represented by a series of bilS. which is a method used when the program is too large 10 til into the CNC memory. Typical rales for older Fanuc controls arc 50. This bil at the end of a byte is called the stop bit..A bil 5i mi lar 10 the start bit.00042 of a second. but a single bil transferred at 2400 bps will lake only 0.a good slar! is at 2400 bps. but five terms are commonly used in CNC:A bil is an acronym for Binary digit. Just imagine what would happen if some characters or of a CNC program \Ilcre not transferred correctly or not transferred m all. this is a very rich field to study. and even is the most common ~e)ecllon for CNC communications. which is low in voltage level signal. 1200. 600. It is measured as the amount of data bilS per second. The split box is available wllh two or more oullets. In the computer. they are often teamed up together as the SlOp bits and set the devices to nlio slap bits.L!Y digit can have a value of either one (I) or zero (0). 19200. The(e arc many terms. I ! 0. 100. 38400.ed procedures to make it work efficiently. written as bps. the faster the transmission. Some DNC software also allows a useful feature called 'drip-feeding'. 300.4800 and 9600 bps.. all equipmenl required is a cable between the two devices and a software. The setting at one end (computer or the CNC system) must malch the setting at the other end. digit. One and zero represenl [he ON and OFF status respectively. Commercial DNC packages are available at various leve!s of sophistication and cost. each machine must be connecled to a split box with a cable. selectable by a switch.INTERFACING TO DEVICES469To communicate between one CNC machine and one computer using the RS-232C port. 4800. It requires weIJ organiz. that create a unit called a byte. can be even. Higher sCHings are necessary for 'drip-feed' methods. lhe higher the rate. 200. It sends a signal. so a bit is something like a toggle switch that can be turned on and off as needed.o Baud Rateo ParityooData BitsStart BitoStop BitBaud RateBaud rale is the data transmission speed. With growing interest. 2400. and is the smallest unit that can Slore information in a compliler. so at 2400 bps selling. Because the star! and SlOp bits go together. 4800 bps is a good selling once everything is working well. Start and Stop BitsTo prevent loss of data during communication. but at the end of the byle.03333 of a second. 57600 and 76800 bps. To communicate with two or more machines. eighl bits to be precise. For baud rate." is a method or checking thal all lranSmilled data were sent correctly. DNC is nOI a part of the conlrol unit and is not covered here. Modern controls cun have the baud rate set 10 2400. Many lerms exist in communications. or none.. Settings at both ends mUSl march. Baud rales are only available in fixed values. In practice. 9600. This signal is senlto the dala receiving device and informs it that a byte of dala is coming next. using the same single RS-232C porl.4800 bps baud rateoDEven parity 7 data bits (seven data bits)2 stop bits (two stop bits)oProper connection depends mainly on the configuration of the connecting data cables. the transmission will be at a rate of about 240 cps (characters per second). odd. In terms of time. Single data bil transfer rate will be the result of one divided by {he baud rale:DATA SETTINGThe data used for communical'ions mliSI be set properly before the data transfer can begin. every letter.Data BitsTERMINOLOGY OF COMMUNICATIONSCommunications have their own terminology.

Note the Jumps between connections 6 and 8 al both ends.The 25-pin port has pin or socket numbered (see thefi rSI page of Ihis ct12lote:rJ and (he individual wires of the cable have to be at each end.num-mnm. Figure 5)-6 shows Ihe same null modem conpopular method figuration in a graphic way.PIN DB-25P1 2 3 4 5 7mm"~_m01 3 2 5 4 768Figure 51-7Typical cable configuration for Fanuc controlsRegardless of what cable good communicalion software arion is also needed. is a showing cable configurations.ltJ()11 Df nullmodem connectionssame end of the Cabling for Fanuc and PCAs the most common communication will be between a Fanuc control and a computer or a laptop.. Figure 5] -7 illustrates a Iypical configura£ion. a 22-gauge or a 24-gauge wire is a good choice for communications. It between each end. Note the similarity Lo the null configuralion. Each number represents pin or on the DB-25 connector. Always use a cacan reach farther dischoice to withstand interfer-SIGNAL GROUND. specially designed for_ _6 and 820Figure 51-5 Null modem pin connections.47051CONNECTING CABLES1most commona computer is a shieldedfor communication a and grounded small wires (at least eight). NullA very common is in general commUnications is called a null The connection of the two ends follows a certain shown in Figure 51-5. This.I~rm.<:. The purpose of is to com~eCl the CNC ponwith the computer port (usually 25 cable.plastic sleeve.Wires are identified by their gauge value.

BASIC ELEMENTS Arithmetic and AlgebraThe subjectinvolving theormathematical activity.rn"fr\lAlgebra is an dling numbers in terms usage will involve:o Square rootsarithmetic and deals with hanequations and formulas. polygons.. subtracrion. mulriplication and division .onometric functions.>. Often. Typicalo Powers of a numbero ooTrigonometric functions Solving formulas andCI. the subsets. the most important part ofni>r.".. particularly multi surface machining or surthis kind of programming iso Any roots.. Going a bit of common algebraic functions is roots and powers of a nllmbe/:CNC lionship of points within a systemknowledgeaoAddition MultiplicationDivisionmamlyrela-o Subtractionoa good knowledge of The scope of this many principles of angles. unknown to achieve the desired resultknown values various formulas solved (calculated)Order of Calculationsin solving trigonometric are ability [0 use a speclf'ic formula and . an the pi constant (IT). Very there will be a problem or calculat'ion that will rea solution using oblique triangles.llJ'VJangle triangles. but it is es-In [he fieJd of mathematics.. Without a doubt... is the. is a precisely defined order in which the calculations are Every elecl"l'>\'\nll'.old rules.are at the core of anythe basic arithmeticspecific mathematical subjects to All of them have been selected only in CNC programming ana are clen the necessary detail. for a 2 and 2-1/2 ax is work.:>VJ\.thepears to be so powerful that it In many programmers. although problemsVariable dataInone or two unknown equations. and other topof planes and axial orientations is important in many cases as well. programming i IS very complex in terms of geometrical nitions of Such a drawing will have so ments.!IH:HILIIone that absolutely must be mastered.. using lrif!..following caJculalion will or wichout parentheses:same result with471. powers to a number. evenof analytic and spacial "to>l"\. rna tronic calculaLor is based on combination of various algebraic the ordercalculalions will followooMultiplications and divisions areorAdditions and subtractions follow. and """".but in the inability to see the to place. that overlooking the obvious is possible.\.n.MATH IN CNC PROGRAMMINGMath in programming .not doneaxes." ". tapers.e..1 first is not importantin all manipulation.+i"""a computer and CAD/CAM software.."'''". it is manual programmers in numerous calculations is really not look very briefly of mathematical knowledge is really necesto handle typical calculations for manprogram preparation.parentheses are always calculated and divisions.addition.

..'r-ARCCENTER \\\1~.DIAMETER .. although they are also based on the same fundamental elements. SECANT . This point is known as the point of tangency. and a line and a circle or arc.4723 + g x 2 '" 3 + (8 x :2) = 19Chapter 52 CircleCircle is mathematical curve. CIRCUMFERENCE . there are only three entities in the engineering drawing:D D DDPointsCHORD .DGEOMETRYDFor all practical purposes.is a straight line that passes throughlinesCircles and ArcsDDPoints have no parts and are represented by the XY coordinates in a 20 plane or by XYZ coordinates in 3D space.is a line through the center between two points on the circumference of the circle. regardless of whether it is enclosed in parenlheses or no!.Two area sections of a circle have their own names.is II straight linc joining any two points on the circumference of the circle. They are called the sector and the segment of a circle. an arc or another circle touches the circumference of the circle but does not cross it.is an area within a circle formed by the chord and its arcDFigure 52-1 Basic elements of a circleNeither the sector nor the segment of a circle play any signiticant role in CNC programrnmg.is an area within a circle formed by two radii and the arc they intercept SEGMENT . ~L!!S!§~SECANT\Figure 52-2~~Segment and sector of a circleDSECTOR . RADIUS (radii in plural) . and are shown in Figure 52-2:an arc. Points are also created by an intersection of two lines..Figure 52-1:The multiplication is always performed tirst. ARC . where every point on the curve has the same distance from a fixed point. This fixed point is cal!ed a center. it mllst be enclosed wi thin parent heses:(3 + 8) x 2 = 11 x 2 '" 22DThese two examples show lhat an innocenlly looking small omission may have significant consequences. line Langenl to an are.is the length of the circle(length of the line that bounds a circle) TANGENT .CENTER . a circle or an arc tangentlo another circle orDDa circle and divides it into two sections.Several terms are directly related to a circle .Lines are straight connections between two points creating the shortest distance between the points. ~.Circles and Arcs are curved elements that have at least a center and a radius.is a point from which a circle or an arc is drawn with a given radius. Point is also created by a line tangent to a circle.is any part of the circle between two points on the circumference of the circle.Other elements sllch as splines and slIlfaces are too complex for manual programming.is a line from the center to any point on the circumference of the circle. If addiuon must be done first. two circles or arcs.is a point where a line.

a circle has the sum of all to 360°. . where lhe There are fournumeralsalong theY+=+Circumference of a Circlea circle .. the internal value is a lot more accurate (han the displayed value. lhe other on the tangency of a lations require the knowledge of described later in theFigure 52-4cDAngles and an the face..QUiJdmllts of iJ circle ond the mathematicol definition of direction(o =::::Circle circumference Constant 3. at 120 'clock or direcand 2700 at 6 lion.or its circumference .. crossing at circle Therefore..rswod welL is circle. it is pronounced 'pie'. ihe 3.. and has Ihe value of and regardless of how many decimal it will always only an approxprogramming purposes.141592654 . They are used in nrrHTr<ll'TI should be unde. lIs symbol is 1[. In many cases. use the value by a calculalor or computer. usually with six 10 1n both cases.C11 . J4 IS sufficient for most resulls. Circle (ad ius Circle diameterquadrant is exactly 90°. 141 Circle radius Arc angleA180" = West\1 0" = East\There are two other very to a circle.MATH IN CNC PROGRAMMING473 PIPI is a in mathematics to represent the ratio of Ihe to the circle diameter..Individual quadrant points (also known as points) are onen compared to a hand direClion on of an analogue clock or as a direction 0° is arbitrarily located a£ the equivalcm o'clock or East direction.. Angles are counted positive.0" is Eost direcrion or 3 o'clock direction standard clock.C11 :::r A=Circle Constant 3.by the system of Chapter 4.is seldom and is included bere only to enIt can be calculated from theIIo~X+III(::::2rrxrQUADRANT(4)or52·3IGfwhere . 180° at 9 o'clock or o'clock or South direction - length of Arclength or an arc is also a rare requirement calculated from [he followIng formula: can90°~Northwhere .... starling from zero degrees (0°).

but only onc special kind is of imerest to CNC programming. a five sided polygoninlion has the lotal sum of angles:S=Number of(5 . as it applies La a hexagon.". all others are irregular polygons. TIllS polygon is called a regular polygon. called eqllilateral sides..2) x 180 / 6 120<>asThe sum of all angles in a polygon can the following rormula:from5 = (NI@"x 180where . some polygons arc so common litat they have a special descriptive mathematical name:SN=Sum of the angles Number of sides in the polygonFor example..ANSingle Numbernn-gon.2) x 1900Common nameTriangleS = 5403There are several different polygons used in geometry.cABFigure 52-6 Regular polygon Inscribed and circumscribed circles and aFigure 52·5 Sum of angles in 8 polvgonexample. Figure 52-6 above illustrates the coninscribed and circumscribed polygon. a six sided polygon (commonly the hexagon) has a single angle of 120°:A A (6 . regular polygons may have virtually unlimited sides. are of equal length.-~D ..V'11 circle. Regular polygon IS a polygon where all side::. and where all angles are also equal. located within an inscribed or cirUTIJ). called equilateral al/glesA single angle II) from (his formula:ilregular polygon can be calculatedA(N2) x 180 Nn::..r where ..polygon is quile often defi ned by the number of and its cenLer.474Chapter 52POLYGONSdefined by a that are joined at the end or edges of thes.

English description1 XDstandards and are used for small as a Morse taper or a Brown and there standard tapered machine lOol holder tapers.-. measurements. its length a note descdbing the laper.-. hexagDn and octagonis a note wilh an arrow pOintThe description ing La Lhe Laper.LTAPERSare virtually confined to the lathe Infrequently.The most common regular polygons· square. In most cases. tapers also in Aillapers in this section relate to the (so called circular tapers). the taper is normally by the large end diameter.L52·9Circular taper· Metric description. By definition. the noLe may identify a standard or a per foot (TPF).are three most common polygonsa hexagon and all octagon. which have noon theIIIDHexagon orientation can be with the hexagon orientation in7. but can The main purpose of tapers is to assembled parts. In melthe taper is always a 52·8 [lnel 52-9 <.how the differences between the LWO which is only wilhln the taper identification. [he lengrh of each side S are given. Calculatiuns uf lheopposite corners C. Note thai ahave two different orientations (twoor two vertical sides). AMER NATL (American National Standard Taper taperF---'C=Fx{2/cF=CxF --1FI 2xStiLt":>. -.-.MATH IN CNC PROGRAMMING475ption varies between example.Figure 52·8Circular raper .S52·7F==Cx F = 8/If a single diameter isil is onen the larger one.JVs-'~~"_F F 8 8__~R" _~_Cx 8 I tan30° F x n30° C 12Taper DefinitionainMostotwo commonOne diameter and length with taper description or noteDiameter at bothdescription or noteand the length with taper== F / =-8/o. etc.---.

with d.nof a taper is the ratio:To calculate the large diameter D. Taper RatioMetricof a taper is similar:To calculatesmalld..:: Length of taper in inches .. and TPF are known:vVJlU"".0 d Ldimensions in Figure data.. 1S a diameter by 3 Taper Calculations .476the Figure 52-8."''''" the following meamng:I!:i"52method.. the Taper Calculations· English Unitsrlr::l'wlrloDimensions .UF. .areX (if unknown).rD. To d and L are known:X"" Diameter at the large end in inches :::: Diameter at the small end in inches . d...Metric UnitsMissing culated from the tio is normally may system. as the difference in width.".:: Taper per foot in inches .. with D.... Land TPF :in this section usePer Footfoot is defmed as: To calculate theper foot is the difference in diameter in inches over one foot of length.000 inches or 3 TPF in the drawing. L and X:~"""rH. the cone (ei ther as an increase or as diameter 0 f a decrease) by 1 mm. the taper racan be calculated.. LThe ratio 1 : X means that over the length of X mm. with D. LandD d Diameter atthe large end in millimeters Diameter at the small end in millimeters Le ng1h of taper in millimeters Ratio value 1 : XLXAllTo calculate the><ITI/" .ifD..... d. showing J<. If thebut we want tohelp.. ifD. .. ... with d.:: Ratio value 1 : Xlet-To calculate the small diameter d..... as I : 5 will increase 1 mmthe length L.defined as 3.

Ihe sum of all angles in a given triangle is always equal [0 180 0 . An equilateral (riangle is also always an equiangular lnangle. However unlikely.BA + 8 + C == 180Figure 52-11 Sum of All angles in(I0in geometry.oocA baCIn addition. although nOI always of the same length. i. AJllriangles are polygons.each angle IS 60° . It defines a triangle that has one obtuse angle. Each side . it is always possible.trhw!Jlp.or leg . Types of Angles and TrianglesThe main groups of triangles can be grouped together by their angles . All triangles have three sides.and its close cousin [he Iso.lceles triangle . It defines a triangle that has one right angle (90 6 ) An acute triangle is also called an acute angle triangle.An obtuse triangle is also called an obtuse angle triangle. There is a number ofdifferenttriangl~C. just a new detinition:oOBLIQUE angle ean be either an acute or an obtuse angle. but only a handful arc usedin everyday CNC programming. These triangles can he solved only if alieasl tbree dimensions are known. Ihere is also an oblique angle.<.Figure 52-l0. which means it cannot be 90° or 180 0a== b=cA = B=C =600AI! triangles share a single feature .MATH IN CNC PROGRAMMING477CALCULATIONS OF TRIANGLESThe most common geometrical entity in programming is a triangle.Figure 52-12. but nOI all triangles are regular polygons. because allmlernal angles are the same . It defines a triangle that has three acute angles.Figure 52-}3.A triangle that has all sides of equal lenglh is called an eqllilalerallriangle.Figure 52-11. and one of them must always be a side:oo o oOne side and two angles must be known Two sides and the angle opposite one ofthem Two sides and the included angle Three sidesaAbIsosceles triangle has two sides of equal length. fllWfJ ys 180 degreesA < 90° B < 90° C == 90°The oblique triangle .cFigure 52-10 Typical triangles (a) Right triangle (b) Acute triangle fe} Obtuse triangleaAbSome more derailed definilions may be useful:IF a == bFigure 52-12N A =BoRIGHT angle means that the given angle is equal to 90°greater than Dc and smaller than 90°Isosceles triangleo ACUTE angle means that the given angle isooOBTUSE angle means that the given angle is greater than 90° and smaller than 180 0A right triangle is also called a right angle triangle. which is nOI a new Iype of an angle.figure 52-13 EquiJateraltriangle.is joined by a line ealled the basco The two angles at the base are always equal .are types of triangles seldom ever needed in rrogrammillg.

as/Aa right triangle (hal is oppositehypotenuse and is also theB D::: DIAMETERothertwo sides are called legs. have a low case identification correopposite (0 sponding to described in capitalright angle side the illustrationFigure 52·16 Inscribed angle in a semi-circleBIn Figure 7 is a de B.. b.cAbacCA=Figure 52·14=90"Bisector creates two equal anglesRighI angle triangle and the relationship 01 anglesA circle drawn all three sides a. c culated Similar Trianglesare considered similar if they have angles equal and their triangles arc similar. where C right (90°) and the side c is the hypotenuse. There is a of matherelationships thal form of is a look at those that are important inAnAin a semicircle is Line AB is the. A line from create either a poim (ween lines AC and the angle a! and a2 as well aspoint A to the center of cir~ tangency of the circle will The angle a is created beAB is a bisector of The two angles al ABD are idenlical. Right TrianglesTriangle . shows a righllriangle.or a right angle rriangle is triangle that one angle equal to 90° (a triangle with two or more angles is impossible). that means the sum the two remam~ must also be 90". for example. A Laper specified in drawing must frequently be extended at one or to allow tool clearances. if:oaoof one triangle are the same of the other triangle An angle of one triangle is the same as angle ofthe other triangle and the including sides are proportional triangles are similar to another triangle sides of the two trianglesbFigure 52·15 Circle inscribed in BrightooIn CNC mathematical relationship angles are ite often. when tapers or 51 angular items. As there are I in any triangle (sum of all angles).

TangentrelationshipsY ::::: Yl + Y2The shows the the opposite sides H to the adjacent formula of the relationship is:HU==LWside (b)asinBbof the are known two. Lis 1..500) / 1.6428571x0.:.750 and W is To calculate U. shows important dimensions:52-19 triangles· 2lA Xl Yl=.1illustration in Figure shows the relationship same also between two triangles. For example. X and Yare swns of the (clearances)x n+X2= 0. and the value U has to be HIS 0..41.Original Common (shared) angle Front clearance ill the X axis Back clearance in the X axis Front clearance in the Y axis Back clearance in the Y axisH == Original height:=With lmown values can be If U is isolated on left and knO\vn values on the right of the equatioll. the formula is r"..500.v. the lillvalue can be "'''"..-_ _ _.250UFigure shows the same two triangles in a simplified way.. and.... -_ _Y=H«~~---------~««««««««««««««««««««««-------~~HY1 X2~----52·18««««««<·----w----------~Similar triangles . . the L and Ware known. using a new formula.w'r<:P. upper illustration. the calculation is simple:Yl ==u == (2. cosine..MATH IN CNC PROGRAMMING479H~ L..mol"I"functions· sine.750 Sine· Cosine .rIfcbtan A==c= cab arml\.

using the sine.Another type of calculation in prograrnming is conof angles.701126 x 60= 42"29°32'42".t'-'''--'29. there could For example. The [lIst the decimal "'"J'.is a ratio of side the angle to hypotenuse of the triangleoar where . It is not programming.64"48 '27"64 + (48 /.abbreviated asoTangent of antan is a ratio 01 sideDD DM SDecimal degreesthe acute angle to the side Inverse Trigonometric FunctionsSecondsvalue tangent is two sides.. HO.Pythagorean TheoremTIle well kno'Arn ciauPythagoras (6ththagorean.. the normal function.u"'J'~' in order to convert 29.1~Onometnlc results for the value of 0.decimal to DMS.545021 x 60= 31..701126~32'VVhile there IS only a function.ec!::mc]s [annat.tois to take the decimal portion and multithe minutes:IfThen .8075"Most pocket sin. namely not used inTIle following fonnula convertsdesignation to""r'/'I". example the angle whose ratio of arcsin of an the side a to hypotenuse c... The depends on this is the of an inverse crigonometric function. tions angle. The older and method is the angle DMS or D-M-S. are necessary.U:t.... An inverse function is sometimes symbolized with the word arc.545021 = 29°arcsinamount fromOr.m . cos and tan ondaryIf ../ b) arctan (a / b) A =0. secant and cosecant areand is deflned tangent funcfunctions..is to take the ~_"'UU''''L multiply it by sixty to0.. of 4Y'..."71u. It to a drawing using minutes and to describe the of angular quired.CNeooThis has its own as a ratio of sides.'...545021 to delllre:s-s. Other cotangent."ThensinA : : : aA:=I c I c)/ c)The abbreviations DMSID-M-S monly on scientific useful COD.cosA :: b / c A = arccos(b / c) (b / c) A =tanA = a / bA ::::The secondsply it bySIXty.Or .rI".. There are two dimensioning drawing.7071135".abbreviated as cos is a ratio of side angle to hypotenuse of the triangle. as well as Degrees andresult for each mj.Or .DegreesThe final OMS value of the example will with <1 slight error..'toof an abbreviated as .. isequivalenl fo:60) + (27I3600)64.".545021 0.t to.. means modem methods are use DD or D-D) which means decimal degrees. calculations of convened to DD.. to perform a to verify that the converted result is calculation of DD to is nothing more than isolating the fractional part number in three 0 v~ ...A =If ..

7S}Area.. . for solving right angle triangles. Solving Right Trianglessolutions of Theorem or any other method are conunon methods use the cos functions..5625.MATH INPROGRAMMING1~ Example ..5625) = Yl.. .c xa ITangent::: --'-'--AdJacenta ::: C x cosSb:::cx sinBcaI\:.--aalb::::::Opposite HypotenusebCosine == ... b squared is 7..--:...... if two other arecalculationIf the length of hypotenuse C [5 3 units is units...I'II"£lrPJrnis used in programming to fmd triangle...Figure 52·22Trigonometric functions ""....1989579roo!.. As always.---'--b/aAdjacent= cotAC ::::::tanBHypoLenuseTOAa == c x sinAb::....J~p'a ::: b x tanAb:::a x tanBc ::: b Ipa== b /b :::: a / lanAcb I cosASin ::::-hbaA ::: 90" Bb:=:::\{7Tc .m""...4375 a '" 1... any triangle can MO data sources isArea:::: b2In trigoproviding one of theoaTwo sides of a rightOne side and oneof a right triangle52-21Pythagorean Theoremnever used in cakulasolutions...a90" .75 x 2. the side a can bebsquared is 9..:. S me=: ..0...ACos=h... start with nom etry.. so/Area:::: c2aa .. If use both methodsale:::sinA ::: cosB cosA ::: sinB tanA cotSrlnl'\nr\m~'fnlRelationshipsb/c:::.7...Peter HasBrokenHis So!1!eCTan:::: -P b.2.= V(3 = V(9x 3 .

showmg their mg:enlll math problems." cut or a solution to any programming and will corlSlclere:(1 for the next edition of this handbook. Calculations relative to the cangeIlt de are shown mFigure 52-24. Author will ~n1"1.CONCLUSIONIn this chapter. dependent on the available can also calculate the radius R angle A and Calculations relative to the chord a circle are Figure 52-23. solutions.rprlc:1t.1 _ T_X22xangle and deviations. radius and deviationa :::(cosa-1)xR-1 COS . only the most important and "nT'''''''''''''''''' used mathematical subjects more solutions and shortcuts are operators every day. las can be used as well.-2xFigure 52-24 TANGENT of a circletan.48252ADVANCED CALCULATIONSThe last two charts show fonnulas for chord C or the tangent T of a circle.--+2x2xR 2xdcsina x 2d(1xR R-d 2R-RXCHORDcircle· calculations of chord. With only one excepnon. but the formulas can calculations faster.

This trend will continue well into the future. not computers. In manual programming. the programmer is able 10 do what computers cannot . Spendmg a valuable computer time jusL to add a forgotten coolant function seems excessive. computers at all levels. to constantly evaluate. ready to be loaded inLo the CNC machine. gUl feel. Here comes the second reason. there lS a to[al. On the contrary . there is no need to look at the program at all.programmers can think. Manual programming teaches the invaluable lessons of discipline . all topics related to manual programming of CNC machines . why is the high importance of manual programming methods so emphasized? Is [he manual progrnmming still alive. A program generated by a computer has to be in the format compatible with the CNC machme and its control system. New features. Programming with a computer 1$ always desirable but to know the basic skills is the most important prerequisite. But dosely does not always meall close enough. So. we look briefly at an area where manual programming IS replaced by a computer. also means the abilily 10 change it. common sense and experience. The besl way to understand the process is to bypass the computer and get the same results. intelligence. Discipline means to concentrate. is necessary to promote is the knowledve and undcrD srandmg of manual programming principles.or just CAM . analyze the problem and adapt to unforeseen circumstances. The tirst reason is thal in manual programming. in tile files. commonly known as CAM soft-ware.apte!.programming.a very important qual ity of a professional CNC programmer.all fifty-two chapters. The question is at what price. new capabilities. from a personal computer to workstations arc ~apable 10 produce most CNC machine programs ln a tlme much shorter than any manual programming method. If ali goes well. how healthy is it? There are at least I wo important reasons why manual programming for CNC machines it is nol dead yet and will nol disappear anytime soon. Only a programmer can feel that something may not be right. Those are instruments in~erent to humans.the handbook covers subjects that every CNC programmer should know.what then? Going back to the computer and reprogram the part may solve the problem on hand. A simple statement may summarize it all:Top class programming using CAM software requires solid knowledge of manual programming methods. Ability to read Lhe CNC program code.[hat means the hardware. All subjects and methods learned do not have to be applied by a pencil and paper. what if there is a problem . CNC programming is like [he work of an artist . s.it can never be fully autoniated. The basic skills are in understanding the manual process. one can not become a good CNC programmer. to really understand it.CNC AND CAD/CAMUp to this point. regardless of the programming method used.ofLware and peripherals . That can be achieved with manual programming.it's there. Notc the word additional.Desktop Computer ProgrammingThe complete computer system . Only people usc instruments known as thinking process. The existing technology is prooressing very rapidly and many 2D and 3D programming ~ppl ications are available for a fraction of the cost when compared to just a few years ago. 0 the ngh[ place? Although the example is oversimplified.suitable for CNC programming lS challgmg at such a rapid pace that any Indepth dISCUSSIon of the hardware would be obsolete in a rna(ter of weeks. closely matching a particular programming style.PROGRAMMING MANUAllY?In the area of CNC programming application techniques.the pari program. They could be applied by a CAD/CAM . to make deCIsions . On the other hand. Studying the handbook has certai nly nol been a was Ie of time.CAM SoftwareCurrent CNC software. the programmer understands the programming process and the resulting output.It wo~ld be unfair La compare or promote manual programmmg agamst compuler programming and vice versa. find if so. In the last ch.The second reason is (hat when programming manually. has many features thuttranslate into a CNC program.corresponding to individual ideas of how the part program should be wrilLen.to think all the time. instinct. Most of the CNC programming can be done quite well on personal computers. it also shows tha~ real understanding of the programming process lS very Important. What . Almost the same speed of obsolescence applies to software as well. Would it not be better just to edit the program by addincr M08 function in .and never will be . Only a programmer can evaluate a given situation.483. Without such knowledge. absolute and unequivocal control over the final product . II can produce a program closely match1I1g a particular direction of thinking. a suitable software and some additional skills.

The 1001 path crealion. One will be work form a paper drawing. This rather narrowly focused 'l".. it all tnsks without returning 10 the operating programming systems are based on Ii that are nol accessible fTom a menu.0''''1''''''". helical milling or a full chining are not always in theOne mlslake in softwareSuch a decision !'nustlion. What will the work needs to be computerized. the from a CAD drawing stored in the computer.programming software aland relating tasks [0 be done from a a mouse or similar pointing deVice.they do not cover all theThe following some of main on personal from any CAMis meant only as a very brief guide 10 that apply to CNC programming are the expected features. and so 011. thaI once the software is loaded.·"·~rM always successful.o ooPost processingTraining and technical supportIt is important to understand why ponanL Before investing inlo a technology tlally new co the user.Certain programming applications are chine shops. orin programming. are di in approach. Whal about the product? win the produci change In five years? Knowing the philosophy and focus of Ihe company. yet it is so new (hat it is in the slale of constant development. If current and the future needs are well established before ng a programming system. The following shalt list that a typical computer should have:o o Tool path geometry creation environment Tool path generation Complete programming environmentCNC machines and practices. usually reflect ments the technology. 10 he still in existence when the need (0 comes up. Others are unique to a factoring and the kind of work or tured.. separaling enlilie~ by c 1earanccs or a special tool motion. For example. arc expected? These are the primwJI the kind of monitor or printer or They fifE' (llso ve. it helps to know what ware offers and how rhey can be used inTOOL PATH GEOMETRY DEVELOPMENTMost CNC programming systems require a tool path omeuy creation before the actual palh of a cUlling tool can The key words here are tool path Acommon misconception among programmers to re-create everything in the original drawing. Consider future plans m both and capital investment. The updates (new versions of the software).. Only high level CNC a of (001 pa£hs.ry importanl .even its politics will help to make a more accurate estimate of fulure needs.. The computer industry is very acquisitions and takeovers are as common as andCOMPLETERONMENTmoduleswhat is normally nOl not on a two dimensional represendepth. two faced. bmh on the hardware and software It not mean purchasing every new update but it is IlnpOlianl to select a CNC develby a solid and well established company lhal 1'1'1""".. there is a good to beat obsolescence for a long time. ThatISa wrong approachmust When il comes to 1001 path geometry. wilh more added as computing power increases. Ihe fact remains B new is created or an eXisting modicomputer technology has grown a lot. CNC opcrs offer periodical updales to their product. with all ils most lime consuming task In manual makes sense 10 make it the most when planning 10 aUiomale the cess. its policies and and yes .hUI only the application needs.484new tools arc mi:\rket and are ofand software is whatloon the reqllirt>d applicnWhat kind of What resultsChapter 53TOOL PATH GENERATIONThe key requirement of a CNCprogram of an accurate 1001 path for a chine. Nobody can wilh absolure accuracy whalthe future will offer ill terms of CNC machining and CNC programming.

intents. a direct connection in a after the purchase.-r. Associative operations tor flexible editing Associative OperationsWhen a tool path is ously defined lool paLh not unusual toditional method slill is) \0 recreate theoosetupmaterial blank definitionlist and job comments {setup sheets)oit is aLlachcd to the previreasons. Such a selection usually Connection BetweenA programming system should lcommunicillions option) between and the.Support for solid modeling. must.. (hal is used to one play ror amenus lookEDM. lhal store com mon data for terial~ and operalions are also powerful sort wareAI-described item will though all items are useful Toolingand Job Commentsis a process covering sev(:ral manually or with a tools is a manual task. cabling.many tooling on demand. f1worksbeCADL.use Ihe son wareallows the programmer lools. as it can store surface speeds many materials and the programmi software will calthe exact spindle speed based on the .computer to the memoryorAn important point is that not all machines have the ity [0 lake advantage of direct in the shop have this connection. even if it is nOI used.producecan not be used Dedicated software isand very specialized to a particular machmachine operalor (setup sheet). as well as variousparameters. it it automatically. CNC machine.ll is also common 10 such as burners. it is laler. Once identifications.. routers.way as weI! . acally[0only one kind of mais designed specil-Iequipment."". It IS fast and accurate.When it comes LO suppor! of di CNC software can be divided inlo lwooDedicated softwareIntegrated softwareoThe rit'riirflfr>. )o ooo Job lobspecifications and features (including customizable post processing}Support for generally available hardwareUtilities and special features.E'. library tile is also very usefu l. this isdata exchange via a cable. All thc~e programming must and lhe documentation sent oul to chine shop.canooInterlace with CAD software (DXF. The Il"avendors then recrt'ille the tool path. nnd bililY.speeds and reeds canjob setup. For example. Thisser cutters. The exisdiscipline to software is J lL~nn. This lS f\ good or In!eraClion beandpress brake equipment The integrated of several lypes of offers milling. speed and can be grouped into a the of then usage within pans require more than one maComplex setups requirea not mean Ihar all items are requITe an additionalplotter. open::'fl'mr.. it In harmony. cenlers or EDM. the preferred Another reason software.ootext editor {with CNC orientedPrinting capabilities (text and graphics) plotting (plotters)the creal Ion oj' " new Associative operation patn. It is only reasonable LO expect that programming software will support a looling ina form of a tool library file and \he n.Multi Machine Supportmachine Lypes.>I'TIthe lJ:ro onglll. laFor metal cutting.dchines.CNCooCAD/CAM485EOM)Multi machine support (machining centers.

during interactive programming process. Hard copy is a graphic image of the screen transferred to the printer. the machining process of complex surfaces is much more streamlined. In the environment where the data is shared by many users. independenlly of other software. including different views and zooms. Now. If a change in the program is needed. One.. That brings up a question . much of ir is duplicated. The editor should be accessible from the main menu or from within the software. Once the CNC soflware accepted and processed the database from the CAD system. such n practice will cause a 101 of problems. Some modifications are usually necessary. The most significant advancage of a quality CAD/CAM system is the avoidance of duplication. Without CAD ~y. adding cosmetic spaces in the program and other functions. or just for convenience. a CNC program can be edited outside of the computer model. special i nstructions. it is not the right way of using the text editor. In addition. Support for SolidsSolid modeling for 3D applications had been for a long time the domain of large computer systems. Most plotters are HPGL compatible. to add a missing coolanl function M08 to the part program is much faster done in the text editor. just One wilh a standard paper width.Printing CapabilitiesAny text saved into a file. This op6on is called reversed processing. tooling sheets. Some programming software supports an option thal is known as a printer plot or a hard copy. the CNC programmer has a 101 of cxrra work to do. With solid models. Other reasons wi II be the need for a color outpUI. plotters were widely used to verify the lOol path. providing [he change docs not modify significant data. and can be a bene/if to companies that want to translate existing programs generated manually to an electronic form. but al Icast the significant dala (loollocalions) are not tampered with and the database is otherwise completely accurate. procedures.why does a CNC software have a built-in lexl editor? There are two reasons. the edilor can be use. for stored documentation. since they lack some features typical to lhe CNC program development Only a CNC oriented text editors can handle automatic block number sequencing. 10 a file that a CAD system can accept. and is currently tlie 1110:>t sUPPorled plot file exchange formal. rather than defining the tool path geometry from scratch. The image quality is usually mOre than adequate. HPGL is an acronym for Hewlett-Packard Graphics Language. Ulan repealing the program generating process with the computer.d for creating ur mOLlifying various lexl tiles such as selup sheets. ctc. removing the block numhers. The printer support is provided by the Windows environment.High level CNC software is a stand alone type. CNC programs included. all drawing 1nformation is stored ina computer database. The reason is that any manual change \0 the genemled program does nol correspond to the program dala as generated by [he computer. Many programmers use various external lext editors or even word processors in text mode. so expect them. con figuration fi les. it should be done wiThin the design of Ihe part shape and that means through the CNC software .1l1c only lime when a pen plotter can be beneficial is for plotting 10 paper size that is not supported by standard printers. Stand alone software means that it does not need an access to a CAD system . operation dala.the 1001 path geometry and the tool path itself can be developed from within the CAM software. The second reason is !hal ill some special circumstances. With the advance of powerful microcomputers. These liles can be updated and otherwise modified as required. 1111$ hard copy is an excellent aid during program development stage. solid models offer the benefits of supplying engineering data. This is the ideal way. easier manipUlation of objects. can be printed using a standard printer. These types of editors are not oriented towards the CNC programming. Purists are right. Before tbe graphics software appeared on the markel.486 Program Text Editor Pen PlottingChapter 53A CNC program generated by the software should be 100% complete and ready for use by the machine. Betrer quality printer provides better qualilY print plot. withoul a damage to the progranl dalauase. the way it should happen. post processor templates. solid modeling is now part of high level CNC software. the [001 path is verified directly on the computer display screen.Pen plOI will usually produce image quality superior to the printer plot but for a CAM programming it is an unnecessary luxury. the CNC programmer can concentrate on generation of the lool path itself. through a me format translalion ulility (more on the subject later).tem. For example.<. The paper copy is often necessary as a reference for the CNC operator. as most PC based CAM soflware is developed for the Windows operaling system. and many other features. or special documentation development. This database can be accessed by several programming software packages. a special requirement by customers. Usually some additional work is required in these cases.CAD Software AccessIf an engineering drawing is generated by a CAD software.A high quality CNC software also allows the existing program file to be Iranslated the other way. The implicalion is lhat such a program is so perfect that it needs T\O fUt1her editing.1101 aU/side of it. The printer does not need to be top of the I ine.

33Mhz and more. modem. To make the comparison easier. Later. presses a bullon on the device and the menu item is executed. storage media. graphic card. usually called RAM. such as APT'"")\ ( or Compact IfTM..TIlis memory is known as Random Access Memol}!. the faster the computer can process data. The laser or ink jet printers generally use a parallel interface known as the CeJ1lronics standard. scanner.' computer speed. a printer is more importanllhan a pen plotter. It is always 10 the advantage of the user thal the latest version of the operating system and the CAM soft ware is i Iistalled all the com puler.Input and OutputInput and Output (I/O) computer fe. the latest fully featured processors should be used. Both the printer and ploHer are theoretically opllonal. The monitor and the graphic card do relate to each other. the more memory it requires. When th inking of purchasi ng a computer hardware. For a micro computer CAD/CAM work. but generally worth some consideration. Any error in the process is immediately displayed on the graphic screen and can be corrected before too much other work is done. had a 4. the CAM software is loaded into the computer memory. The more powerful [he applica[ion software. Speed of the video output is also very important. Newest processors offer much higher processing speed.. a hard disk or similar media can he user!. the better performance of the CNC programming system. ploHer. The more popular kind of programming is based on interactive graphics. and many others. mouse. Modern operating systems are based on a graphical user imeljace (CUI). cover h>lrr!ware items such as monitor. The programmer defines geometry. The higher the number. printer and ploHer. The pointing device most suitable for CAM work in the Windows environment is a mouse. where a lot of work is done in graphic mode under a menu system. Pentium processors followed.. When an application such as CNC programming is started. The data in the RAM is volatile. The user points a[ the menu item desired. such as the USB (Universal Serial Bus) interface. for example Unix (used mainly by workstations) or different Windows versJOns. improved further to 8 and I OMhz. Modern interactive graphics programming has virtually eliminated the need for languages in just about all manufacturing lields. keyboard. Floppy drives of any kind are not suitable. The hardware refelTed to in this chapter is based on the Windows operating systems. In the early years of development. CD-R and CD-RW disks or recordable DVD disks for backup. which means the data is lost when the application is ended or the computer power is interrupted. !he original IBM PC mode! year 1983. the item from the menu is user selected. monitor. printer. programming was done by using special programming languages. consider carefully at least three major criteria:oData is stored in [he computer in two forms . Another option IS a tape drive. Hardware SpecificationsSpecifIcation oflhe software will determine the hardware selection.The hard drive should have a fast access time and a high storage capacity.. Every software specification identities the minimum available RAM required. For CNC work alone.'llllreS. keyboard. What makes each system unique. digitizer. Some software can run under a different operating system. Hardware is a common term for the computer. and the more processing speed is available. The card must be able [0 generate the image. the absolute minimum requirement is high density removable drive and one large size hard drive. but many other devices use a serial interface. Later model AT had 6mhz processor speed. type and sizeoData storageInput / Outputo.A keyboard is a standard feature of a computer and serves as a basic input device. computers used the so called 386 microchip (general1y Intel 80386 or 80486) and reached 25Mhz. CD writer. To save important data from RAM into disk files. 111e modem is normally not required for CNC programming. followed by the tool path itself. portsComputer SpeedPeJj"ormance of (he compucer system is typically measured by the relative speed of the main processor...CNC AND CAD/CAM487RAM and Data Storage Software SpecificationsAnother benefit of a high level CNC software is that it comes well supplied with a variety of useful features. typically as the tool path geometry. Chips in thousand plus MHZ speed are a reality. is usually the method of how the programming process is executed. and the process is ongoing. There are also other I/O options. In CAD/CAM. RAM of today hIgh level computers arounr! the gigabyte range is not uncommon. Monitor suitable for CAD/CAM work should be a large sile color monitor providing very high resolution. Mouse (or a digitizer on larger systems) are also input devices. If the setup is a true CAD/CAM. the monitor must be able to display the image. Some languages are still available but heavily on the decline. both peripheral devices may be needed. In most cases it can be selected with a pointing device. except for data exchange with a remote computer or Internet access.memory storage and disk storage (file).77Mhz processor speed.Performance. All peripherals are interfaced with the compU[er using specially conl~gured cables connected 10 the Input/Owplll (I/O) outlets called ports. scanner. but much rasler than keyboard input. For serious CAD/CAM work. Any extrC1 memory will speed up processing quite significantly.. disk drive.

gardless of its every CN C is program codes are unique to a single machine. .ooAgood quality prinler with a parallel or (lor hard copy documentation)CD or DVD drive & various multimedia (sound card necessary) Access 10 additional global information (Inlernel. E-mail. non-interlaced (measured in pixels ..uUtilities and Special featureshardware'''1'1111.as much as Dosl)lble Enough of hard disk space for program and (measured in gigabytes or higher .computer system ft is not a simple 'shopping list' for all hardwaremost updated version of the operating system is never as powerful and flexible as many users would like it tothat reason. sorts it and creates a sents the part crp.normally a mouse .mlent features....r'" tool path generation is the data integrity.. at least to some extent.>.. A typical list of minimum and options may be compiled:ooHardware compatibility with IBM (Windows based) . spindle..r\n"lF'Tr\1 functions.HV'''''''''UYJwithCNC machine shop can use.. computer generated program must be accurate and the CNC machine. Following teclmology creates awaretherefore a more educated..Apple computers havevery limited CAD/CAM applicationslatesl version of the Windows operating system (must supported by the CAM software)central speed ... ) Two or morE! serial and Text editor . It develops rapidlysome fundamental the development ness of the latest user and/ormicro computer technoleven a weeks may change and decisions.. can achieved only a well developed and a properly configured post CNC machine.. newsgroups. even more..usually part of the software (or optional)Customizing Post Processoraprocessor is more or to be customized.higher::: beller in MegaHertz units ..( (normally part of the higher end processors) Access Memory (RAM) ....:..O[llquickly.:>1J"""u.oo Backup system for data protectiono o High resolution graphics adapter (graphics (shou[d have a rapid refreshing for the Large high resolution color monitof .. some are quite common to many' of a post processor is to cess the convert them to the machine for individual control systems.of programs and utilities that smmu. ..".. v.. usually means to cusu ...~~.. many software developers came'.. many tasks associated withoo ooPOST PROCESSORSCNC software must be able to output a Drogrrum mat unique to each control unit most .) memory cache requirement of a numeric (math} r{\_... usef groups. DVD.)"lJl supplit!u with oroc:ess depends on typeoochangestakeoIt is smart to keep .B ~izt:! maximum is Llsually if neededdata. Here are some to any system and are not subject to OeC..{\.. That means the completed should require no other programs or editing.stored forfurther DH}CeSSUo Pointing device .~... no similar manual activities..the more pixels per screen the finer the display.53 Typical/ Software RequirementsIJU\J ...... removahle drive.l'CF' from the Internet and Intemet and World Wide a great source CNC and general to use a CAM software..::.MHz. Many are lTPF'U/'. and the smaller the pixel the beller the display)A top quality tant customized data into the cutting values.ogy. no optimization.is a current standard o ploHer is required only in special circumstancesneeded for CNC wU!k) ."' . in-house....with a (tape cartridge.....

.n(. usually many morc.. the developers of popular AUlOCADTM. This in-thaI cnnnol heor would require 100 arc usually small in size and mode whenever rcare a barl'eeder scng routine on a horiWl1supports some lype ofit adds an eXira nexihility Machininga CAM software is ils and repetitive cye Ies. Yet. therefore it is a subjecllO change. Another thaL is also used."1.n ininlo a CNC programming software. mllst be another way to interchange drawing is another way .Ii~P (1 diffr>rl>nl file forma!. ."''''. the mosl wieldy llsed PC based CAD in the world.>Y'l1 such a software.. High a£ least these two formats.CNC AND CAD/CAM489ionIMPORTANT FEATURESare several important fealllres to look mto whe. Depending on the nature of a particular programming appllcathe Interface mtly be needed forColors me very .or thetool path for lathe have a back the 1001 CAD InterfaceA sland alone CNC prograrnmi CAD software the own. is not in the developer.-.software should also support an interrace between the neutral files generated by a CAD system.The DXF (Drawing eXchange Formal or DaTa User InterlaceCustomizing the display is a as crilical as orhers.. but static display and is very important some eralions.File Exchange FormatsInput from Userprogramming the user. 111C real find heaviesl loss is in the iwas expectcd hulncvcrin the confidencc theCOI11-. wilhout any traces.' seHings shouldThe screen appearancebination of colors for thelext... a manual modern sysore available with a limi memory ly. if a CAD software is not computer cannot not acccpl the riles n"'.SUPPORT AND MANAGEMENTgraphic image moves comoUf...for more complex geometries. in a any CAD/CAM syslem is I the opr/on of inqJOllillg pall geulTldry fmm a Even if a company does nol need D.. even menus eXIraFormat) is considered by many £0 he the standard of drawing liIe exchange between micro computers. A variation is that the comour change points only. support for cycles is very important in a as it provides easy editing at theThe need 10 exchange design ware systems has always been a primeare lHallY competing rormats or a neutral file oldest of them is called ICES (In/tial Specifiea/ioll). including the Lool on (he screen ro simulate actual tool add even more realism to programproperly.. .. Inc... The result is thej·Ar. that reason. Therefore.s 10 say. A failure is nOl lhcaClU<llloss Oflhc hardware and sQftware cost. Keep In mind thal the formal and structure of the such as DXr: or I<..iES. Premium CAM software also allows 10and software for CNC programming work canandIt can represent a significant investmenT of and can hecome a lOlal if i lis norspeed andThe loss iscustomized tool shape.. <llihe All features are important and shouldcarefully.. il pared 10 accept ils perhaps from customers or c. lines. II has been developed by Autodesk.:ornrany branch offices. They do on the !ina! runctionality of the program. arcs and a few others. originally developed to transfer complexdesign liles from one software to another. These files are their structure is nol a maHer of public access. DXF format is suitable only for common ric as points. is the DXF format by Autodesk 1'. but a facility 10 tool bars. .....Neecile<..

It is very important to show the student what the do in lied first level should be doneTheTraining level 2ing to the ni level eliminates ginning of a new era. To prevent such prospects."H'~" .<:oodefinitely needs a professional CllJ'''rr1pnl establishes standards andoperations. On the CNC machining centers. the natural way of development to adapllhe tool indexing teChniques of the centers.Technical support for hardware and " . A. Concerns about people selection. It covers concerns. weed out had habits.cv plex milling features onTraining level 3The thild level is usually problems. mainly in nature. Know exactly whatIf something isn't in the contraCT.-'\.. are are also inevitable in work skills. If a hard disk fails . because an "' . keep three in mind when planning a CNC53..THE END ANDE BEGINNINGCNC technology holds is always hard indications where the \echnoJcontrols with more computing approach 10 programming. "rlAI"''''. .No item In Ihe list is any more important olhers . itisn '[ available. high. System ManagementA reliable operation of all system the success of CNC software.".what can be done? The CNC shop is waiti for lhe cril. covering installation. etc. Trainingshould be planned. .level 1with none or Technical Supportsuppon is an important pan of the system manA service contract or a support canusually negotiated with the vendor. are not con fi ned to ashould be important in the overall company culture . CNC lathes. it needsoHigh quality training program for long term skillsSystem management philosophy and<Mr~~T"'r.. confidentiality and security. An important pan of technical support is the speed and reliability of hand ling emergency situations.they are all equally imporrant.. Support should cover bothfirsl level of training should be aimed at the person lillie computer experience. ft should insoftware to the programmer who proIy.!cal job.. etc. thorough.opany employees pul into the technology.. will much more emphasis on faster machining rates. The typical general approach should byexplaini the philosophy behind {he sortware {he structure oj' menus and commands.. ' failed.allquestions. Usegood organization. shortcuts.. introduces this level is to create ar'\r{'\(Jr<>TYIl'YlJ"rhasmany questions. Training is a l. while the programmer cannot data to the machine. work ronment qualil y .. with the emphasis on the system '~Y.'nn"". and programs apply three levels companies do not place enough emphasis on many studies and examples proving thaL quality training work."I. plexilY of the first few possible.software is installed. new developments. The lack of lime and costs are often used as excuses.:':'''-' for any company that wantS to be competitive.. etc .backup methods.as they relate to the company where theI support promised by thebe written down. long termmonths later. lhe dil1icultStand alone CNC ines will always be needed.. update policies. It should be an overall training. This would increase the number of and live tools away from area. Also features Ihat eliminate <':P'. questions. etc. more better storage methods. I ips.and a back up does exist .

REFERENCE TABLES.

U.1875 .1100 .2810 .2323 .2556 .2067 .2720 .4016.2165 .1535 1540 .75 4.20087/64 35 2.751 5.80 24 3.10C6.1693.20D6.2460 .1820 .50 39 38 2.2520 .25 30 3.3045.2283 .9023.00 31:'.45 40 2.6025.1673 .3018 11/64 17.2280 .50F5/32224.25 6 .2344 .90I7.2402 .1457 .10 4.90 32 3.3542.2795 .2264 .2362 .1200 .2638 .2380 .0965 .1470 .00j7.0890 0906432.60 27 3.2461 .0980 .2717 .30 2.805.70 362.1719 .'103 5.08862.75.1102 .1339 .1960.1870 .1850 .1015 .1040 .507/325.2598 .257065.1299 .1260 .1130 .2040 .75 25 3.1935 .1732 .25 5.2657 .2244 .40293.2130 .1280 1285 .! 1().1495 .903/16121110 95.90A15/646.70 4..601413.60G6.2756 .25 4.20 5 5.80 4.20 3.1570 .1811.2812 .2340 .0925.00B6.1142 .11B13/32240 41 2.1520 .20 19 4.1405 1406 .2500 .1575 .2770 .1695.492D_e~malAppendixinch -Number 1 LetterMetr~(mmlDeci 11I~.0935 .0945 .1562 .1476 .80 6.301(4E6.1660 .70 17/64 6.254.20.2031 .2610 .2210 .1360 .2126 .1378 .2010 .2660 .1890 .00 8 5.70 5.1083 .1800Fraction_INIrj letter15M~lri~ jlT\.2441 .1910 1929 .2087 .2055 .2480 .10 713/64.002120 4.75 H 6.16541/83.2047 .80 34332.1417 .1610.70 26 3.0995 .1063 .r:2)~.2188 .2420 .303.19694.1590 .0984 .1496 .1614 .50 289/643.2090 .1250 .1160.1440 .10K9/32 7.50 4.12'20 .1990.2677 .1065 .0960 .406.1094 .1110 .2205 .60 37 2.nch.1730 .1772.28356.17704.1024 .2559.0938 .

50 45/64 18.25 8.90 25/64 10.461313 .7283 .3160.3594 .3860 .75 7.7500 .3661 .3770 3780 .6562 .30U9.4134 .3701 .4008.0053{649.00 61/6424.7188 .5512 .5031/32 25.909.5469 .8071 .3937 .80 S8.5906 .3281 .0063/6417/1611.3970 .2913 .60 9.3906 .8906 .5315 .2854.2874 .50 37/64 15.3622 3642 .00 19/3239/6415.6406 .3445 .80 7.50 8.9646.50 13/16 21.3386 .8125 .968824.2969L[FractionNumber / LeiterMeuic Imm)7.3750 .4062 4130 .3583 .50.3543 .4040 .10 8.3819 .6875 .75 9.31897.8465 8594866127/32 21.70 13.9252230029/32 59/6423.00.9375 .30 21/64 8.25 9.Appendix493FractionNumber / LetterMetric (mm).8438 .00X Y13/32.6890.3071 .7480 ./.75 8.5625 .5015/16Z10.3839 .3740 .3438 .3150 .60N29923020 .5781 .50 21/32 17.984410000254029/64.7812 .6693 .3465 .3480 .8858 .60R.3898 .50 19/64 7.50 55/64 22.20 9.905/168.828123/3218.6719 .45318.4331 .9055 .3320 .3228 .7344 .6250 .7087 .3346 .5709 .8268.0013.3390 34?'i .3504 .3268 .50 27/6411.30.33/64 17/3212.00T9.00 7/8 22.70.00 3 i/6412.5035/64 1400 9/16 14.00 41/64 16.3230 .492115/3212.9219.5000 .1023/649.5156 .40M7.8750 .3580 .9449 .008.00 0 8.4724 .3858 .5118 .6496 .7969 .2953 .5312 .6299 .00 51/64 20. .3125 .2950 .7677 .505/816.7031.20P.4219 .7011/328.9843 .70 7.3307 .9531 .7656 .3031 .5938 .40 9.80W9.3248 .4528 .4844.503/8V.0043/6411/1617.0094 6102 .4375 .25 7.50 47/64 1900 3/4 49/64 19.3110 .9062 .7874 .3051 .5025/3220.3680 .50 57/649.2900 .507.

1250 .703116.5044.8750 .rnvmate fulllhrcftd deplh of72-77% of nominal.011·1/2'·3/41.50 1500470~·143/4·141/4·28 1/4·325116·181· i I Y2 1 1/4·11 Y2 I ~·11 ~ 2·11 ~18GO 2375 30.656311/16 45/64 23/32 47/64.8750 .50 17.7 .1470 .494drill sizes in the following tables are based on the<onn.2500 .50181/.50 17.~I1/8·40 #6·32 #6-36 #6·40 5/32-32 5/32·36 #8-32 #8·36 #8-40 3/16·24 3/16·32 #10-24 #10·28 #10.71887/16-20 7/i6·24 7/16-28'/2-139.54S9.5056.00TPI6.43755/16·20 5/16·24 5/16-32 3/8·16 3/8-20 3/8·24 3/8-327/16·142727188.4844'1.00 17.7344 .8906 .9375 .5781 .9219 1.75002.T~/~~~~rl-~9/16·24 5/8-11Tap Drill Size.1540Straight Pipe Taps NPS1/4-183/8-1811.10651110 .1405.8125.82Bl7/0-9 7/8·12 718·14 718-16 718·20.6875.7188 .515 .1130.5033/64 3316<117/32ds UNC/UNfII5/B·125/8·1835/6437/64.:30 #10-32 #12·24 #12·28 #12·3:? 7/32·24 7/32·32 #14·20 #14-24I 0#3BHl1515116·12#36 #34 #33 1/8 #30 #29#28.6250alternative5/8·2411/16-12 11116·16 11/16·24 3/4-10 314·12 3/4-16 3/4·20 3/4·28 13/16-1213/16·1637/64 39/64 5/841(64 21/3243/64.001300 13.01·1/411·1/2 11·1/21·5132%·20 '/2-28 9116·1229/641.25 38.5313 13.1285 .907.157015/16·16 15116·20 1-8 1·12 1·147/B 57/647/859/64 15/1661/64.9219 .0#26 #22 #25..5031449/64 51/64 13116 13/)6 53/64 55/64.9531.984463/64 . IncheqU~ic: alternative.10 8.5781 .50'·1/22.1 .1360 .4531 .7500 .6719 .8125 .5156 .00141423/3231459/61\.1563150001.1495.00Tap Drill1/411/32 7/16 37/64Decimal Size.218831/64''''/22·7132.40 9M 10.6406.3438 .5781 6094 .

3150 .75M24 x:2 x 1.25M1.8 M6 x 1 M7 x i M8)( 1.3937 .25 1.3937.502727 180M6 x 0.2461.8268 .5M5.35 ML6 x 0.50\/238.00 6.00 20.0630 .5 M24 x31/8<:'73/8-18Yl.5104332n-a3-81 47/64 27/32 25/8 3 1/456.12S01.2657.27567/163/8M9xl Ml0 x 0.257.5709M I x 0.0571 .5 x 0.5 Tap Size1/1S-27Taper Pipe Taps NPT(mm).19692362x2x2.54.4724.m.752.50 9.35 ML8fi.6890 .8858 86614.5 M3.004.2 x 0.006.25 MIAxO..0433 .50 13.00 14.51-1/411-1/21-31/64 1-47/641.50 19.5 M18 xl M18 x 1.2 x 0..0011.303.0807M16x 1.6 M4 x 0.0374 .0026.5 x OA5 M3 xO.1476 J654M22 x 1.5x 0.60 .5M20 x 2.6102.0453 .5 M18x215.7 M4.4134.002300 22508268.25 S.3740.50 10.Tap Dtil10M12 X USM14 x 2 M16x2 M18 x 2.20 5.25 MIl xl 1-9/649.00.3543 .5 MS x 0.5 M13 x 1.0044.71882.00 5.3445 .75 MS x 0.5M27 x 2 M2822 00.25 M9 x 1.75 M7 X 075M8 x 15.2067 .6299x 035M2xOA M2.75Irnf!1) .6693.0689.75 M14 x 1.8.5 MIl x 1.~ .7512.259.20 12.00 82.45 1.25M13 M14 x 1.3051M30 x 3.8071 .951.0492 .5011.05 2.'1232 .00 10.5 xO.1299.1875.7874 .ID9.5 M22 )(2 M24 x 1M24 x 1.00'I.50 20.251-1/22-13/64x 1.10 1.43311.50 17.001969 .5 xO.00 67.90 3.5 x 0.35TPI1/161/8 1/4Tap DrillDDec.6496 .75 Ml0x 1 Ml0 x 1.3642 .734422031I1-23/322-3/161.-148. '0.5 M15xL5 MiS xl12.50Metric Coax PitchThreadsTap0.5 x 0.251.75 10.5512 . -II y.14061-1/8 1-15/321.00 8.5 MIl x 1.5 45/64 M22 x 2.7S77.45 M2.452811.3346 .0984 1142 .15 1.5021. 'h-' 1 'h2-11 'hM30 x 3.1 1/4-11 Y259/64 15/32IM27 x 324.Appendix495~¥'t'.521.00 14.'J4493/4-14.75M22x 1.50.9055 .50Metric Fine ThreadsNominal 0 x Pitch (mmlM3 M4Drilled OnlyTaper Reamedx 035M3. SizeTap DrillM4.50.0295 .75 10.3 ML5 x 0.4688M12 x 1 M12)( 1.25 M12 x 1.' t' H"" 0MIO x 1.50 2.00 15.00TiT) I··· .

496NOTES\.

95·96.AdditionalAddress lonmlt Air cutting. 60. programming. APC part88 1843·11416541 437·439 306 B. Block format . Blend radius. Calculator type Canned cycles. format Ouadrants238231465 273170.483-4~:9810048399101489 484\97 97 97101Su pport and training\Calculations.f fllogramming General features . Cartesian coordinate system Center end mill Centerline Chamfering Chamfer dtameter Character Chuck functions484477 40 76 177-190. 8-axis. Bitwise Input Blend rad III S Block.61-68 63 63 6461240 236666461-68 256521. l49.a9437-439B. 430deceleration.413 429-436 24 30125. 439497.95-95ATe299CCAD/CAM CAM soflware programming environment iJP.314·3209899·1029810215!972816 17 18129 29919141409?44 235-246238BBackground edit Ball nose end mill Bar/seder.163-170 170 170HomOnlal millliZ3 4 13in. 15532·33. 3GB.5:kl0[l com [lU!P.Arc cenler vectors Arc direction Arc in planes Arr. Block numbering Block nu mbers incre ment Block structUIR Confllcling words End-Of·Block (£08) block block Status block Block skip Barteerier Numbered blockAle centel and radius. Boss millrng _ Ci rcular moltOn direction Elements of a circle Feedrate for Circular motion Full Circle programming Lead·in and lead-out Parrial radius.41.70· 73.IndexAAbsolute data AccelerationSelective block skip Slash170163169168\64223Block IDOls loois Predslon Single pOint Tool shih !3oss203G76.

457·464 461381-392 38838638B463457 464381 387 389 389386 75 23 250 159158459 411.rmloil!lOrL Cutler I adius offset.462458462550182Descartes.58. 214254256Web drilling . Dimrsioning methods SpeCial instructions .34202314 24 29 228036 34 36 35 3435 3019419739kW (0 HP.46921. operations Blind hotes Cenler drilling Drill pOint EHectlve drill diameter Fla! bottom drilling Indexable drills Multilevel drilling Nominal dnll diameter. Peck drilling Reaming holesCharlg~s73 132. Tool nose radius offset Toolpath center points of offset Cutting mode Cutting tool animatIOn3921.271·273195199.Coolant functions geometry Coordinate system rotation Counterboring CSS Cutter p~th diHp.176 46831. Six-axIs lathe Three·axis lathe Turning centers and lathes Two·axis lathe Types of eNC lathesIndex9 409·415II 8Cycle slart time21.ltl:!lIerenCe ef(oL look-Ahead type Offset cancellation Oilset commands G40·G42 Practical example Programming forma! . 305 38247-268. 14326325195171-176.498Homontal machining center Lathe accessories Lathe axes Machine axes Milling. Dwell command As TAB alternative Dwellirl number 01 revolullons . Rene. 17196 1951951971982Q7399-404 206205 82. and revisions. Programming techniques methods.179. Titre block Tolerances dimension input . radiUS compensation Cutler direction amount seiling. Memory capacity Optional features ConvenilOoal machining COJ)ventlOnal Conversions HP to kW.Drip-feeding Dry run.170 47131211DDatum shift Cutter radius oHset Data setting. Diameter programming1530Continuous path Equidistant Control system Control panel Defaults Features.57. Dweltlng axis Long dwell lime Minimum dwell Safely issues Selting mode Time selection Used In fixed cycles OXF fileso196 208 24. Sulfate fin ish. Dummy tool.Distance· To-Go39 3931ONeDraWing. Direction of motion i.278IS.411 176 174259257 256 251 262 253 250176175173. Lathe offsets Program zero T001 length offset MOl control mDde parameters Work offsets Decimal point Defaults Delta IOcremenl12 11 9-10.207170260 266248 250·252 90 30173 172 17633. 13 82.214201.

315. B9GB3 peck dri Iling cycle GBIl lapping G85 boringG86hand183 180 181190 274 179181-182178 179SelectionShirt amount calclJlations Format notation . 58348-349. G53 machine coordlrlates command G54. 189. Feed per minute Feed per revolution Feedhold Feedrate override . Hardware errors Input errors logical erfOrs Miscellaneous errors .3138791178. 159 237 171.385. G3Q command. G29 command. 381 113. G32 thread cutting command G40 command G41·G42 commands G43 command. G16 command .383 3Ll9-350.355178 183GalG82 spot cycle177 189179. 3638831243 44G97 corTm~ilnd G9a-Gg9 commands88 84181. 266 123.1 command G54·G59 work oHsets G61 command G62command G63 command G54 command G88·G69 commands50. G17·G 1 commands 9 G20 command G21 command G27 command. Inverse lime feedrate Maximum Selection Fillet radius Fixed Absolute and incremental Basic formal structure Cancellation of a cycle Cycle Detailed description Genera I rules Initial level selection LO parameter Plane selection . G44 command.25.352.256251. Eaddress In threading .227-234227 ' 228 [83. 383-38490 90 9289 8989·90399 313. left hand G74·G75 lathe G76 precision boring G76 threading G80-G89 commands21. 113.92178. command.251.317-318 178.152·1 lBO.350.1 381.91G70G71-G/3 cycles G73 peck cycle G74 tapping .2303811233166 87 245124123-130.EEnglish unitsGGOO command 64 69 64 453 456 456GOI command G02·G03 commands G04 command. Programming format R-Ievel selection .18S8871-72. 186. Exact stop check Exact stop check mode Execuiton pnority88456455 456455 463 89 89 68151.27.38830871-72. G92 cycle G94 command . G12-G13 G15 command.n4. 152·1 160.techniques compensation pari programming FeedratB control. Circular cutting motion Circular motion leedrate Constant feadra Ie.20388 240177-1 314-320 180313.182 43cycle G87 cycle G88 boring cycle G89 boring G90 absolute position command .207. 18487 8821.122 132FFace122. Syntax errors E-switch . Milling syslem format Turning formal. G50 command G50-G51 commands .439EOBfrrms in progra mm Ing Calcula lion errors. G45-G48 commands G49 command. G09 command GlO data command. 143 50.320 313. 209214. 132 19. 132 123. G28 command. G90 lathe cycle G91 incremental motion command G92 posillon register command.

Intermediate pOint Inverse time feedrate_470 469.80. 8060.. M12-M13 functions.Precision gro<lve . Turning applications Types of Gcodes _ in a block With decimal pOint.468 466 46:3 151 87465. 7959. Gear ranges.151 108. 79 59. 298 295HHandle Helical !'HIlling Helicalll1terpolation Helix Ramping Thread Thread Hockey std molion Home posi!iOr'l Horizontal machining eerners30673159.58 58 409411 410Data selling .307314groove325308Lathe Master tool setup oHsels Offset change Off set enlly . Offsets and tool motion Lathe plOgram formal Least increment _Linear Interpolation294 129295295 294. Multiple grooves. 161. 9558orM07 function MDS functionM09 function M10·Mll functions. Group l1um bers Milling applications Modal commands . M23·M24 thread functions M30 program end func!lonM~ t -M44 lunciions.500line.47-5250 51K2147 50495250 522L 50. 146.Index13>1G-codes C<lnflicting commands .102 4\ I60. Multiaxis molion Programming format axis motion Start and end or motion live Local coordlnale system160160 159 159 5224.330335-338 326318Pan-off .429 73 74 474 465-47072.298L179.254 29323-334332323 324P and 0 blocks Yt"--''''oGrooving ~nOlicallOIJSGrooving dimensions . . lable Iniliallevel seleclio n In-process Input dimenSions tnput format Zero suppression Inscribed circle Interfacing \0 devices Connecting cablesM3370.149·158 127.Geometry ofiset Graphic display . ONe Punched tape RS-2J2C interfacell! communication. 190307-322 320 312 313 314.469Mi7·MIB (unctiolls. 43[) 1\30·431. 412 60.128.434 429-436 181 3U 69-76. Grooving and part-off Corner groove472104.157. M15·M16 funclions. 357 5829892.316·321 cycle. 383IIGES files incremental data mput Indexing axis .467.MOO function MUI function M02 program end function!vi03 IuncI ion M04 function M05 funClion M06 function56 57 5859. 271 16121-22417·428 417 419 427 418 421 . M19 functIOn M2i -M22lunctions. M48-M49 functions.429-440feedrate .

26. 122.5736310Optional Orthograph1c oriefliatlClfl. Parsons. John Part catcher or unloador . M8B-MB9 functions. Soflwired controls230191·216 1941-6 2205212 199.585456PPaUet changer PaUet types Pnrame!ers.214 201. commands RSIlJrn /iom maCilllitl Lew .1560.54related applications MDI 53.434NNumencal control Advantages Definition Hardwired controls .Index501M60 lunction M7I-M72 function M73-M74 functions. 1504774724715%0 53.298.. MachlnB coordinate system.815538417 28 175 108 152 151 149·158 151 151Modal commands M·S·T lock . M9B·M99 subprogram Machlnabilily Machine accessor ies. Machine geometry Machrne tock Machine warm-up Machine lero Absolute and incremental mode Intermediate point MAchine zero return machine lero.214 202 209 191.315 2021. Overtravel399108.375.d2466.193208 372826.1.56437 US5421. M-codes operations Direction o( cui End mills Peripheral milling _ Slots and and teeds Siock removal Width and of cut Minimum axis increment _PanPari reference pOln!.38922.G·codes.45:2 Metne units Milling .4B2 37. Multilevel drilling Multiple cycles157158 156 149·158.389 32-330OHsetspanel. Part setup Setup sheet P8rt -off Parts counter Pattern of holBS36 694754279275-277 275-280 281-292 277 279222 223220Random hole paltern _ row hoi" pattern2BO73220 217 2\8.

Absence of aXIs data . Machining in planes Mathemallcal planes.2~O143·1118. Return to machine zero . Real number sV8tem .238 40120119\22 113-118 113 115 113113 115 33.269·274 281·292 292 289QQuadrants .151 147Motion formulasReduction of rapid rate.269109 42 113 42 33 41415466161. Circuiar Culler radius offset Definition Fixed cycles .294148146. 58 Bl 473269·2742n271 27316.271. 481·482108107·111. 1473947·52 36 42 Li60144152143041566 58 454115107·112.PI constanl Planes.481-482 108 109 107 112 113·118 109 209. Program comments end . In planes. Avoidance of elfors Detection of errors Graphic method errors Thread Program Writing Confusing characters . Rigid R-Ievel selection Roughing and finishing RS·232C interlace .149-46447-4524514484494496262 6231·40 56 453·456454108 471·479. commands. Position Incremental mode Motion length calculation commands Z-axIs Position commands Definition Lathes . in eNC programming28516177 225119·122 12016.PostPower rating PreparatOlY curt!llramJs Pr ocess sheet Program Program changes.465.212 181-182 307 30.214 42. 471-479. Long programs formatting forms Program zero26. Safety in eNC work function G50·G51 commands center factor360441-445656405-408442 445443~42405 40616.480274 269·270269226. Part reference point Reference point groups Tool reference point .Index217Lathes Machining centers Selection methods Programming formats Format flotation Word address formalProgramming terms PuU·OU! Punched tape Py1hagorean Theorem112 110199.2Typical Peck drilling Percent sign . Circular Rectallyul(Jr POint of origin Polar coordinate system. Program header Progl8iT1 length reduction Program structure Program documents Documentation !lle folder (J program Setup sheet sheet Program ideMificatlon Program name number planning Program stop Program verification. Reaming Recess programming Rectangular coordinate system Reference Fixed Flexible point. Selection of planes Pocket Circular pockel cycles. 1001 path mOlion . 488RRadius programming Rapid positioning Approach 10 Ihe part Hockey std motion . Machine lero MachIne zero (home) .273406.109.468453454455SSafe block .

Index5032161·68 159 38418Screen display block retum. Offset On-machine Preset tool Using master tool Tool Tool memory type Fixed type Random344-345.432 132373369 368... Tool indexing .2038236135037 3721..21.Slash symbol Slot dlill Slots and pockets Speeds and feeds.334 3BB 368 3773711 387 133 136141. or offset Datum Shirl . Offset commands Used with G54·59 Used with G92 Tool setup Off·machine. 2780207 65 202. 281-292 344-345 273Hand of lh(ead Infeed methods Lead error Maximum feedrate Muitislarl threads PilCh vs.11.212 21121021021021U88215.77and feedsthread Terminology . Horizontal application.131 \42..59.60. Spindle override Spindle305 81. Cancellation. Distance-To-Go calculation G43-G44 difrerence . Thread forms Thlead reculling .B477Spindle Starlup Spindle JUrlChons orientation formulos version Mellie verSion. Tool junction Lathes Machining cenlers.28170 449-450 1\78 25163SImulation method !hrEiadSrnlNGS screenSetup sheet Similar421 426block.303 30730 367-380 379373126.370 58..na682101setting. Threading process Tbreading to a shoulder Tooling relerence .80. lead testing Retracl from thread Single poi(Jt . Spindle coolrcl Constant surface Empty spindle Maximum197277. Spherical end mill ...277 79 21. on lathes... 368139434Symbols in45TTarlslock Functions programmirgCheck IISI Pipe taps Speeds and feeds cnamfer geometry Tap flute geometry lap geometry Tapping mode.lathes Toollenglh offset .<..

386application127. 386 24.293412Cammon offsetDatum shi/1 ._~~_· _ _ _ _ d116 117 11738449-450168481 477-481Tligonometay G-codes49Web drilling Word address formal. )29.387i 23-130. addresses Order of words In block_ Word Work area Work coordinate system Work offsets Additional wOlk oHsels20842 4551 41 31 123-130 123·130.43112B1UUffl commandsUndercut plOgramming160Startup Wt'lrk ar~as available .387124. Work offset change Z-axis application Walk sketch23125 12640304W\IV-axis.504Center Ime External tooling lnlemal tooling Tooling selectlon_ Tooling sheet Trial cut table.387 128Tuming M-codesTumlng and boring Turning tools54293-306 130.Wear olisel AdjuslmemZZ-axis fleglaci10105. 25428106. -386Turret128.

NOTES505.

506NOTES.

NOTES.

508NOTES.

.

shortcuts.Praise For The Firstby Peter Smid fills the void for the intelligent reader who 1be simplistic concepts regurgitated in so many other books. special programming and machining pr9jects. and should be on the desk of every CNC Programmer and Production Engineer. Fully indexed to help the user quickly locate topics of interest. very well written. and numerous reference files useful in CNC programming." . as well as several utilities. this widely respected publication is structured in a logical order that is readily adaptable to virtually all levels of CNC training. and references to their classes. packed with actual problem-solving projects and enhancing the material presented in the book. Texas. programmers. students and professionals will find this CD an effective self-study aid that allows them to enhance their understanding of the . exercises. superb book. this popular and authoritative reference covers just about every possible subject a typical CNC programmer may encounter on a daily basis. easy to understand.. solutions to problems. tips. instructors will be able to quickly and easily print and distribute any of the projects. engineers. thus making this an unusually comprehensive reference for machinists. and practical examples. is included for the first time. and supervisors.CNC Programming Handbook has just become more valuable than ever! A new CD-ROM. tables. " close to 20 books on CNC programming and oan honestly say that this is the bas covered both basic and advanced programming techniques for both mills and . Users will find programming projects and exercises for most chapters.Houston. Many advanced subjects are also covered.Nottingham. at a time. EnglandExtraordinarily comprehensive. With the majority of files in Adobe PDF. from the basic to the advanced. this "industrial strength" handbook presents most common programming subjects in great depth and is equally applicable to both CNC milling and CNC turning operations. fonnulas. Filled with over one thousand illustrations. Meanwhile.

Previous
Next Post »