What is Numerical Control

What is Numerical Control

What is Numerical Control

Numerical control allows machines to produce parts with high accuracy, and good surface finishes, with less human intervention, and lower processing time.

But operating and maintaining a numerical control system requires skilled operators who have experience programming the NC machine tools.

Numerical control (NC), commonly known as computer numerical control (CNC), is a technology that allows the automation of machine tools. It uses programmable machine controller units and software to efficiently produce parts with high precision and speed.

This article discusses numerical control in detail by looking at its basic working principles, components, applications, and more.

MellowPine is reader-supported. When you buy through links on my site, I may earn an affiliate commission at no extra cost to you.

What is Numerical Control?

In manufacturing, the designs developed using CAD (Computer-Aided Design) operation need to be converted to a format that machines can understand.

Here's where Numerical Control (NC) comes in. NC is the bridge that connects CAD and manufacturing.

In NC, the geometrical data from the design is extracted and converted to an alphanumerical code (it also uses symbols).

Generally, a CAM (Computer-Aided Manufacturing) software is used to analyze the design and generate such alphanumerical codes.

Sometimes manual coding is also employed to optimize the manufacturing process.

The code below is an example of a program used for controlling CNC machines.

N15 G50 G10
N20 M06 T4
N25 M03 S1450
N30 G00 X1 Y0
N35 Z0.1
N45 G01 Z-0.125 F10
N50 X3 Y2 F15
N55 G02 Z1
N60 X0 Y1
N65 M03
N70 M30

An NC code contains sequential commands of cutter location data (CLData). Programmable machines use this data to adjust their cutting tool and workbed.

Numerical control is the automation of a machine's mechanical movement to effectively remove (in subtractive manufacturing) or add (in additive manufacturing) material to make a product.

Components of a Numerical Control System

Basic components of a numerical control system

The components in a basic numerical control system are the instruction program, the machine control unit, and the machine.

The instruction program or part program has all the necessary commands needed to control the cutting tool in the machine.

For example, it has commands to control the spindle speed, transmission rate, power, etc.

The machine control unit reads the instruction program and sends necessary electrical signals to the machine.

Upon receiving the signals, the programable machine performs mechanical movements with the help of actuation devices.

Numerical Control Coordinate System

Numerical control coordinate system used for rectangular (left) and cylindrical (right) workpieces.

In multiaxis machining, the NC program code uses the Cartesian coordinate system to command the machine's motion on different axes.

Generally, the axis systems used for flat and rotational workpieces are different.

Depending on the machine's configuration, it can be two axes, three axes, or more.

Total AxesNo. of Linear AxesNo. of Rotational AxesMachine Examples
22 (X, Y)0Lathe, Punch Press, Laser, Plasma
33 (X, Y, Z)0Routers, Mills, Drills
43 (X, Y, Z)1 (A)Lathe with milling attachments
53 (X, Y, Z)2 (A, B)Industrial Mills

Axes and machine examples

Considering the axes of a machine is critical in NC programming as it defines the position of the tool head relative to the workpiece.

Computer Numerical Control

NC and CNC, What's the Difference?

(left) Punch tape used on a machine, (right) A microcontroller used on CNC machines

Before introducing Microcontroller Units (MCUs) in programmable manufacturing machines, they used hardwired control units that work using combinational logic.

On such programmable machines, punch tapes were used to feed the program data required for its operation. These machines were called numerical control machines (NC machines).

Later, when industries started using microcontrollers (micro-computer) on manufacturing machines, numerical control came to be known as Computer Numerical Control (CNC) and such machines as CNC machines.

On these computer-controlled machines, binary cutter location data are fed using part programs like G-codes, NC codes, and M-codes.

Components of a CNC

Components of a CNC system

The machine control unit of a CNC machine consists of a CPU, memory, input/output interface, basic controls, and sequence controls.


Central Processing Unit (CPU) is the brain of a machine control unit, and all process execution happens here.

It will have a control section, Arithmetic Logic Unit (ALU), and immediate access memory.


The immediate access memory refers to the primary storage i.e. ROM (Read-only Memory) and RAM (Random Access Memory).

Sometimes machines can also have secondary storage devices to store files. These files can be later sent to the main memory for processing.

With this additional memory, storage of multiple part programs is possible in CNC unlike in NC.

I/O Interface

The input/output (I/O) interface on the machine control unit connects and communicates with different external and internal components of a CNC machine system.

For example, an external computer, stepper motor, spindle, water pump, air pump, etc.


Controls can be software-based or hardware-based. It includes controls like program run, stop, jog, spindle speed, power, coolant on/off, exhaust, etc.

Open Loop and Closed Loop Control System

The drive mechanisms used on a numerical control system can have an open or closed-loop configuration.

Open-loop systems are used in CNC machines that perform basic operations which require a simple actuating mechanism.

Closed-loop systems are used on machines that perform complex tasks. It uses an analog or digital feedback mechanism to detect and correct errors (missteps or stalls).

With the feedback data fed to the controller, a closed-loop numerical control system allow the machine to work with high accuracy and repeatability.

Direct Numerical Control

Direct/Distributed Numerical Control (DNC) is the networking and controlling of multiple CNC machines using a mainframe computer.

DNC eliminates the requirement of spacious memories built-in on CNC machines as the programs can be sent from a unified control center.

The program files used for machining complex parts are memory intensive, and providing each machine with separate inputs won't be an efficient option. In such a case, DNC is very helpful.

Also, in a DNC network, machine feedback is processed almost in real-time. This helps effectively monitor the machines and detect errors.

Switching networks and Local Area Networks (LAN) are the two prominent DNC networking configurations.

Different DNC networks

In a switching network, data switching boxes are used as interlinks between the CNC machines and the master computer.

In LAN, the mainframe DNC computer is linked to multiple branch computers that are connected to different CNC machines.

Wireless DNC is becoming more prominent than hard-wired versions as it eliminates complex wirings and related networking issues.

Input Data for a CNC Machine

A set of information is fed to CNC machines for their operation through part programs and manual inputs.

It includes preparatory data, coordinates, tool data, machining parameters, attachment controls, and other miscellaneous controls.

Information TypeInformation Fed
Preparatory dataWork units, Zero point, Target point, workpiece probing, etc.
CoordinatesX, Y, Z, RX, RY, RZ
Tool datatool diameter, length, type
Machining parametersSpeed, feed, power
Attachment controlsOn/off command for coolant, air assist, etc.
Miscellaneous controlsTurning on and off of spindle, rotation direction, etc.

Information fed to CNC machines

Applications of Numerical Control

Some parts machined using a CNC

Numerical control is used mainly in machine tool control for manufacturing applications.

It is used to operate CNC machines like lathes, vertical machining centers (VMCs), mills, automatic tool changers, routers, drills, grinders, CNC plasma cutters, electric discharge machines (EDMs), water-jet cutters, laser cutters, 3D printers, coordinate measuring machine, etc.

Some of the non-machine tool applications of numerical control are home automation, robotics, and other computer-aided engineering technologies.

Frequently Asked Questions

What software is used to generate program codes for CNC?

To generate program codes for CNC, CAM software is used. Some popular CAM software programs are CamBam, MeshCAM, EstlCAM, OpenBuilds CAM, and CamBam.

What is D in CNC programming?

D in CNC programming is a tool address character used to feed the tool diameter.

What is ATC in CNC?

ATC in CNC is short for Automatic Tool Changer. ATCs are automated and are used to swap the cutting tools used in CNC machines effectively. It is used when you part you are making requires multiple tool changes to obtain the final product. It greatly boosts the productivity of a CNC.

About John

Hey I'm John. I talk about CNCs and Power Tools at Mellowpine. I'm a CNC hobbyist who has been making CNCs and writing about CNCs for a while. I currently also work as a consultant for business owners and hobbyists setting up their own CNCs. If you have any questions related to CNC, I'd be happy to answer them. Reach me at john@mellowpine.com

DIY Profile

Hey I'm John. I talk about CNCs and Power Tools at Mellowpine. I'm a CNC hobbyist who has been making CNCs and writing about CNCs for a while. I currently also work as a consultant for business owners and hobbyists setting up their own CNCs. If you have any questions related to CNC, I'd be happy to answer them. Reach me at john@mellowpine.com

Thanks for signing up.
Some error occured. Please try again.


The comments are closed.