The abbreviation CNC stands for computer numerical control, and refers specifically to a computer "controller" that reads G-code instructions and drives the machine tool, a powered mechanical device typically used to fabricate metal components by the selective removal of metal. CNC does numerically directed interpolation of a cutting tool in the work envelope of a machine.

CNC was developed in the late 1940s and early 1950s by John T. Parsons in collaboration with the MIT Servomechanisms Laboratory. CNC was preceded by NC (Numerically Controlled) machines, which were hard wired to produce one specific part. The first CNC systems used NC style hardware, and the computer was used for the tool compensation calculations and sometimes for editing.
Punched tape continued to be used as a medium for transferring G-codes into the controller for many decades after 1950, until it was eventually superseded by RS232 cables, floppy disks, and finally standard computer network cables. The files containing the G-codes to be interpreted by the controller are usually saved under the .NC extension. Most shops have their own saving format that matches their ISO certification requirements.
The introduction of CNC machines radically changed the manufacturing industry. Curves are as easy to cut as straight lines, complex 3-D structures are relatively easy to produce, and the number of machining steps that required human action have been dramatically reduced.
With the increased automation of manufacturing processes with CNC machining, considerable improvements in consistency and quality have been achieved. CNC automation reduced the frequency of errors and provided CNC operators with time to perform additional tasks. CNC automation also allows for more flexibility in the way parts are held in the manufacturing process and the time required to change the machine to produce different components.
In a production environment, a series of CNC machines may be combined into one station, commonly called a "cell", to progressively machine a part requiring several operations. CNC machines today are controlled directly from files created by CAM software packages, so that a part or assembly can go directly from design to manufacturing without the need of producing a drafted paper drawing of the manufactured component. In a sense, the CNC machines represent a special segment of industrial robot systems, as they are programmable to perform many kinds of machining operations (within their designed physical limits, like other robotic systems). CNC machines can run over night and over weekends without operator intervention. Error detection features have been developed, giving CNC machines the ability to call the operator's mobile phone if it detects that a tool has broken. While the machine is awaiting replacement on the tool, it would run other parts it is already loaded with up to that tool and wait for the operator. The ever changing intelligence of CNC controllers has dramatically increased job shop cell production. Some machines might even make 1000 parts on a weekend with no operator, checking each part with lasers and sensors.
Types of instruction
A line in a G-code file can instruct the machine tool to do one of several things.
Movements
The most basic motion for a controller is to move the machine tool along a linear path from one point to another.[1] Some machine tools can only do this in XY, and have to accept changes in Z separately. Some have two further axes of rotation to control the orientation of the cutter, and can move them simultaneously with the XYZ motion. Lately 4, and 5 axis machines have become popular. The 2 additional axies allow for the work surface or medium to be rotated around X and Y. For example, a 4-axis machine can move the tool head in XY and Z directions, and also rotate the medium around the X or Y axis, similar to a lathe.
All motions can be built from linear motions if they are short and there are enough of them. But most controllers can interpolate horizontal circular arcs in XY. See CNC circular arc motions for further details.
Lately, some controllers have implemented the ability to follow an arbitrary (NURBS) curve, but these efforts have been met with skepticism since, unlike circular arcs, their definitions are not natural and are too complicated to set up by hand, and CAM software can already generate any motion using many short linear segments.
Tool changes
Originally there would be a G-code instruction telling the machine tool to stop so that a human operator could remove the cutting tool from the chuck and insert a new one. Modern machine tools have a magazine of different tools which they can change themselves pneumatically, hydraulically, and electromechanically.
There are related instructions such as setting the spindle speed, and turning on or off the coolant.
Drilling
A tool can be used to drill holes by pecking to let the swarf out. Using a special tapping tool and the ability to control the exact rotational position of the tool with the depth of cut, it can be used to cut screw threads.
Drilling cycles
A drilling cycle is used to repeat drilling or tapping operations on a workpiece. The drilling cycle accepts a list of parameters about the operation, such as depth and feed rate. To begin drilling any number of holes to the specifications configured in the cycle, the only input required is a set of coordinates for hole ___location. The cycle takes care of depth, feed rate, retraction, and other parameters that appear in more complex cycles. After the holes are completed, the machine is given another command to cancel the cycle, and resumes operation.
Parametric programming
A more recent advancement in CNC interpreters is support of logical commands, known as parametric programming. Parametric programs incorporate both G-code and these logical constructs to create a programming language and syntax similar to BASIC. Various manufacturers refer to parametric programming in brand-specific ways. For instance, Haas refers to parametric programs as macros. The programmer can make if/then/else statements, loops, subprogram calls, perform various arithmetic, and manipulate variables to create a large degree of freedom within one program. An entire product line of different sizes can be programmed using logic and simple math to create and scale an entire range of parts, or create a stock part that can be scaled to any size a customer demands.
Parametric programming also enables custom machining cycles, such as fixture creation and bolt circles. If a user wishes to create additional fixture locations on a work holding device, the machine can be manually guided to the new ___location and the fixture subroutine called. The machine will then drill and form the patterns required to mount additional vices or clamps at that ___location. Parametric prog are also used to shorten long programs with incremental or stepped passes. A loop can be created with variables for step values and other parameters, and in doing so remove a large amount of repetition in the program body.
Because of these features, a parametric program is more efficient than using CAD/CAM software for large part runs. The brevity of the program allows the CNC programmer to rapidly make performance adjustments to looped commands, and tailor the program to the machine it is running on. Tool wear, breakage, and other system parameters can be accessed and changed directly in the program, allowing extensions and modifications to the functionality of a machine beyond what a manufacturer envisioned.
Tools with CNC variants
See also
- Computer-aided design (CAD)
- Computer-aided engineering (CAE)
- Computer-aided manufacturing (CAM)
- G-code
- Numerical control
- Machine tool
- Tooling University (offers online CNC training classes)
- Coordinate-measuring machine (CMM)
- Robert C. Byrd Institute CNC training and education.
External links
- Fundamentals Of CNC
- Introduction to CNC Metal Spinning Techniques
- Flow Forming and Shear Forming w/ CNC
- The Enhanced Machine Controller, opensource CNC control software
Footnotes
- ^ From Mr. Steven Watterson, a teacher of the PLTW class at a career center. The ___location of this career center was not mentioned by the contributing editor.