Let's start out by explaining WHY THIS IS IMPORTANT !!!
- No depth of cut or point calculations required ... all you need to do it describe the finish profile and the control does all the work.
- Cutting conditions in the real world are dictated by the actual process of stock removal. Sure you're sitting in your office and writing the program ... everything looks great ... inevitably when you start to actually do the cutting, things change. When using a canned cycle ... to change the depth of cut ... finish allowance ... feedrate ... they are all just edits to one variable in the canned cycle line. What could be easier !!! If you wrote the code long hand ... you have to re-generate the code each time you want to make any of these changes.
- ENUF said ... the CORRECT way to program any rough cutting is to use a canned cycle ... period. Whether through a CAD/CAM system or whatever. Anybody who tells you different is a poor programmer.
The cycle will will outline in this blog post is the G71 cycle in Fanuc / Haas controls ... and the G85/G81 cycle in Okuma OSP controls. This cycle will remove the material along the Z axis, taking depth of cut along the X axis. The command line will define the cutting parameters such as depth of cut, feedrate and finish material to leave as well as telling the control where to look for the finish profile of the part. Usually the command line includes (2) N numbers or some other start / end variables. The control looks between these start / end variables to see what the finished shape looks like. The user uses what amount to a standard finish cut G code program to define that finished shape and places that G code in-between those start / end variables.
For the CNC controls covered here, the same basic programming format and programming steps should be observed. The first steps are to establish three points that are required to help describe to the CNC control the finished shape desired. These are outlined in more detail in the ANIMATION sequence for this code.
A) Pt. A : Clearance point in the X axis
Clearance point in the Z axis
B) Pt. B : Along the X plane established by Pt. A, last X diameter of the profile
Same Z axis plane as Pt. A.
C) Pt. C : Same X plane as Pt. A.
Along the Z plane as established by Pt. A, last Z face along the contour.
Once the three points above are calculated, the following programming sequence can be used :
a) Start the tools process as normal which means index the tool and start the spindle.
b) Rapid the tool to point A using the normal format rapid approach.
c) Command the CANNED CYCLE block as explained below.
FADAL, HAAS & Fanuc Controls ( Models 6,10,11,12,15 ) :
G71 Pxxxx Qxxxx Uxxxx Wxxxx Dxxxx Fxxxx ;
P = Sequence (N) number of the first block of the finish shape program.
Q = Sequence (N) number of the last block of the finish shape program.
U = Amount and direction of the finish allowance in the X axis ( diameter value in diameter
programming ).
W = Amount and direction of the finish allowance in the Z axis.
D = Depth of cut (radius value) - no decimal point allowed (format = xxx.xxxx) - no sign allowed.
F = Feedrate in roughing - this value overrides any feedrate commanded between P and Q.
Option : S and T commands - Good programming practice would place these commands active earlier in the programming sequence.
Fanuc Controls :
( Models 0,16,18,20,21 )
G71 Uxxxx Rxxxx ;
G71 Pxxxx Qxxxx Uxxxx Wxxxx Fxxxx ;
U = Depth of cut - radius value
R = Retract Amount - the amount the tool will retract before returning to the start for next depth
of cut.
P = Sequence (N) number of the first block of the finish shape program.
Q = Sequence (N) number of the last block of the finish shape program.
U = Amount and direction of the finish allowance in the X axis ( diameter value in diameter
programming ).
W = Amount and direction of the finish allowance in the Z axis.
F = Feedrate in roughing - this value overrides any feedrate commanded between P and Q.
Option : S and T commands - Good programming practice would place these commands active earlier in the programming sequence.
OSP Controls :
G85 Nxxxx Dxxxx Fxxxx Uxxxx Wxxxx ;
N = Sequence (N) number of the first block of the finish shape program. Last sequence is described as the line containing the G80 command.
D = Depth of cut (radius value).
F = Feedrate in roughing - this value overrides any feedrate commanded between P and Q.
U = Amount and direction of the finish allowance in the X axis ( diameter value in diameter
programming ).
W = Amount and direction of the finish allowance in the Z axis.
Option : S and T commands - Good programming practice would place these commands active earlier in the programming sequence.
d) Continue the program by programming the finish shape starting with a rapid move from Pt. A to Pt. B.. The type of command used here (G00 or G01) will determine the roughing cycle move as it moves in this direction during the roughing process. This block must be labeled with the start sequence number specified in the call in the CANNED CYCLE block.
Fanuc control's have two types of canned cycles called TYPE I and TYPE II. The TYPE I cycle only allows for finished shapes where the axis are moving in one direction ... which basically means that no type of "pockets" can be included in the contour. TYPE II cycles are generally an option but do allow for non-continuous type contours.
Initiating a TYPE I or TYPE II cycle takes place in this block ... the move from POINT A to POINT B. If a two axis move ... both X and Z or U and W are included in this block ... than a TYPE II cycle is initiated if available. If the option is not present ... an alarm is usually generated alerting the user that the option is not available.
In the above example ... and since the Z axis plane of Point A and Point B should be the same ... an incremental move of zero in the axis is usually included just to get the cycle initiated. For example :
G00X1.250W0;
... this move will not effect the movement but since both an X and Z move are commanded ... the TYPE II cycle will be initiated.
e) Complete the program for the tool path to go all around the part contour from Pt. B around the part and ending at Pt. C. You may use G01, G02 or G03 for tool movement as long as the shape is always vertical in the X axis and horizontal in the Z axis. No pocketing is allowed in the shape (Type I only - Type II canned cycles do have this capability). This block must be labeled with the end sequence number specified in the call in the CANNED CYCLE block.
f) Finish the program with a rapid move from Pt. C back to Pt. A. The type of command used here (G00 or G01) will determine the roughing cycle move as it moves in this direction (retract) during the roughing process.
g) Return the tool, like normal, to the indexing position or, while the tool is at Pt. A, call the FINISHING CANNED CYCLE using the same P and Q sequence numbers to finish the part with the same tool.
This outline is fairly complete ... but it may take a little trying and testing for you to get the hang of it ... but the benefits are worth the effort. The ease of editing the cutting conditions and changing or altering the profile make this cycle powerful and real world. If you can master the use of this cycle ... you will reap the benefits for the rest of your programming life. If someone tells you different ... don't believe them. And if you run across someone who never uses it or doesn't know how to use it ... consider them a poor programmer.
Until next time ... Happy Chip Making !!
At Kentech Inc. we are MACHINISTS who create Real World Machine Shop Software.
Who creates the machine shop software guiding your shop's future ??
Check out all our REAL WORLD CNC & MACHINE SHOP titles at
Check out all our REAL WORLD CNC & MACHINE SHOP titles at
No comments:
Post a Comment