CNCINTRODUCTION TO CNC MACHINES & AXES
DIMENSIONING SYSTEM
G-CODES & M-CODES
FEATURES OF CNC TRAIN SIMULATION
SOFTWARE
PROCEDURE FOR EXECUTING A PROGRAM
SAMPLE PROGRAMS
EXERCISE
INTRODUCTION TO CNC MACHINES & AXES
DIMENSIONING SYSTEM
G-CODES & M-CODES
FEATURES OF CNC TRAIN SIMULATION
SOFTWARE
PROCEDURE FOR EXECUTING A PROGRAM
SAMPLE PROGRAMS
EXERCISE
AXES IN CNC MACHINES
CNC axis may be either a linear axis in which movement is in a straightline, or a rotary axis with motion following a circular path.
Depending on the machine type there are commonly two to five axes.Rotary axes
The rotary motion about the X,Y and Z-Axis are identified by a,b and c respectively. Clockwise is designated as +ve.
Z – AxisThe Z Axis of motion is always the axis of the main spindle ofthe machine. It doses not matters whether the spindle carriesthe work piece or the cutting tool. On vertical machiningcenters Z axis is vertical and on horizontal machining centerand turning centers Z axis is horizontal.
Positive Z Movement is away from the spindle.
X-AxisIt is always horizontal and parallel to the work holding
surface. Positive X Axis movement is identified as being to theright, when looking from the spindle towards its supportingcolumn.
Y- AxisIt is at right angle to both X-Axis and Z-Axis
Z – AxisThe Z Axis of motion is always the axis of the main spindle ofthe machine. It doses not matters whether the spindle carriesthe work piece or the cutting tool. On vertical machiningcenters Z axis is vertical and on horizontal machining centerand turning centers Z axis is horizontal.
Positive Z Movement is away from the spindle.
X-AxisIt is always horizontal and parallel to the work holding
surface. Positive X Axis movement is identified as being to theright, when looking from the spindle towards its supportingcolumn.
Y- AxisIt is at right angle to both X-Axis and Z-Axis
AXES IN MILLING MACHINE
A Milling machine has 3 axes of movement identified by X, Y & Z axes
Z
Y
-
+
-+
X- +
+Z
-Z
+Y
-Y
-X +X
Z
Y
-
+
-+
X- +
+Z
-Z
+Y
-Y
-X +X
AXES IN CNC LATHE
Lathe has two axes identified by X and Z axes
ZERO POINTS &REFERENCE POINT
DIMENSION SYSTEM
Dimensional information in a work piece drawing can be stated in two waysAbsolute Dimension System or Incremental Dimension System.
Absolute Dimension SystemData in absolute dimension system always refer to a fixed
reference point. This point has the function of a coordinate zero point.The dimension lines run parallel to the coordinate axes and alwaysstart at the reference point.
Absolute Dimension SystemData in absolute dimension system always refer to a fixed
reference point. This point has the function of a coordinate zero point.The dimension lines run parallel to the coordinate axes and alwaysstart at the reference point.
Incremental Dimension SystemWhen using Incremental Dimension system, every
measurement refers to a previously dimensioned position Incrementaldimensions are distance between adjacent points. These distances areconverted into incremental coordinates by accepting the lastdimension point as the coordinate origin for the new point. This maybe compared to a small coordinate system, i.e., shifted consequentlyform point to point.
P6 P5
P4P3
P2 P1
30
20
10
(0,0)
ABSOLUTEDIMENSIONING
INCREMENIALDIMENSIONING
POINTS X Z POINTS U W
DIMENSION SYSTEM
10 15 10
(0,0)P1 10 0 P1 10 0
P2 10 -10 P2 0 -10
P3 20 -10 P3 10 0
P4 20 -25 P4 0 -15
P5 30 -25 P5 10 0
P6 30 -35 P6 0 -10
P2P1
P3 P4
P5 P6
P7
P8P9
70
40
70
100
20
70
100
Reference Point
POINTS X VALUE Y VALUE POINTS XVALUE Y VALUE
20
POINTS X VALUE Y VALUE
P1 0 0
P2 20 0
P3 20 20
P4 70 20
P5 70 0
P6 100 0
P7 100 40
P8 70 70
P9 0 70
POINTS XVALUE Y VALUE
P1 0 0
P2 20 0
P3 0 20
P4 50 0
P5 0 -20
P6 30 0
P7 0 40
P8 -30 30
P9 -70 0
ABSOLUTE SYSTEM (G90) INCREMENTAL SYSTEM (G91)
PREPARATORY FUNCTION (G - FUNCTION)
G codes are instructions describing tool movement
Common G-codes in turning
G00 Rapid Traverse
G01 Linear Interpolation (cutting feed)G02 Circular Interpolation (clockwise)G03 Circular Interpolation (counter clockwise)G20 Imperial (input in inches)G21 Metric (input in metric)G28 Goto Reference Point (Home Position)G70 Finishing CycleG71 Multiple Turning CycleG74 Peck Drilling CycleG76 Multiple Threading CycleG90 Box Turning CycleG98 Feed Per MinuteG99 Feed Per Rev.
PREPARATORY FUNCTION (G - FUNCTION)
G codes are instructions describing tool movement
Common G-codes in turning
G00 Rapid Traverse
G01 Linear Interpolation (cutting feed)G02 Circular Interpolation (clockwise)G03 Circular Interpolation (counter clockwise)G20 Imperial (input in inches)G21 Metric (input in metric)G28 Goto Reference Point (Home Position)G70 Finishing CycleG71 Multiple Turning CycleG74 Peck Drilling CycleG76 Multiple Threading CycleG90 Box Turning CycleG98 Feed Per MinuteG99 Feed Per Rev.
MISCELLANEOUS FUNCTIONS (M - CODES)
M00 Program Stop
M01 Optional Stop
M02 Program End
M03 Spindle Forward
M04 Spindle Reverse
M05 Spindle Stop
M Codes are instructions describing miscellaneous functions like callingthe tool, spindle rotation, coolant on/off etc.
M05 Spindle Stop
M06 Automatic Tool change
M08 Coolant On
M09 Coolant Off
M10 Vice / Chuck Open
M11 Vice / Chuck Close
M30 Program Stop & Rewind
M38 Door Open
M39 Door Close
M98 Sub program Call
M99 Subprogram Exit
CNC TRAIN SIMULATION SOFTWARE
Click Start menu - Programs - CNC simulation – CNCTRAIN
(or) Double click icon on the desktop
SCREEN DESCRIPTION
Main Menu
Simulation Screen
CNC Editor
Combo Box
SELECTION OF CONTROLLER TYPE
Click Control Type
For Turning select Fanuc O Turning
For Milling select Fanuc O Milling
How to write a new program
click
Click file on the main menu and click new CNC program andtype the program in the CNC editor screen .
How to load an existing program ?
2
1
3
1.Click file on the main menu and click load CNC program
2.Select a program and click open
3
How to save a CNC Program ?
click save as - enter file name - click save button - click yes to save
The existing program can also be saved by clicking - saveCNC program
• Editing the program
• Setting the tool and billet
• Simulation
PROCEDURE FOR EXECUTING A PROGRAM
• Editing the program
• Setting the tool and billet
• Simulation
Sample Program O0007G21 G98G28 U0 W0M06 T02 (Roughing tool )M03 S2000G00 X33 Z1G71 U0.5 R1G71 P1 Q2 U0.2 W0.0 F100N1 G01 X5G01 Z0G01 X10 Z-10G01 X10 Z-15G02 X20 Z-25 R10G01 X20 Z-30G03 X25 Z-37 R7G01 X25 Z-42G01 X32 Z-47N2 G01 X33G70 P1 Q2 S2500 F50G28 U0 W0M06 T0404 (Grooving tool)M03 S650G00 X21 Z-28G75 R1G75 X10. Z-30 P100 Q1000 F20G28 U0 W0M05M30
O0007G21 G98G28 U0 W0M06 T02 (Roughing tool )M03 S2000G00 X33 Z1G71 U0.5 R1G71 P1 Q2 U0.2 W0.0 F100N1 G01 X5G01 Z0G01 X10 Z-10G01 X10 Z-15G02 X20 Z-25 R10G01 X20 Z-30G03 X25 Z-37 R7G01 X25 Z-42G01 X32 Z-47N2 G01 X33G70 P1 Q2 S2500 F50G28 U0 W0M06 T0404 (Grooving tool)M03 S650G00 X21 Z-28G75 R1G75 X10. Z-30 P100 Q1000 F20G28 U0 W0M05M30
Edit ProgramClick File - new CNC Program from the mainClick Edit on the combo box
Click here to Edit orWriting the program
Type the program inthe Editor Screen
Saving the Program
Click : File - Save AsType file name : SampleClick Save icon
SETTING TOOL
Tool setting is done by clickingJob/Tooling - Tool Offset
Step 1
Step 2
Click the corresponding tool
Step 3
Click Select ToolingClick Select Tooling
Step 4 Double click to select tool from tool list
Step 5
Step 7
Click Tool offsets
Verify that left-hand tool is displayed on the tool 2 position
Likewise select the Tool4 (Grooving tool)by following step 2 to 8
Step 6
Step 8 click ok
Step 7
SETTING THE BILLET
Click Job/tooling-Billet Setting
Enter the length of billet
Enter the Dia of the billet
Click ok
SIMULATION
Click AUTOClick CYCLE START
Click RESET
Step1Step3
Step2
Left-hand Tool
Grooving Tool Finished ProgramGrooving Tool Finished Program
Information neededInformation needed by a CNCby a CNC
1. Preparatory Information: units, incremental or absolutepositioning
2. Coordinates: X,Y,Z, RX,RY,RZ3. Machining Parameters: Feed rate and spindle speed4. Coolant Control: On/Off, Flood, Mist5. Tool Control: Tool and tool parameters6. Cycle Functions: Type of action required7. Miscellaneous Control: Spindle on/off, direction of rotation,
stops for part movement
These information is conveyed to the machine through a setof instructions arranged in a desired sequence – Program.
CNC Programming
1. Preparatory Information: units, incremental or absolutepositioning
2. Coordinates: X,Y,Z, RX,RY,RZ3. Machining Parameters: Feed rate and spindle speed4. Coolant Control: On/Off, Flood, Mist5. Tool Control: Tool and tool parameters6. Cycle Functions: Type of action required7. Miscellaneous Control: Spindle on/off, direction of rotation,
stops for part movement
These information is conveyed to the machine through a setof instructions arranged in a desired sequence – Program.
BLOCK FORMATBLOCK FORMAT
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 feed rate.
Each may contain only one specified tool or spindle speed.
The block numbers should be sequential.
The data within a block should follow the sequence shownin the above 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 feed rate.
Each may contain only one specified tool or spindle speed.
The block numbers should be sequential.
The data within a block should follow the sequence shownin the above sample block
PROGRAM BUILD-UP FOR CNC LATHE(FANUC CONTROLLER)
START UP OF CNC PROGRAM
O1024
G21/G20 G98/G99 G40
G28 U0 W0
M06 T0101
M03 S1500
G00 X(VALUE) Z(VALUE)
While writing a program on fanuc controller first line has to bestarted with letter “o” followed by four digit number whichspecifies the program name.
G21 – This code specifies that program is done in metric units
G20 - This code specifies that program is done in Imperial units
G98 – Feed in mm/min
G99 - Feed in mm/rev
G40 – Cutter radius compensation cancel
G28 U0 W0- Makes the tool to go to home position.
M06 T0101 – Tool change. The first two digits after T specify thetool position in the turret and last two digits denotes the tool offsetnumber.
M03 – Makes the spindle rotate in clockwise direction
S1500 – Spindle rotates at 1500 rpm
G00 -Gives rapid position of the too to a point specified in the Xand Z address
O1024
G21/G20 G98/G99 G40
G28 U0 W0
M06 T0101
M03 S1500
G00 X(VALUE) Z(VALUE)
While writing a program on fanuc controller first line has to bestarted with letter “o” followed by four digit number whichspecifies the program name.
G21 – This code specifies that program is done in metric units
G20 - This code specifies that program is done in Imperial units
G98 – Feed in mm/min
G99 - Feed in mm/rev
G40 – Cutter radius compensation cancel
G28 U0 W0- Makes the tool to go to home position.
M06 T0101 – Tool change. The first two digits after T specify thetool position in the turret and last two digits denotes the tool offsetnumber.
M03 – Makes the spindle rotate in clockwise direction
S1500 – Spindle rotates at 1500 rpm
G00 -Gives rapid position of the too to a point specified in the Xand Z address
END OF THE PROGRAM
G28 U0 W0
M05
M30
G28 U0 W0- Makes the tool to go to home position.
M05 –Stop the spindle rotation
M30 – Program stop and rewind
PROGRAM BUILD-UP FOR CNC LATHE(FANUC CONTROLLER)
G28 U0 W0
M05
M30
G28 U0 W0- Makes the tool to go to home position.
M05 –Stop the spindle rotation
M30 – Program stop and rewind
PROGRAM FOR SIMPLE TURNING
CODE USED – G00, G01
Rapid Traverse
G00 X (VALUE) Z(Value)
SYNTAX
Linear Interpolation
G01 X (VALUE) Z(Value) F(Value)
Rapid Traverse
G00 X (VALUE) Z(Value)
50
ALL DIMENSION IN 'mm'
15.0
Ø30
G CODES USED - G00,G01
BILLET SIZE :Ø30 X 75
Ø27
SIMPLE TURNING( Using G00 and G01 )
O1000
N1 G21 G98
N2 G28 U0 W0
N3 M06 T0101
N4 M03 S2000
N5 G00 X30 Z1
N6 G00 X29 Z1
N7 G01 X29 Z-50 F50
N8 G01 X30 Z-50
N9 G00 X30 Z1
N10 G00 X28 Z1
N11 G01 X28 Z-50
N12 G01 X30 Z-50
N13 G00 X30 Z1
N14 G00 X 27 Z1
N15 G01 X27 Z-50
N16 G01 X30 Z-50
N17 G00 X30 Z1
N18 G28 U0 W0
N19 M05
N20 M30
50
ALL DIMENSION IN 'mm'
15.0
Ø30
G CODES USED - G00,G01
BILLET SIZE :Ø30 X 75
Ø27
O1000
N1 G21 G98
N2 G28 U0 W0
N3 M06 T0101
N4 M03 S2000
N5 G00 X30 Z1
N6 G00 X29 Z1
N7 G01 X29 Z-50 F50
N8 G01 X30 Z-50
N9 G00 X30 Z1
N10 G00 X28 Z1
N11 G01 X28 Z-50
N12 G01 X30 Z-50
N13 G00 X30 Z1
N14 G00 X 27 Z1
N15 G01 X27 Z-50
N16 G01 X30 Z-50
N17 G00 X30 Z1
N18 G28 U0 W0
N19 M05
N20 M30
Ø10
20 5
Ø40
BILLET SIZE :Ø40 X 75
G CODES USED - G00,G01
ALL DIMENSION IN 'mm'
SIMPLE FACING( Using G00 and G01 )
O1002
G21 G98
G28 U0 W0
M06 T0101
M03 S2000
G00 X41 Z1
G00 X41 Z-1
G01 X10 Z-1 F30
G01 X10 Z1
G00 X41 Z1
G00 X41 Z-2
G01 X10 F30
G01 Z1
G00 X41
Z-3
G01 X10 F30
G01 Z1
G00 X41
Z-4
G01 X10 F30
G01 Z1
G00 X41
Z-5
G0I X10 F30
G01 Z1
G28 U0 W0
M05
M30
Ø10
20 5
Ø40
BILLET SIZE :Ø40 X 75
G CODES USED - G00,G01
ALL DIMENSION IN 'mm'
O1002
G21 G98
G28 U0 W0
M06 T0101
M03 S2000
G00 X41 Z1
G00 X41 Z-1
G01 X10 Z-1 F30
G01 X10 Z1
G00 X41 Z1
G00 X41 Z-2
G01 X10 F30
G01 Z1
G00 X41
Z-3
G01 X10 F30
G01 Z1
G00 X41
Z-4
G01 X10 F30
G01 Z1
G00 X41
Z-5
G0I X10 F30
G01 Z1
G28 U0 W0
M05
M30
BOX TURNING CYCLE ( G90 )
G90 X (VALUE) Z(Value) F(Value)
SYNTAX
Tool movement
F
F
R
R
70
Ø22
Ø10
30
FEED RATE
PLAIN TURNING CYCLE
RA
PID
TR
AV
ER
SE
TOOL PATH
RAPID TRAVERSE
FEED
RA
TE
PROGRAM USING BOX TURNING CYCLEO1003G21 G98G28 U0 W0M06 T0404M03 S1500G00 X22 Z1G90 X21 Z-30 F60 (Box turning cycle)
X20X19X18X17X16X15X14X13X12X11X10G28 U0 W0M05M30
70
Ø22
Ø10
30
FEED RATE
PLAIN TURNING CYCLE
RA
PID
TR
AV
ER
SE
TOOL PATH
RAPID TRAVERSE
FEED
RA
TE
O1003G21 G98G28 U0 W0M06 T0404M03 S1500G00 X22 Z1G90 X21 Z-30 F60 (Box turning cycle)
X20X19X18X17X16X15X14X13X12X11X10G28 U0 W0M05M30
PROGRAM FOR TAPER TURNINGUSING G90 CODE
G90 X (VALUE) Z(Value) R (Value) F(Value)
SYNTAX
TAPER TURNING CYCLE R- TAPER TURNING CYCLE R+RapidRapid
FF Rapid F F
CALCULATING R VALUE
R = (Major dia - Minor dia) / 2
Rapid
Rapid
Rapid
CALCULATING R VALUE
R = (Minor dia - Major dia) / 2
SAMPLE PROGRAM – TAPER TURNINGDwg.No:06
G90 - TAPER TURNING R - ve
15Ø
25
Ø32
70
O1005
G21 G98
G28 U0 W0
M06 T0404
M03 S1200
G00 X32 Z1
G01 Z0 F60
(Box turning cycle)
G90 X32 Z-15 R-0.5 F60
X32 R-1
X32 R-1.5
X32 R-2
X32 R-2.5
X32 R-3
X32 R-3.5
G28 U0 W0
M05
M30
G90 TAPER TURNING R-
Dwg.No:06
G90 - TAPER TURNING R - ve
15Ø
25
Ø32
70
O1005
G21 G98
G28 U0 W0
M06 T0404
M03 S1200
G00 X32 Z1
G01 Z0 F60
(Box turning cycle)
G90 X32 Z-15 R-0.5 F60
X32 R-1
X32 R-1.5
X32 R-2
X32 R-2.5
X32 R-3
X32 R-3.5
G28 U0 W0
M05
M30R = (Minor dia - Major dia) / 2
= (25 - 32) /2 = -3.5
G90 TAPER TURNING R+
SAMPLE PROGRAM – TAPER TURNING
O1006
G21 G98
G28 U0 W0
M06 T0404
M03 S1200
G00 X33 Z-25
G01 X32 F60
G90 X31 Z-50 R0.5 F60
X30 R1
X29 R1.5
X28 R2
X27 R2.5
X26 R3
X25 R3.5
G28 U0 W0
M05
M30
O1006
G21 G98
G28 U0 W0
M06 T0404
M03 S1200
G00 X33 Z-25
G01 X32 F60
G90 X31 Z-50 R0.5 F60
X30 R1
X29 R1.5
X28 R2
X27 R2.5
X26 R3
X25 R3.5
G28 U0 W0
M05
M30R = (Major dia - Minor dia) / 2
= (32 - 25) /2 = 3.5
G02 Circular Interpolation (CW)G02 Circular Interpolation (CW)G03 Circular Interpolation (CW)G03 Circular Interpolation (CW)
The G02 command requiresan endpoint and a radius inorder to cut the arc.
I,J, and K are relative to thestart point.
N_ G02 X2 Y1 I0 J-1 F10or
N_ G02 X2 Y1 R1
The G02 command requiresan endpoint and a radius inorder to cut the arc.
I,J, and K are relative to thestart point.
N_ G02 X2 Y1 I0 J-1 F10or
N_ G02 X2 Y1 R1
MULTIPLE TURNING CYCLE ( G71 )
G71 U(Value) R(Value)
G71 P(Value) Q (Value) U (Value) W (Value) F (Value)
SYNTAX
U – Depth of cut, in mm
R – Retraction, in mm
P – Starting block number
Q – End block number
U - Finishing Allowance in ‘ X ‘ axis, in mmW - Finishing Allowance in ‘ Z ‘ axis, in mmF - Feed rate for the cycle
U – Depth of cut, in mm
R – Retraction, in mm
P – Starting block number
Q – End block number
U - Finishing Allowance in ‘ X ‘ axis, in mmW - Finishing Allowance in ‘ Z ‘ axis, in mmF - Feed rate for the cycle
FINISHING CYCLE ( G70 )
G70 P (Value) Q (Value) S (Value) F (Value)SYNTAX
P – Starting block number
Q – End block number
S – Spindle Speed for Finishing
F - Feed rate for finishing
PROGRAM USING MULTIPLE TURNING CYCLEDwg.No:09
G71 - MULTIPLE TURNING CYCLE
51015155
70
R5
R5Ø15
Ø10
Ø22
O1006
G21 G98
G28 U0 W0
M06 T0404
M03 S1200
G00 X22 Z1
(Multiple turning cycle
G71 U0.5 R1
G71 P10 Q20 U0.1 W0.1 F50
N10 G01 X0 Z0
G03 X10 Z-5 R5
G01 Z-15
G01 X15 Z-30
G01 Z-45
N20 G03 X22 Z-50 R5
(Finishing cycle
G70 P10 Q20 S2000 F30
G28 U0 W0
M05
M30
Dwg.No:09
G71 - MULTIPLE TURNING CYCLE
51015155
70
R5
R5Ø15
Ø10
Ø22
O1006
G21 G98
G28 U0 W0
M06 T0404
M03 S1200
G00 X22 Z1
(Multiple turning cycle
G71 U0.5 R1
G71 P10 Q20 U0.1 W0.1 F50
N10 G01 X0 Z0
G03 X10 Z-5 R5
G01 Z-15
G01 X15 Z-30
G01 Z-45
N20 G03 X22 Z-50 R5
(Finishing cycle
G70 P10 Q20 S2000 F30
G28 U0 W0
M05
M30
MULTIPLE FACING CYCLE ( G72 )
G72 W(Value) R(Value)
G72 P(Value) Q (Value) U (Value) W (Value) F (Value)
SYNTAX
W – Depth of cut in each passes along Z axis, in mm
R – Retraction, in mm
P – Starting block number
Q – End block number
U - Finishing Allowance in ‘ X ‘ axis, in mmW - Finishing Allowance in ‘ Z ‘ axis, in mmF - Feed rate for the cycle
W – Depth of cut in each passes along Z axis, in mm
R – Retraction, in mm
P – Starting block number
Q – End block number
U - Finishing Allowance in ‘ X ‘ axis, in mmW - Finishing Allowance in ‘ Z ‘ axis, in mmF - Feed rate for the cycle
PROGRAM USING MULTIPLE FACING CYCLE
N010 G21 G40 G98
N020 G28 U0 W0
N030 M06 T0404
N040 M03 S1200
N050 G00 X31 Z5
N060 G01 Z0
(Multiple facing cycle
N070 G72 W0.5 R1
N080 G72 P90 Q180 U0.2 W0.2 F30
N090 G01 Z-22.5 X30 F40
N100 X26
N110 Z-17.5
N120 X20 Z-15
N130 Z-10
N140 G02 X10 Z-5 R5 F40
N150 G01 Z-2.5 F50
N160 X5 Z0
N170 Z0
(Finishing cycle
N180 G70 P90 Q180
N190 G28 U0 W0
N200 M05
N210 M30
N010 G21 G40 G98
N020 G28 U0 W0
N030 M06 T0404
N040 M03 S1200
N050 G00 X31 Z5
N060 G01 Z0
(Multiple facing cycle
N070 G72 W0.5 R1
N080 G72 P90 Q180 U0.2 W0.2 F30
N090 G01 Z-22.5 X30 F40
N100 X26
N110 Z-17.5
N120 X20 Z-15
N130 Z-10
N140 G02 X10 Z-5 R5 F40
N150 G01 Z-2.5 F50
N160 X5 Z0
N170 Z0
(Finishing cycle
N180 G70 P90 Q180
N190 G28 U0 W0
N200 M05
N210 M30
PECK DRILLING CYCLE ( G74 )
G74 RG74 X0 Z Q F
SYNTAX
R – Retract value of each peck, in mm
Z – Final hole depth, in mm
Q – Peck increment in micron without sign
F – Feed rate
R – Retract value of each peck, in mm
Z – Final hole depth, in mm
Q – Peck increment in micron without sign
F – Feed rate
SAMPLE PROGRAM - PECK DRILLING
N010 G21 G40 G98N020 G28 U0 W0N030 M06 T0101 (Center drillN050 M03 S1500N060 G00 X0 Z3N070 G74 R1N080 G74 X0 Z-5 Q500 F30N085 G28 U0 W0N090 M06 T0303 (6mm drillN100 M03 S1500N110 G00 X0 Z3N120 G74 R1N130 G74 X0 Z-20 Q500 F30N140 G28 U0 W0N150 M06 T0505 (12mm drillN160 M03 S1000N170 G00 X0 Z3N180 G74 R1N190 G74 X0 Z-20 Q500 F30N200 G28 U0 W0N210 M05N220 M30
N010 G21 G40 G98N020 G28 U0 W0N030 M06 T0101 (Center drillN050 M03 S1500N060 G00 X0 Z3N070 G74 R1N080 G74 X0 Z-5 Q500 F30N085 G28 U0 W0N090 M06 T0303 (6mm drillN100 M03 S1500N110 G00 X0 Z3N120 G74 R1N130 G74 X0 Z-20 Q500 F30N140 G28 U0 W0N150 M06 T0505 (12mm drillN160 M03 S1000N170 G00 X0 Z3N180 G74 R1N190 G74 X0 Z-20 Q500 F30N200 G28 U0 W0N210 M05N220 M30
GROOVING CYCLE (G75 )
G75 RG75 X Z P Q F
SYNTAX
R – Retraction, in mm
X – Required Diameter, in mm
Z – Left end point of Groove in Z axis, in mm
P – Peck increment in each cut in ‘X’ axis, in micronQ – Z Axis stepping distance, in micron
F – Feed rate
R – Retraction, in mm
X – Required Diameter, in mm
Z – Left end point of Groove in Z axis, in mm
P – Peck increment in each cut in ‘X’ axis, in micronQ – Z Axis stepping distance, in micron
F – Feed rate
SAMPLE PROGRAM - GROOVINGDwg.No:13
G75 - GROOVING CYCLE
Ø32Ø28
70
155
O1007
G21 G98
G28 U0 W0
M06 T0404 (2mm Groove tool width)
M03 S 800
G00 X33 Z-17
G75 R1
G75 X28 Z-20 P200 Q1000 F20
G28 U0 W0
M05
M30
Dwg.No:13
G75 - GROOVING CYCLE
Ø32Ø28
70
155
O1007
G21 G98
G28 U0 W0
M06 T0404 (2mm Groove tool width)
M03 S 800
G00 X33 Z-17
G75 R1
G75 X28 Z-20 P200 Q1000 F20
G28 U0 W0
M05
M30
THREADING CYCLE ( G76 )
SYNTAX
Block 1P A(02)B(15)C(60),
A-First 2 digit – No of times to call the finishing cycle
B-Second 2 digit – Pullout angle, in deg
C-Last 2 digit – Thread angle, in deg
Q – depth of cut, in micron
R – Finishing allowance, in mm
Block 2X – Core Diameter of thread, in mm
Z – End of the Thread, in mm
P – Thread Height, in micron
Q – depth of first cut, in micron
F – Pitch of the thread, in mm
G76 P Q RG76 X Z P Q F
Block 1P A(02)B(15)C(60),
A-First 2 digit – No of times to call the finishing cycle
B-Second 2 digit – Pullout angle, in deg
C-Last 2 digit – Thread angle, in deg
Q – depth of cut, in micron
R – Finishing allowance, in mm
Block 2X – Core Diameter of thread, in mm
Z – End of the Thread, in mm
P – Thread Height, in micron
Q – depth of first cut, in micron
F – Pitch of the thread, in mm
M12 X 1.75
DIA25O1008G21 G98G28 U0 W0M06 T2M03 S400G00 X12 Z1G76 P031560 Q50 R0.1G76 X9.853 Z-15 P1073 Q100 F1.75G28 U0 W0M05M30
SAMPLE PROGRAM - THREADING
15
O1008G21 G98G28 U0 W0M06 T2M03 S400G00 X12 Z1G76 P031560 Q50 R0.1G76 X9.853 Z-15 P1073 Q100 F1.75G28 U0 W0M05M30
N010 G21 G40 G98N020 G28 U0 W0(Center drillN030 M06 T0101N050 M03 S1500N060 G00 X0 Z3N070 G74 R1N080 G74 X0 Z-5 Q500 F30(6mm drillN090 M06 T0303N100 M03 S1500N110 G00 X0 Z3N120 G74 R1N130 G74 X0 Z-20 Q500 F30N140 G28 U0 W0(12mm drillN150 N030 M06 T0505N160 M03 S1000N170 G00 X0 Z3
N180 G74 R1N190 G74 X0 Z-20 Q500 F30N200 G28 U0 W0(10mm boring barN210 M06 T0707N220 M03 S1200N230 G00 X12 Z2N240 G71 U0.5 R1N250 G71 P260 Q280 U0.2 W0.2 F50N260 G01 X24 Z0N270 G01 X12 Z-13N280 G01 X11N290 G70 P260 Q280 F50N300 G28 U0 W0N310 M05N320 M30
PROGRAM FOR DRILLING AND BORING
N010 G21 G40 G98N020 G28 U0 W0(Center drillN030 M06 T0101N050 M03 S1500N060 G00 X0 Z3N070 G74 R1N080 G74 X0 Z-5 Q500 F30(6mm drillN090 M06 T0303N100 M03 S1500N110 G00 X0 Z3N120 G74 R1N130 G74 X0 Z-20 Q500 F30N140 G28 U0 W0(12mm drillN150 N030 M06 T0505N160 M03 S1000N170 G00 X0 Z3
N180 G74 R1N190 G74 X0 Z-20 Q500 F30N200 G28 U0 W0(10mm boring barN210 M06 T0707N220 M03 S1200N230 G00 X12 Z2N240 G71 U0.5 R1N250 G71 P260 Q280 U0.2 W0.2 F50N260 G01 X24 Z0N270 G01 X12 Z-13N280 G01 X11N290 G70 P260 Q280 F50N300 G28 U0 W0N310 M05N320 M30
EXERCISE ON MULTIPLE TURNING CYCLEWRITE A CNC PROGRAM FOR MACHINING THE GIVEN COMPONENT
EXERCISE ON MULTIPLE FACING CYCLEWRITE A CNC PROGRAM FOR MACHINING THE GIVEN COMPONENT
EXERCISE ON GROOVING AND THREADINGWRITE A CNC PROGRAM FOR MACHINING THE GIVEN COMPONENT
5
M12
X 1
.75
155
1X45°Ø6
5
M12
X 1
.75
155
1X45°Ø6
EXERCISE ON MULTIPLE TURNING CYCLEWRITE A CNC PROGRAM FOR MACHINING THE GIVEN COMPONENT
MILLING PROGRAMMING ANDSIMULATION
MILLING PROGRAMMING ANDSIMULATION
File Menu
Options Menu
Dual Edit Option
Full Screen Mode
Graphics Options
View Options
Graphics Speed and Control Panel
Billet Setting
Tool Offset Select Tooling
Important M – Codes for Milling
M00 - Program Stop
M00 waits for EOB (end of program) to be pressed.
M02 - End of Program
M02 halt program execution. The spindle is turned off and the tool moves to the
most positive position on the Z axis.
M03 - Start Spindle
M04 - Reverse Spindle
M05 - Stop Spindle
M06 - Change Tool
M08 - Coolant On
M09 - Coolant Off
M70 - X Mirror On
M71 - Y Mirror On
M80 - X Mirror Off
M81 - Y Mirror Off
M98 - Subprogram Call
M99 - Subprogram Exit
M00 - Program Stop
M00 waits for EOB (end of program) to be pressed.
M02 - End of Program
M02 halt program execution. The spindle is turned off and the tool moves to the
most positive position on the Z axis.
M03 - Start Spindle
M04 - Reverse Spindle
M05 - Stop Spindle
M06 - Change Tool
M08 - Coolant On
M09 - Coolant Off
M70 - X Mirror On
M71 - Y Mirror On
M80 - X Mirror Off
M81 - Y Mirror Off
M98 - Subprogram Call
M99 - Subprogram Exit
Important G – Codes for Milling
G00 - Rapid Traverse or fast Traverse
G01 - Linear Interpolation or Slow Traverse
G02 - Clockwise Circular Interpolation
G03 - Counter - Clockwise Circular Interpolation
G04 - Dwell
G20 - Imperial Units
G21 - Metric Units
G28 - Go to Reference Point
G40 - Cancel Tool Radius Compensation
G41 - Left Hand Radius Compensation
G42 - Right Hand Radius Compensation
G73 - Peck Drilling Cycle
G90 - Absolute Movement
G91 - Incremental Movement
G94 - Per Minute Feed
G95 - Per Revolution Feed
G00 - Rapid Traverse or fast Traverse
G01 - Linear Interpolation or Slow Traverse
G02 - Clockwise Circular Interpolation
G03 - Counter - Clockwise Circular Interpolation
G04 - Dwell
G20 - Imperial Units
G21 - Metric Units
G28 - Go to Reference Point
G40 - Cancel Tool Radius Compensation
G41 - Left Hand Radius Compensation
G42 - Right Hand Radius Compensation
G73 - Peck Drilling Cycle
G90 - Absolute Movement
G91 - Incremental Movement
G94 - Per Minute Feed
G95 - Per Revolution Feed
Program using Linear and circular interpolation
O1694
[BILLET X100 Y100 Z10
N010 G21 G94
N020 G91 G28 Z0
N030 G28 X0 Y0
N040 M06 T2
N050 M03 S1200
N060 G90 G00 X-22.5 Y-37.5
N070 G00 Z5
N080 G01 Z-1 F50
N090 G03 X-37.5 Y-22.5 R15
N100 G01 Y22.5
N110 G03 X-22.5 Y37.5 R15
N120 G01 X22.5
N130 G02 X37.5 Y22.5 R15
N140 G01 Y-22.5
N150 G03 X22.5 Y-37.5 R15
N160 G01 X-22.5
O1694
[BILLET X100 Y100 Z10
N010 G21 G94
N020 G91 G28 Z0
N030 G28 X0 Y0
N040 M06 T2
N050 M03 S1200
N060 G90 G00 X-22.5 Y-37.5
N070 G00 Z5
N080 G01 Z-1 F50
N090 G03 X-37.5 Y-22.5 R15
N100 G01 Y22.5
N110 G03 X-22.5 Y37.5 R15
N120 G01 X22.5
N130 G02 X37.5 Y22.5 R15
N140 G01 Y-22.5
N150 G03 X22.5 Y-37.5 R15
N160 G01 X-22.5
N170 G00 Z5
N180 G00 X-15 Y0
N190 G01 Z-1 F50
N200 G03 X15 Y0 R15
N210 G03 X-15 Y0 R15
N220 G00 Z5
N230 M05
N240 G91 G28 Z0
N250 G28 X0 Y0
N260 M30
Deep Hole Peck Drilling Cycle ( G83 )
Syntax:G83 X___ Y___ Z___ Q___ R___ F___ ;
X__ Y__ : defined as the hole position, in absolute or incremental values.
Z__ : Distance from the reference point to the bottom of the hole in incremental
mode, or the position of the hole bottom in absolute mode.
R__ : Reference point in Z direction.
Q__ : defined as the Cut-in distance value or peck value. (Incremental only)
K__ : defined as the number of repeats, for a series of holes. When not specified K=1.
F__ : Feed rate
X__ Y__ : defined as the hole position, in absolute or incremental values.
Z__ : Distance from the reference point to the bottom of the hole in incremental
mode, or the position of the hole bottom in absolute mode.
R__ : Reference point in Z direction.
Q__ : defined as the Cut-in distance value or peck value. (Incremental only)
K__ : defined as the number of repeats, for a series of holes. When not specified K=1.
F__ : Feed rate
Circular Pocketing
G17Ø block,R defines the position of the tool to start cycle ie. 0 (surface of job).P defines roughing/ finishing cycle. (P is 0 for roughing cycle & 1 for finishing)Q defines the peck increment.X defines the pocket centre in X axis.Y defines the pocket centre in Y axis.Z defines the pocket base (depth) from job surface.I defines the side finish allowance.J defines the base finish allowance.K defines the radius of pocket. (Negative value - cut in CCW direction).
G171 block,P defines the cut width percentage.S defines the roughing spindle speed.R defines the roughing Feed in Z.F defines the roughing feed for X and Y.B defines the finishing spindle speed. (Not applicable for roughing only).J defines the finishing feed. (Not applicable for roughing only).
When setting offsets the value R must be included, R being the radius of the cutter.
The direction of the cutter path is controlled by K, a negative value for K means the cutter path is in aCCW direction and if the K value is positive the cutter path is in a CW direction.
The Q value is always positive.
Syntax :
N10 G170 R0 P0 Q3 X0 Y0 Z-6 I0 J0 K-24 ;
N20 G171 P75 S30 R75 F250 B3500 J200 ;
G17Ø block,R defines the position of the tool to start cycle ie. 0 (surface of job).P defines roughing/ finishing cycle. (P is 0 for roughing cycle & 1 for finishing)Q defines the peck increment.X defines the pocket centre in X axis.Y defines the pocket centre in Y axis.Z defines the pocket base (depth) from job surface.I defines the side finish allowance.J defines the base finish allowance.K defines the radius of pocket. (Negative value - cut in CCW direction).
G171 block,P defines the cut width percentage.S defines the roughing spindle speed.R defines the roughing Feed in Z.F defines the roughing feed for X and Y.B defines the finishing spindle speed. (Not applicable for roughing only).J defines the finishing feed. (Not applicable for roughing only).
When setting offsets the value R must be included, R being the radius of the cutter.
The direction of the cutter path is controlled by K, a negative value for K means the cutter path is in aCCW direction and if the K value is positive the cutter path is in a CW direction.
The Q value is always positive.
O 0002 ;
N10 G91 G28 X0 Y0 Z0 ;
N20 M06 T01 ;
N30 G90 G00 X0 Y0 Z10
N40 M03 S3000;
N50 G01 Z0 F300 ;
N60 G170 R0 P0 Q3 X0 Y0 Z-6 I0 J0 K-24 ;
N70 G171 P75 S3000 R75 F250 B3500 J200 ;
N80 G00 Z25 ;
N90 M05 ;
N100 G91 G28 X0 Y0 Z0 ;
N110 M30 ;
Program for Circular Pocketing
O 0002 ;
N10 G91 G28 X0 Y0 Z0 ;
N20 M06 T01 ;
N30 G90 G00 X0 Y0 Z10
N40 M03 S3000;
N50 G01 Z0 F300 ;
N60 G170 R0 P0 Q3 X0 Y0 Z-6 I0 J0 K-24 ;
N70 G171 P75 S3000 R75 F250 B3500 J200 ;
N80 G00 Z25 ;
N90 M05 ;
N100 G91 G28 X0 Y0 Z0 ;
N110 M30 ;
Rectangular Pocketing
For G172 block,I defines the pocket X length.J defines the pocket Y length.K defines the radius of corner roundness.P defines that 0 = roughing cycle.Q defines the pocket Z increment.R defines the Absolute Z reference point.X defines the pocket corner X (Absolute position relative to the X datum position).Y defines the pocket corner Y (Absolute position relative to the Y datum position).Z defines the absolute Z base of pocket (depth).
For G173 block,I defines the pocket side finishing allowance.K defines the pocket base finishing allowance.P defines the cut width percentage (% of tool dia.).T defines the pocket tool.S defines the spindle speed for roughing.R defines the roughing feed for Z .F defines the roughing feed X and Y .B defines the finishing spindle speed.J defines the finishing feed.Z defines the safety Z position above 'R' point.
Syntax:
N10 G172 I-50 K0 P0 Q3 R0 X-25 Y-25 Z-6
N20 G173 I0 K0 P75 T1 S300 R75 F250 B3500 J200 Z5For G172 block,
I defines the pocket X length.J defines the pocket Y length.K defines the radius of corner roundness.P defines that 0 = roughing cycle.Q defines the pocket Z increment.R defines the Absolute Z reference point.X defines the pocket corner X (Absolute position relative to the X datum position).Y defines the pocket corner Y (Absolute position relative to the Y datum position).Z defines the absolute Z base of pocket (depth).
For G173 block,I defines the pocket side finishing allowance.K defines the pocket base finishing allowance.P defines the cut width percentage (% of tool dia.).T defines the pocket tool.S defines the spindle speed for roughing.R defines the roughing feed for Z .F defines the roughing feed X and Y .B defines the finishing spindle speed.J defines the finishing feed.Z defines the safety Z position above 'R' point.
Program for Rectangular Pocketing
O 0005 ;
N10 G91 G21 G28 X0 Y0 Z0 ;
N20 M06 T01 ;
N30 G00 X0 Y0 Z10 S3000 M03 ;
N40 G01 Z0 F300 ;
N50 G172 I-50 K0 P0 Q3 R0 X-25 Y-25 Z-6 ;
N60 G173 I0 K0 P75 T1 S300 R75 F250 B3500 J200 Z5 ;
N70 G00 Z25 M05 ;
N80 G91 G28 X0 Y0 Z0 ;
N90 M30 ;
O 0005 ;
N10 G91 G21 G28 X0 Y0 Z0 ;
N20 M06 T01 ;
N30 G00 X0 Y0 Z10 S3000 M03 ;
N40 G01 Z0 F300 ;
N50 G172 I-50 K0 P0 Q3 R0 X-25 Y-25 Z-6 ;
N60 G173 I0 K0 P75 T1 S300 R75 F250 B3500 J200 Z5 ;
N70 G00 Z25 M05 ;
N80 G91 G28 X0 Y0 Z0 ;
N90 M30 ;
M70 - X Mirror On M70 sets X axis mirroring about the current X axis position.
M71 - Y Mirror On M71 sets Y axis mirroring about the current Y axis position.
M80 - X Mirror Off M80 disables X axis mirroring
M81 - Y Mirror Off M81 disables Y axis mirroring
M98 - Subprogram Call
M98 causes another program to be executed. The "P" value specifies the program number and
the number of times to execute it. The right most 4 digits are the program number. The digits to the left are
the number of repetitions. There can be up to 999 repetitions, if the value is omitted it is called once.
Examples: M98 P12and M98 P10012 both execute CNC program 12 once.
M99 - Subprogram Exit
Returns control to the program that called the current program.
If a "P" value is specified then execution begins form the block with the same "N" number, otherwise it is
form the block after the subprogram call.
If an M99 is specified in the main program then the execution is from the start of the program. This is
called looping (or) nesting of one or more programs
Example: M99 - Returns to the block following the call.M99 P10 - Returns to the block with "N" value 10.
Sub-program call and Mirroring
M70 - X Mirror On M70 sets X axis mirroring about the current X axis position.
M71 - Y Mirror On M71 sets Y axis mirroring about the current Y axis position.
M80 - X Mirror Off M80 disables X axis mirroring
M81 - Y Mirror Off M81 disables Y axis mirroring
M98 - Subprogram Call
M98 causes another program to be executed. The "P" value specifies the program number and
the number of times to execute it. The right most 4 digits are the program number. The digits to the left are
the number of repetitions. There can be up to 999 repetitions, if the value is omitted it is called once.
Examples: M98 P12and M98 P10012 both execute CNC program 12 once.
M99 - Subprogram Exit
Returns control to the program that called the current program.
If a "P" value is specified then execution begins form the block with the same "N" number, otherwise it is
form the block after the subprogram call.
If an M99 is specified in the main program then the execution is from the start of the program. This is
called looping (or) nesting of one or more programs
Example: M99 - Returns to the block following the call.M99 P10 - Returns to the block with "N" value 10.
[BILLET X100 Y100 X10
N010 G21 G94
N020 G91 G28 Z0
N030 G28 X0 Y0
N040 M06 T2
N050 M03 S1800
N060 G90 G00 X0 Y0
N070 G00 Z5
N080 M98 P10008
N090 M70
N100 M98 P10008
N110 M80
N120 M70
N130 M71
N140 M98 P10008
N150 M80
N160 M81
N170 M71
N180 M98 P10008
N190 M81
N200 G00 Z5
N210 M05
N220 G91 G28 Z0
N230 G28 X0 Y0
N240 M30
Program by Mirroring Option
[BILLET X100 Y100 X10
N010 G21 G94
N020 G91 G28 Z0
N030 G28 X0 Y0
N040 M06 T2
N050 M03 S1800
N060 G90 G00 X0 Y0
N070 G00 Z5
N080 M98 P10008
N090 M70
N100 M98 P10008
N110 M80
N120 M70
N130 M71
N140 M98 P10008
N150 M80
N160 M81
N170 M71
N180 M98 P10008
N190 M81
N200 G00 Z5
N210 M05
N220 G91 G28 Z0
N230 G28 X0 Y0
N240 M30
O 0008 Subprogram
N010 G90 G00 X10 Y10
N020 G01 Z -1 F50
N030 X40
N040 X10 Y40
N050 Y10
N060 G00 Z6
N070 G00 X0 Y0
N080 M99
EXERCISE ON CONTOUR MILLING
EXERCISE ON CONTOUR MILLING AND CIRCULAR POCKETING
EXERCISE ON CONTOUR MILLING AND RECTANGULAR POCKETING
EXERCISE ON MIRRORING