
Computer Numerical Control (CNC) retains the fundamental concepts of NC but utilizes a dedicated stored-program computer within the machine control unit. CNC is mostly the result of technological progress in microelectronics (the miniaturization of electronic components and circuitry), rather than any radical departure in the concept of CNC.
CNC attempts to accomplish as many of the MCU functions as possible within the computer software which is programmed into the electronic control unit.
Updates and upgrades are relatively simple. In many cases, it is only the stored operating program that needs, be modified. The chief operating program is stored within the CNC control unit a first memory chip. Any updates in the.Control system can be accomplished by replacing the chip with one containing the updated software.
The memory chip removed then be re-programmed with the current operating program. Any circuit modifications can be carried out with ease by merely replacing, or adding, components housed on a printed circuit board (PCB).
Indeed’, many modern electronic systems (from simple TV sets to sophisticated computer systems) are increasingly being constructed on a plug-in basis of electronic cards.
Modern CNC machines are thus tools with both current and future value. Obsolescence is, as far as possible, designed out.CNC control units, like the computers on which they are based, operate according to a stored program held in computer memory.
This means that part programs are now able to become resident within the memory of the control unit, before their execution. No longer the machines have to operate on the “read-block/execute-block” principle.
This eliminates the dependency on slow, and often unreliable, tapes and tape reading devices— probably the weakest link in the chain.
Programs can, of course, still be loaded into the CNC machine via punched tape, but only one pass is necessary to read the complete part program into the memory of the control unit.
CNC Machine Tools

Many CNC machine tools still retain many of the constructional and physical design aspects of their NC counterparts. However, many new control features are made available on CNC machines, which were impossible, uneconomical or impractical to implement on new NC machines. Such new features include:
Stored Programs Part programs may be stored in the memory of the device. The CNC can then operate directly from this memory, over and over again. Use of the tape reader (and its unreliability) is virtually eliminated. For large production runs the part program may be retained in memory, even when the power is removed (say at the end of a shift or a weekend), by the use of battery back-up facilities that keep only the memory supplied with power.
Often, more than one program may be resident in the control unit memory at one time with the ability to switch between them.
- Editing Facilities Editing can be carried out on the part program held in memory. Thus, errors, updates, and improvements can be attended to at the machine. Such edits are stored in computer memory and override the tape information as read in. A new, and corrected, the tape may then be punched directly from the CNC control unit. This ensures that the most up-to-date version of the part program is retained as.cutrent.
- Stored Patterns Common routines such as holes on a pitch circle, pocketing sequences, drilling and tapping cycles can be built in and retrieved many times. There is a facility for user-defined chains (such as roughing cycles, start-up routines, etc.) to be stored and retrieved in the same way. Only specific parameters have to be specified, and the computer control will carry out the necessary calculations and subsequent actions.
- Sub-programs for repetitive machining sequences, subprograms may be defined once and then be repeatedly called and executed as required. This considerably shortens part programs by eliminating the need to repeat sections of the same program code. For example, it may be necessary to machine the same set of holes but at a different position within the workpiece.
- Enhanced Cutter Compensation When a part program is written, it is usually done with a particular type and size of the cutter in mind. The positioning of the cutter relative to the workpiece will need to take account of the dimensions of the cutter. It may be the case that, when the part program comes to be run on the machine, the particular cutter specified is not available.
- CNC control units allow “compensations” and “offsets” to be made for the differences in dimensions between the actual cutter and the specified cutter. Thus, the part program i\now independent of the cutter defined when writing the program. This facility can also be brought into play in the case of tool breakage during the machining cycle, where different cutters may have to be reloaded to continue the machining sequence.
- Optimized Machining Conditions The swift response of computer technology, coupled with sophisticated calculation ability, enables machining conditions to be monitored continuously by the control unit.
- Spindle speed on a CNC lathe, for example, can be perfectly matched (and adjusted automatically) as the depth of cut varies. It is common to witness the spindle speed increase when a facing cut is taken from the outside diameter of a bar to its center. Feed rate can be optimized by monitoring the power consumed.
- Communications Facilities The utilization of computer technology within the CNC control unit offers the advantage of being able to communicate with other computer-based systems. Part programs may thus be downloaded from other host computers. Such host computers may be simple databases of different part programs or sophisticated computer-aided design systems.
- Diagnostics Most modern CNC machines come equipped with comprehensive diagnostic software for the self-checking of its automatic operation. For example, there might be a diagnostic routine to check the process of memory chips. It would write a known test pattern into memory and then read it out again, checking it for validity. Any discrepancy could indicate a memory fault.