Introduction to
Numerical Control (NC)
Machines
[Link]
Assistant Professor
Department of Mechanical Engineering
School of Mechanical Sciences
BSAU, Chennai - 48
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Conventional Lathe machine
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Conventional Milling machine
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Numerical Control machine
Programmable automation in which the mechanical actions of a
‘machine tool’ are controlled by a program containing coded
alphanumeric data that represents relative positions between a
cutting tool and a work part.
Program Machine
Instructions Control Unit
Transformation
Process
Power
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Difference between
Conventional m/c & NC m/c
Conventional NC
Item
machine machine
1. Movement Acme screw Ball screw
2. Feed manual motor
[Link] manual Linear scale
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Control System
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Open and Closed loop
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Direct Numerical Control
Direct numerical control (DNC) – control
of multiple machine tools by a single
(mainframe) computer through direct
connection and in real time
– 1960s technology
– Two way communication
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
DNC – contd.,
Central
Computer NC Prgrm
Computer Network
Machine Machine Machine
Control Unit Control Unit Control Unit
1 2 3
Transformation
Process
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Computer Numerical
Control (CNC) Machines
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Basic CNC Principle
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Photography of CNC turner
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Photography of CNC miller
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Motion Control methods
Point-to-Point systems
Also called position systems
System moves to a location and performs an
operation at that location (e.g., drilling)
Also applicable in robotics
Continuous path systems
Also called contouring systems in machining
System performs an operation during movement
(e.g., milling and turning)
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Interpolation methods
1. Linear interpolation
– Straight line between two points in
space
2. Circular interpolation
– Circular arc defined by starting point,
end point, center or radius, and
direction
3. Helical interpolation
– Circular plus linear motion
4. Parabolic and cubic interpolation
– Free form curves using higher order
equations
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Absolute vs. Incremental Positioning
Absolute positioning
Move is: x = 40, y = 50
Incremental positioning
Move is: x = 20, y = 30
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Coordinate Systems
For flat and prismatic (block-like) parts:
Milling and drilling operations
Conventional Cartesian coordinate system
Rotational axis about each linear axis
For rotational parts:
Turning operations
Only x- and z-axis
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Axes on Lathe machine tool
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Contd.,
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Axes on Milling machine tool
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Contd.,
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Classifications
Based on Machine centre:
Turn mill centre / Vertical mill centre
Based on Motion Type:
Point-to-Point / Continuous path
Based on Control Loops:
Open loop / Closed loop
Based on Input power:
Electric / Hydraulic / Pneumatic
Based on Positioning System
Incremental / Absolute
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Constructional features of CNC
The tool / work part (table) moves
Tools can operate in 1-5 axes
Larger machines have a machine control unit (MCU)
which manages operations
Movement is controlled by servo motors (actuators)
Feedback is provided by sensors (transducers)
Tool magazines are used to change the tools
automatically
Relative movement of the tool with respect to
workpiece or vice versa can be guided and
controlled by a Part program
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Feed control system
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Machine Control Unit
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Components and its Functions
On board computer
Feed drive
Measuring system
Work spindle / Work table
Cooling system
Tool magazine (Turret)
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
On board computer
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Feed drive
T a b le
L e a d s c re w
E ncoder A /C M o to r
~
S e r v o C o n t r o lle r
C o u n te r C o m p a ra to r
I n p u t ( c o n v e r t e d f r o m a n a lo g t o d ig it a l v a lu e )
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Recirculating ball mechanism
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Measuring System
Direct Position measuring
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Contd.,
Indirect Position measuring
Rotary encoder
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Work Spindle
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Work table
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Cooling System
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Tool Magazine
Single Turret
Chain Turret
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
CNC Part Programming
Part program is a sequential set of
instructions
Storage of more than one part program
Various forms of program input
Program editing at the machine tool (on
board computer )
Fixed cycles and programming subroutines
Communications interface
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Benefits of CNC
Cycle time reduction
Nonproductive time reduction
Greater accuracy and repeatation
Lower scrap rates
Reduced parts inventory and floor
space
Operator skill-level reduced
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Limitations of CNC
High machine cost
Complicated maintenance
Skill & training are required for
programming and maintenance
High tooling cost
Temperature, humidity & dust must be
controlled
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
CNC Application Characteristics
Batch and High Volume production
Repeat and/or Repetitive orders
Geometry and dimensional accuracy
Good surface finish
Complex part geometries
Many separate operations on one part
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Applications of CNC
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
CNC PART
PROGRAMMING
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Introduction
Part Programme is a set of instructions which
instructs the machine tool about the processing
steps to be performed for the manufacturing a
component
Part programme is an important part of the CNC
system
The shape of manufactured components will
depends on how correctly the programme has
been prepared
The part programme is transferred to as one of
the input medium which instruct the CNC
machine
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Types of programming
NC coding
Manual part programming
Automatic Part Programming
Languages:
– APT
– UNIAPT
– COMPACT II
– FORTRAN
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Manual Part Programming
Binary code decimal system (BCDS)
Bit - 0 or 1 => absence or presence of hole in
the tape which is in MCU
Character - row of bits across the tape
(smallest unit / digit)
Word - sequence of characters (combination
of alpha-numerical characters)
Block - collection of words to form one
complete instruction (logical order of processing)
Part program - sequence of instructions
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Block Format
The organization of words within a block in NC part
program
Word address format - used on all modern CNC
controllers
– Uses a letter prefix to identify each type of word
– Spaces to separate words within the block
– Allows any order of words in a block
– Words can be omitted if their values do not
change from the previous block
– A new blocks can be inserted between two
existing blocks
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Example Format
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Instruction Codes
A part program consists the following words:
N, G, X, Y, Z, I, J, K, F, S, T, R, M
N - sequence number prefix (to identify the block)
G - preparatory functions (to prepare the controller)
– Example: G00 - rapid transverse move
X, Y, Z - prefixes for x, y, and z-axes (position & motion )
I, J, K – Interpolation parameters
F - feed rate (to specify the feed)
S - spindle speed (to specify the seed)
T - tool selection (for ATC only)
R – arc radius (to specify the tool radius in drill cycles)
M - miscellaneous functions (to specify auxiliary functions)
– Example: M08 = turn cutting fluid on
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Elements of Part program
Preparatory functions: which unit, which interpolator,
absolute or incremental programming, which circular
interpolation plane, cutter compensation, etc.,
Coordinates: 3 translational and 3 rotational axis
Machining parameters: feed, and speed
Tool control: next tool number, tool change
Cycle functions: canned cycle, drill cycle, ream
cycle, bore cycle, mill cycle
Miscellaneous functions: coolant on/off, spindle
on/off, programme rewind, spindle rotation direction,
etc.,
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
G-Codes
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
M-Codes
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Machine and Tool offset
Difficult to place a vise in the exact same position on the
machine each time
The distance from home to the WCS is usually not
known until the vise is set and aligned with the machine
Different tools extend out from the machine spindle with
different lengths
If the tool wears or breaks, tool must be replaced, it is
almost impossible to set it the exact length out of the
tool holder each time
Therefore, there must be some way to relate the (MCS)
machine coordinate system to the WCS and take into
account varying tool lengths
This is done using reference points
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Reference Points
Machine Origin
The machine origin is a fixed point set by the
machine tool builder
Usually it cannot be changed
Any tool movement is measured from this point
The controller always remembers tool distance
from the machine origin
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Contd.,
Program Origin
It is also called home position of the tool
Program origin is point from where the tool starts
for its motion while executing a program and
returns back at the end of the cycle
This can be any point within the workspace of the
tool which is sufficiently away from the part
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Contd.,
Part Origin
The part origin can be set at any point inside the
machine's electronic grid system
Establishing the part origin is also known as zero
shift, work shift, floating zero or datum
Usually part origin needs to be defined for each
new setup
Zero shifting allows the relocation of the part
Sometimes the part accuracy is affected by the
location of the part origin
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Contd.,
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Contd.,
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Tool Pre-
Pre-setter
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Structure of program
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Exercise: 1 (Drilling)
Write a CNC part program to drill two
holes of diameter 10 mm in a 5mm thick
30 mm
mild steel plate as shown in fig.
30 mm
(Diagram not to scale)
90 mm
30 mm
30 mm
90 mm
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Location of Reference point
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Process plan
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Part Program
Block 1: O0001;
Block 2: N01 G17 G21 G80 G90 G94;
Block 3: N02 G00 X0, Y0, Z10;
Block 4: N03 X30, Y30;
Block 5: N04 G01 X70 Y30 S800 M03;
Block 6: N05 Z-7 F0.3 M08;
Block 7: N06 Z2;
Block 8: N07 G00 Y60;
Block 9: N08 G01 Z-7 F0.3;
Block 10: N09 Z2;
Block 11: N10 G00 X0 Y0 Z10 M05 M09;
Block 12: N10 M02;
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Canned Cycle
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Cutter Offset
Cutter path must be
offset from actual part
outline by a distance
equal to the cutter
radius
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Write the part program for drilling holes in the mild steel plate of
thickness 20 mm as shown in figure 1 (diagram not to scale) and
assume the parameters such as speed, feed, depth of cut etc.
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Exercise 2
Write an efficient CNC part
program to drill 35 holes of
diameter of 0.5 inch each
in a machine component as
shown in the figure.
The raw material to be
employed is mild steel plate
of 0.4 inch thickness.
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Part Program
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Explanation
Block 1:
It indicates the start of the program.
Block 2:
It specifies the program number and ID. It is usually a alpha-numerical
code and always start with an alphabet ‘O’.
Block 3:
It sets the entry of dimensional units in Imperial format.
Block 4:
G17: It selects the plane of operation as X-Y plane
G40, G80, G49 are used to cancel all usual cycle that might have left in
on-mode during the execution of last CNC code.
G90 selects the method of specifying dimensions between features as
‘absolute’.
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Contd.,
Block 5:
It sets the program zero on the work part.
There are three major environments in programming that require an
established mathematical relationship.
Machine: machine tool and control system
Part: Workpiece + Drawing + material
Tool: Holder + Cutting tool
The location coordinates of the program zero with respect to the
machine reference zero must be communicated with the MCU so that
the MCU will convert the part program in to required signals to control
the machine tool.
This can be achieved by using a Preparatory code ‘G92'. The syntax of
G92 is as follows:
G92 X… Y… Z…
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Contd.,
Block 6:
Replace the existing cutting tool with tool number 1.
Block 7:
Rapid travel of tool from home position to a reference position:
hole with coordinates X1.7 Y2.4.
Switch on the spindle rotation with speed of about 900 rpm.
Block 8:
Approach to a safe position at Z = 1.0 rapidly. Meanwhile the
tool length compensation is activated by using G43. It is used to
communicate the length of tool registered in register number
H01 to the MCU. Switch on the coolant flow.
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Contd.,
Block 9:
In the given task, number of holes is to be drilled.
For this purpose a special function or cycle is used. It is called
as drilling canned cycle.
Its syntax and meaning are shown below.
The number of motions/action elements of drilling operations is
specified only at once.
Later only the locations of holes to be drilled are given to the
MCU.
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Contd.,
Block 10:
It suggests the distance of next location of the hole. It is
also suggested to carry out the same drilling operation 6
times along the Y-axis with an increment of 2.1.
Block 11:
Drill the hole at increment of 1.8 along X-direction.
Block 12:
Carry out the drilling operation 6 times along the Y-axis
with decrement of 2.1.
Block 13:
Drill the hole at increment of 1.8 along X-direction.
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Contd.,
Block 14:
Carry out the drilling operation 6 times along the Y-axis with increment
of 2.1.
Block 15:
Drill the hole at increment of 1.8 along X-direction.
Block 16:
Carry out the drilling operation 6 times along the Y-axis with decrement
of 2.1.
Block 17:
Drill the hole at increment of 1.8 along X-direction.
Block 18:
Carry out the drilling operation 6 times along the Y-axis with increment
of 2.1.
Block 19:
Cancel the canned cycle and switch off the coolant flow.
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Contd.,
Block 20:
Stop the spindle and go to safe position along Z
direction at 0.0.
Block 21:
Go to home position via X= 0 and Y=0.
Block 22:
Stop the program from execution.
Block 23:
End the program.
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Exercise 3 (Turning)
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Part program
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
Automatic part programming
Define
Tool
CNC
data
Make 3D model
Simulate
cutting
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48
*** All the best ***
[Link], Assistant Professor, Department of Mechanical Engineering, BSACIST, Chennai - 48