CNC PROGRAM AND PROGRAMMING OF CNC MACHINE

A programming to make parts are CNC Programming (Computer Numerical Control Programming) for machines. An NC program consists of a sequence of instructions that control the motion and automatic sequences of an NC Machine to perform a particular processing task. In a general sense, the term NC programming refers to the creation of control data for machining workpieces on NC and CNC machines. NC programming has a decisive influence on the cost-effectiveness and profitability of NC manufacturing. The selection of a programming system is mostly guided by the need for software that is suitable for the application at hand, readily available, and as universally applicable as possible.


INTRODUCTION
The art of programming CNC machines to make parts is often called CNC Programming (Computer Numerical Control Programming). An NC program consists of a sequence of instructions that control the motion and automatic sequences of an NC Machine. Numerical control (NC) enables an operator to communicate with machine tools through a series of numbers and symbols. [1] Figure 1 shows the basic structure of the NC program. The blocks describe the entire work process of the machine step by step. Each block corresponds to a line in the NC program and consists of one and more words. The words are composed of address letters and numerical value. The essential characteristic of an NC program is that it allows direct programming of dimensional data (dimension) and motion-related functions (G-functions). Another crucial aspect of an NC program is that it contains all dimensional data, switching information, and it is straightforward to modify or replace.
In a general sense, the term NC programming refers to the creation of control data for machining workpieces on NC and CNC machines. There are currently a variety of commercial programming solutions available, including automated NC programming. Solutions differ in efficiency, reliability, universality, and flexibility. Until now, it has not been possible to track universal solutions for NC machine programming. [2] The whole process of making a product is closely related to machine tools or manufacturing companies; that reliability is essential [3]. For machining time reduction, new technological methods of multi-axis milling and high-speed cutting are needed. This process has necessitated the evolution of new ways of NC programming to increase the speed of tool path calculation and accuracy. [4] The primary production modes of the machine tool users are the online production mode, and the multi-variety small batch production model is shown in Figure 2.

CNC PROGRAM
CAD system environment or standalone CAM software design a CNC program. In industry Nowadays, CAM (Computer-Aided Manufacturing) systems are used widely. CNC (Computer Numerical Control) machine tool programming uses this system. The CAD system creates a workpiece model first. Next, the process plan of manufacturing explaining how to machine the part and prepare to make a list of the tools and machine tools. The manufacturing engineer creates a program based on the process plan.
A change from purely hardware-based NC to a software-based system is the trend away from NC conventional to the computer control system. The patterns to automate CNC machine tool programming can be noticed. Two directions in the trends of automation are manufacturing feature recognition and the use of manufacturing knowledge. [5] Some advantages: for the user that uses a CNC system are : • Flexibility Increase • Lower of hardware circuits and simplification of the remaining hardware. • Greater accuracy.
• Improve a possibilities for fixing some errors in programming and smoother characteristic of the machine. • Elimination of geometric data conversion by post-process. • The possibility of using the peripheral of computer equipment for debugging the part-data tape. [6]

PROGRAMMING OF CNC MACHINE
Some manufacturers utilize a CNC programming (Computer Numerical Control Programming) to create program directions for computers to control a machine tool. CNC is highly involved in the manufacturing process and improves automation as well as flexibility. Programmers of CNC write instructions for CNC machines, where for a complete system, a computer is connected to the mill, with electrical drives and sensors. This computer will control the motion of the machine axis. There are some types of CNC Machine, such as : • 3-Axis Machining This type of CNC machine was used to make simple parts and to complex mold, aerospace, or medical components.

• 4-Axis Simultaneous
This type of machine is needed when part geometry wraps around a section, commonly used in aerospace and other industries.

• 5-Axis Machining
This type of machining is used by manufactures to make complex shapes, and small clearances are the norm, such as turbines, intake parts, impellers, and more • Mill-Turn And Lathe These machines are capable of cutting, drilling, carving out the shape, and turning a part, or that is required.
The term syntax refers to the formal rules that govern the structure of instructions in a particular programming language. The meaning of the words is not established by rules of syntax but by semantics. The combination of syntax and semantics determines the program structure, which consists of characters, words, and blocks, as well as the arrangement of these storage media. The present algorithms can be used to support the user by converting NC programs from one type to another. The main focus was on versatility and simple usage. [7] A programming system can use just a small number of geometric input data to determine the complete finished geometry and all the intersections, transitions, allowances chamfers, and curvatures. After that, the system generates the entire machining process, including cutting passes, tool selection, spindle speed, feed rate, and retrieval of compensation values. Figure 3 shows the principle of NC programming that all manufacturing documents and the NC program are created, checked, and saved using the computer. The programming system computer holds not only the programming software itself but also all the necessary files, the electronic counterparts of earlier card files-including the machine file, tool file, and fixture file. After programming has been completed and the machining operation has been simulated, all the production documents can be created as output for use in the shop. Figure 3 The principle of NC programming.
NC programmers must have required technical knowledge and can read technical drawings and determine the necessary machining method on the basis of these drawings, determine the necessary machining operations, and properly apply their technical knowledge of tools, materials, and cutting values.
The selection of a suitable programming system is already complicated by the fact that each brand offers special advantages in some areas while requiring small or large compromises in other areas. Therefore, the following factors should be examined first as the basis of decision making are a variety of workpieces, set of NC machine, planning statistics, and organizational issues.
Programming platforms are the softwarebased solutions that enable to develop CNC programs using the specific programming method approach shows in Figure 4. Most of CNC controllers allow users to run applications that are formulated as a collection of data blocks that illustrate tool paths and technological parameters. Programmers make these programs by using three approaches, known as direct programming, conversation programming, and CAM software. Direct programming concerns code developing, based on the manuals from producers of controllers. Conversational programming is based on the graphical interfaces, which allow building the technological operation efficiently and easily by using dialog windows describing programmed geometry of a part. CAM software frequently used to prepare a machining sequence using PC software and generate a program by the specified postprocessor. Therefore, direct programming should be analyzed separately for each controller, although there are many similarities. For instance, the standard cycles may be programmed differently depending on the format of block and parameters. [8] Figure 4 Interaction between programming means, programming principles, and programming methods in computer-aided programming.
Two types of programming modes used for CNC are the incremental system and the absolute system. Both systems have applications in CNC programming, and no system is either right or wrong all the time.

Incremental program locations are always
given as the distance and direction from the immediately preceding point. Command codes which tell the machine to move the table, spindle, and knee are explained using a vertical milling machine. 2. Absolute program locations are always given from a single fixed zero or origin. The zero or origin point may be a position on the machine table, such as the corner of the worktable or at any specific point on the workpiece. In absolute dimensioning and programming, each point or location on the workpiece is given as a certain distance from the zero or reference point.
The development of CNC systems has progressed as a result of the rapidly improving capabilities, coupled with falling prices, of small computers, a combination that makes the standard computer an attractive component of NC systems.
The problem using NC machines is that when the programmer makes a mistake in writing the part program, the piece will not be realized the way we want, but it will have a different shape or different features. But it could be more dangerous (and also expensive) because of the speed of the NC machine tool is higher than that of the traditional machine tool. Other problems using NC machines are how to choose the right depth or feed rate or how to choose the shape of the workpiece to minimize the material waste. As a rule, to solve these problems, some cutting tests are realized, but they are costly to be implemented since they are a waste of human resources, time, materials, and money. [9] Powerful programming system are indispensable when working with complicated workpieces shapes and surfaces; large, expensive, or complex machines; or expensive workpieces. The selection of a programming system is essentially guided by the need for software that is suitable for the application at hand, readily available, and as universally applicable as possible. The use of two or more programming systems can be quite practical and economical in some cases. The most important requirement is to be able to make optimal use of the productivity and flexibility of NC machines by means of trouble-free programming.

CONCLUSIONS
1. CNC program are composed according to certain rules and special instruction to control sequences of machining steps that used to manufacture some workpieces. 2. NC programming has a decisive influence on the cost-effectiveness and profitability of NC manufacturing. For this reason, the company must approach the selection of the programming system and the training of its personnel at least as carefully as it approaches machine procurement. 3. The selection of a programming system is mostly guided by the need for software that is suitable for the application at hand, readily available, and as universally applicable as possible. 4. The most important goal of NC programming is to create error-free programs that are immediately ready to run.