You are on page 1of 74

CNC

• CNC stands for Computer Numerical Control.

• It is a versatile system that allows you to control the


motion of tools and parts through computer programs
that use numeric data.

• CNC can be used with nearly any traditional machine.


    
• The most common CNC machines found in the
machine shop include machining centers (mills)
and turning centers (lathes).

• CNC finds applications in other processes such


as sheet metal working, non-traditional
machining and inspection. Robots and Rapid
Prototyping machines are also CNC controlled
CNC Vs Automates
• Automats and Special Purpose Machines (SPMs)
require special cams / templates and clutch
settings for each part. Manufacture of these cams /
templates is costly and slow. Furthermore,
changing over from one part to the other on these
machines also consumes considerable time. The
high cost and long time of these “hard automated”
machines to produce parts can be justified only in
mass production. These are avoided with CNC
Advantages of CNC

• Flexibility
• Accuracy
• Speed
• Simplified fixture and generic cutting
tools
• Storage of machining skill in NC
programs
• Less skilled operators will do
• Less fatigue to the operators
BASIC FLOW FOR CNC PREPARATION

Part Machine
Part drawing CNC
programming tool

Programming Operation
BASIC FUNCTIONAL BLOCKS OF A CNC MACHINE

Computer User
Axis servo Interface
controller
Numerical
(key board,monitor)
Control

Programmable
Machine
controller

Machine Tool
Servo Slide
Motor

Encoder
Turning center
• Turning center
A sophisticated CNC machine that specializes in
turning, boring, drilling, and threading
operations, all at the same location.

• Spindle
The part of the machine tool that spins. On the
machining center, the spindle holds a cutting
tool. On the turning center, the spindle holds
the work piece.
Turning center
• Turret
This holds the tools required for machining.

Usually on a turret in the rear, most lathes have 8


to 12 tools on a single, indexing turret.

Gang-type lathes have no turret, tools are mounted


on a cross-slide for short motions.
Turning center
Axis

This is the moving slide and a turning center


has a minimum of two axes.(named x and z).
controlled by the CNC.

The turret is mounted on the axes


in such a way that,The tool can be moved in
both directions.
Turning center

Z axis

X axis
z
Functions

 Auxiliary function ( M functions)


 Preparatory functions ( G functions)
 Spindle function
 Feed function
 Tool function
Auxiliary function
M codes
• M codes are used for doing auxiliary machine
functions.
• It is designated by M followed by No.

Example
M08 Coolant On
M06 Tool change
M00 Program Stop Temporary stop of program
M01 Optional Stop Temporary stop of program ( Optiontion Stop )
M02 Program end Program end and reset
M03 Spindle normal rotation Clockwise rotation of spindle
M04 Spindle reverse rotation Counter clockwise rotation of spindle
M05 Spindle Stop Spindle rotation stop
M06 Tool Change ATC Cycle start
M08 Coolant ON Coolant Discharge
M09 Coolant OFF Coolant shut
M22 Index Forward Turret index clockwise
M23 Index Reversed Turret index counter clockwise
M24 Chuck open Opening of chuck
M25 Chuck close Closing of chuck
M30 Program end and rewind Program end and reset/rewind
M98 Sub-program call Call of a sub-program from a main program
M99 Sub-program end Return from a sub-program to a main program
Preparatory function
(G-codes)

• G00 Positioning (Rapid Traverse)


• G01 linear interpolation(Cutting feed)
• G02 Circular interpolation (CW)
• G03 Circular interpolation (CCW)
• G04 Dwell
• G20 Input in inches
Preparatory function
(G-codes)
• G21 Input in millimeters
• G28 Return to reference point
• G32 Thread cutting
• G40 Tool nose radius compensation cancel
• G41 Tool nose radius compensation left
• G42 Tool nose radius compensation right
Preparatory function
(G-codes)
• G50 Programming of absolute zero point
• G50 Maximum spindle speed setting
• G70 Finishing cycle
• G71 Stock removal in turning
• G72 Stock removal in facing
• G73 Pattern repeating
Preparatory function
(G-codes)
• G74 Peck drilling cycle - z axis
• G90 Absolute programming
• G91 Incremental programming
• G92 Thread cutting cycle
• G96 Constant surface speed control
• G97 Constant surface speed control cancel
• G98 Per minute feed
• G99 Per revolution feed
CNC programming
• What is programming ?
Programming is telling the machine by
‘command data’ through numerical control
for its working of its components.
Example :
Movement of Turret..
Rotation of spindle… etc
Program block
A program block is a combination of above functions in a
single line.

Example : N01 G01 G91 X0.0 Y10.0 S2000 M03 ;

SEQUENCE END OF BLOCK


NUMBER

Line number is optional


End of block is mandatory
Sequence Number
• Designated as N1 or N10 etc
• Used to identify the blocks
• Not mandatory
• Occupies memory
• Can be used for each process rather
than for each block
Spindle speed Function
The spindle speed can be specified by a S code followed by a
Numerical value (rpm).

Syntax :S ;

Example : S2000 M03;

Usually S command is associated with M03 or M04 to specify


the direction of rotation CW or CCW
Spindle speed function

CONSTANT SURFACE SPEED CONTROL (CSS CONTROL)

As you know when the tool is moving towards the center the cutting
speed changes.
Vc = πDN/1000
In CSS control N is varied automatically to keep the Vc constant
when the tool moves diametrically.
Syntax : G96 S200; CSS Control on
G97; CSS control cancel
G96 and G97 are modal codes.Here S200 denotes the cutting speed.
Spindle speed function
CLAMP OF MAXIMUM SPINDLE SPEED

When we are using G96, the CSS control, the spindle Speed
need to be clamped to a maximum speed.
This is done with a preparatory function G50
Syntax : G50 S3500;

Spindle speed is clamped to a maximum of 3500 rpm.


Feed function
The feed can be specified by F code followed by a Numerical
value (feed per minute / feed per revolution).

Syntax :F ;

Example : G98 F100;


: G99 F0.15;
G98 and G99 are preparatory functions to specify feed per
minute and feed per revolution respectively.
Tool function
Tool selection
A 2 digit / 4 digit numeric followed by a T code is used
to select the required tool.

Syntax T

Offset number
Tool number

Example T0303; Selects turret 3 with offset Nr.03


T0313; Selects turret 3 with offset Nr.13
Tool offset
Tool offset is a value used to compensate the difference between
the actual tool and the imagined tool (standard tool) used for
programming.

Standard tool

Actual tool
X offset

Z offset
Tool offset
Tool Geometry offset:
To compensate the difference in tool shape and mounting position.

Tool Wear offset:


To compensate the tool wear during running.

Example : T0202 Calls the offset Nr.02


: T0200 Offset cancel
How to Enter the Tool Offset ?

There are two methods to enter the tool offset value

 From the offset entry screen


 From inside the program (G10 programming)
Offset Entry Screen

OFFSET/GEOMETRY O0001 N0000

NO. X. Z R T

G 001 0.000 0.000

G 002 1.486 1.486

G 003 1.322 1.322

G 004 0.567 0.567

G 005 0.873 0.873

G 006 -0.085 -0.085

G 007 0.654 0.654

G 008 -0.435 -0.435


Evolution of
CNC programming

• Punched tape and input through tape reader


• Programming directly on the machine
• Programming through hand held device
• Programming from centralized PC
CNC programming
• Process of Programming

Part drawing - indicates which are the


characteristics to be machined

Machining plan – how many set ups, fixtures, tooling,


sequence of operation etc

Part programming – Writing program considering the


machining plan
How to set the machine
Machine ON

Origin

Fixture Mounting

Fixture dialing

Locator/clamp fixing

Tool mtg on the holders

Measure the tool length

Tool pocketing
Tool offset inputing

Programming

Find work co ordinate

Dry run with out component


/single block

Cutting in single block

Rapid /feed lesser rate

Component inspection

Correction of work co ordiante

Correction of tool offset

Component cutting @
100%feed/ speed/Rapid
Popular CNC Controls

Fanuc
Sinumeric from Siemens
Heidenhain
Allen Bradley etc

We will discuss on FANUC .


Program Number
• Program number
The program no is used to arrange several
programs in order
The program no is expressed by putting
numerals of 4 digits after the alphabet “O”
Ex O 1234
Block

O1234;
N10 GOO G9O G54 X0 Y0;

Each line is block


Work piece zero point

– The reference point on the work piece is called


work piece zero point.
– Determine the work piece zero point wrt
drawing dimensioning or having easy
reference to drawing.
Absolute command

The point with reference to the work piece


zero point is referred as absolute command
Always referred by G90
Incremental command

The point with reference to the present


position . No reference to the work piece
zero point
Always referred by G91
Basic Programming rules
CNC lathe :

X = The diameter of the part.


Z = The length dimension

Usually Z is set at the finished face of the


part, any cut into the part is a minus value.

A positive value in the program indicates it is


clear of the part, a minus value indicates it is
into the part.
Programming for Turning center
Turning center - Work coordinate principle
x+

Spindle

z(-) z (+)
Work Zero

x (-)
Turning center
• Diametrical programming
The Diametrical value of the work piece
is directly input in to the program .
X 50.0
5

50
Turning center
• G00 POSITIONING IN RAPID
N_ G00 X_ Z_

The G00 is a command for rapid traverse


from a starting point to a command point.
Turning center
G01 LINEAR INTERPOLATION
N_ G01 X_ Z_ F_

The G01 is the command by


which the tool travels to the point
specified with X & Z at the
speed specified with F code.
Turning center
G02 CIRCULAR INTERPOLATION
(CW)
N_ G02 X_ Z_ R_ F_ Z axis

The G02 is a clockwise GO2

radial feed move X axis


Turning center
G03 CIRCULAR INTERPOLATION
(CCW)
Z axis
N_ G03 X_ Z_ R_ F_
GO3
The G03 is a counter
clockwise radial X axis

feed move
Turning center
G04 DWELL
N_ G04 U or P_
The G04 is a dwell command that halts the
feed movement for the time as specified
by U or P.
Turning center
G20 INCH UNITS
N_ G20
The G20 command defaults the system to
inch units. When a program is being run
and the G20 command is encountered, all
coordinates are stated as inch units
Turning center
G21 METRIC UNITS
N_ G21
The G21 command defaults the system to
metric units. When a program is being run
and the G21 command is encountered, all
coordinates are stated in as millimeter units.
Turning center
G28 AUTOMATIC RETURN TO
REFERENCE
N_ G28 X_ Z_
The G28 allows the existing tool to be
positioned to the machine zero point via an
intermediate position.
Turning center
G32 threading
G32 is used to cut straight & taper thread

G32 Z F for straight thread , F is the Pitch

G32 X Z F for taper thread ,F is the Pitch


Turning center
G40 CUTTER COMPENSATION
CANCEL
N_ G40
The G40 cancels any cutter compensation that was
applied to the tool during a program and acts as a
safeguard to cancel any cutter compensation
applied to a previous program or G-codes.
Turning center
G41 CUTTER COMPENSATION LEFT
N_ G41
The G41 compensates the cutter a specified
distance to the left-hand side of the
programmed tool path. Shift the offset
amount to the left of machining surface.
Turning center
G42 CUTTER COMPENSATION
RIGHT
N_ G42
The G42 compensates the tool a specified
distance to the right-hand side of the
programmed tool path. Shift the offset
amount to the right of machining surface.
Turning center

CUTTER COMPENSATION

G40 G41 G42


Turning center
G50 Co ordinate setting
Max spindle speed setting.
To assign the work co ordinate value as
well as max spindle speed setting this
command is used
G 50 X_ Z_ Co ordinate setting
G50 S 2500 max spindle speed setting
Turning center
• G 50 X 200. Z100
100

100
STOCK REMOVAL IN TURNING – G71
• G71 U(dd)__ R__
• G71 P__ Q__ U(du)__ W__ F__ S__ T__

• G71 – Stock Removal in Turning


• U(dd) – Depth of cut
• R – Escaping amount
• P – Sequence no. of the first block for the program of finishing
shape.
• Q – Sequence no. of the last block for the program of finishing
shape.
• U(du) – Distance and direction of finishing allowance in X direction
• W – Distance and direction of finishing allowance in Z direction
• F – Feed
• S – Speed
• T – Tool No
STOCK REMOVAL IN TURNING – G71
STOCK REMOVAL IN FACING – G72

• G72 W(dd)__ R__


• G72 P__ Q__ U__ W(dw)__ F__ S__ T__

• G72 – Stock Removal in Facing


• W(dd) – Depth of cut
• R – Escaping amount
• P – Sequence no. of the first block for the program of finishing shape.
• Q – Sequence no. of the last block for the program of finishing shape.
• U – Distance and direction of finishing allowance in X direction
• W(dw)– Distance and direction of finishing allowance in Z direction
• F – Feed
• S – Speed
• T – Tool No
STOCK REMOVAL IN FACING – G72
PATTERN REPEATING CYCLE – G73

• G73 U(di)__ W(dk)__ R__


• G73 P__ Q__ U(du)__ W(dw)__ F__ S__ T__

• G73 – Pattern Repeating


• U(di) – Distance and direction of relief in the X-axis direction
• W(dk) - Distance and direction of relief in the Z-axis direction
• R – No of division ( repetitive count for rough cutting )
• P – Sequence no. of the first block for the program of finishing shape.
• Q – Sequence no. of the last block for the program of finishing shape.
• U(du) – Distance and direction of finishing allowance in X direction
• W(dw)– Distance and direction of finishing allowance in Z direction
• F – Feed
• S – Speed
• T – Tool No
PATTERN REPEATING – G73
FINISHING CYCLE – G70

• After rough cutting by G71, G72 or G73, the


following command permits finishing

• G70 P__ Q__

• G70 - Finishing cycle


• P - Sequence no. of the first block for the program of
finishing shape.
• Q - Sequence no. of the last block for the program of
finishing shape.
Turning center
G92 THREAD CUTTING CYCLE
G28 U0 WO
G50 X 220. Z167.0
G97 S650 T5005 M3 34
4
G99
G00 X70.0 Z80.0 M8 3 1
M36 2
G92 U-10.8 Z34.0 F3.0
U-12.0
U-12.5
U-12.8
U-12.9 70
U-13.0
G28 U0 WO M9
Turning center
• G96 Constant surface speed control
G96 is used when cutting speed is required
to be specified

G96

Ex facing – To have common cutting speed


Turning center
• G97 Constant surface speed control cancel
G97 is used when spindle speed is required to
be specified

G97

Ex Drilling – To have common cutting speed


Turning center
• G98 Feed per minute

G98 is used to specify the tool movement in


mm per minute

G98

Ex bar bulling
Turning center
• G99 Feed per Revolution

G99 is used to specify the tool movement in


mm per spindle revloution

G99

Ex Regular turning
- OD THREAD -

N9G28U0W0
G50X220.0Z163.5
G97S400T500M3
G99
G00X110.0Z80.0T5M8
G92U-10.7Z51.0F2.0
U-11.2
U-11.6
U-11.92
U-12.12
U-12.26
U-12.36
U-12.46
U-12.5
G28U0W0M9
M1
M30