CNC Programming for Machining 3030412784, 9783030412784

The book is basically written with a view to project Computer Numerical Control Programming (CNC) Programming for machin

111 44 7MB

English Pages 152 [138] Year 2020

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

CNC Programming for Machining
 3030412784, 9783030412784

Table of contents :
Preface
Contents
About the Authors
I Introduction
1 CNC Programming
1.1 Part Programming
1.1.1 Methods of Part Programming
1.2 Part Programming Structure
1.2.1 Character
1.2.2 Word
1.2.3 Block
1.2.4 Program
1.3 Programming Formats
1.3.1 Fixed Block Format
1.3.2 Tab Sequential Format
1.3.3 Word Address Format
1.4 Standard Codes
1.4.1 Preparatory Functions (G)
1.4.2 Miscellaneous Functions (M)
1.5 Co-ordinates System
1.5.1 Absolute System
1.5.2 Incremental System
1.6 Reference Points
1.6.1 Zero Points and Reference Points
1.6.2 Machine Zero
1.6.3 Work Zero
1.6.4 Zero Shift
1.7 Conclusion
II Programming for Conventional Machining
2 Lathe Operation
2.1 Facing Operation
2.1.1 Introduction
2.1.2 Problem Description
2.1.3 G Code and M Code Used
2.1.4 Programming
2.2 Straight Turning Operation
2.2.1 Introduction
2.2.2 Problem Description
2.2.3 G Code and M Code Used
2.2.4 Programming
2.3 Step Turning Operation
2.3.1 Introduction
2.3.2 G Code and M Code Used
2.3.3 Problem Description
2.3.4 Programming
2.4 Taper Turning Operation
2.4.1 Introduction
2.4.2 Problem Description
2.4.3 G Code and M Code Used
2.4.4 Programming
2.5 Grooving Operation
2.5.1 Introduction
2.5.2 Problem Description
2.5.3 G Code and M Code Used
2.5.4 Programming
2.6 Threading Operation
2.6.1 Introduction
2.6.2 Problem Description
2.6.3 G Code and M Code Used
2.6.4 Programming
2.7 Contour Turning Operation
2.7.1 Introduction
2.7.2 Problem Description
2.7.3 G Code and M Code Used
2.7.4 Programming
2.8 Conclusion
3 Milling Operation
3.1 Profile Milling
3.1.1 Introduction
3.1.2 Problem Description
3.1.3 G Code and M Code Used
3.1.4 Programming
3.2 Circular Interpolation
3.2.1 Introduction
3.2.2 Problem Description
3.2.3 G Code and M Code Used
3.2.4 Programming
3.3 Circular Pocket Milling
3.3.1 Introduction
3.3.2 Problem Description
3.3.3 G Code and M Code Used
3.3.4 Programming
3.4 Rectangular Pocket Milling
3.4.1 Introduction
3.4.2 Problem Description
3.4.3 G Code and M Code Used
3.4.4 Programming
3.5 Surface Milling
3.5.1 Introduction
3.5.2 Problem Description
3.5.3 G Code and M Code Used
3.5.4 Programming
3.6 Conclusion
4 Drilling Operation
4.1 Point to Point Drilling Operation
4.1.1 Introduction
4.1.2 Case-1
4.1.3 Case-2
4.2 Peck Drilling Operation
4.2.1 Introduction
4.2.2 Problem Description
4.2.3 G Code and M Code Used
4.2.4 Programming
4.3 Conclusion
5 Boring Operation
5.1 Boring Operation
5.1.1 Introduction
5.1.2 Problem Description
5.1.3 G Code and M Code Used
5.1.4 Programming
5.2 Conclusion
III Programming for Machining Centre
6 Drilling and Milling Operation
6.1 Drilling and Milling Operation
6.1.1 Introduction
6.1.2 Problem Description
6.1.3 G Code and M Code Used
6.1.4 Programming
6.2 Milling and Drilling Operation
6.2.1 Introduction
6.2.2 Problem Description
6.2.3 G Code and M Code Used
6.2.4 Programming
6.3 Conclusion
7 Five Axis CNC Machines
7.1 Multiple Machining Process
7.1.1 Introduction
7.1.2 Problem Description
7.1.3 G Code and M Code Used
7.1.4 Programming
7.2 Straight Line Multiple Machining
7.2.1 Introduction
7.2.2 Problem Description
7.2.3 G Code and M Code Used
7.2.4 Programming
7.3 Multiple Machining in an Arc
7.3.1 Introduction
7.3.2 Problem Description
7.3.3 G Code and M Code Used
7.3.4 Programming
7.4 Conclusion
IV Programming for Non-conventional Machining
8 Non-conventional Machining
8.1 Electrical Discharge Machining
8.1.1 Tapered Polygon Cycle EDM
8.1.2 Tapered Vector Cycle EDM
8.1.3 Vector Circular Orbit EDM
8.1.4 Vector Cycle EDM
8.1.5 Spherical Cycle EDM
8.1.6 Polygon Cycle EDM
8.2 Wire Electrical Discharge Machining
8.2.1 Introduction
8.2.2 Problem Description
8.2.3 G Code and M Code Used
8.2.4 Programming
8.3 Wire Cutting EDM Machine
8.3.1 Introduction
8.3.2 Problem Description
8.3.3 G Code and M Code Used
8.3.4 Programming
8.4 Conclusion
V Programming for Auxiliary Operation
9 Canned Cycle
9.1 Canned Cycle Formats
9.1.1 Multiple Turning Cycle
9.1.2 Multiple Facing Cycle
9.1.3 Multiples Turning Cycle
9.1.4 End Face Peck Drilling Cycle
9.2 Drilling Canned Cycle
9.2.1 Introduction
9.2.2 Problem Description
9.2.3 G Code and M Code Used
9.2.4 Programming
9.3 Drilling Canned Cycle with Tool Length
9.3.1 Introduction
9.3.2 Problem Description
9.3.3 Tool Used
9.3.4 G Code and M Code Used
9.3.5 Programming
9.4 Rectangular Pocket Milling Canned Cycle
9.4.1 Introduction
9.4.2 Problem Description
9.4.3 Tool Used
9.4.4 G Code and M Code Used
9.4.5 Programming
9.5 Conclusion
10 Do Loop Cycle
10.1 Drilling Operation
10.1.1 Introduction
10.1.2 Case 1
10.1.3 Case 2
10.2 Equally Spaced Grooves Operation
10.2.1 Introduction
10.2.2 Problem Description
10.2.3 G Code and M Code Used
10.2.4 Programming
10.3 Conclusion
11 Subroutine
11.1 Drilling Operation
11.1.1 Introduction
11.1.2 Problem Description
11.1.3 G Code and M Code Used
11.1.4 Programming
11.2 Square Recess
11.2.1 Introduction
11.2.2 Problem Description
11.2.3 G Code and M Code Used
11.2.4 Programming
11.3 Conclusion
12 Polar Coordinates
12.1 Profile Making Operation
12.1.1 Introduction
12.1.2 Problem Description
12.1.3 G Code and M Code Used
12.1.4 Programming
12.2 Spiral Making Operation
12.2.1 Introduction
12.2.2 Problem Description
12.2.3 G Code and M Code Used
12.2.4 Programming
12.3 Conclusion
Appendix A
G Code
Appendix B
M-Codes
Appendix C
Prefix References
Appendix D
Special Characters
Appendix E
Address Letters
Suggested Readings
Index

Citation preview

Materials Forming, Machining and Tribology

Kaushik Kumar Chikesh Ranjan J. Paulo Davim

CNC Programming for Machining

Materials Forming, Machining and Tribology Series Editor J. Paulo Davim, Department of Mechanical Engineering, University of Aveiro, Aveiro, Portugal

This series fosters information exchange and discussion on all aspects of materials forming, machining and tribology. This series focuses on materials forming and machining processes, namely, metal casting, rolling, forging, extrusion, drawing, sheet metal forming, microforming, hydroforming, thermoforming, incremental forming, joining, powder metallurgy and ceramics processing, shaping processes for plastics/composites, traditional machining (turning, drilling, miling, broaching, etc.), non-traditional machining (EDM, ECM, USM, LAM, etc.), grinding and others abrasive processes, hard part machining, high speed machining, high efficiency machining, micro and nanomachining, among others. The formability and machinability of all materials will be considered, including metals, polymers, ceramics, composites, biomaterials, nanomaterials, special materials, etc. The series covers the full range of tribological aspects such as surface integrity, friction and wear, lubrication and multiscale tribology including biomedical systems and manufacturing processes. It also covers modelling and optimization techniques applied in materials forming, machining and tribology. Contributions to this book series are welcome on all subjects of “green” materials forming, machining and tribology. To submit a proposal or request further information, please contact Dr. Mayra Castro, Publishing Editor Applied Sciences, via [email protected] or Professor J. Paulo Davim, Book Series Editor, via [email protected].

More information about this series at http://www.springer.com/series/11181

Kaushik Kumar Chikesh Ranjan J. Paulo Davim •

CNC Programming for Machining

123



Kaushik Kumar Department of Mechanical Engineering Birla Institute of Technology, Mesra Ranchi, Jharkhand, India

Chikesh Ranjan RTC Institute of Technology Ranchi, Jharkhand, India

J. Paulo Davim Department of Mechanical Engineering University of Aveiro Aveiro, Portugal

ISSN 2195-0911 ISSN 2195-092X (electronic) Materials Forming, Machining and Tribology ISBN 978-3-030-41278-4 ISBN 978-3-030-41279-1 (eBook) https://doi.org/10.1007/978-3-030-41279-1 © Springer Nature Switzerland AG 2020 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer Nature Switzerland AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland

Preface

The authors are pleased to present the book CNC Programming for Machining under the book series Materials Forming, Machining and Tribology. Book title was chosen looking at the present trend and shift in the industrial world and future of the same. The Fourth Industrial Revolution or better known as I 4.0 has digitalized the industrial world, especially the manufacturing sector. The situation has forced the manufacturing companies to face increasingly frequently changing and unpredictable market imperatives caused by globalization, increased competitions and of course digitalization. The sector which had once dictated the world economy is now striving for existence. To stay alive and to revive the lost position, industries are required to not only produce their goods with high productivity but also allow for rapid response to market pressures and changing consumer needs and all these at a minimum cost and minimum environmental effects. One prominent way of achieving the target is modernization of the manufacturing machines. Today, the modern machines are microprocessor-controlled and outcast the conventional machines which were manually controlled using devices such as hand wheels or levers or mechanically controlled by prefabricated pattern guides like cams. Moreover, since any particular component might require the use of a number of different tools—lathe, mill, drill, etc.—modern machines often combine multiple tools into a single machining center. Hence where a number of different machines are used with a number of external controllers like human or robotic operators for job fixing, machining operations and movement of component from machine to machine can be handled singly with multiple tools and automated tool changer in a modern machine. The modern machines commonly known as ‘CNC machines’ are computer numerical controlled with automated control of machining tools to meet specifications by following a coded programmed instruction and without a manual operator. A CNC machine is a combination of motorized maneuverable tool and also a motorized maneuverable platform, movement and operation, both of which are controlled by a set of microprocessors or computer, according to specific input instructions. The instructions are delivered to a CNC machine in the form of a v

vi

Preface

specific and a very high-end program containing algorithms using G-codes and M-codes. The program can be written by a programmer, or currently the part’s mechanical dimensions are defined using CAD software and then translated into manufacturing directives by computer-aided manufacturing (CAM) software which makes the design of a mechanical part and its manufacturing program completely automated. In a CNC machine, not everything is in the control of CNC machinist as most of the operations are controlled through CNC machine control. All these operations are stored in the CNC machine memory as a list of instructions called a part program or just a program, which is defined as a group of commands given to the CNC for operating the machine. It consists of information about part geometry, motion statements to move the cutting tool, cutting speed, feed, depth of cut, etc., and auxiliary functions, e.g., coolant on and off, spindle direction. etc. So, although the CNC machine has enormous advantages over its manual counterpart the program has to be very clear, specific and accurate. The structure of program can be fragmented into four sets, namely character, word, block and program. Character is the smallest unit of CNC program. It can have digits and/or letters and/or symbols; word on the other hand is a combination of alphanumerical characters. It creates a single instruction to the CNC machine. Each word begins with a capital letter, followed by a number. These are used to represent axis positions, feed rate, speed, preparatory commands and miscellaneous functions. The block contains multiple words, sequenced in a logical order of processing, and lastly program comprises multiple lines of instructions which will be executed by the machine control unit (MCU). In a nutshell, it can be logically stated that program is a collection of blocks which is made of words which is created from characters. Hence in order to run a CNC machine, a sound knowledge of part program is very much essential. The book is basically written with a view to project CNC programming for machines, and it is to provide a guideline to write/read/understand such programs with the help of sample cases discussed under each chapter. The book has 12 chapters and five appendices. The chapters have been categorized into five parts, namely Part I: Introduction; Part II: Programming for Conventional Machines; Part III: Programming for Machining Centre; Part IV: Programming for Non-conventional Machines; and Part V: Programming for Auxiliary Operation. Part I contains Chap. 1; Part II has Chaps. 2–5; Part III has Chaps. 6 and 7; Part IV contains Chap. 8; Part V has Chaps. 9–12. Appendix A lists the G-codes with description, and Appendix B provides the same for the miscellaneous codes or commonly known as M-codes. Similarly, Appendix C lists all the prefix used in programming. Appendix D lists all the special characters, and Appendix E lists the address letters. Part I contains Chap. 1 which introduces the readers to the world of CNC programming. It explains the various components of part programming, namely character, word, block and program elaborating various techniques, nomenclatures and structure of part programming. It also discusses the standard code and referencing systems which are the backbone of the part programming.

Preface

vii

Part II which is dedicated to conventional machines starts with lathe machine in Chap. 2. Here, basic operations like facing, straight turning, step turning, taper turning, groove cutting, thread cutting and contour turning have been explained and a problem has been dealt along with the programming for each of them. Chapter 3 deals with another very important machine tool, i.e., milling. Similar to the earlier chapter, here profile milling, surface milling, circular interpolation, circular pocket milling and rectangular pocket milling have been explained and a problem has been dealt along with the programming for each of them. Similarly, Chap. 4 elaborates on drilling. The chapter explains and provides problems on point-to-point drilling and peck drilling along with the programming for each of them. Two cases have been discussed in case of point-to-point drilling. Chapter 5, the last chapter of the part, concentrates on another important machine tool, i.e., boring. The chapter explains and provides a problem on boring along with the programming for sample example. Part III, dedicated for multi-machine system or machining center, commences with Chap. 6. In this chapter, a combination of drilling and milling has been explained. The chapter picks up drilling and milling operation and milling and then drilling operation. It is perfect case of scheduling problem. Alike earlier chapters, here also explanation has been provided coupled with problems with relevant programming. The next chapter, i.e., Chap. 7 Five Axis CNC Machine, has been taken up. Similar to the preceding chapters, here multiple machining process has been dealt in which straight-line multiple machining and multiple machining in an arc have been explained and a problem has been dealt along with the programming for each of them. The only chapter of Part IV, Chap. 8, provides information on non-conventional machines. Here, three machines have been discussed, namely electrical discharge machine (EDM), wire electrical discharge machine (WEDM) and wire-cutting EDM. EDM is the most commonly and extensively used machine tool, and hence typical cases, e.g., tapered polygon cycle, tapered vector cycle, vector circular orbit, vector cycle, spherical cycle and polygon cycle, have been discussed along with a typical problem and the program associated with the same. Other two explanations have been provided augmented with problem with relevant programming. Part V, the last part of the book, groups the auxiliary operations and is spread over convention machine tools. It starts with Chap. 9, which talks about canned cycle. Here, emphasis has been given to lathe, drill and mill machine tools. In lathe, canning cycle associated with multiple turning cycle, multiple facing cycle, multiples turning cycle and end face peck drilling cycle has been introduced and explained with the help of an example and the program associated. In drilling, canned cycle and canned cycle with tool length are dealt with, as usual, examples and program. Under milling, rectangular pocket canned cycle has been explained with the help of a sample example containing the program.

viii

Preface

The next chapter of the part and book, i.e., Chap. 10, discusses DO loop cycle. This is generally used for a repeated operation. The chapter highlights two cases, i.e., equally spaced drilling and grooving operation with the help of examples along with a sample program. For drilling operation, two cases have been dealt. Chapter 11 discusses another very important auxiliary operation sub-routing. This chapter also provides two cases associated with sub-routing, i.e., drilling and square recess with the help of illustrations supported by relevant sample program. Chapter 12, the last chapter of the part and the book, talks about machining operation with polar coordinate system. Polar coordinate system, as the name suggests, is applied to a situation where the profile is circular or at least an arc. Hence, this chapter provides two examples where polar coordinate system can be employed. The instances associated are profile and spiral making operations. Both of these have been discussed with the aid of illustrations supported by relevant sample program. The book also provides five appendices for overall benefit of the readers and allows them to write their own programs as per their requirement and constraints. Appendix A provides a detailed list of preparatory codes, i.e., G-codes with the description of each of them highlighting the operation that can be executed. Similarly, Appendix B provides the same for the miscellaneous codes or commonly known as M-codes. Appendix C lists all the prefix used in programming. Appendix D lists all the special characters, and Appendix E lists the address letters. God, with your kind blessings, this work could be completed to our satisfaction. Your gift of writing and power to believe in passion, hard work and pursue dreams had made it possible. This could never have been done without the faith in You, the Almighty. Thank you for everything. We would like to thank our grandparents, parents and relatives for allowing us to follow our ambitions. Our families showed patience and tolerated us for taking yet another challenge which decreases the amount of time we could spend with them. They were our inspiration and motivation. Our efforts will come to a level of satisfaction if the professionals associated with CNC machines get benefitted. The authors would also like to thank the reviewers, the editorial board members, project development editor and the complete team of Publisher Springer Nature for their availability for work on this project. Their support and cooperation in every stage cannot be expressed in words. Throughout the process of writing this book, many individuals, from different walks of life, have taken time out to help. Last but not least, the authors would like to thank them all for providing them encouragement. The project would have got shelved without their support. Ranchi, India Ranchi, India Aveiro, Portugal

Kaushik Kumar Chikesh Ranjan J. Paulo Davim

Contents

Part I 1

Introduction

CNC Programming . . . . . . . . . . . . . . . . . . . . . 1.1 Part Programming . . . . . . . . . . . . . . . . . . 1.1.1 Methods of Part Programming . . 1.2 Part Programming Structure . . . . . . . . . . . 1.2.1 Character . . . . . . . . . . . . . . . . . . 1.2.2 Word . . . . . . . . . . . . . . . . . . . . . 1.2.3 Block . . . . . . . . . . . . . . . . . . . . 1.2.4 Program . . . . . . . . . . . . . . . . . . . 1.3 Programming Formats . . . . . . . . . . . . . . . 1.3.1 Fixed Block Format . . . . . . . . . . 1.3.2 Tab Sequential Format . . . . . . . . 1.3.3 Word Address Format . . . . . . . . 1.4 Standard Codes . . . . . . . . . . . . . . . . . . . . 1.4.1 Preparatory Functions (G) . . . . . . 1.4.2 Miscellaneous Functions (M) . . . 1.5 Co-ordinates System . . . . . . . . . . . . . . . . 1.5.1 Absolute System . . . . . . . . . . . . 1.5.2 Incremental System . . . . . . . . . . 1.6 Reference Points . . . . . . . . . . . . . . . . . . . 1.6.1 Zero Points and Reference Points 1.6.2 Machine Zero . . . . . . . . . . . . . . . 1.6.3 Work Zero . . . . . . . . . . . . . . . . . 1.6.4 Zero Shift . . . . . . . . . . . . . . . . . 1.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3 3 3 5 5 6 7 8 8 8 9 9 9 9 10 10 10 10 11 11 11 11 12 12

ix

x

Contents

Part II

Programming for Conventional Machining

2

Lathe Operation . . . . . . . . . . . . . . . . . . 2.1 Facing Operation . . . . . . . . . . . . . 2.1.1 Introduction . . . . . . . . . . . 2.1.2 Problem Description . . . . . 2.1.3 G Code and M Code Used 2.1.4 Programming . . . . . . . . . . 2.2 Straight Turning Operation . . . . . . 2.2.1 Introduction . . . . . . . . . . . 2.2.2 Problem Description . . . . . 2.2.3 G Code and M Code Used 2.2.4 Programming . . . . . . . . . . 2.3 Step Turning Operation . . . . . . . . . 2.3.1 Introduction . . . . . . . . . . . 2.3.2 G Code and M Code Used 2.3.3 Problem Description . . . . . 2.3.4 Programming . . . . . . . . . . 2.4 Taper Turning Operation . . . . . . . . 2.4.1 Introduction . . . . . . . . . . . 2.4.2 Problem Description . . . . . 2.4.3 G Code and M Code Used 2.4.4 Programming . . . . . . . . . . 2.5 Grooving Operation . . . . . . . . . . . 2.5.1 Introduction . . . . . . . . . . . 2.5.2 Problem Description . . . . . 2.5.3 G Code and M Code Used 2.5.4 Programming . . . . . . . . . . 2.6 Threading Operation . . . . . . . . . . . 2.6.1 Introduction . . . . . . . . . . . 2.6.2 Problem Description . . . . . 2.6.3 G Code and M Code Used 2.6.4 Programming . . . . . . . . . . 2.7 Contour Turning Operation . . . . . . 2.7.1 Introduction . . . . . . . . . . . 2.7.2 Problem Description . . . . . 2.7.3 G Code and M Code Used 2.7.4 Programming . . . . . . . . . . 2.8 Conclusion . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15 15 15 15 15 16 17 17 17 17 18 18 18 18 20 20 20 20 20 22 22 23 23 23 23 24 24 24 24 25 26 26 26 27 28 28 29

3

Milling Operation . . . . . . . . . . . . . 3.1 Profile Milling . . . . . . . . . . . 3.1.1 Introduction . . . . . . . 3.1.2 Problem Description .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

31 31 31 31

. . . .

. . . .

. . . .

. . . .

Contents

xi

3.1.3 G Code and M Code Used 3.1.4 Programming . . . . . . . . . . Circular Interpolation . . . . . . . . . . 3.2.1 Introduction . . . . . . . . . . . 3.2.2 Problem Description . . . . . 3.2.3 G Code and M Code Used 3.2.4 Programming . . . . . . . . . . Circular Pocket Milling . . . . . . . . . 3.3.1 Introduction . . . . . . . . . . . 3.3.2 Problem Description . . . . . 3.3.3 G Code and M Code Used 3.3.4 Programming . . . . . . . . . . Rectangular Pocket Milling . . . . . . 3.4.1 Introduction . . . . . . . . . . . 3.4.2 Problem Description . . . . . 3.4.3 G Code and M Code Used 3.4.4 Programming . . . . . . . . . . Surface Milling . . . . . . . . . . . . . . . 3.5.1 Introduction . . . . . . . . . . . 3.5.2 Problem Description . . . . . 3.5.3 G Code and M Code Used 3.5.4 Programming . . . . . . . . . . Conclusion . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

31 32 32 32 32 33 34 35 35 36 36 36 37 37 37 37 38 38 38 39 39 40 40

4

Drilling Operation . . . . . . . . . . . . . . . . . 4.1 Point to Point Drilling Operation . . 4.1.1 Introduction . . . . . . . . . . . 4.1.2 Case-1 . . . . . . . . . . . . . . . 4.1.3 Case-2 . . . . . . . . . . . . . . . 4.2 Peck Drilling Operation . . . . . . . . . 4.2.1 Introduction . . . . . . . . . . . 4.2.2 Problem Description . . . . . 4.2.3 G Code and M Code Used 4.2.4 Programming . . . . . . . . . . 4.3 Conclusion . . . . . . . . . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

43 43 43 43 44 46 46 46 46 47 48

5

Boring Operation . . . . . . . . . . . . . . . . . 5.1 Boring Operation . . . . . . . . . . . . . 5.1.1 Introduction . . . . . . . . . . . 5.1.2 Problem Description . . . . . 5.1.3 G Code and M Code Used 5.1.4 Programming . . . . . . . . . . 5.2 Conclusion . . . . . . . . . . . . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

49 49 49 49 49 50 51

3.2

3.3

3.4

3.5

3.6

xii

Contents

Part III

Programming for Machining Centre

6

Drilling and Milling Operation . . . . . . . 6.1 Drilling and Milling Operation . . . 6.1.1 Introduction . . . . . . . . . . . 6.1.2 Problem Description . . . . . 6.1.3 G Code and M Code Used 6.1.4 Programming . . . . . . . . . . 6.2 Milling and Drilling Operation . . . 6.2.1 Introduction . . . . . . . . . . . 6.2.2 Problem Description . . . . . 6.2.3 G Code and M Code Used 6.2.4 Programming . . . . . . . . . . 6.3 Conclusion . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

55 55 55 55 55 56 57 57 57 58 59 60

7

Five Axis CNC Machines . . . . . . . . . . . 7.1 Multiple Machining Process . . . . . 7.1.1 Introduction . . . . . . . . . . . 7.1.2 Problem Description . . . . . 7.1.3 G Code and M Code Used 7.1.4 Programming . . . . . . . . . . 7.2 Straight Line Multiple Machining . 7.2.1 Introduction . . . . . . . . . . . 7.2.2 Problem Description . . . . . 7.2.3 G Code and M Code Used 7.2.4 Programming . . . . . . . . . . 7.3 Multiple Machining in an Arc . . . . 7.3.1 Introduction . . . . . . . . . . . 7.3.2 Problem Description . . . . . 7.3.3 G Code and M Code Used 7.3.4 Programming . . . . . . . . . . 7.4 Conclusion . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

61 61 61 61 61 62 62 62 64 64 66 67 67 67 67 68 69

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

73 73 73 75 76 78 80 82

Part IV 8

Programming for Non-conventional Machining

Non-conventional Machining . . . . . . . . . . . 8.1 Electrical Discharge Machining . . . . . 8.1.1 Tapered Polygon Cycle EDM 8.1.2 Tapered Vector Cycle EDM . 8.1.3 Vector Circular Orbit EDM . . 8.1.4 Vector Cycle EDM . . . . . . . . 8.1.5 Spherical Cycle EDM . . . . . . 8.1.6 Polygon Cycle EDM . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

Contents

8.2

Wire Electrical Discharge Machining 8.2.1 Introduction . . . . . . . . . . . . 8.2.2 Problem Description . . . . . . 8.2.3 G Code and M Code Used . 8.2.4 Programming . . . . . . . . . . . Wire Cutting EDM Machine . . . . . . 8.3.1 Introduction . . . . . . . . . . . . 8.3.2 Problem Description . . . . . . 8.3.3 G Code and M Code Used . 8.3.4 Programming . . . . . . . . . . . Conclusion . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

Canned Cycle . . . . . . . . . . . . . . . . . . . . . . . . . 9.1 Canned Cycle Formats . . . . . . . . . . . . . . 9.1.1 Multiple Turning Cycle . . . . . . . 9.1.2 Multiple Facing Cycle . . . . . . . . 9.1.3 Multiples Turning Cycle . . . . . . . 9.1.4 End Face Peck Drilling Cycle . . . 9.2 Drilling Canned Cycle . . . . . . . . . . . . . . . 9.2.1 Introduction . . . . . . . . . . . . . . . . 9.2.2 Problem Description . . . . . . . . . . 9.2.3 G Code and M Code Used . . . . . 9.2.4 Programming . . . . . . . . . . . . . . . 9.3 Drilling Canned Cycle with Tool Length . 9.3.1 Introduction . . . . . . . . . . . . . . . . 9.3.2 Problem Description . . . . . . . . . . 9.3.3 Tool Used . . . . . . . . . . . . . . . . . 9.3.4 G Code and M Code Used . . . . . 9.3.5 Programming . . . . . . . . . . . . . . . 9.4 Rectangular Pocket Milling Canned Cycle 9.4.1 Introduction . . . . . . . . . . . . . . . . 9.4.2 Problem Description . . . . . . . . . . 9.4.3 Tool Used . . . . . . . . . . . . . . . . . 9.4.4 G Code and M Code Used . . . . . 9.4.5 Programming . . . . . . . . . . . . . . . 9.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

. 91 . 91 . 91 . 92 . 92 . 94 . 94 . 94 . 95 . 95 . 96 . 96 . 96 . 97 . 97 . 98 . 98 . 98 . 98 . 99 . 99 . 100 . 100 . 101

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

8.4 Part V

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

83 83 84 85 85 85 85 86 86 87 87

. . . . . . . . . . .

8.3

9

xiii

Programming for Auxiliary Operation

10 Do Loop Cycle . . . . . . . . 10.1 Drilling Operation . . 10.1.1 Introduction 10.1.2 Case 1 . . . . 10.1.3 Case 2 . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

103 103 103 103 105

xiv

Contents

10.2 Equally Spaced Grooves Operation 10.2.1 Introduction . . . . . . . . . . . 10.2.2 Problem Description . . . . . 10.2.3 G Code and M Code Used 10.2.4 Programming . . . . . . . . . . 10.3 Conclusion . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

106 106 106 107 107 108

11 Subroutine . . . . . . . . . . . . . . . . . . . . . . 11.1 Drilling Operation . . . . . . . . . . . . . 11.1.1 Introduction . . . . . . . . . . . 11.1.2 Problem Description . . . . . 11.1.3 G Code and M Code Used 11.1.4 Programming . . . . . . . . . . 11.2 Square Recess . . . . . . . . . . . . . . . 11.2.1 Introduction . . . . . . . . . . . 11.2.2 Problem Description . . . . . 11.2.3 G Code and M Code Used 11.2.4 Programming . . . . . . . . . . 11.3 Conclusion . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

109 109 109 109 109 110 111 111 111 111 112 112

12 Polar Coordinates . . . . . . . . . . . . . . . . . 12.1 Profile Making Operation . . . . . . . 12.1.1 Introduction . . . . . . . . . . . 12.1.2 Problem Description . . . . . 12.1.3 G Code and M Code Used 12.1.4 Programming . . . . . . . . . . 12.2 Spiral Making Operation . . . . . . . . 12.2.1 Introduction . . . . . . . . . . . 12.2.2 Problem Description . . . . . 12.2.3 G Code and M Code Used 12.2.4 Programming . . . . . . . . . . 12.3 Conclusion . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

113 113 113 113 113 114 115 115 115 115 116 117

Appendix A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Appendix B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Appendix C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Appendix D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Appendix E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Suggested Readings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

About the Authors

Kaushik Kumar B.Tech. (Mechanical Engineering, REC (now NIT), Warangal), MBA (Marketing, IGNOU) and Ph.D. (Engineering, Jadavpur University) is presently Associate Professor in the Department of Mechanical Engineering, Birla Institute of Technology, Mesra, Ranchi, India. He has 14 years of teaching and research experience and over 11 years of industrial experience in a manufacturing unit of Global Repute. His areas of teaching and research interests are quality management systems, optimization, non-conventional machining, CAD/CAM, rapid prototyping and composites. He has 9 patents, 28 books, 26 edited book volumes, 46 chapters, 147 international journals, 21 international and 1 national conference publications to his credit. He is on the editorial board and review panel of seven international and one national journals of repute. He has been felicitated with many awards and honors. Chikesh Ranjan (BE, Mechanical Engineering, Marathwada Institute of Technology, Aurangabad, Maharashtra, India), M.E. (Design of Mechanical Equipment, BIT Mesra) and presently pursuing Ph.D. (BIT Mesra) has over 5 years of teaching and research experience. His areas of interests are product and process design, CAD/CAM/CAE, rapid prototyping and composites. He has 10 books, 10 international journals and 4 international conference publications to his credit. He is presently working as Assistant Professor in the Department of Mechanical Engineering, RTC Institute of Technology, Anandi, Ormanjhi, Ranchi, India. J. Paulo Davim received his Ph.D. degree in Mechanical Engineering in 1997, M.Sc. degree in Mechanical Engineering (materials and manufacturing processes) in 1991, Mechanical Engineering degree (5 years) in 1986, from the University of Porto (FEUP), the Aggregate title (Full Habilitation) from the University of Coimbra in 2005 and the D.Sc. from London Metropolitan University in 2013. He is Senior Chartered Engineer by the Portuguese Institution of Engineers with an MBA and Specialist Title in engineering and industrial management. He is also Eur Ing by FEANI, Brussels, and Fellow (FIET) by IET London. Currently, he is Professor at the Department of Mechanical Engineering of the University of Aveiro, Portugal. xv

xvi

About the Authors

He has more than 30 years of teaching and research experience in manufacturing, materials, mechanical and industrial engineering, with special emphasis in machining and tribology. He has also interest in management, engineering education and higher education for sustainability. He has guided large numbers of postdoc, Ph.D. and master’s students as well as has coordinated and participated in several financed research projects. He has received several scientific awards. He has worked as evaluator of projects for ERC-European Research Council and other international research agencies as well as examiner of Ph.D. thesis for many universities in different countries. He is Editor in Chief of several international journals, Guest Editor of journals, book Editor, book Series Editor and Scientific Advisory for many international journals and conferences. Presently, he is Editorial Board Member of 30 international journals and acts as Reviewer for more than 100 prestigious Web of Science journals. In addition, he has also published as Editor (and Co-editor) more than 125 books and as Author (and Co-author) more than 10 books, 80 chapters and 400 articles in journals and conferences (more than 250 articles in journals indexed in Web of Science core collection/h-index 53+/9000+ citations, Scopus/h-index 57+/11000+ citations, Google Scholar/h-index 75+/18000+).

Part I

Introduction

Chapter 1

CNC Programming

Abstract In the CNC machining industries and all the machining centers, which are having the most commonly used automation process adopting by means of CNC machining. CNC machines the basic concepts of the machine are to control the motion of the tool, by means of set of instruction, which are prepared by programmer of operator. The set of programmed instructions are called the “program” or part programming of CNC machine tool. These instructions are only controlling every movement of the tool and the machine control features.

1.1 Part Programming Part programming is the most important, critical and fundamental stage in machining process, the efficiency, correctness and accuracy of which influences the performance and operation of the machining for a better and trouble free one. The part program is basically defined as the set of instructions and its sequence for describing the work that must be done on the part. These instructions are transferred in the form understandable to the computer controlled by CNC computer program. Part programming basically includes the operations of collecting necessary data for machining the part, calculation of the tool path and rotation of components in a format acceptable to the machine control unit (MCU) or in the form of standardized punched tape. It is basically the transfer of idea from drawing sheets to well-defined and systematic computer programs sheets.

1.1.1 Methods of Part Programming The methods of part programming can be of four types such as Manual Part programming, computer assisted part programming, part programming using CAD/CAM and Manual data input, out of which Manual part programming and Computer assisted part programming will be discussed in the section.

© Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1_1

3

4

1 CNC Programming

1.1.1.1

Manual Part Programming

In manual part programming, the data required for machining, is written in a standard format known as program manuscripts. Each horizontal line in a manuscript represents a ‘block’ of information. It may include the route sheet or the list of the instructions. In order to prepare a part program, the part programmer must know all the codes for all the operations and functions. The manuscript is typed with the help of a flexo writer, by the operator form the hand-written list of coded instructions. Part programs that are based on point to point type of tool movement are performed basically for simple parts while contouring is performed for complex parts. Manual part programming facilitates application of both point to point operations such as drilling and contouring operations on jobs though contouring is done for simple milling and turning operations involving two axis system. For complex shaped 3D parts, computer assisted part programming is generally recommended due to their advantages.

1.1.1.2

Computer-Assisted Part Programming

Manual part programming can be time consuming, tedious, and subject to errors for parts possessing operations. In these cases, and even for simpler jobs, it is advantageous to use computer-assisted part programming. Various CNC part programming language software have been developed which allows the user to write programs in high level languages such as statements in English. These high-level languages are then compiled into a low-level language or machine language to be directly interpreted by the machine tool. Computer assisted part programming enhances the accuracy, efficiency and effectiveness of the part programming operation which saves time and manpower. The computer assisted part programming includes tasks that are to be followed in the sequence as under shown in Fig. 1.1: (i) (ii) (iii) (iv)

Input translation; Arithmetic and cutter offset computations; Editing and Post processing.

Fig. 1.1 Tasks in computer-assisted part programming

1.2 Part Programming Structure

5

1.2 Part Programming Structure The part programming structure is very important part of CNC programming. The part program consists of the very important terms these terms are basic concepts of programming methods in the form of abbreviations and expression, that are simply called the codes of the programming. The four basic terms used in the CNC programming a. b. c. d.

Character Word Block Programme.

1.2.1 Character The character is the smallest unit of CNC program. It consists of digit, letter and symbol. The following Fig. 1.2 shows the rules of the CNC programming character.

Fig. 1.2 Rules of the CNC programming character

6

1 CNC Programming

1.2.2 Word It is a combination of alpha-numerical characters, creating a single instruction to the control system. Words are basically a collection of characters which are itself a combination of binary digits (bits) arranged in rows. These NC words provide instruction for the movement of the machine tool in its X-Y-Z positions, feed rates, preparatory commands, miscellaneous function and many other definitions. NC words combine to form a block which is a complete program.

1.2.2.1

Preparatory Function (G-Words)

The preparatory function popularly known as G codes are generally represented by two digits that are preceded by the letter G as per ISO specifications such as G01, G02, etc. with current day controllers even accepting up to 3–4 digits. It interprets the instructions to be followed by the controller for the job to be done on the part with various tool axis movements. This function is generally succeeded by the words for the co-ordinate axis (x, y, z).

1.2.2.2

Coordinates (X, Y and Z- Words)

This word is generally used to assign the final positions of the machine tool for its X, Y, Z motions. Two co-ordinate words are generally used in a 2-axis CNC systems for position specification while in a 3-axis systems additional words such as a-word and b-word are employed to specify angular positions. For circular interpolation, the arc center position is generally specified by the words I, J, K in addition to the co-ordinate words. Different formats for specifying the co-ordinates of the part are employed by various CNC machines with few systems where the decimal point does not need to be coded by the programmer and automatically gets inputted into the program by the control system at a pre-set position.

1.2.2.3

Feed Function (F-Word)

Feed function or F word is generally used to specify the feed rate of the machining operation which is basically expressed in millimeters per minute (mm/min) or millimeters per revolution (MM/rev) based on the appropriate G codes (G94 or G85) specified in the machine. For a feed of 200 mm/min the F-word will be specified as F200.

1.2 Part Programming Structure

1.2.2.4

7

Spindle Speed Function (S-Word)

The spindle speed function is used to specify the speed of the spindle in revolutions per minute (rpm) or in meters per minute with the necessary calculation by the control unit in converting it to rpm using appropriate formulae. For a machine to run at a spindle speed of 800 rpm, the speed will be specified as S800.

1.2.2.5

Tool Selection Function (T-Word)

The T-word is generally used for CNC machines having the provision for automatic tool changer or the tool turret to denote the tool required for a specified operation. Each pocket in the tool turret is assigned a distinct tool number which is identified by the machine and which is represented by words from T00 to T99.

1.2.2.6

Miscellaneous Function (M-Word)

Various auxiliary functions having no relevance to the actual dimensional movements of the machine tool like Coolant ON/OFF, spindle START/STOP, etc. are generally represented by M-words. M code is generally stored in a single block with some controllers even accepting more than two provided the codes are mutually inclusive as can be observed from the commands M07 and M09 for coolant ON and OFF respectively which cannot be included in a single block. Less number of M codes is standardized by ISO specifications in comparison to the G codes which generally depends on the controls exercised by the machine tools.

1.2.2.7

End of Block (EOB)

The EOB symbol identifies the end of instruction block.

1.2.3 Block In CNC system single instruction is used for block, it’s a simple word used in CNC system. Block can be used for more than one instruction. It’s a set of instruction in CNC system for individual line logically one after other. Thus, each line consists of more than one characters and every line in sequence is termed as block.

8

1 CNC Programming

1.2.4 Program Program is beginning with a sequence number followed by the block of instructions in a logical order.

1.2.4.1

Sequence Number

Sequence is the first word in any block that basically helps in identifying the block. It holds a sequence of numbers preceded by a letter N and is executed from lower sequence number to higher one such as N01, N02, etc. The numbers can be started from 01 to 10 in steps of 5 or 10 to insert the accidently omitted block.

1.3 Programming Formats Format is the method for writing the words in a block of instruction. The three program formats that are used for part programming are the fixed block format, tab sequential format and word address format as shown in Fig. 1.3. NC systems are generally adopted to understand and work with a single type of program format while for a CNC system, all types of program formats can be identified by the control unit.

1.3.1 Fixed Block Format Instructions are arranged sequentially in a fixed block format where every block stores all instructions including the instructions stored in the preceding block without any change. Fig. 1.3 Programming formats

1.3 Programming Formats

9

Fig. 1.4 Word address format

1.3.2 Tab Sequential Format Instructions are as well arranged in the same sequence as in the case of fixed block format and words (in order) needs to be separated from one another by the TAB character. The words from the preceding block if remain unchanged need not be repeated but TAB character maintained to arrange the order of the words in the same sequence. The address letters as well are not required in this format.

1.3.3 Word Address Format In the word address format, each data is preceded by an address letter and identified in sequence like the letter X that precedes and identifies the x-coordinate, F identifies the feed rate, etc. The word that has been included in the preceding block need not be repeated in the current block. A typical block and words in word address format is written as shown in Fig. 1.4.

1.4 Standard Codes 1.4.1 Preparatory Functions (G) Preparatory function is based on the movement of machine tool and its geometry. The preparatory functions are also called as G-codes. In CNC programming various types of G-codes are used. The G code has two to four digits like G01, G001, G0001. They are given in appendix 1.

10

1 CNC Programming

Fig. 1.5 Absolute system

1.4.2 Miscellaneous Functions (M) Miscellaneous function is based on the controls on the machine tool and thus affect the running of the machine. The miscellaneous functions are also called as M-codes. In CNC programming various types of M-codes are used in a single block. They are given in appendix 2.

1.5 Co-ordinates System 1.5.1 Absolute System In an absolute system all moving commands are referred to origin and zero-point. Example with coordinate of absolute system as shown in Fig. 1.5.

1.5.2 Incremental System An incremental system is one in which current location of tool (last tool position) is referred as the reference point. The distances are converted into incremental coordinates by accepting the last dimension points as the co-ordinate origin for the new point. Example with coordinate of incremental system as shown in Fig. 1.6.

1.6 Reference Points

11

Fig. 1.6 Incremental system

1.6 Reference Points 1.6.1 Zero Points and Reference Points In every CNC machines tool movement are controlled by the coordinates systems like right hand coordinate system. The accurate position within the machine tool confirm by Zero points.

1.6.2 Machine Zero Every machine has a starting point, a point from which all locations are calculated. This is the machine zero point. It is also referred as the machine reference point or home position. The location of this point may vary between the machine manufacturers, but the most obvious difference is between individual machine type.

1.6.3 Work Zero Work piece zero or datum may be defined as a point, line or surface on the component, the programmer should know the component, the programmer should know the relationship between the work piece zero coordinates and machine zero coordinates. In other words, all the coordinate value for slide movements must be defined with reference to the machine zero. However, this complicates the part programmers’ job. To simplify the part programme writing. The CNC machines have the facility of floating zero or zero shifting.

12

1 CNC Programming

1.6.4 Zero Shift The zero shifting facility is available on CNC machines. This facility allows the machine tool zero point to be shifted to any position within the programmable area of the machine. The zero shift or datum shift facility allows the user to shift the machine zero to coincide with the work piece zero.

1.7 Conclusion The present chapter provides an overview of the CNC programming. It covers methods of part programming, part programming structure, programming formats, standard codes, co-ordinates system and reference points in CNC. In the CNC machining industries and all the machining centers, which are having the most commonly used automation process adopting by means of CNC machining.

Part II

Programming for Conventional Machining

Chapter 2

Lathe Operation

Abstract Operations like facing, turning, taper turning, threading, boring, chamfering etc. are the operations undertaken in a CNC Lathe. The movement of the tool on workpiece surface is taken as X-axis and the transverse motion of the tool post is considered as Z-axis while preparing the part programs using G-codes and M-codes. The major challenge in the part programming phase of the Lathe operation is to deal with various complex shapes and structure to be machined which requires a complicated set of part programs that needs to be highly efficient, less time consuming and error free. Few complicated programming associated with the Lathe operation process samples of which are discussed below.

2.1 Facing Operation 2.1.1 Introduction Facing, in Lathe, is removing materials from the end of the workpiece as depicted in Fig. 2.1.

2.1.2 Problem Description Performs a facing operation with the given parameters as shown in Fig. 2.2.

2.1.3 G Code and M Code Used In facing operation codes used are as follows. G96—Spindle feed rate for constant surface feed, G95—feed in mm/rev, T03— tool change, M03—spindle on clockwise rotation, M08—coolant on, G00—Point to point positioning, G01—linear interpolation, F—feed i.e., 0.1 mm/rev, M30— Program stop. © Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1_2

15

16

2 Lathe Operation

Fig. 2.1 Set up for facing operation

Fig. 2.2 Problem description of facing operation

2.1.4 Programming A typical sample program for the facing operation is shown in Fig. 2.3.

2.2 Straight Turning Operation

17

Fig. 2.3 Typical sample program for facing operation

Fig. 2.4 Set up for straight turning operation

2.2 Straight Turning Operation 2.2.1 Introduction Straight turning is also called cylindrical turning. The process reduces the diameter of the workpiece to the required dimension. In this operation tool holder carrying the tool moves along the length of the workpiece, hence the work piece is machined on a plane parallel to its axis and the diameter of the workpiece remains constant throughout the length. Set up for straight turning operation as shown in Fig. 2.4.

2.2.2 Problem Description Performs a straight turning operation with the given parameters as shown in Fig. 2.5.

2.2.3 G Code and M Code Used In straight turning operation codes used are as follows. G43—tool length compensation, G54—work offset values i.e., value of Zaxis (30), D01—tool length value, i.e., value of X-axis (15), G90—Absolute Mode, G95—feed in mm/rev, T01—tool change, M03—spindle on clockwise

18

2 Lathe Operation

Fig. 2.5 Problem description of straight turning operation

rotation, M08—coolant on, G01—linear interpolation, F—feed i.e., 0.1 mm/rev, M05—Spindle off, M09—Coolant off.

2.2.4 Programming A typical sample program for the straight turning operation is shown in Fig. 2.6.

2.3 Step Turning Operation 2.3.1 Introduction Step turning is an operation similar to creating a stair case on a work piece. Here excess materials from the workpiece is removed non uniformly i.e. in various steps with different dimensions. Set up for step turning operation as shown in Fig. 2.7.

2.3.2 G Code and M Code Used In step turning operation codes used are as follows. G54—work offset values, G90—Absolute Mode, G94—feed in mm/min, M03— spindle on clockwise rotation, M08—coolant on, G01—linear interpolation, F—feed i.e., 2 mm/rev, S—Spindle speed i.e., 800 rpm, M02—End of Programme.

2.3 Step Turning Operation

Fig. 2.6 Typical sample program for straight turning operation Fig. 2.7 Set up for step turning operation

19

20

2 Lathe Operation

Fig. 2.8 Problem description of step turning operation

2.3.3 Problem Description Performs a step turning operation with the given parameters as shown in Fig. 2.8.

2.3.4 Programming A typical sample program for the step turning operation is shown in Fig. 2.9.

2.4 Taper Turning Operation 2.4.1 Introduction When the diameter of a work piece changes uniformly from one end to the other then the work piece is said to be tapered. Taper can be either external or internal. In external taper work piece is tapered on outside and internal taper work piece is tapered on inside. Set up for taper turning operation as shown in Fig. 2.10.

2.4.2 Problem Description Performs a Taper Turning operation with the given parameters as shown in Fig. 2.11.

2.4 Taper Turning Operation

Fig. 2.9 Typical sample program for step turning operation Fig. 2.10 Set up for taper turning operation

21

22

2 Lathe Operation

Fig. 2.11 Problem description of taper turning operation

2.4.3 G Code and M Code Used In Taper Turning operation codes used are as follows. G91—reference point, G54—work offset values, G71—Dimension in metric unit, G94—Feed mm/min, M03—spindle on clockwise rotation, M08—coolant on, G01—linear interpolation, F—feed i.e., 2 mm/rev, S—Spindle speed i.e., 800 rpm, M02—End of programme.

2.4.4 Programming A typical sample program for the Taper Turning Operation is shown in Fig. 2.12. Fig. 2.12 Typical sample program for taper turning operation

2.5 Grooving Operation

23

Fig. 2.13 Set up for grooving operation

Fig. 2.14 Problem description of grooving operation

2.5 Grooving Operation 2.5.1 Introduction Grooving is single point machining operation performed on CNC Lathe Set up for grooving operation as shown in Fig. 2.13.

2.5.2 Problem Description Performs a Grooving operation with the given parameters as shown in Fig. 2.14.

2.5.3 G Code and M Code Used In grooving operation codes used are as follows.

24

2 Lathe Operation

Fig. 2.15 Typical sample program for grooving operation

G71—Metric programming, G90—Absolute Mode, G94—feed rate mm/min, G92—Tool position register, G51—Scaling function, G91—Incremental dimensioning mode, G50—Scaling function, G30—Machine zero return.

2.5.4 Programming A typical sample program for the Grooving operation is shown in Fig. 2.15.

2.6 Threading Operation 2.6.1 Introduction Threading is single point machining operation performed on CNC Lathe Set up for threading operation as shown in Fig. 2.16.

2.6.2 Problem Description Performs a Grooving and threading operation with the given parameters as shown in Fig. 2.17.

2.6 Threading Operation

25

Fig. 2.16 Set up for threading operation

Fig. 2.17 Problem description of grooving and threading operation

2.6.3 G Code and M Code Used In grooving and threading operation codes used are as follows. G43—tool length compensation, G54—work offset values, G90—Absolute Mode, G95—feed in mm/rev, G33—Thread cutting, T04, 05—tool change, M03— spindle on clockwise rotation, M08—coolant on, G01—linear interpolation, F—feed i.e., 0.1 mm/rev, S—Spindle speed i.e., 1000 rpm, M05—Spindle off, M09—Coolant off.

26

2 Lathe Operation

Fig. 2.18 Typical sample program for grooving and threading operation

2.6.4 Programming A typical sample program for the Grooving and threading operation is shown in Fig. 2.18.

2.7 Contour Turning Operation 2.7.1 Introduction In contour turning operation tool follows a contour that is other than straight, thus creating a contoured form. Set up for contour turning operation as shown in Fig. 2.19.

2.7 Contour Turning Operation

27

Fig. 2.19 Set up for contour turning operation

2.7.2 Problem Description Performs a contour turning operation with the given parameters as shown in Fig. 2.20.

Fig. 2.20 Problem description of contour turning operation

28

2 Lathe Operation

2.7.3 G Code and M Code Used In contour turning operation codes used are as follows. G43—tool length compensation, G54—work offset, D01—tool length value, G90—Absolute Mode, G95—feed in mm/rev, T01—tool change, M03—spindle on clockwise rotation, M08—coolant on, G01—linear interpolation, F—feed i.e., 0.1 mm/rev, M05—Spindle off, M09—Coolant off, M30—Program stop.

2.7.4 Programming A typical sample program for the contour turning operation is shown in Fig. 2.21. Fig. 2.21 Typical sample program for contour turning operation

2.8 Conclusion

29

2.8 Conclusion The present chapter provides an overview of the different CNC Lathe operation programming. It covers NC Programming for Straight Turning operation, Step Turning operation, Taper Turning operation, Grooving and threading operation, Contour turning operation, Facing operation in CNC Lathe. In Straight turning operation machining typical Programme has been developed for CNC Lathe machines. Machining of complicated contour object are explained by Contour turning operation. Taper object was created using Taper Turning operation programming. Grooving and threading CNC programming was used to create groove and thread in circular workpiece.

Chapter 3

Milling Operation

Abstract The CNC Milling operation, all the three axis X, Y and Z are used to represent the movement of the worktable and the cutting tool. G00 and G01 codes are being used while preparation of part programs. The major challenge in the part programming phase of the Milling operation is to deal with various complex shapes and structure to be machined which requires a complicated set of part programs that needs to be highly efficient, less time consuming and error free. Few complicated programming associated with the Milling operation process samples of which are discussed below.

3.1 Profile Milling 3.1.1 Introduction Profile milling is used for CNC milling profile making on the complex parts. Few complicated programming associated with the profile milling using CNC milling samples of which are discussed below.

3.1.2 Problem Description Write a CNC Milling program for a FANUC controlled machine for the given Fig. 3.1. Profile milling depth = 5 mm. Take the depth of cut 0.5 mm, speed 1200 rpm. Assume feed 200 rpm.

3.1.3 G Code and M Code Used In Profile milling operation codes used are as follows.

© Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1_3

31

32

3 Milling Operation

Fig. 3.1 Problem description of Profile milling

G90—Absolute Mode, G00—Rapid positioning, T01—Tool change, M03— Spindle on clockwise rotation, M08—Coolant on, M98—Subprogram call, G01— Linear interpolation, S—Spindle speed, F—Feed, M05—Spindle off, M30—Program end.

3.1.4 Programming A typical sample program for the Profile milling is shown in Fig. 3.2. A typical sample program for the Profile milling using subroutine is shown in Fig. 3.3.

3.2 Circular Interpolation 3.2.1 Introduction Almost every component in undergoing CNC machining generally have Arc, Radius, Circle, spline etc. Few complicated programming associated with the Circular interpolation samples are discussed below.

3.2.2 Problem Description Performs a Circular interpolation operation with the given parameters as shown in Fig. 3.4.

3.2 Circular Interpolation

33

Fig. 3.2 Typical sample program for Profile milling

3.2.3 G Code and M Code Used In Circular interpolation operation codes used are as follows. G17—XY Plane designation, G90—Absolute Mode, G54—Work coordinate offset, G00—Rapid positioning, T01—Tool change, M03—Spindle on clockwise rotation, M08—Coolant on, M98—Subprogram call, G01—Linear interpolation, S—Spindle speed, F—Feed, M05—Spindle off, M02—End of program.

34 Fig. 3.3 Typical sample program for Profile milling using subroutine

3.2.4 Programming A typical sample program for the Circular interpolation is shown in Fig. 3.5.

3 Milling Operation

3.3 Circular Pocket Milling

35

Fig. 3.4 Problem description of Circular interpolation

Fig. 3.5 Typical sample program for Circular interpolation

3.3 Circular Pocket Milling 3.3.1 Introduction Circular pocket milling is used for making circular pocket milling in complex parts by CNC milling machining. Few complicated programming associated with the circular pocket milling samples of which are discussed below.

36

3 Milling Operation

Fig. 3.6 Problem description of Circular pocket milling

3.3.2 Problem Description Performs a Circular pocket milling operation with the given parameters as shown in Fig. 3.6.

3.3.3 G Code and M Code Used In Profile milling operation codes used are as follows. G90—Absolute Mode, G00—Rapid positioning, T01—Tool change, M03— Spindle on clockwise rotation, M08—Coolant on, M98—Subprogram call, G01— Linear interpolation, S—Spindle speed, F—Feed, M05—Spindle off, M30—Program end.

3.3.4 Programming A typical sample program for the Circular pocket milling is shown in Fig. 3.7.

3.4 Rectangular Pocket Milling

37

Fig. 3.7 Typical sample program for Circular pocket milling

3.4 Rectangular Pocket Milling 3.4.1 Introduction Rectangular pocket milling is used for making rectangular pocket milling in complex parts by CNC milling machining. Few complicated programming associated with the rectangular pocket milling samples of which are discussed below.

3.4.2 Problem Description Performs a Rectangular pocket milling operation with the given parameters as shown in Fig. 3.8.

3.4.3 G Code and M Code Used In Rectangular pocket milling operation codes used are as follows. G90—Absolute Mode, G00—Rapid positioning, G17—XY plane designation, G92—Tool position register, G81—Drilling cycle, G88—Boring cycle, G80—Fixed cycle cancel, G18—ZX Plane designation, G17—XY Plane designation, M03— Spindle on clockwise rotation, M08—Coolant on, M98—Subprogram call, G01— Linear interpolation, S—Spindle speed, F—Feed, M30—Program end.

38

3 Milling Operation

Fig. 3.8 Problem description of Rectangular pocket milling

3.4.4 Programming A typical sample program for the Rectangular pocket milling is shown in Fig. 3.9.

3.5 Surface Milling 3.5.1 Introduction In order to create a flat surface on a milling machine, the best available option is plain milling. As it works on surface it is also sometimes referred as surface milling or slab milling. The milling cutter rotates and moves along the surface to be machined. The arbor is well supported in a horizontal plane between the milling machine spindle and one or more arbor supports. Few complicated programming associated with the surface milling samples of which are discussed below.

3.5 Surface Milling

39

Fig. 3.9 Typical sample program for Rectangular pocket milling

3.5.2 Problem Description Performs a surface milling with the given parameters as shown in Fig. 3.10. Mill an XY surface down 6 mm with a Ø50 mm end mill.

3.5.3 G Code and M Code Used In surface milling operation codes used are as follows. G90—Absolute Mode, G00—Rapid positioning, T01—Tool change, M03— Spindle on clockwise rotation, M08—Coolant on, M98—Subprogram call, G01— Linear interpolation, S—Spindle speed, F—Feed, M05—Spindle off, M30—Program end.

40

3 Milling Operation

Fig. 3.10 Problem description of surface milling

3.5.4 Programming A typical sample program for the surface milling is shown in Fig. 3.11.

3.6 Conclusion This chapters covers NC Programming for Machining centers, Circular interpolation, Circular pocket milling, Rectangular pocket milling, surface milling in CNC. In machining centers typical Programme has been developed in CNC Milling machines. Milling of complicated circular object are explained by circular interpolation process. Circular pockets were created using CNC milling programming, similarly rectangular pockets were created. Surface milling CNC programming was used to create flat surfaces.

3.6 Conclusion Fig. 3.11 Typical sample program for surface milling

41

Chapter 4

Drilling Operation

Abstract Computer Numerical control (CNC) drilling operation is used for mass production. It is the first choice for the drilling of large-size parts, such as super-long stacking plate, pipe shaped part in the automobile, locomotive, shipbuilding, and engineering machinery manufacturing industries.

4.1 Point to Point Drilling Operation 4.1.1 Introduction In a point to point CNC drilling operation the workpiece or the cutting tool moves from one point to another point. To understand the procedure to prepare the part program of point to point CNC drilling operation few complicated programming associated with the drilling operation process samples of which are discussed below.

4.1.2 Case-1 4.1.2.1

Problem Description

Prepare the part program for a job shown in Fig. 4.1. Depth of hole—10 mm, Z = 00 at the surface of the workpiece and the cutting tool is positioned above the workpiece surface.

4.1.2.2

G Code and M Code Used

In point to point drilling operation codes used are as follows.

© Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1_4

43

44

4 Drilling Operation

Fig. 4.1 Problem description of point to point drilling operation

G71—Metric-programming, G90—Absolute dimension programming, G94— Feed rate mm/min, M03—Spindle on clockwise rotation, M08—Coolant on, G00— Point to point positioning, G01—Linear interpolation, F—Feed i.e., 200 mm/min, S—Spindle speed i.e., 1000 r.p.m, M02—End of Programme.

4.1.2.3

Programming

A typical sample program for the point to point drilling operation is shown in Fig. 4.2.

4.1.3 Case-2 4.1.3.1

Problem Description

Write a program to drill three holes in a plate 20 mm thick as shown in Fig. 4.3. Tape feed rate of 200 mm per minute and a spindle speed of 1500 rev/min. Drill diameter is 10 mm.

4.1 Point to Point Drilling Operation

Fig. 4.2 Typical sample program for point to point drilling operation

Fig. 4.3 Problem description of three holes drilling operation

45

46

4.1.3.2

4 Drilling Operation

G Code and M Code Used

In three holes drilling operation codes used are as follows. G92—Tool position register, G90—Absolute dimension programming, G81— Drilling cycle, G80—Fixed cycle cancel, M05—Spindle stop, F—Feed i.e., 200 mm/min, S—Spindle speed i.e., 1500 r.p.m.

4.1.3.3

Programming

A typical sample program for the three holes drilling operation is shown in Fig. 4.4.

4.2 Peck Drilling Operation 4.2.1 Introduction When the depth of the hole is approximately three times greater than the drill dimeter called peck drilling.

4.2.2 Problem Description Prepare the part program for a job shown in Fig. 4.5.

4.2.3 G Code and M Code Used In peck drilling operation codes used are as follows.

Fig. 4.4 Typical sample program for three holes drilling operation

4.2 Peck Drilling Operation

47

Fig. 4.5 Problem description of peck drilling operation

G21—Metric unit of input, G40—Cutter radius compensation cancel, G98— Return to initial level in a fixed cycle, G28—Machine zero return, M06—Tool change, M03—Spindle start in clockwise direction, G00—Rapid positioning, G28—Machine Zero return, M05—Spindle stop, M30—Program end.

4.2.4 Programming A typical sample program for the peck drilling operation is shown in Fig. 4.6.

48

4 Drilling Operation

Fig. 4.6 Typical sample program for peck drilling operation

4.3 Conclusion The present chapter provides an overview of the different Computer Numerical control (CNC) drilling operation programming. It covers CNC Programming for point to point drilling operation and peck drilling operation in CNC drilling. In a point to point CNC drilling operation the workpiece or the cutting tool moves from one point to another point. When the depth of the hole is approximately three times greater than the drill dimeter called peck drilling.

Chapter 5

Boring Operation

Abstract Boring is a process of enlarging a hole that has already been made by another process like drilling or casting. In other way we can say boring is a secondary finishing operation.

5.1 Boring Operation 5.1.1 Introduction Boring operation is used for enlarging a hole that has already been made by another process. Few complicated programming associated with the boring samples of which are discussed below.

5.1.2 Problem Description Write the program for boring as shown in Fig. 5.1.

5.1.3 G Code and M Code Used In boring operation codes used are as follows. G71—Boring operation, G21—Circular interpolation, G40—Cutter nose radius compensation, G98—Absolute Datum, G28—Machine zero return, M06—Tool change, M03—Spindle start in clockwise direction, G74—Drilling cycle, G70—Profile finish cycle, G28—Machine zero return, M05—Spindle stop, M30—Programme end.

© Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1_5

49

50

5 Boring Operation

Fig. 5.1 Problem description of boring operation

5.1.4 Programming A typical sample program for the boring operation is shown in Fig. 5.2.

Fig. 5.2 Typical sample program for boring operation

5.2 Conclusion

51

5.2 Conclusion The present chapter provides an overview of the boring operation programming. Boring is a process of enlarging a hole that has already been made by another process like drilling or casting.

Part III

Programming for Machining Centre

Chapter 6

Drilling and Milling Operation

Abstract There are few objects which requires both drilling and milling operation. The programming of such operations is carried out in a single programme. It depends upon the user or in object condition whether drilling is required, or milling is required both can be operated with a single programme.

6.1 Drilling and Milling Operation 6.1.1 Introduction In drilling and milling operation the workpiece is first drilled and it is proceeded with milling operation, this operation is used when the object is complicated, or more than one operation is required. To understand the procedure to prepare the part program of drilling and milling operation few complicated programming associated with the drilling operation process samples of which are discussed below.

6.1.2 Problem Description Write the program for drilling four holes and milling the recess as shown in Fig. 6.1. Drill diameter = 10 mm, end mill dimeter = 6 mm. Reference plane 2.5 mm above part surface.

6.1.3 G Code and M Code Used In drilling four holes and milling operation codes used are as follows.

© Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1_6

55

56

6 Drilling and Milling Operation

Fig. 6.1 Problem description of drilling four holes and milling operation

G91—Incremental command, G21—Metric units of input, G28—Machine zero return, G81—Repeat function-Fixed drilling cycle, G80—Fixed cycle cancel, G00— Point to point positioning mode of control, G01—Linear interpolation mode of control, M06—Tool change.

6.1.4 Programming A typical sample program for the drilling four holes and milling operation is shown in Fig. 6.2.

6.2 Milling and Drilling Operation

57

Fig. 6.2 Typical sample program for drilling four holes and milling operation

6.2 Milling and Drilling Operation 6.2.1 Introduction In milling and drilling operation first milling is carried out and then the object is drilled. When the object is complicated, or more than one operation is required milling and drilling is used. To understand the procedure to prepare the part program of milling and drilling operation few complicated programming associated with the milling and drilling operation process samples are discussed below.

6.2.2 Problem Description Write the program for milling and drilling as shown in Fig. 6.3.

58

6 Drilling and Milling Operation

Fig. 6.3 Problem description of milling and drilling operation

6.2.3 G Code and M Code Used G92—Programmed offset of reference point, G20—inch data input, G90—absolute programming mode, M06—tool change command, T01—tool no. 1 (0.250 diameter, 2-flute end mill), S2000—spindle speed set at 2000 r/min, M03—spindle on clockwise, G01—linear interpolation, F10—feed rate set at 10 in./min, G00—rapid traverse mode, G03—circular interpolation counterclockwise, M05—spindle turned off, M30—end of program.

6.2 Milling and Drilling Operation

59

6.2.4 Programming A typical sample program for the Machining the square groove, Hole Drilling, Machining the Angular Slot and Machining the Circular Groove are shown in Figs. 6.4, 6.5, 6.6 and 6.7.

Fig. 6.4 Typical sample program for machining the square groove operation

Fig. 6.5 Typical sample program for hole drilling operation

60

6 Drilling and Milling Operation

Fig. 6.6 Typical sample program for machining the angular slot operation

Fig. 6.7 Typical sample program for machining the circular groove operation

6.3 Conclusion The present chapter provides an overview of the different Computer Numerical control (CNC) drilling and milling operation programming. In drilling and milling operation the workpiece is first drilled and it is proceeded with milling operation, this operation is used when the object is complicated, or more than one operation is required. Computer Numerical control (CNC) drilling and milling operation is used for mass production.

Chapter 7

Five Axis CNC Machines

Abstract A 5 axis CNC machine is a machining center where multiple tools moving and rotating in different direction for manufacturing complex parts are controlled using a single controller or are performed in a single umbrella. The 5 axis CNC machine, as the name suggests, allows control over 5 axes. 3 axes in the tool and 2 in the workpiece holder. Hence practically it can machine any geometry irrespective of the extent of complexity. Moreover, with the availability of multiple tool holder and tool changer it can also perform multi operations which machines like Lathe, Milling, Drilling, etc. do individually.

7.1 Multiple Machining Process 7.1.1 Introduction Multiple machining process are used for making the group of operation on the complex parts. Multiple machining process is processed by Five axis CNC machines. Few complicated programming associated with the multiple machining process samples of which are discussed below.

7.1.2 Problem Description Prepare the part program for multiple machining by using five axis machines with the given parameters as shown in Fig. 7.1.

7.1.3 G Code and M Code Used In multiple machining using five axis machines system following codes are used:

© Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1_7

61

62

7 Five Axis CNC Machines

Fig. 7.1 Problem description of multiple machining using five axis machines

G90—Absolute dimension programming, G00—Point to point positioning, F— feed i.e., 250,200 mm/min, G90—Absolute programming, G43—Tool length compensation, G01—Linear interpolation, G91—Incremental programming, S—Spindle speed, G73—Irregular rough turning cycle, G40—Cancel diameter offset, G41—Cutter compensation left.

7.1.4 Programming A typical sample program for the multiple machining process by using five axis machine initial position, outside profile machining, slot milling, center hole milling and center punching, and hole drilling are shown in Figs. 7.2, 7.3, 7.4, 7.5 and 7.6.

7.2 Straight Line Multiple Machining 7.2.1 Introduction Straight line multiple machining is used for making the group of operation in a line with equally space on the complex parts. Straight line multiple machining is

7.2 Straight Line Multiple Machining

63

Fig. 7.2 Typical initial position program for of multiple machining using five axis machines

Fig. 7.3 Typical outside profile machining program for of multiple machining using five axis machines

processed by Five axis CNC machines. Few complicated programming associated with the straight-line multiple machining process samples of which are discussed below.

64

7 Five Axis CNC Machines

Fig. 7.4 Typical slot milling program for of multiple machining using five axis machines

7.2.2 Problem Description Prepare the part program for Straight line multiple machining by using five axis machines with the given parameters as shown in Fig. 7.7.

7.2.3 G Code and M Code Used In straight-line multiple machining using five axis machines system following codes are used:

7.2 Straight Line Multiple Machining

65

Fig. 7.5 Typical center hole milling program for of multiple machining using five axis machines

Fig. 7.6 Typical center punching and hole drilling program for of multiple machining using five axis machines Fig. 7.7 Problem description of straight-line multiple machining using five axis machines

66

7 Five Axis CNC Machines

G43—Tool length compensation, G00—Positioning at rapid speed, G90— Absolute dimension programming, G00—Point to point positioning, F—feed i.e., 200 mm/min, S—Spindle speed i.e., 1500 mm/min, G81—Drill cycle, G99—Per revolution feed, G84—Tapping cycle, G80—Cancel cycles.

7.2.4 Programming A typical sample program for the straight-line multiple machining process of three types by defining the length of the path and the number of holes, defining the length of the path and the step between holes and number of holes and steps between them are shown in Figs. 7.8, 7.9, and 7.10. Fig. 7.8 Typical program by defining the length of the path and the number of holes for straight-line multiple machining process using five axis machines

Fig. 7.9 Typical program by defining the length of the path and the step between holes for straight-line multiple machining process using five axis machines

7.3 Multiple Machining in an Arc

67

Fig. 7.10 Typical program by defining the number of holes and steps between them for straight-line multiple machining process using five axis machines

7.3 Multiple Machining in an Arc 7.3.1 Introduction Multiple machining in an arc is used for making the group of operation in an arc with equally space on the complex parts. Multiple machining in an arc is processed by Five axis CNC machines. Few complicated programming associated with the Multiple machining in an arc process samples of which are discussed below.

7.3.2 Problem Description Prepare the part program for Multiple machining in an arc by using five axis machines with the given parameters as shown in Fig. 7.11.

7.3.3 G Code and M Code Used In multiple machining in an arc using five axis machines system following codes are used: G00—Positioning at rapid speed, G90—Absolute dimension programming, G91—Incremental programming, M30—Program end.

68

7 Five Axis CNC Machines

Fig. 7.11 Problem description of multiple machining in an arc using five axis machines

7.3.4 Programming A typical sample program for the multiple machining in an arc process of two types by defining the number of operations and by defining the step between operations are shown in Figs. 7.12 and 7.13. Fig. 7.12 Typical program by defining the number of operations for multiple machining in an arc process using five axis machines

7.4 Conclusion

69

Fig. 7.13 Typical program by defining the step between operations for multiple machining in an arc process using five axis machines

7.4 Conclusion The present chapter provides an overview of five axis machines programming. It covers multiple machining process, straight line multiple machining and multiple machining in an arc operation. Multiple machining process are used for making the group of operation on the complex parts. Straight line multiple machining is used for making the group of operation in a line with equally space. Program for the straightline multiple machining process of three types by defining the length of the path and the number of holes, defining the length of the path and the step between holes and number of holes and steps between them. Multiple machining in an arc is used for making the group of operation in an arc with equally space. Program for the multiple machining in an arc process of two types by defining the number of operations and by defining the step between operations.

Part IV

Programming for Non-conventional Machining

Chapter 8

Non-conventional Machining

Abstract The use of numerical control with EDM machines is recognized as a method to increase table-positioning efficiency, such as that used in the case of multiple cavity work, and to cut die and punches with travelling wire EDM. Numerical control is also in orbit—EDM machine tables, especially for large-mold workpieces. The addition of NC to the vertical ram movement makes it possible to EDM at different angles. Using an automatic electrode changer with the NC machines makes the EDM process completely from roughing to finishing operation. After going through this lesion, reader should be able to get an idea of Electrical discharge machining and Wire electrical discharge machining with complicated programming.

8.1 Electrical Discharge Machining 8.1.1 Tapered Polygon Cycle EDM 8.1.1.1

Introduction

Electrical discharge machining, one of the most popular in the family of nontraditional machining process, is based on the electro-thermal mechanism for machining. Material removal takes place by means of repeated electrical discharges taking place between the electrode and the workpiece material being machined in the presence of dielectric fluid. Electrical discharge machining has been employed widely in the machining industry for machining of conductive materials such as graphite, metallic alloys, metals and even ceramics. Few complicated programming associated with the electrical discharge machining using tapered polygon cycle samples of which are discussed below.

8.1.1.2

Problem Description

Prepare the part program for electrical discharge machining using tapered polygon cycle with the given parameters as shown in Fig. 8.1. © Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1_8

73

74

8 Non-conventional Machining

Fig. 8.1 Problem description of electrical discharge machining using tapered polygon cycle

Given—P = 0.05, Q = 0.3, L = 10, U = 60, R = 6, W = 5, Z = 50.

8.1.1.3

G Code and M Code Used

In electrical discharge machining using tapered polygon cycle following codes are used: G09—Exact stop check-one block only, G17—XY plane designation, G27— Machine zero position check, G40—Cutter radius compensation cancels, G90— Absolute dimensioning mode, G29—Return from machine zero, G00—Rapid positioning, G85—Boring cycle, G01—Linear interpolation.

8.1.1.4

Programming

A typical sample program for the electrical discharge machining using tapered polygon cycle is shown in Fig. 8.2.

8.1 Electrical Discharge Machining

75

Fig. 8.2 Typical program by electrical discharge machining using tapered polygon cycle

8.1.2 Tapered Vector Cycle EDM 8.1.2.1

Introduction

Tapered vector cycle is used for making complex parts by electrical discharge machining. Few complicated programming associated with the electrical discharge machining using tapered vector cycle samples of which are discussed below.

8.1.2.2

Problem Description

Prepare the part program for electrical discharge machining using tapered vector cycle with the given parameters as shown in Fig. 8.3. Given—P = 0.05, Q = 0.3, L = 10, U = 45, V = 45, R = 4, W = 5, Z = 50.

8.1.2.3

G Code and M Code Used

In electrical discharge machining using tapered vector cycle following codes are used:

76

8 Non-conventional Machining

Fig. 8.3 Problem description of electrical discharge machining using tapered vector cycle

G09—Exact stop check-one block only, G17—XY plane designation, G27— Machine zero position check, G40—Cutter radius compensation cancels, G90— Absolute dimensioning mode, G29—Return from machine zero, G00—Rapid positioning, G01—Linear interpolation, G88—Boring cycle.

8.1.2.4

Programming

A typical sample program for the electrical discharge machining using tapered vector cycle is shown in Fig. 8.4.

8.1.3 Vector Circular Orbit EDM 8.1.3.1

Introduction

Vector circular orbit is generally used for lateral finishing of round. A general cavity is also possible with Z-lock mode and circular pattern. Few complicated programming associated with the electrical discharge machining using vector circular orbit samples are discussed below.

8.1.3.2

Problem Description

Prepare the part program for electrical discharge machining using vector circular orbit with the given parameters as shown in Fig. 8.5. Given: X = 0, Y = 0, Z = 50, P = 0.05, Q = 0.3, L = 10, U = 0, V = 0, W = 5.

8.1 Electrical Discharge Machining

77

Fig. 8.4 Typical program by electrical discharge machining using tapered vector cycle

Fig. 8.5 Problem description of electrical discharge machining using vector circular orbit

8.1.3.3

G Code and M Code Used

In electrical discharge machining using vector circular orbit following codes are used: G09—Exact stop check-one block only, G17—XY plane designation, G27— Machine zero position check, G40—Cutter radius compensation cancels, G90- Absolute dimensioning mode, G29—Return from machine zero, G00—Rapid positioning, G01—Linear interpolation, G82—Spot-drilling cycle.

78

8 Non-conventional Machining

Fig. 8.6 Typical program by electrical discharge machining using vector circular orbit

8.1.3.4

Programming

Typical sample program for the electrical discharge machining using vector circular orbit is shown in Fig. 8.6.

8.1.4 Vector Cycle EDM 8.1.4.1

Introduction

Vector cycle is mainly used when an accurate compensation in machining is required. Few complicated programming associated with the electrical discharge machining using vector cycle samples are discussed below.

8.1.4.2

Problem Description

Prepare the part program for electrical discharge machining using vector cycle with the given parameters as shown in Fig. 8.7.

8.1 Electrical Discharge Machining

79

Fig. 8.7 Problem description of electrical discharge machining using vector cycle

Given—X = 0, Y = 0, Z = -5, P = 0.05, Q = 0.3, L = 10, U = 45, V = 45, R = 4, W = −5.

8.1.4.3

G Code and M Code Used

In electrical discharge machining using vector cycle following codes are used: G09—Exact stop check-one block only, G17—XY plane designation, G27— Machine zero position check, G40—Cutter radius compensation cancels, G90— Absolute dimensioning mode, G29—Return from machine zero, G00—Rapid positioning, G01—Linear interpolation, G82—Spot-drilling cycle.

8.1.4.4

Programming

A typical sample program for the electrical discharge machining using vector circular orbit is shown in Fig. 8.8.

80

8 Non-conventional Machining

Fig. 8.8 Typical program by electrical discharge machining using vector cycle

8.1.5 Spherical Cycle EDM 8.1.5.1

Introduction

This cycle is basically used for surface finishing of curved surfaces. Few complicated programming associated with the electrical discharge machining using spherical cycle samples are discussed below.

8.1.5.2

Problem Description

Prepare the part program for electrical discharge machining using spherical cycle with the given parameters as shown in Fig. 8.9.

8.1 Electrical Discharge Machining

81

Fig. 8.9 Problem description of electrical discharge machining using spherical cycle

8.1.5.3

G Code and M Code Used

In electrical discharge machining using spherical cycle following codes are used: G09—Exact stop check-one block only, G17—XY plane designation, G27— Machine zero position check, G40—Cutter radius compensation cancels, G90— Absolute dimensioning mode, G29—Return from machine zero, G00—Rapid positioning, G01—Linear interpolation, G82—Spot-drilling cycle.

8.1.5.4

Programming

A typical sample program for the electrical discharge machining using spherical cycle is shown in Fig. 8.10.

82

8 Non-conventional Machining

Fig. 8.10 Typical program by electrical discharge machining using spherical cycle

8.1.6 Polygon Cycle EDM 8.1.6.1

Introduction

This cycle is basically used for surface finishing surfaces. Few complicated programming associated with the electrical discharge machining using polygon cycle samples are discussed below.

8.1.6.2

Problem Description

Prepare the part program for electrical discharge machining using polygon cycle with the given parameters as shown in Fig. 8.11.

8.1.6.3

G Code and M Code Used

In electrical discharge machining using polygon cycle following codes are used: G09—Exact stop check-one block only, G17—XY plane designation, G27— Machine zero position check, G40—Cutter radius compensation cancels, G90— Absolute dimensioning mode, G29—Return from machine zero, G00—Rapid positioning, G01—Linear interpolation, G82—Spot-drilling cycle.

8.1 Electrical Discharge Machining

83

Fig. 8.11 Problem description of electrical discharge machining using polygon cycle

8.1.6.4

Programming

A typical sample program for the electrical discharge machining using polygon cycle is shown in Fig. 8.12.

8.2 Wire Electrical Discharge Machining 8.2.1 Introduction Wire electrical discharge machining can machine any electrically conductive material. In this a thin wire usually made of copper or brass, is electrically charged and is held between top and bottom holder guiding the motion of the same. The applied voltage on the wire creates spark which melts the workpiece as it approaches the same. For creating an isolated atmosphere, the presence of a dielectric is required in the form of deionized water which apart from the environment also forces the debris to move out. It creates the clear path for the wire to move forward and complete the machining. Being a non-conventional machine, which means there is no physical contact between the tool and the workpiece, the cutting forces involved is zero. This allows to produce very thin and delicate parts. So this is used to make products with very high accuracy and complexity where the conventional machines fail. Few complicated programming associated with the wire electrical discharge machining samples are discussed below.

84

8 Non-conventional Machining

Fig. 8.12 Typical program by electrical discharge machining using polygon cycle

8.2.2 Problem Description Prepare the part program for wire electrical discharge machining using with the given parameters as shown in Fig. 8.13. Fig. 8.13 Problem description of wire electrical discharge machining

8.2 Wire Electrical Discharge Machining

85

Fig. 8.14 Typical program for the wire electrical discharge machining

8.2.3 G Code and M Code Used In wire electrical discharge machining using polygon cycle following codes are used: G92—Tool position register, G01—Liner interpolation, G02—Circular interpolation clockwise, G03—Circular interpolation counterclockwise, M02—End of program.

8.2.4 Programming A typical sample program for the wire electrical discharge machining is shown in Fig. 8.14.

8.3 Wire Cutting EDM Machine 8.3.1 Introduction Similar to Wire EDM, Wire cutting EDM machine also utilizes electrode in the form of a metallic wire moving in a programmed contour to cut a work piece. As the wire is fixed at the two ends, hence with this operation through cuts are possible but blind holes cannot be created. The most common components made in this machine is dies and blanking punches. In the machining area, when the wire approaches the workpiece, a spark is generated which melts the material and a crater similar to a cut is created. Hence, although it is called a machining process but, it is a material removal process by melting. The inclination of the wire can be changed creating an inclined or tapered surface. Apart from this the movement of two ends can be independently controlled making it possible to have different profiles getting blended from one end

86

8 Non-conventional Machining

Fig. 8.15 Problem description of wire cutting electrical discharge machining

to other. Few complicated programming associated with the wire cutting electrical discharge machining samples are discussed below.

8.3.2 Problem Description Prepare the part program for wire cutting electrical discharge machining using with the given parameters as shown in Fig. 8.15.

8.3.3 G Code and M Code Used In wire cutting electrical discharge machining following codes are used: G54—Select coordinate system, G09—Exact stop check-one block only, G17—XY plane designation, G27—Machine zero position check, G40—Cutter radius compensation cancels, G90—Absolute dimensioning mode, G29—Return from machine zero, G00—Rapid positioning, G01—Linear interpolation, G82—Spot-drilling cycle.

8.3 Wire Cutting EDM Machine

87

Fig. 8.16 Typical program by wire cutting electrical discharge machining

8.3.4 Programming A typical sample program for the wire cutting electrical discharge machining is shown in Fig. 8.16.

8.4 Conclusion The present chapter provides an overview of electrical discharge machining programming. It covers tapered polygon cycle EDM, tapered vector cycle EDM, vector circular orbit EDM, vector cycle EDM, spherical cycle EDM, polygon cycle EDM, wire electrical discharge machining and wire cutting EDM machine. Tapered vector cycle is used for making complex parts by electrical discharge machining. Spherical cycle is used for surface finishing of curved surfaces. Wire cutting EDM machine uses a metallic wire (electrode) to cut a programmed contour in a work piece.

Part V

Programming for Auxiliary Operation

Chapter 9

Canned Cycle

Abstract A canned cycle is a combination of machine movements that perform machining operation like drilling, milling, boring and tapping. This cycle simplifies the program by using a single block with a G-code to specify the machining operations usually specified in several blocks. This cycle is also called as fixed cycle. Canned cycles are traditionally used in making the holes on the complex parts of air crafts and aerospace component manufacturing, electronics instruments, optical or mold making industry.

9.1 Canned Cycle Formats 9.1.1 Multiple Turning Cycle 9.1.1.1

Introduction

The multiple turning cycle is used when the major direction of cut along the Z axis. This cycle causes the profile to be rough out by turning. Control passes on to after the last block of the profile.

9.1.1.2

Programme Format

Two G91 blocks are needed to specify all the values as shown in Fig. 9.1.

© Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1_9

91

92

9 Canned Cycle

Fig. 9.1 Programme format for turning cycle

9.1.2 Multiple Facing Cycle 9.1.2.1

Introduction

The multiple facing cycle is used when the major direction of cut is along the x axis. This cycle causes the profile to be roughed out by facing control passes on to after the last block of the profile.

9.1.2.2

Programme Format

Two G92 blocks are needed to specify all the values as shown in Fig. 9.2.

9.1.3 Multiples Turning Cycle 9.1.3.1

Introduction

This cycle provides for roughing out of a form by repeating the desired tool path a set number of times, the tool path being incremented into the work piece until the full form is completed. This cycle is useful for casting or forgings which are already formed to the basic shape required.

9.1 Canned Cycle Formats Fig. 9.2 Programme format for Multiple Facing Cycle

9.1.3.2

Programme Format

Two G93 blocks are needed to specify all the values as shown in Fig. 9.3. Fig. 9.3 Programme format for Multiples Turning Cycle

93

94

9 Canned Cycle

Fig. 9.4 Programme format for end face peck drilling cycle

9.1.4 End Face Peck Drilling Cycle 9.1.4.1

Introduction

This cycle is designed for deep hole drilling the drill entering the workpiece by a predetermined amount then backing off by another set amount to provide breaking the allowing swarf to clear the drill flutes.

9.1.4.2

Programme Format

Two G94 blocks are needed to specify all the values as shown in Fig. 9.4.

9.2 Drilling Canned Cycle 9.2.1 Introduction Drilling Canned cycles are used in making the multiple holes on the complex parts.

9.2 Drilling Canned Cycle

95

Fig. 9.5 Problem description of drilling canned cycles

9.2.2 Problem Description Prepare the part program for drilling operation with the given parameters as shown in Fig. 9.5. Tool: Ø10 mm helical drill bit. Cutting conditions: S = 1000 rpm. F = 200 mm/min.

9.2.3 G Code and M Code Used In Drilling Canned cycles operation following codes are used:G90—Absolute dimension programming, G94—Feed rate mm/min, G81— Drilling cycle, G98—Return to initial level in a fixed cycle, G91—Incremental

96

9 Canned Cycle

Fig. 9.6 Typical sample program for drilling canned cycle

dimensioning mode, G80—Fixed cycle cancel, G44—Tool length compositionnegative, M03—spindle on clockwise rotation, M08—coolant on, G00—Point to point positioning, G01—linear interpolation, F—feed i.e., 200 mm/min, S—Spindle speed i.e., 1000 r.p.m, M30—End of Programme.

9.2.4 Programming A typical sample program for the drilling canned cycle is shown in Fig. 9.6.

9.3 Drilling Canned Cycle with Tool Length 9.3.1 Introduction Drilling Canned cycles with tool length are used for making the multiple holes with multiple dimeter and tool length composition on the workpiece.

9.3 Drilling Canned Cycle with Tool Length

97

Fig. 9.7 Problem description of drilling canned cycles with tool length

9.3.2 Problem Description Prepare the part program for Drilling Canned cycles with tool length with the given parameters as shown in Fig. 9.7. 1 to 6—Drilling 4 mm Día, 9 to 10—Drilling 8 mm Día, 11 to 13—Drilling 10 mm Día.

9.3.3 Tool Used In Drilling Canned cycles with tool length following tools are used. T01—Drill 4 mm Diameter and tool length 130 mm, T02—Drill 8 mm Diameter and tool length 100 mm and T03—Drill 20 mm Diameter and tool length 120 mm as shown in Fig. 9.8a, b and c.

98

9 Canned Cycle

Fig. 9.8 Tool used in drilling canned cycles with tool length

9.3.4 G Code and M Code Used In Drilling Canned cycles with tool length following codes are used. G92—Tool position register, M06—Automatic tool changer (ATC), G90—Absolute dimensioning mode, G00—Point to point positioning, G54—Work coordinate offset, G43—Tool length compensation-positive, M03—spindle on clockwise rotation, S—Spindle speed i.e., 2000 r.p.m and 3000 r.p.m, G99—Return to R level in a fixed cycle, G81—Drilling cycle, G98—Return to initial level in a fixed cycle, G49—Tool length offset cancel, M02—Program stop.

9.3.5 Programming A typical sample program for the Drilling Canned cycles with tool length is shown in Fig. 9.9.

9.4 Rectangular Pocket Milling Canned Cycle 9.4.1 Introduction Rectangular pocket milling Canned cycles are used for making the multiple pocket with multiple depth on the workpiece.

9.4 Rectangular Pocket Milling Canned Cycle

99

Fig. 9.9 Typical sample program for drilling canned cycles with tool length

9.4.2 Problem Description Prepare the part program for Rectangular pocket milling Canned cycles with tool length with the given parameters as shown in Fig. 9.10. Cutting conditions: S = 1600 rpm. Roughing feed rate: 300 mm/min. Finishing feed rate: 200 mm/min.

9.4.3 Tool Used In Rectangular pocket milling Canned cycles End mill with 2 teeth and Ø10 mm tools are used.

100

9 Canned Cycle

Fig. 9.10 Problem description of rectangular pocket milling canned cycles

9.4.4 G Code and M Code Used In Rectangular pocket milling Canned cycles following codes are used. G90—Absolute dimensioning mode, G00—Point to point positioning, G43— Tool length compensation-positive, M03—spindle on clockwise rotation, S—Spindle speed i.e., 1600 r.p.m, G99—Mill cycle, G80—Fixed cycle cancel, G44—Tool length compensation-negative.

9.4.5 Programming A typical sample program for Rectangular pocket milling Canned cycles is shown in Fig. 9.11. Fig. 9.11 Typical sample program for rectangular pocket milling canned cycles

9.5 Conclusion

101

9.5 Conclusion The present chapter provides an overview of the different canned cycle formats and programming. It covers canned cycle formats for multiple turning cycle, multiple Facing cycle, multiples turning cycle and end face peck drilling cycle. It also covers NC Programming for drilling canned cycle, drilling canned cycle with tool length and rectangular pocket milling canned cycle. Drilling Canned cycles are used for making the multiple holes on the complex parts. Drilling Canned cycles with tool length are used for making the multiple holes with multiple dimeter and tool length composition on the workpiece. Rectangular pocket milling Canned cycles are used for making the multiple pocket with multiple depth on the workpiece.

Chapter 10

Do Loop Cycle

Abstract In a couple of occupations some segment of the program should be rehashed, which don’t fit into institutionalized class. A portion of the noninstitutionalized cycle is Do-loops. “Do-loops is a no. of steps or operations repeated over a number of equal steps for a previously fixed number of times”. In some jobs certain parts are required to be repeated. Instead of writing the program again and again Do-loops are implemented on incremental mode where the previous position is taken as the reference for next iteration. Do-loop reruns the program till no. of similar operation gets completed. Few complicated programming associated with the Do-Loops Cycle samples of which are discussed below.

10.1 Drilling Operation 10.1.1 Introduction Do-Loops Cycle are used for making the multiple holes on the complex parts.

10.1.2 Case 1 10.1.2.1

Problem Description

Prepare the part program for drilling three holes in a mild steel plate 6 mm thick by using Do Loop with the given parameters as shown in Fig. 10.1.

© Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1_10

103

104

10 Do Loop Cycle

Fig. 10.1 Problem description of drilling operation using do loop

10.1.2.2

G Code and M Code Used

In Drilling operation by using Do Loop following codes are used:G90—Absolute dimension programming, G101—Drilling cycle, G91—Incremental dimensioning mode, G100—Fixed cycle cancel, M03—spindle on clockwise rotation, G00—Point to point positioning, F—feed i.e., 150 mm/min, M30—End of Programme.

10.1.2.3

Programming

A typical sample program for the Drilling operation by using Do Loop is shown in Fig. 10.2.

10.1 Drilling Operation

105

Fig. 10.2 Typical sample program for drilling by using do loop

10.1.3 Case 2 10.1.3.1

Problem Description

Prepare the part program for drilling five holes in a plate 6 mm thick by using Do Loop with the given parameters as shown in Fig. 10.3.

10.1.3.2

G Code and M Code Used

In Drilling five holes using Do Loop following codes are used:G71—Metric-programming, G90—Absolute dimension programming, G94— Feed rate mm/min, G92—Tool position register, M06—Automatic Tool Change (ATC), G101—Drilling cycle, G91—Incremental dimensioning mode, G100—Fixed cycle cancel, G51—Scaling function, G50—Scaling function cancel, M03—spindle on clockwise rotation, G00—Point to point positioning, F—feed i.e., 150 mm/min, M09—Coolant off.

Fig. 10.3 Problem description of drilling five holes using do loop

106

10 Do Loop Cycle

Fig. 10.4 Typical sample program for drilling five holes using do loop

10.1.3.3

Programming

A typical sample program for the Drilling five holes using Do Loopis shown in Fig. 10.4.

10.2 Equally Spaced Grooves Operation 10.2.1 Introduction Do-Loops Cycle are used for making equally spaced grooves operation on the complex parts.

10.2.2 Problem Description Prepare the part program for series of equally spaced Grooving operation with the given parameters as shown in Fig. 10.5.

10.2 Equally Spaced Grooves Operation

107

Fig. 10.5 Problem description of equally spaced grooving operation

10.2.3 G Code and M Code Used In equally spaced Grooving operation codes used are as follows. G71—Metric programming, G90—Absolute Mode, G94—feed rate mm/min, G92—Tool position register, G51—Scaling function, G91—Incremental dimensioning mode, G50—Scaling function, G30—Machine zero return.

10.2.4 Programming A typical sample program for the equally spaced Grooving operation is shown in Fig. 10.6. Fig. 10.6 Typical sample program for equally spaced grooving operation

108

10 Do Loop Cycle

10.3 Conclusion The present chapter provides an overview of the different Do-Loops Cycle programming. It covers Do-Loops Cycle for drilling operation and equally spaced grooves operation. Do-Loops drilling cycle are used for making the multiple holes on the complex parts. Do-Loops grooves cycle are used for making equally spaced grooves operation on the complex parts.

Chapter 11

Subroutine

Abstract A subroutine is that part of the programme which is stored in the computer after its performance. The same can be called back as and when it is required. This can be used for different programmes unlike the Do Loops which is part and parcel of the same programme.

11.1 Drilling Operation 11.1.1 Introduction Subroutine are used for making the group of holes on the complex parts.

11.1.2 Problem Description Prepare the part program for drilling group of five hole in plate 5 mm thick by using Subroutine with the given parameters as shown in Fig. 11.1. R-plane may be assumed at 2 mm above plate surface, Z = 0 at plate surface.

11.1.3 G Code and M Code Used In Drilling operation by using Subroutine following codes are used: G110—Absolute dimension programming, G71—Metric-programming, G80— Fixed cycle cancel, G81—Repeat function-Fixed Drilling cycle, M03—spindle on clockwise rotation, G00—Point to point positioning, F—feed i.e., 105 mm/min, M30—End of Programme.

© Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1_11

109

110

11 Subroutine

Fig. 11.1 Problem description of drilling operation using subroutine

11.1.4 Programming A typical sample program for the Drilling operation by using Subroutine is shown in Fig. 11.2. Fig. 11.2 Typical sample program for drilling using subroutine

11.2 Square Recess

111

Fig. 11.3 Problem description of drilling four squares using subroutine

11.2 Square Recess 11.2.1 Introduction Subroutine are used for making the group of squares on the plate is known as square recess.

11.2.2 Problem Description Prepare the part program for group of four squares in plate 15 mm thick by using Subroutine with the given parameters as shown in Fig. 11.3.

11.2.3 G Code and M Code Used In Drilling four squares by using Subroutine following codes are used: G110—Absolute dimension programming, G71—Metric-programming, G80— Fixed cycle cancel, G81—Repeat function-Fixed Drilling cycle, M03—spindle on clockwise rotation, G00—Point to point positioning, F—feed i.e., 105 mm/min, M30—End of Programme.

112

11 Subroutine

Fig. 11.4 Typical sample program for drilling four squares using subroutine

11.2.4 Programming A typical sample program for the Drilling four squares by using Subroutine is shown in Fig. 11.4.

11.3 Conclusion The present chapter provides an overview of the different subroutine programming. It covers subroutine for drilling operation and square operation. Subroutine are used for making the group of holes on the complex parts. Subroutine are used for making the group of squares on the plate is known as square recess.

Chapter 12

Polar Coordinates

Abstract Polar coordinate system is more effective for rotational axes than Cartesian coordinate one which can be integrated into computer numeric control (CNC) controller based on motion control.

12.1 Profile Making Operation 12.1.1 Introduction Polar coordinate system is used for profile making on the complex parts.

12.1.2 Problem Description Prepare the part program for profile making in plate using polar coordinate system with the given parameters as shown in Fig. 12.1.

12.1.3 G Code and M Code Used In profile making using polar coordinate system following codes are used: G90—Absolute dimension programming, G91—Incremental Dimension Programming, G00—Point to point positioning mode of control, F—feed rate set at 200 rpm, G41—Cutter composition, G01—Linear interpolation, G02—Circular interpolation Arc clockwise, G03—Circular interpolation Arc counter clockwise, M30—End of Programme.

© Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1_12

113

114

12 Polar Coordinates

Fig. 12.1 Problem description of profile making using polar coordinate system

12.1.4 Programming A typical sample program for the profile making using polar coordinate system is shown in Fig. 12.2. Fig. 12.2 Typical sample program for profile making using polar coordinate system

12.2 Spiral Making Operation

115

Fig. 12.3 Problem description of spiral making using polar coordinate system

12.2 Spiral Making Operation 12.2.1 Introduction Polar coordinate system is used for spiral making on the complex parts.

12.2.2 Problem Description Prepare the part program for spiral making using polar coordinate system with the given parameters as shown in Fig. 12.3.

12.2.3 G Code and M Code Used In spiral making using polar coordinate system following codes are used: G90—Absolute dimension programming, G91—Incremental Dimension Programming, G00—Point to point positioning mode of control, S—Spindle speed set at 1200 rpm, G01—Linear interpolation, M30—End of Programme.

116

12 Polar Coordinates

Fig. 12.4 Typical sample program for of spiral making using polar coordinate system

12.2.4 Programming A typical sample program for the profile making using polar coordinate system is shown in Fig. 12.4. The spiral increases 12 mm every 360°. • The first option considers increments of 0.36°, thus, to each angular increment corresponds a radial increment of 0.01 mm. The number of passes necessary to make the spindle is: 30 mm/0.01 mm = 3000 increments. • The second option considers increments of 0.036°, thus, to each angular increment corresponds a radial increment of 0.001 mm. The number of passes necessary to make the spindle is: 30 mm/0.001 mm = 30,000 increments. Since the CNC allows repeating a block up to 9999 times, the spiral will have to be made in three blocks. The basic (first increment) Repeat the first increment 9999 times (total accumulated: 12,000) Repeat the previous 2 steps (12,000 times repetition) twice, thus completing the 30,000 times.

12.3 Conclusion

117

12.3 Conclusion The present chapter provides an overview of Polar coordinate system programming. It covers polar coordinate system for profile making and spiral making operation. Polar coordinate system is more effective for rotational axes than Cartesian coordinate one which can be integrated into computer numeric control (CNC) controller based on motion control.

Appendix A

G Code

Code

Description

G00

Rapid positioning

G01

Linear interpolation

G02

Circular interpolation, clockwise

G03

Circular interpolation, counterclockwise

G04

Dwell

G05

High speed continuous cutting mode

G06

Non-uniform rational B-spline (NURBS) machining

G07

Imaginary axis designation

G09

Exact stop check-one block only

G10

Programmable data input (data setting)

G11

Data setting mode cancel

G12-14

Axis selection

G15

Polar coordinate command cancels

G16

Polar coordinate command

G17

XY plane designation

G18

ZX plane designation

G19

YZ plane designation

G20

Programming in inches

G21

Programming in millimeters (mm)

G22

Stored stroke check ON

G23

Stored stroke check OFF

G24

Unsigned (continued)

© Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1

119

120

Appendix A

(continued) Code

Description

G25

Spindle speed fluctuation detection ON

G26

Spindle speed fluctuation detection OFF

G27

Machine zero position check

G28

Machine zero return

G29

Return from machine zero

G30

Machine zero return

G31

Skip function

G32

Single-point threading

G33

Thread cutting (constant lead)

G34

Thread cutting (increasing lead)

G35

Thread cutting (decreasing lead)

G36

Use for control purpose only

G37-38

Calling of subroutine

G39

Permanently unassigned

G40

Cutter radius compensation cancel

G41

Cutter radius compensation-left

G42

Cutter radius compensation-right

G43

Tool length compensation-positive

G44

Tool length compensation-negative

G45

Position compensation-single increase

G46

Position compensation-single decrease

G47

Position compensation-double increase

G48

Position compensation-double decrease

G49

Tool length offset cancel

G50

Define the maximum spindle speed

G50

Scaling function cancel

G50

Position register (programming of vector from part zero to tool tip)

G51

Scaling function

G52

Local coordinate system setting

G53

Machine coordinate system setting

G54

Work coordinate offset 1

G55

Work coordinate offset 2

G56

Work coordinate offset 3

G57

Work coordinate offset 4

G58

Work coordinate offset 5

G59

Work coordinate offset 6

G60

Single direction positioning (continued)

Appendix A

121

(continued) Code

Description

G61

Exact stop check, modal

G62

Automatic corner override mode

G63

Tapping mode

G64

Cutting mode

G65

Custom macro call

G66

Custom macro model cell

G67

Custom macro model cell cancel

G68

Coordinate system rotation

G69

Coordinate system rotation cancel

G70

Fixed cycle, multiple repetitive cycle, for finishing (including contours)

G71

Fixed cycle, multiple repetitive cycle, for roughing (Z-axis emphasis)

G72

Fixed cycle, multiple repetitive cycle, for roughing (X-axis emphasis)

G73

Fixed cycle, multiple repetitive cycle, for roughing, with pattern repetition

G73

High speed peck drilling cycle (deep hole)

G74

Left hand threading cycle

G75

Peck grooving cycle for turning

G76

Fine boring cycle

G77

Unassigned

G78-79

Mill cycle

G80

Fixed cycle cancel

G81

Drilling cycle

G82

Spot-drilling cycle

G83

Peck drilling cycle (deep hole drilling cycle)

G84

Right hand threading cycle

G85

Boring cycle, feed in/feed out

G86

Boring cycle, feed in/spindle stop/rapid out

G87

Back boring cycle

G88

Boring cycle, feed in/spindle stop/manual operation

G89

Boring cycle, feed in/dwell/feed out

G90

Absolute programming

G91

Incremental programming

G92

Tool position register

G93

Unassigned

G94

Feed rate mm/min (in./mm)

G95

Feed rate mm/rev (in./rev)

G96

Constant surface speed (mm/min)

G97

Spindle speed (rev/min) (continued)

122

Appendix A

(continued) Code

Description

G98

Absolute datum (machine reference point)

G99

Return to R level in fixed cycle

G100

Tool length measurement

Appendix B

M-Codes

Code

Description

M00

Programme stop

M01

Optional stop

M02

End of program

M03

Spindle on (clockwise rotation)

M04

Spindle on (counterclockwise rotation)

M05

Spindle stop

M06

Automatic tool change (ATC)

M07

Coolant on (mist)

M08

Coolant on (flood)

M09

Coolant off

M10

Pallet clamp on

M11

Pallet clamp off

M13-14

Spindle on (clockwise rotation) and coolant on (flood)

M15

Motion +ve

M16

Motion −ve

M17

Unassigned

M18

Unassigned

M19

Spindle orientation

M20

Auxiliaries

M21

Mirror, X-axis

M21

Tailstock forward (continued)

© Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1

123

124

Appendix B

(continued) Code

Description

M22

Mirror, Y-axis

M22

Tailstock backward

M23

Mirror OFF

M23

Thread gradual pullout ON

M24

Thread gradual pullout OFF

M25-29

Unassigned

M30

End of program, with return to program top

M31

Interlock by-pass

M32-35

Constant cutting speed (use with turning)

M36

Feed range 1

M37

Feed range 2

M38

Spindle speed range 1

M39

Spindle speed range 2

M41

Gear select—gear 1

M42

Gear select—gear 2

M43

Gear select—gear 3

M44

Gear select—gear 4

M48

Feedrate override allowed

M49

Feedrate override NOT allowed

M50

Coolant No. 3 ON

M51

Coolant No. 4 ON

M52

Unload last tool from spindle

M53-54

Unassigned

M55

Linear tool shift position 1

M56

Linear tool shift position 2

M57-59

Unassigned

M60

Automatic pallet change (APC)

M61

Linear workpiece shift position 1

M62

Linear workpiece shift position 2

M63-67

Unassigned

M68

Clamp workpiece

M69

Unclamp

M70

Unassigned

M71

Angular workpiece shift position 1

M72

Angular workpiece shift position 2

M73-77

Unassigned

M78

Clamp slide (continued)

Appendix B

125

(continued) Code

Description

M79

Unclamp slide

M80-97

Unassigned

M98

Subprogram call

M99

Subprogram end

Appendix C

Prefix References

Prefix

Description

A

A axis of machine

B

B axis of machine

C

C axis of machine

D

Tool radius compensation number

F

Feedrate

G

G-code

H

Tool length offset index

I

X axis offset for arcs X offset in G87 canned cycle

J

Y axis offset for arcs

K

Z axis offset for arcs

Y offset in G87 canned cycle Z offset in G87 canned cycle L

Number of repetitions in canned cycles/subroutines

M

M-code

N

Line number

O

Subroutine label number

P

Dwell time in canned cycles

L1/L2 tool offsets settings/fixture offset (with G10)

Dwell time with G04 Tool/Fixture number (with G10) (continued) © Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1

127

128

Appendix C

(continued) Prefix

Description

Q

Feed increment in G83 canned cycle

R

Arc radius Canned cycle retract level

S

Spindle speed

T

Tool selection

X

X axis of machine

Y

Y axis of machine

Z

Z axis of machine

Tool radius (G41, G42) Repetitions of subroutine call

Appendix D

Special Characters The following special characters can be used within a block:

Character

Function

%

The rest of the line is interpreted as a comment

;

The rest of the line is interpreted as a comment

[]

Jump mark, index at FlexProg

/*...*/

Encapsulated comment at FlexProg

()

Comment, function bracket at FlexProg

© Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1

129

Appendix E

Address Letters The following address letters have fixed meanings assigned to them.

Character

Function

A, B, C

Path information A axis, B axis, C axis

D

Additional information (correction memory, cutting edge correction table)

E

Additional information on the PLC

F

Feed speed, dwell time, time display at G95 (inverse time programming)

G

Path condition

I, J, K

Interpolation parameters, circle center

M

Machine function

N

Block number

S

Spindle speed

T

Tool number

W

Command extension

X

Path information X axis, dwell time

Y, Z

Path information Y axis, Z axis Output address

© Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1

131

Suggested Readings

Abbas, M. N., Solomon, D. G., & Fuad Bahari, M. (2007). A review on current research trends in electrical discharge machining (EDM). International Journal of Machine Tools and Manufacture, 47(7), 1214–1228. Adrian, I., Eugen, A., & Florin, N. (2010). A study about micro-drilling by electrical discharge method of an Al/SiC hybrid composite. International Journal of Academic Research, 2(3), 6–12. Ahn, Y. J., Hoffmann, C., & Kim, Y. S. (2011). Curvature continuous offset approximation based on circle approximation using quadratic Bezier arcs. Computer-Aided Design, 43, 1011–1017. Bleys, P., Kruth, J., Lauwers, B., Zryd, A., Delpretti, R., & Tricarico, C. (2002). Realtime tool wear compensation in milling EDM. CIRP Annals—Manufacturing Technology, 51(1), 157–160. Debroy, A., & Chakraborty, S. (2013). Non-conventional optimization techniques in optimizing non-traditional machining processes: A review. Management Science Letters, 3(1), 23–38. Ding, S., & Jiang, R. (2004). Tool path generation for 4-axis contour EDM rough machining. International Journal of Machine Tools and Manufacture, 44(14), 1493–1502. Guo, X. G., Liu, Y. D., Du, D. S., Yamazaki, K., & Fujishima, M. (2012). A universal NC program processor design and prototype implementation for CNC systems. International Journal of Advanced Manufacturing Technology, 60, 561–575. Heap, T., & Hogg, D. (1996). Extending the point distribution model using polar coordinates. Image Vision Computer, 14, 589–599. Ho, K. H., & Newman, S. T. (2004). State of art in wire electrical discharge machining (WEDM). International Journal of Machine Tools and Manufacture, 44, 1247–1259. Hoang, K. T., & Yang, S. H. (2013). A study on the effect of different vibration-assisted methods in micro-WEDM. Journal of Materials Processing Technology, 213, 1616–1622. Hoang, K. T., & Yang, S. H. (2015). A new approach for micro-WEDM control based on realtime estimation of material removal rate. International Journal of Precision Engineering and Manufacturing, 16(2), 241–246. Kim, S. H., & Ahn, Y. J. (2007). An approximation of circular arcs by quartic Bezier curves. Computer-Aided Design, 39, 490–493. Krzic, P., Stoic, A., & Kopac, J. (2009). STEP-NC: A new programming code for the CNC machines. Strojniskivestnik—Journal of Mechanical Engineering, 55(6), 406–417. Kumar Senthil, K. L., Sivasubramanian, R., & Kalaiselvan, K. (2009). Selection of optimum parameters in non-conventional machining of metal matrix composite. Portugaliae Electrochemical Acta, 27(4), 477–486. Lai, M. J. (2007). The convergence of three L1 spline methods for scattered data interpolation and fitting. Journal of Approximation Theory, 145, 196–211. Liao, Y. S., Chen, S. T., & Lin, C. S. (2005). Development of a high precision tabletop versatile CNC wire-EDM for making intricate micro parts. Journal of Micromechanics and Microengineering, 15, 245–253. © Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1

133

134

Suggested Readings

Maeda, Y., & Ohno, K. (2003). A new method for constructing multidimensional potential energy surfaces by a polar coordinate interpolation technique. Chemical Physics Letters, 381, 177–186. Qiu, H., Cheng, K., & Li, Y. (1997). Optimal circular arc interpolation for NC tool path generation in curve contour manufacturing. Computer-Aided Design, 29, 751–760. Qiu, H., Cheng, K., Li, Y. B., Li, Y., & Wang, J. (2000). An approach to form deviation evaluation for CMM measurement of 2D curve contours. International Journal of Machine Tools and Manufacturing Technology, 41, 119–126. Raghuraman, S., Thiruppathi, K., Panneerselvam, T., & Santosh, S. (2013). Optimization of EDM parameters using Taguchi method and grey relational analysis for mild steel IS 2026. International Journal of Innovative Research in Science, Engineering and Technology, 2(7), 3095–3104. Saha, S. K., & Choudhury, S. K. (2009). Experimental investigation and empirical modeling of the dry electric discharge machining process. International Journal of Machine Tools and Manufacture, 49(3–4), 297–308. Sohani, M. S., Gaitonde, V. N., Siddeswarappa, B., & Deshpande, A. S. (2009). Investigations into the effect of tool shapes with size factor consideration in sink electrical discharge machining (EDM) process. International Journal of Advanced Manufacturing Technology, 1–15. Tsai, M. S., Nien, H. W., & Yau, H. T. (2010). Development of a real-time look-ahead interpolation methodology with spline-fitting technique for high-speed machining. The International Journal of Advanced Manufacturing Technology, 47, 621–638. Vikas Roy, A. K., & Kumar, K. (2013). Effect and optimization of machine process parameters on material removal rate in EDM for EN41 material using Taguchi. International Journal of Mechanical Engineering and Computer Applications, 1(5), 35–39. Yan, B. H., Tsai, H. C., Huang, F. Y., & Lee, L. C. (2005). Examination of wire electrical discharge machining of Al2O3p/6061Al composites. International Journal of Machine Tools & Manufacture, 45, 251–259. Yan, M. T. (2010). An adaptive control system with self-organizing fuzzy sliding mode control strategy for micro wire-EDM machines. International Journal of Advanced Manufacturing Technology, 50, 315–328. Yang, M. Y., & Hong, W. P. (2001). A PC–NC milling machine with new simultaneous 3-axis control algorithm. International Journal of Machine Tools and Manufacturing Technology, 41, 555–566. Yoo, H. K., Kwon, W. T., & Kang, S. (2014). Development of a new electrode for micro-electrical discharge machining (EDM) using Ti (C, N)-based cermet. International Journal of Precion Engineering and Manufacturing, 15(4), 609–616. Younis, M. A., Abbas, M. S., Gouda, M. A., Mahmoud, F. H., & Allah, S. A. A. (2015). Effect of electrode material on electrical discharge machining of tool steel surface. Ain Shams Engineering Journal, 6(3), 977–986. https://doi.org/10.1016/j.asej.2015.02.001. Zhang, Y., Bai, X.-L., Xu, X., & Liu, Y.-X. (2012). STEP-NC based high-level machining simulations integrated with CAD/CAPP/CAM. International Journal of Automation and Computing, 9(5), 506–517. https://doi.org/10.1007/s11633-012-0674-9. Zhou, M., & Han, F. (2009). Adaptive control for EDM process with a self-tuning regulator. International Journal of Machine Tools and Manufacture, 49(6), 462–469. Zivanovic, S., & Puzovic, R. (2015). Off-line programming and simulation for 2-axis wire EDM. FME Transactions, 43(2), 138–143. https://doi.org/10.5937/fmet1502138Z.

Index

A Absolute system, 10

B Block, 4–10, 74, 76, 77, 79, 81, 82, 86, 91–94, 116, 119, 129, 131 Boring operation, 49–51

C Canned cycle, 91, 94–101, 127, 128 Canned cycle formats, 101 Character, 5–7, 9, 129, 131 Circular interpolation, 6, 32–35, 40, 49, 58, 85, 113, 119 Circular pocket milling, 35–37, 40 Computer-assisted part programming, 4 Contour turning operation, 26–29 Co-ordinates system, 12 Coordinates (X, Y And Z-words), 6, 31

D Do loop cycle, 103–106, 109 Drilling and milling operation, 55, 60 Drilling canned cycle, 94–99, 101 Drilling canned cycle with tool length, 97– 99, 101 Drilling operation, 43–48, 55, 57–59, 95, 104, 108–110, 112

E End face peck drilling cycle, 94, 101 Equally spaced grooves operation, 106, 108

F Facing operation, 15–17, 29 Feed function (F-word), 6 Five axis CNC machines, 61, 63, 67 Fixed block format, 8

G Grooving operation, 23, 24, 106, 107

I Incremental system, 10, 11

M Machine zero, 11, 12, 24, 47, 49, 56, 74, 76, 77, 79, 81, 82, 86, 107, 120 Manual part programming, 3, 4 Methods of part programming, 3, 12 Milling machining, 35, 37 Miscellaneous function (M-word), 6, 7, 10 Multiple facing cycle, 92, 93, 101 Multiple machining in an arc, 67–69 Multiple machining process, 61, 62, 66, 67, 69 Multiple turning cycle, 91, 101

N Non-conventional machining, 83

P Part programming structure, 5, 12 Peck drilling operation, 46–48 Point to point drilling operation, 44, 45, 48

© Springer Nature Switzerland AG 2020 K. Kumar et al., CNC Programming for Machining, Materials Forming, Machining and Tribology, https://doi.org/10.1007/978-3-030-41279-1

135

136 Polar coordinates, 113–117, 119 Polygon cycle EDM, 87 Preparatory function (G-words), 6, 9 Profile making operation, 113 Profile milling, 31–34, 36 Programming formats, 8, 12

R Rectangular pocket milling, 37–40, 98–101 Rectangular pocket milling canned cycle, 98 Reference points, 10, 11, 12, 22, 58, 122

S Sequence number, 8 Spherical cycle EDM, 80, 87 Spiral making operation, 117 Square recess, 111, 112 Standard codes, 9, 12 Step turning operation, 18–21, 29 Straight line multiple machining, 62, 64, 69 Straight turning operation, 17–19, 29 Subroutine, 32, 34, 109–112, 120, 127, 128 Surface milling, 38–41

Index T Tab sequential format, 8, 9 Tapered polygon cycle EDM, 87 Tapered vector cycle EDM, 75 Taper turning operation, 20–22, 29 Threading operation, 24–26, 29 Tool selection function (T-word), 7

V Vector circular orbit EDM, 76 Vector cycle EDM, 75, 87

W Wire cutting EDM machine, 85, 87 Wire electrical discharge machining, 73, 83–85, 87 Word, 5–9, 11 Word address format, 9 Work zero, 11

Z Zero shift, 11, 12