0% found this document useful (0 votes)
7 views

Cnc Part Programming

The document provides an overview of CNC programming, detailing the structure and components of a part program, including the use of G-codes and M-codes for machine control. It explains the functions of the machine control unit, programming modes, and the importance of coordinate systems in CNC operations. Additionally, it covers canned cycles and advanced features of CNC programming, emphasizing the role of computer-aided part programming in simplifying complex machining tasks.

Uploaded by

Cee
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Cnc Part Programming

The document provides an overview of CNC programming, detailing the structure and components of a part program, including the use of G-codes and M-codes for machine control. It explains the functions of the machine control unit, programming modes, and the importance of coordinate systems in CNC operations. Additionally, it covers canned cycles and advanced features of CNC programming, emphasizing the role of computer-aided part programming in simplifying complex machining tasks.

Uploaded by

Cee
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 61

3.

CNC PART
Co:-Develop part program for CNC Turning, Milling

PROGRAMMING
and verify on simulation software.

Visit for more Learning Resources


PART PROGRAM
 A part program is a series of coded instructions required to produce
a part. It controls the movement of the machine tool and the on/off
control of auxiliary functions such as spindle rotation and coolant.
The coded instructions are composed of letters, numbers and
symbols and are arranged in a format of functional blocks as in the
following example
N10 G01 X5.0 Y2.5 F15.0
| | | | |
| | | | Feed rate (15 in/min)
| | | Y-coordinate (2.5")
| | X-coordinate (5.0")
| Linear interpolation mode
Sequence number
PROGRAM INPUT DEVICE
 The program input device is the mechanism
for part programs to be entered into the CNC
control.

 The most commonly used program input devices


are

 keyboards,

 punched tape reader,

 diskette drivers,
MACHINE CONTROL UNIT
The machine control unit (MCU) is the heart of a CNC system.

It is used to perform the following functions:

 Read coded instructions


 Decode coded instructions
 Implement interpolations (linear, circular, and helical) to
generate axis motion commands
 Feed axis motion commands to the amplifier circuits for
driving the axis mechanisms
 Receive the feedback signals of position and speed for each
drive axis
 Implement auxiliary control functions such as coolant or
spindle on/off, and tool change
CNC PROGRAMMING
 Offline programming linked to CAD
programs.
 Conversational programming by the
operator.
 MDI ~ Manual Data Input.
 Manual Control using jog buttons or
`electronic handwheel'.
 Word-Address Coding using standard G-
codes and M-codes.
 The position of the tool is described by using a
Cartesian coordinate system.
If (0,0,0) position can be described by the
operator, then it is called floating zero.
In defining the motion of the tool from
one point to another,
either
absolute positioning mode or

incremental positioning mode


can be used.
1. Absolute positioning. In this mode, the desired
target position of the tool for a particular move is
given relative to the origin point of the program.

2. Incremental positioning. In this mode, the


next target position for the tool is given relative to
the current tool position.
Structure of an NC Part
Program:

Commands are input into the controller in


units called blocks or statements.

Block Format:
1. Fixed sequential format
2. Tab sequential format
3. Word address format
EXAMPLE:
Assume that a drilling operation is to be
programmed as:
1. The tool is positioned at (25.4,12.5,0) by a
rapid movement.
2. The tool is then advanced -10 mm in the z
direction at a feed rate of 500 mm/min., with the
flood coolant on.
3.The is then retracted back 10 mm at the rapid
feed rate, and the coolant is turned off.
1. Fixed sequential format
0050 00 +0025400 +0012500 +0000000 0000 00
0060 01 +0025400 +0012500 -0010000 0500 08
0070 00 +0025400 +0012500 +0000000 0000 09

2. Tab sequential format


0050 TAB 00 TAB +0025400 TAB +0012500 TAB +0000000 TAB
0060 TAB 01 TAB TAB TAB -0010000 TAB 0500 TAB 08
0070 TAB 00 TAB TAB TAB -0000000 TAB 0000 TAB 09

3.Word address format


N50 G00 X25400 Y125 Z0 F0
N60 G01 Z-10000 F500 M08
N70 G00 Z0 M09
Modal commands: Commands issued in the
NC program that will stay in effect until it is
changed by some other command, like,
feed rate selection, coolant selection, etc.

Nonmodal commands: Commands that are


effective only when issued and whose
effects are lost for subsequent commands,
like, a dwell command which instructs the
tool to remain in a given configuration for a
given amount of time.
INFORMATION NEEDED by a CNC

1. Preparatory Information: units, incremental or absolute


positioning
2. Coordinates: X,Y,Z, RX,RY,RZ
3. Machining Parameters: Feed rate and spindle speed
4. Coolant Control: On/Off, Flood, Mist
5. Tool Control: Tool and tool parameters
6. Cycle Functions: Type of action required
7. Miscellaneous Control: Spindle on/off, direction of
rotation, stops for part movement
This information is conveyed to the machine through a
set
of instructions arranged in a desired sequence – Program.
BLOCK FORMAT

Sample Block

N135 G01 X1.0 Y1.0 Z0.125 F5

 Restrictions on CNC blocks


 Each may contain only one tool move
 Each may contain any number of non-tool move G-codes
 Each may contain only one feedrate
 Each may contain only one specified tool or spindle speed
 The block numbers should be sequential
 Both the program start flag and the program number must be
independent of all other commands (on separate lines)
 The data within a block should follow the sequence shown in
the above sample block
WORD-ADDRESS CODING

Example CNC
Program Each instruction to the machine
 N5 G90 G20
 N10 M06 T3 consists of a letter followed by a
 N15 M03 S1250 number.
 N20 G00 X1 Y1
 N25 Z0.1 Each letter is associated with a
 N30 G01 Z-0.125 F5 specific type of action or piece of
 N35 X3 Y2 F10 information needed by the machine.
 N40 G00 Z1
 N45 X0 Y0
Letters used in Codes
 N50 M05 N,G,X,Y,Z,A,B,C,I,J,K,F,S,T,R,M
 N55 M30
G Codes
 G00 Rapid traverse  G40 Cutter compensation –
 cancel
G01 Linear interpolation
 G41 Cutter compensation – left
 G02 Circular
interpolation, CW  G42 Cutter compensation- right
 G03 Circular  G70 Inch format
interpolation, CCW
 G71 Metric format
 G04 Dwell
 G74 Full-circle programming
 G08 Acceleration off
 G09 Deceleration  G75 Full-circle programming
 G17 X-Y Plane on
 G18 Z-X Plane  G80 Fixed-cycle cancel
 G19 Y-Z Plane  G81-G89 Fixed cycles
 G20 Inch Units (G70)  G90 Absolute dimensions
 G21 Metric Units (G71)  G91 Incremental dimensions
M Codes
 M00 Program stop
 M01 Optional program stop
 M02 Program end
 M03 Spindle on clockwise
 M04 Spindle on counterclockwise
 M05 Spindle stop
 M06 Tool change
 M08 Coolant on
 M09 Coolant off
 M10 Clamps on
 M11 Clamps off
 M30 Program stop, reset to start
N Codes

 Gives an identifying number for each block of


information.

 It is generally good practice to increment each


block number by 5 or 10 to allow additional
blocks to be inserted if future changes are
required.
X,Y, and Z Codes

 X, Y, and Z codes are used to specify the


coordinate axis.
 Number following the code defines the coordinate
at the end of the move relative to an incremental or
absolute reference point.
I,J, and K Codes

 I, J, and K codes are used to specify the coordinate


axis when defining the center of a circle.

 Number following the code defines the respective


coordinate for the center of the circle.
F,S, and T Codes

 F-code: used to specify the feed rate

 S-code: used to specify the spindle speed

 T-code: used to specify the tool identification


number associated with the tool to be used in
subsequent operations.
Application of Some Codes
G01 Linear Interpolation
Format: N_ G01 X_ Y_ Z_ F_

 Linear Interpolation results in a straight line feed


move.

 Unless tool compensation is used, the coordinates


are associated with the centerline of the tool.
Application of Some Codes
G01 Linear Interpolation
 . As an example, for the motion that occurs in x-y
plane with the same maximum speed for the x- and
y-axis, initial motion is at an angle of 45o to the
axes until motion in one of

 the axes is completed and then the balance of the


motion occurs in the other axis. This is called point-
to-point motion.
Application of Some Codes
G01 Linear Interpolation

25
B C
20

15

10 Positioning motion from A to C


A N10 G00 X30000 Y20000 F0
5

5 10 15 20 25 30
G01 Linear Interpolation
N10 G00 X1 Z1
N15 Z0.1
N20 G01 Z-0.125 F5
N25 X2 Z2 F10
X

Z
G02 Circular Interpolation

 G02 is also a preparatory function to specify that


the tool should be moved to a specified location
along a circular path in a clockwise direction. In
order to specify the path to the MCU, the end point
of the arc and the location of the center of the arc
should be specified. Within the block in which the
G02 code is programmed, the center of the arc is
given by specifying its location relative to the start
of the arc.
G02 Circular Interpolation (CW)

 The G02 command


requires an endpoint and a
radius in order to cut the
arc.
 I,J, and K are relative to
the start point.

N_ G02 X2 Y1 I0 J-1 F10


or
N_ G02 X2 Y1 R1
G02 Circular Interpolation (CW)

Circular interpolation from A to B


about a circle centered at C
N10 G02 X20000 Y10000
25 I5000 J15000 F2500
I=5 A C
20

15
J=15
10 B
C
5

5 10 15 20 25 30
Canned Cycles
The sequence of some machining operations is
may be the same for any part and for any
machine. For example, drilling a hole involves
the following steps:

Position the tool above the point where the hole


will be drilled

Set the correct spindle speed

Feed the tool into the workpiece at a controlled


feed rate to a predetermined depth

Retract the tool at a rapid rate to just above the


point where the hole started
Some Commonly Used Canned Cycle
Code Function Down feed At bottom Retracti
on
G81 Drilling Continuous No action Rapid
feed
G82 Spot face, Continuous Dwell Rapid
counterbore feed
G83 Deep hole drilling Peck No action Rapid
G84 Tapping Continuous Reverse Feed
feed spindle rate
G85 Through boring(in Continuous No action Feed
& out) feed rate
G86 Through boring(in Continuous Stop Rapid
only) feed spindle
G81 ILLUSTRATION
Three Main parts of a CNC
program

Part 1- Program Petup


 N5 G90 G21 (Absolute units, metric)

 N10 M06 T2 (Stop for tool change,


use tool # 2)
 N15 M03 S1200 (Turn the spindle on CW
to 1200 rpm)
Three Main parts of a CNC
program

Part 2- Chip Removal


 N20 G00 X1 Y1 (Rapid to X1,Y1 from origin
point)
 N25 Z0.125 (Rapid down to Z0.125)
 N30 G01 Z-0.125 F100 (Feed down to Z-0.125 at
100 mm/min)
 N35 G01 X2 Y2 (Feed diagonally to X2,Y2)
 N40 G00 Z1 (Rapid up to Z1)
 N45 X0 Y0 (Rapid to X0,Y0)
Three Main parts of a CNC
program

Part 3- System Shutdown


 N50 M05 (Turn the spindle off)

 N55 M00 (Program stop)


EXAMPLE OPERATION on CNC
MILLING MACHINE
G-CODE PROGRAM

 First pass : conventional mill to a


depth of 0.125 around edge
profile. Tool 1 is a ½ inch dia. end
mill.

%
:1002
N5 G90 G20
N10 M06 T1
N15 M03 S1200
N20 G00 X0.125 Y0.125
N30 Z0.125
N35 G01 Z-0.125 F5
N40 X3.875
N45 Y4.125
N50 X0.125
N55 Y0.125
 Second pass:
conventional mill to
a depth of 0.25
around edge profile.

N35 Z-0.250
N40 X3.875
N45 Y4.125
N50 X0.125
N55 Y0.125
N60 Z0.125
 Third pass:
conventional mill to a
depth of 0.125
around pocket profile.

N65 G00 X1.25 Y1.0


N70 G01 Z-0.125 F5
N75 X1.75
N80 Y2.5
N85 X1.25
N90 Y1.0
N95 Z0.125
 Fourth pass: climb
mill to a depth of
0.125 across
remaining material.

N100 Y2.125
N105 X2.625
N110 Z0.125
N115 G00 X-5 Y-5 Z5
N120 M05
N125 M30
Advanced features:

 Execution of the part of the program


in a rotated or mirrored position.
 Ability to scale the program and
produce larger or smaller programs.
 Three dimensional circular
interpolation which produces a helical
shape.
 Parabolic and cubic interpolation.
Computer Aided Part Programming:

 NC program preparation may be tedious


and difficult if the part to be machined
has a complex geometry. The main
difficulty is to find out the cutter
locations during the machining.
Computers may be used to assist the
programmers in preparing the NC codes.
Advantages of applying computer-aided part
programming include the following:

 1. It reduces the manual calculations


involves in determining the geometric
characteristics of the part.
 It provides the cutter path simulation.
 It provides tool collision checking.
 It shortens the program preparation time.
 It makes the program preparation easier.
 The Aerospace Industries Association sponsored the work
that led to the first part programming language,
developed in MIT in 1955.
 This was called: Automatically Programmed Tools (APT).
 APT is an English like simple programming language
which basically produce the Cutter Location (CL) data.
 Using the cutter location data, the program can generate
the actual NC codes by using a postprocessor .
CAD/CAM Based Part Programming:

 The output of any CAD package include the geometric data of


the part to be machined. Therefore, many CAD/CAM package
can produce cutter location (CL) data to be used for NC code
generation.
 There is still to be a process planning module for a workable
NC code generation.
 Some of the CAD/CAM packages that have the NC code
generation capabilities are Computervision, CATIA, CADAM,
ProEngineer, MechanicalDesktop (Auto Desk).
45

CNC Programming Basics

Program structure
Every program consists of:
1. Program Start
The program start is the program number.
The program number begins with
character/letter O.
2. Program Contents
NC blocks
3. Program End
M30 for a main program
M17 for a sub-program

CNC Prg. Basics


46

CNC Program Numbers

Program Numbers

O6999
.
.
.
O0256
O0255
.
.
.
O0000

CNC Prg. Basics


47

CNC Program Blocks (1)

• N is the address
• Block numbers from
N0000 to
• N9999
• A block consists of
number and words
• Words are contents of a
block
• Block numbers are
selected in the jumps of
ten for the purpose of
insertion

CNC Prg. Basics


48

CNC Program Blocks (2)

• A block consists of one


or more blocks
• A Word consists of a
character (address) and
a number.
• Every address has a
certain meaning, on
which the
corresponding number
depends

CNC Prg. Basics


49

CNC Prg. Syntax Regulations

• The maximum block length must not exceeded


four lines. If max. length exceeded alarm 650
occurs.
• Every block starts with a block number.
• After the block numbers follows the G
command.
• Words consists of coordinates X(U), Z(W).
• For G02, G03 program interpolation
parameter I and K are placed after X(U), Z(W).
• The F word (feed, thread pitch).
• The S word (cutting speed).
• The T word (tool address).
• The M word (additional functions).
CNC Prg. Basics
50

Absolute Value Programming

Example:

 P0 N… …
P0  P1 N… G01
X40. Z25. F…
P1  P2 N… G01
X60. Z-40. F…
P2  N… …

Absolute coordinate
system

CNC Prg. Basics


51
Incremental Value Programming

Example:
 P0 N… …
P0  P1 N… G01 U5.
W-25. F…
P1  P2 N… G01
X10. Z-15. F…
P2  N… …

Incremental coordinate
system

CNC Prg. Basics


52

Mixed Programming

Example:
 P0 N… …
P0  P1 N… G01 U5.
W-25. F…
P1  P2 N… G01
X60. Z-15. F…
P2  N… …

Mixed coordinate
system

CNC Prg. Basics


53

Self-holding Functions (1)

• The majority of G and M commands and


other words are self-holding, remain active
until overwritten or
deactivated/deselected.
• Aimed to simplify and to reduce
programming tasks.

Example: G41 can be deactivated by


issuing G40 command.

CNC Prg. Basics


54

Self-holding Functions (2)

Take-over of G00 commands in block N0110


In block N0120 G00 is deactivated by G01. G01 is active.
N0100 G00 X50. Z+10.
Example 1: N0110 X36. Z+2.
N0120 G01 X40. Z-10. F…

N0050 M03 M03 activated at


N0060 … N0050 and effective
Example 2: … from N0050 through
N0120 M04 N120. M03 deactivated
at N0120 by M04
command

CNC Prg. Basics


55

Reference Points

M = Machine zero
point.
(unchangeable ref.
Point determined by
machine
manufacturer)
N = Tool mounting
reference point
W = Work piece zero
point. (can be freely
determined by the
programmer and can
be moved within
program CNC Prg. Basics
56

Work piece (1)

CNC Prg. Basics


57

Work piece (2)

CNC Prg. Basics


58

G & M Commands

G00: Rapid traverse


G01: Linear interpolation
G02: Circular interpolation clockwise
G03: Circular interpolation counter clockwise
G70: Measuring in Inch (USA)
G71: Measuring in mm (Other countries)

M03: Spindle ON clockwise


M04: Spindle ON counter clockwise
M20: Tailstock back
M21: Tailstock forward

CNC Prg. Basics


59

G00, Rapid Traverse

Tool position X69 Absolute dimensions of


Z5 the target point
coordinates:
N030 G90
N040 G00 X48 Z-26
An absolute X coordinate
related to the diameter.

Incremental dimensions
of the target point
coordinates:
N030 G91
N040 G00 X-10,5 Z-31

CNC Prg. Basics


60

G01, Linear Interpolation

G90:
G01 X… Z…
N030 G00 X39
Z2
N040 G01 X39
Z0
N050 G90
N060 G01 X48 Z-
37
G91:
N030 G00 X39
P0: tool
Z2
position
N040 G01 X39
Z0
N050
CNC Prg. Basics G91
N060 G01 X4.5
61

G90 & G91 Commands

G90
G01 X+140 Z-
90
Target point
abs.

G91
G01 X+40 Z-60
PO: Start Point Target point
P1: Target Point incr.

For more detail contact us

CNC Prg. Basics

You might also like