Comprehensive Guide to CNC Part Programming

undefined
 
3.CNC PART
PROGRAMMING
 
Co:-Develop part program for CNC Turning, Milling and verify on
simulation software.
 
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. Th
e most
 commonly used program
input devices are 
keyboards
,
 punched tape
reader, diskette drivers, throgh RS 232 serial
ports and networks
.
 
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
 
C
N
C
 
P
R
O
G
R
A
M
M
I
N
G
 
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
.
 
A
b
s
o
l
u
t
e
 
p
o
s
i
t
i
o
n
i
n
g
.
 
I
n
 
t
h
i
s
 
m
o
d
e
,
 
t
h
e
d
e
s
i
r
e
d
 
t
a
r
g
e
t
 
p
o
s
i
t
i
o
n
 
o
f
 
t
h
e
 
t
o
o
l
 
f
o
r
 
a
p
a
r
t
i
c
u
l
a
r
 
m
o
v
e
 
i
s
 
g
i
v
e
n
 
r
e
l
a
t
i
v
e
 
t
o
 
t
h
e
 
o
r
i
g
i
n
p
o
i
n
t
 
o
f
 
t
h
e
 
p
r
o
g
r
a
m
.
2
.
 
I
n
c
r
e
m
e
n
t
a
l
 
p
o
s
i
t
i
o
n
i
n
g
.
 
I
n
 
t
h
i
s
 
m
o
d
e
,
 
t
h
e
n
e
x
t
 
t
a
r
g
e
t
 
p
o
s
i
t
i
o
n
 
f
o
r
 
t
h
e
 
t
o
o
l
 
i
s
 
g
i
v
e
n
r
e
l
a
t
i
v
e
 
t
o
 
t
h
e
 
c
u
r
r
e
n
t
 
t
o
o
l
 
p
o
s
i
t
i
o
n
.
 
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
 
N5 G90 G20
N10 M06 T3
N15 M03 S1250
N20 G00 X1 Y1
N25 Z0.1
N30 G01 Z-0.125 F5
N35 X3 Y2 F10
N40 G00 Z1
N45 X0 Y0
N50 M05
N55 M30
 
Example CNC Program
Example CNC Program
 
Each instruction to the machine
consists
 
of a letter followed by
 
a
number.
 
Each letter is associated with a
specific
 
type of action or piece
 
of
information
 
needed by the
 
machine.
 
L
e
t
t
e
r
s
 
u
s
e
d
 
i
n
 
C
o
d
e
s
 
N,G,X,Y,Z,A,B,C,I,J,K,F,S,T,R,M
 
G Codes
 
G00
 
Rapid traverse
G01 Linear interpolation
G02
 
Circular interpolation,
 
CW
G03 Circular interpolation,
 
CCW
G04 Dwell
G08 Acceleration
G09 Deceleration
G17 X-Y Plane
G18 Z-X Plane
G19 Y-Z Plane
G20 Inch Units (G70)
G21 Metric Units (G71)
 
G40 Cutter compensation –
 
cancel
G41 Cutter compensation –
 
left
G42 Cutter compensation-
 
right
G70 Inch format
G71 Metric format
G74 Full-circle
 
programming
 
off
G75 Full-circle programming
 
on
G80 Fixed-cycle cancel
G81-G89 Fixed cycles
G90 Absolute dimensions
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
 
 
N10 
G00 X1 
Z
1
N
1
5 Z0.1
N
20
 G01 Z-0.125 F5
N
2
5 
X2 Z2 
F10
 
G01 Linear Interpolation
G01 Linear Interpolation
 
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)
 
 
T
h
e
 
s
e
q
u
e
n
c
e
 
o
f
 
s
o
m
e
 
m
a
c
h
i
n
i
n
g
 
o
p
e
r
a
t
i
o
n
s
 
i
s
 
m
a
y
b
e
 
t
h
e
 
s
a
m
e
 
f
o
r
 
a
n
y
 
p
a
r
t
 
a
n
d
 
f
o
r
 
a
n
y
 
m
a
c
h
i
n
e
.
 
F
o
r
e
x
a
m
p
l
e
,
 
d
r
i
l
l
i
n
g
 
a
 
h
o
l
e
 
i
n
v
o
l
v
e
s
 
t
h
e
 
f
o
l
l
o
w
i
n
g
 
s
t
e
p
s
:
 
P
o
s
i
t
i
o
n
 
t
h
e
 
t
o
o
l
 
a
b
o
v
e
 
t
h
e
 
p
o
i
n
t
 
w
h
e
r
e
 
t
h
e
 
h
o
l
e
 
w
i
l
l
 
b
e
d
r
i
l
l
e
d
 
S
e
t
 
t
h
e
 
c
o
r
r
e
c
t
 
s
p
i
n
d
l
e
 
s
p
e
e
d
 
F
e
e
d
 
t
h
e
 
t
o
o
l
 
i
n
t
o
 
t
h
e
 
w
o
r
k
p
i
e
c
e
 
a
t
 
a
 
c
o
n
t
r
o
l
l
e
d
 
f
e
e
d
r
a
t
e
 
t
o
 
a
 
p
r
e
d
e
t
e
r
m
i
n
e
d
 
d
e
p
t
h
 
R
e
t
r
a
c
t
 
t
h
e
 
t
o
o
l
 
a
t
 
a
 
r
a
p
i
d
 
r
a
t
e
 
t
o
 
j
u
s
t
 
a
b
o
v
e
 
t
h
e
 
p
o
i
n
t
w
h
e
r
e
 
t
h
e
 
h
o
l
e
 
s
t
a
r
t
e
d
 
Canned Cycles
 
G81 ILLUSTRATION
 
Three Main parts of a CNC program
 
N5 G90 G2
1
 
  
(Absolute units, 
metric
)
 
N10 M06 T2 
  
(Stop for tool change, use
    
tool # 2)
N15 M03 S1200 
 
(Turn the spindle on CW
to 
    
1200 rpm)
 
Part 1- Program Petup
Part 1- Program Petup
 
Three Main parts of a CNC program
 
N20 G00 X1 Y1 
  
(Rapid to X1,Y1 from origin
   
point)
N25 Z0.125 
  
(Rapid down to Z0.125)
N30 G01 Z-0.125 F
100
 
 
(Feed down to Z-0.125 at
    
100 mm/
m
in
)
N35 G01 X2 Y2 
  
(Feed diagonally to X2,Y2)
N40 G00 Z1 
  
(Rapid up to Z1)
N45 X0 Y0 
  
(Rapid to X0,Y0)
 
Part 2- Chip Removal
Part 2- Chip Removal
 
Three Main parts of a CNC program
 
N50 M05 
  
(Turn the spindle off)
 
N55 M
0
0 
  
(
P
rogram
 stop
)
 
Part 3- System Shutdown
Part 3- System Shutdown
 
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.
 
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.
 
Computer Aided Part Programming:
 
 
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 .
 
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).
 
CAD/CAM Based Part Programming:
CAD/CAM Based Part Programming:
 
CNC Prg. Basics
 
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
O
6999
    
.
    
.
    
.
O
0256
O
0255
    
.
    
.
    
.
O
0000
 
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
 
   
 
 P0
 
N… …
P0
 
 P1
 
N… G01 X40. Z25.  F…
P1
 
 P2
 
N… G01 X60. Z-40. F…
P2
 
 
N… …
Absolute coordinate
system
 
Example:
 
CNC Prg. Basics
 
51
Incremental Value Programming
Incremental coordinate
system
 
Example:
 
   
 
 P0
 
N… …
P0
 
 P1
 
N… G01 U5. W-25.  F…
P1
 
 P2
 
N… G01 X10. Z-15. F…
P2
 
 
N… …
 
CNC Prg. Basics
 
52
Mixed Programming
Mixed coordinate
system
 
Example:
 
   
 
 P0
 
N… …
P0
 
 P1
 
N… G01 U5. W-25.  F…
P1
 
 P2
 
N… G01 X60. Z-15. F…
P2
 
 
N… …
 
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.
N0050
 
M03
N0060
 
N0120
 
M04
 
Example 1:
 
Example 2:
 
M03 activated at N0050 and effective
from N0050 through 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
G
00, Rapid Traverse
 
Absolute dimensions
 of 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
 
Tool position 
X69 Z5
 
CNC Prg. Basics
 
60
G
01, Linear Interpolation
 
P0: tool position
 
G90:
N030 G00 X39 Z2
N040 G01 X39 Z0
N050 G90
N060 G01 X48 Z-37
G91:
N030 G00 X39 Z2
N040 G01 X39 Z0
N050 G91
N060 G01 X4.5 Z-37
G01 X… Z…
 
CNC Prg. Basics
 
61
G
90 & G91 Commands
 
G90
G01 X+140 Z-90
Target point abs.
G91
G01 X+40 Z-60
Target point incr.
 
PO: Start Point
P1: Target Point
For more detail contact us
Slide Note
Embed
Share

Learn about CNC part programming for turning and milling machines. Understand the importance of part programs, program input devices, machine control unit functions, and CNC programming methods like offline and conversational programming. Explore the Cartesian coordinate system, tool positioning, and absolute vs. incremental positioning modes in CNC operations.

  • CNC Programming
  • Part Programs
  • Machine Control Unit
  • CAD Programs
  • Cartesian Coordinates

Uploaded on Jul 25, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. 3.CNC PART PROGRAMMING Co:-Develop part program for CNC Turning, Milling and verify on simulation software. Visit for more Learning Resources Visit for more Learning Resources

  2. 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

  3. 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, throgh RS 232 serial ports and networks.

  4. 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

  5. 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.

  6. 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.

  7. In defining the motion of the tool from one point to another, either absolute positioning mode or incremental positioning mode can be used.

  8. 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.

  9. 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

  10. 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.

  11. 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

  12. 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.

  13. 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.

  14. 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

  15. WORD-ADDRESS CODING Example CNC Program Each instruction to the machine consists of a letter followed by a number. N5 G90 G20 N10 M06 T3 N15 M03 S1250 N20 G00 X1 Y1 N25 Z0.1 N30 G01 Z-0.125 F5 N35 X3 Y2 F10 N40 G00 Z1 N45 X0 Y0 N50 M05 N55 M30 Each letter is associated with a specific type of action or piece of information needed by the machine. Letters used in Codes N,G,X,Y,Z,A,B,C,I,J,K,F,S,T,R,M

  16. G Codes G00 Rapid traverse G01 Linear interpolation G02 Circular interpolation, CW G03 Circular interpolation, CCW G04 Dwell G08 Acceleration G09 Deceleration G17 X-Y Plane G18 Z-X Plane G19 Y-Z Plane G20 Inch Units (G70) G21 Metric Units (G71) G40 Cutter compensation cancel G41 Cutter compensation left G42 Cutter compensation- right G70 Inch format G71 Metric format G74 Full-circle programming off G75 Full-circle programming on G80 Fixed-cycle cancel G81-G89 Fixed cycles G90 Absolute dimensions G91 Incremental dimensions

  17. M Codes M00 M01 M02 M03 M04 M05 M06 M08 M09 M10 M11 M30 Program stop Optional program stop Program end Spindle on clockwise Spindle on counterclockwise Spindle stop Tool change Coolant on Coolant off Clamps on Clamps off Program stop, reset to start

  18. 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.

  19. 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.

  20. 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.

  21. 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.

  22. 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.

  23. 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.

  24. Application of Some Codes G01 Linear Interpolation 25 B C 20 15 10 Positioning motion from A to C N10 G00 X30000 Y20000 F0 A 5 5 10 15 20 25 30

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

  26. 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.

  27. 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

  28. G02 Circular Interpolation (CW) Circular interpolation from A to B about a circle centered at C N10 G02 X20000 Y10000 I5000 J15000 F2500 25 I=5 A C 20 15 J=15 10 B C 5 5 10 15 20 25 30

  29. Canned Cycles The sequence of some machining operations is may The sequence of some machining operations is may be be the same for any part and for any machine. For the same for any part and for any machine. For example, drilling a hole involves the following steps: example, drilling a hole involves the following steps: Position the tool above the point where the hole will be Position the tool above the point where the hole will be drilled drilled Set the correct spindle speed Set the correct spindle speed Feed the tool into the workpiece at a controlled feed Feed the tool into the workpiece at a controlled feed rate to a predetermined depth rate to a predetermined depth Retract the tool at a rapid rate to just above the point Retract the tool at a rapid rate to just above the point where the hole started where the hole started

  30. Some Commonly Used Canned Cycle Code Function Down feed At bottom Retracti on Rapid G81 Drilling Continuous feed Continuous feed Peck Continuous feed Continuous feed Continuous feed No action G82 Spot face, counterbore Deep hole drilling Tapping Dwell Rapid G83 G84 No action Reverse spindle No action Rapid Feed rate Feed rate Rapid G85 Through boring(in & out) Through boring(in only) G86 Stop spindle

  31. G81 ILLUSTRATION

  32. 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) (Turn the spindle on CW 1200 rpm) N15 M03 S1200 to

  33. 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 N30 G01 Z-0.125 F100 (Rapid down to Z0.125) (Feed down to Z-0.125 at 100 mm/min) (Feed diagonally to X2,Y2) (Rapid up to Z1) (Rapid to X0,Y0) N35 G01 X2 Y2 N40 G00 Z1 N45 X0 Y0

  34. Three Main parts of a CNC program Part 3- System Shutdown N50 M05 (Turn the spindle off) N55 M00 (Program stop)

  35. EXAMPLE OPERATION on CNC MILLING MACHINE

  36. 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

  37. 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

  38. 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

  39. 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

  40. 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.

  41. 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.

  42. 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.

  43. 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 .

  44. 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 45

  46. CNC Program Numbers Program Numbers O6999 . . . O0256 O0255 . . . O0000 CNC Prg. Basics 46

  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 47

  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 48

  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 49

  50. Absolute Value Programming Example: P0 N N G01 X40. Z25. F N G01 X60. Z-40. F N P0 P1 P1 P2 P2 Absolute coordinate system CNC Prg. Basics 50

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#