Haas Factory Outlet A Division of Productivity Inc Haas Mill Series Training Manual Advanced Programming Techniques Revised 032114 (Printed 03-2014)
For more information on Additional Training Opportunities or our Classroom Schedule, Contact the Productivity Inc Applications Department in Minneapolis: ' 763.476.8600 Visit us on the Web: www.productivity.com Click on the Training Registration Button * trainingmn@productivity.
Advanced Programming Techniques – Table of Contents ADVANCED HAAS PROGRAM TECHNIQUES.................................................................................................................. 2 HAAS PROGRAMMER OPTIMIZER ...................................................................................................................................... 2 HAAS ADVANCED TOOL LIFE MANAGEMENT .................................................................................................................
Advanced Haas Program Techniques Haas Programmer Optimizer The Haas Program Optimizer allows feed and speed overrides, coolant P changes, notes to be saved after a program has been run for the first time. First the program is run in memory and any changes to speed or feed are made thru the override keys. If the coolant position is not correct usually the machine is put on Feed Hold and the P coolant position is adjusted using the CLNT UP or CLNT DOWN keys.
The following pop up appears giving what the override feed will be. To change the feed press the ALTER key. The feed on Line 5 is changed to 55 and the old feed rate F50 is put in parenthesis in the program. On line N6 the speed override is highlighted and the Enter key is pressed. A similar pop up appears for the Speed Override. See below: Alter previous SPEED was selected and confirmation pop appears below. Alter key is pressed.
The following gives the edits which have been made to the original code. The new Speed and Feed are changed and the old speed and feed rates are put in parenthesis. Cursor to the M08 on block N41.
Press the Enter key. The following pop up appears. Pressing the Enter key again and M08 will be entered on line N5. Highlighting POS 15 notes that the Programmable Coolant Position was changed on N6. Pressing the Enter key gives the following pop up. Highlighting Alter P-Cool Position and pressing Enter gives: Pressing ALTER will change the Coolant Position in offsets page to 15. Next, cursor to the note column and highlight the ADD PASS.
Pressing Enter will add the note to the Program: The advantage of using the program optimizer is that any changes that have been made using the override keys, the coolant position keys, coolant on or off keys, or any notes will be stored. These changes may then be made permanent into the original program with relative ease.
Haas Advanced Tool Life Management Advanced Tool Management allows several of the same tools to be loaded in the machine. They are automatically called up when the life of one of them is ended. For example, when the tool life of T1 is used up, the machine will automatically index to the next identical or back up tool. The machine will not switch to the new tool in the middle of a program.
The 1000 Group was set up identified as ¼ INCH DRILL. In G-Code a particular tool group is denoted by using T1000 instead of T1. See the G-Code below T1000 M6 (T1) (1/4 inch drill) G90 G54 G00 X1.0 Y1.0 (XY Start Point) S400 M03 G43 H1000 Z1.0 M08 (H code same as the group number) Note the H value must also call out the group number. If any D values are used in the program relating to tool group 1000 they must also use the group number.
Below gives an Advanced Tool Management screen where two tools have already expired and T3 is the active too which is doing the drilling. Note in the upper left hand corner the Tool Group Window: Group 1000 was set up as group ¼ DRILL. The manner in which the tools were to be used was IN ORDER. In the Tool Life Limits Window in the right upper corner the limit for the drill is set to 6 HOLES. The black bar on top gives that Tool 3 is in the Spindle. The Tool Data screen is the active screen above.
Another way to visually manage Tool Life is in the Tool Life page in Current Commands. See below. Highlighted in blue is the tool that is in the spindle. Note on the right LIFE column T3 has 17% life left. Note that all the tools with a blue asterisk are the tools being used in Tool Management Group ID 1000 given in the lower right box. After Tool 3 expires Tool 4 will be called up. After all the tools in the Tool Management have expired an alarm 471 will come up (OUT OF TOOLS).
Haas Fixture Clamp Input (Mill Parameter 738) In high production environments it is easy for the machine operator to forget to clamp a fixture or vise before the cycle start button is depressed. During the normal work routine the operator may be interrupted or distracted and fails to clamp the vise or collet. When this happens the tool is usually destroyed and the vise jaws or fixture become damaged and need replacement. To prevent this from happening Haas provides a Fixture Clamp Input.
Advanced Haas Mill Programming Techniques Training Manual Page 12
Advanced settings Setting 53 – Jog w/o Zero Return When a Haas vertical machining is powered up using the power on key the machine has the requirement to be taken home in the X, Y and Z axes. This is accomplished by first depressing the orange RESET key which turns on the servo motors. Then the POWER UP blue key beside it must depressed to take the machine to Home. At home the X, Y and Z machine coordinates are set to zero. First the Z goes to home, then the X and Y go to Home position.
Below is an example of a Tool Offset file. First Tool Length data along with coolant position and wear are stored from H1 to H200. Next Work Offset data is stored G52-G59. Then extra work offset data is stored as G110 corresponding to G154 P1 to G154 P99. At the end data on the location of tools in pocket is stored titled (POCKETS AND TOOLS). When loading the offsets the (POCKETS AND TOOLS) data is only loaded if setting 155 is set to ON (see next section).
G154 P99 X0.0000 Y0.0000 Z0.0000 A0.000 B0.000 C0.000 G92 X0.0000 Y0.0000 Z0.0000 A0.000 B0.000 C0.
Below is an example of a Pockets & Tools file. Interpretation of the file is somewhat counter intuitive. The T’s represent pocket positions while the P represent Tool numbers. L72 represents a heavy tool and L32 represents a regular tool. T01 represents a tool in the spindle. T02 represents a pocket position #1. Per table below Tool 19 (P19) would be in pocket position #1. In the third line Tool 20 (P20) would be in pocket position #2 (T03). The spindle probe is T24.
Tool Length Offset and Cutter Radius Compensation Techniques Tool Length Offset Compensation Tool length compensation allows the programmer to not worry about the length of the tool and program to the top surface of the part. Normally the top surface of the part is set as Z zero. The following command turns on tool compensation for a particular tool. In this instance Tool #1. G43 H01 Z.1 The above command (normally given with the machine in the rapid mode, G00) will rapid to .
Cutter Radius Compensation Sizing Cutter radius compensation allows the programmer to forget about the radius of the tool and essentially program the features on the print. The computer inside the controls figures which coordinate values need to be changed to reflect the radius of the cutter. The following command turns cutter compensation on: G41 X.0 D1. The D value is stored in the Tool Offset page under the D column for each tool.
Contour Cutting Around the Outside Using Cutter Compensation In the above example the part is cut and the 4.000” measures 3.980”. Now the part is being cut on two sides so .01” needs to be added to each side. If the D is in diameters (+.02”) is added to the D Wear. If the D is in radii (+.01”) is added to the D Wear column for tool #1. Roughing Applications Using Cutter Compensation One of advantages of using Cutter Compensation is that different size tools can be used with the same program.
Another advantage with using tool compensation is that the same tool path used for finishing may be used with a roughing tool. All that needs to be done is to manipulate the D value for the roughing tool. The tool paths for both will be the same. A separate roughing tool path does not need to be created. Additionally the amount left with the roughing end mill may be easily changed. Note that T2 the D value is .540, .04 larger than the size of the tool. As the machine D is set to diameters .
Chamfering using Tool Compensation Using tool compensation parts may easily be chamfered using the right tools. A chamfering operation may be easily added to the program example on page 16. To create the chamfer a ¼” 90 degree point carbide N/C spot drill is selected. Then a tool operation is added using the same tool path found in sub routine N100, see below. The depth that the tool is set to go is Z-.080. If the tool is uncompensated the part will end up with an .08 chamfer with a nasty bur at the bottom.
Secondary D offsets Sometimes two different features created by the same tool cannot be held in tolerance. If it is a close tolerance one feature may be held in tolerance while the other runs out of tolerance. This may be controlled by creating both features using different D values and creating the features with cutter compensation. An example would be two different counter bores created using the G13 function with just the I value.
G12, G13 Circular Pocket Milling • • • Used for milling circular pockets G12 [D..
Example of multiple pass milling using I, K, and Q variables. The code is also turned into incremental positioning with G91 and an L added. So the code is repeated 3 times stepping down Z-.5 each pass. Milling a 3.0” diameter 1.5” deep pocket using an 0.5” end mill. O0010 ; T1 M06 ; G90 G54 G00 X1.0 Y1.0 ; S1500 M03 ; G43 Z0.1 H1 M08; G1 Z0 F30. G13 G91 Z-0.5 I0.3 K1.5 Q0.3 D01 F15. L3; G90 ; G00 Z0.1 M09 ; G28 G91 Y0 Z0 ; M30 ; Note the motion of the cutter is counter clockwise using G13 instead of G12.
Arc On, Arc Off with Tool Compensation When finish machining a part a rule of thumb is always leave equal amounts of stock on all features in milling or turning. The reason for this is because of tool pressure. Tool pressure is the amount of force that is generated on a tool when it is cutting. A deeper cut creates more force on the tool than a smaller cut. Tool pressure has a tendency to deflect the tool away from the part. The larger the tool pressure the larger the deflection of the tool.
Example of Arc On Arc Off Using G41 Cutter Compensation In this example the tool starts ½ “ away from the edge of the finished part. It turns on and off tool compensation with a ½” move parallel to the surface of the part. It creates a ½ “ radius when it arcs on and off. It forms a 90 degree arc. The arrows on G41 indicate the moves when cutter compensation is turned on. It then arcs onto the contour part.
Closed Slot Exercise Program closed slot with a 4 flute carbide 5/8 inch end mill ramping down at 2°. Arc on and arc off with radius of .35. Speed of 1500 ft/min and .005/rev-tooth feed rate. O03902 (SMID CLOSED SLOT) N1 G28 N2 T17 M06 N3 G90 G54 G00 X___ Y____ S_____ M03 (ST POSITION RIGHT SID OF SLOT) N4 G43 Z0.1 H17 M08 N5 G01 Z0 F80.
Corner Rounding and Chamfering Corner rounding and chamfering may be used to shorten and make it easier to write programs. With this utility the end points of chamfers and radii are automatically calculated. For chamfers ,C with the length of the chamfer indicated is used. For radii a ,R with the size of the radius indicated. The chamfering or corner rounding block may be inserted between two linear or G01 blocks. These two blocks specify a corner of the intersection of the two linear moves.
Class Exercise: T1- 2” Face Mill (S4000, F50.) T2- 1” Carbide Insert Drill (S 675 Ft/Min) F .005/Rev T3- Two Flute ½ Diameter Carbide End Mill (S800 Ft/Min, F .004 In/Rev) Use arc on arc off to finish cut outside of part, Use G13 with G91 to finish ID Diameter to 1.100 inch step down 2 times. T4- 3/8” Carbide Spot Drill 90 degree point, chamfer outside and inside bore, spot holes to leave .3 chamfer diameter. T5- #7 High Speed Drill S 250 Ft/min F.
% O00024 (2X2X1 CLASS VF-2 ) T1 M06 (2 INCH FACE MILL) T2 (2 X 2.05 X 1) G00 G90 G54 X____ Y0 S4000 M03 G43 H01 Z0.1 M08 G01 Z0 F__. X-____ (END POSITION) G00 Z0.1 M09 G53 Z0 M01 T2 M06 (1.0 INSERT DRILL) T__ (STAGE NEXT TOOL) G00 G90 G54 X__ Y__ S____ M03 G___ H__ Z0.1 G81 Z____ R0.1 F___ G00 G80 Z0.1 M05 G53 Z0 H00 M01 (START POSITION) (TURN ON TOOL LENGTH COMPENSATION) T2 M06 (.5 END MILL) (D=.5) T3 G00 G90 G54 X-1.5 Y0 S_____ M03 G43 H02 Z1. M08 G01 Z-0.5 F80. G01 G___ D__ Y-___ F80.
T3 M06 (CHAMFER SPOT) (SET D=.___) T4 G00 G90 G54 X-1.5 Y0 S5000 M03 G43 H03 Z1. M08 G01 Z-0.0__ F80. G01 G41 D03 Y-___ F___. (TURN ON CUTTER COMP) G03 X-___ Y__ R0.___ F50. (ARC ON) G01 Y__. ,R0.___ G01 X___. Y___. ,R____ G01 X____ Y____. ,C____ G01 X___. Y-____. ,C____ G01 Y___ G03 X-____ Y0.____ R0.___ G01 G40 Y___ G00 Z0.1 X0 Y0 G13 I0.____ D03 Z-0.0_ F50. (CHAMFER BORE) G00 Z0.1 G00 G90 G54 X0. Y0. G81 Z-0.___ R0.1 F11. L0 (SPOT FACE BHC) G70 I____ J___ L___ G00 G80 Z0.
(\) Block Delete Application Block Delete, also called Optional Skip, determines what happens when a line of code has a back slash mark (/). On Haas controls a Block Delete key is located on the Memory line of the Mode Keys. When it is depressed a Block Delete in black background appears on the lower right hand corner of the Control Screen. When the control of the machine sees a back slash it looks to see if the Block Delete is active.
Controlling Feed and Speeds for different materials within the same program If the same part is made of two different materials, different speeds for the different materials may be controlled within the same program using the Bock Delete function. This will save you from having two different programs of the same part made of different materials. The following example is given for making the same part out of medium alloy steel and cast iron.
Using Block Delete for Removing Unexpected Extra Stock, Call Sub Routine Many times material comes in with extra stock. This may be dealt with by adding another operation or just adding passes to the current program that is to be run. Using the Block Delete function extra passes may just be turned on when they are needed within the same program. See lathe program below. In this example some parts to be machined come with .25” stock over nominal length. O00010 (EX BLOCK DELETE TO ADD PASSES) G28 (IF STOCK <.
Block Delete may also be used for facing off extra stock on a mill. The material comes in at .65” to .75” thick. The maximum amount to be taken off per pass is .100”. Top face of the finished part is Z0. An extra pass is added with block deletes below. O00012 (CLASS) N1 T1 M06 (2 INCH FACE MILL) N2 T2 (IF STOCK LESS THAN .1 TURN BLOCK DELETE ON) N3 G00 G90 G54 X3.25 Y0 M03 S3600 N4 G43 H01 Z0.2 / N5 G01 Z.1 F5.5 / N6 X-3.25 / N7 G00 Z.2 / N8 X3.25 N9 G01 Z0 F5.5 N10X-3.25 N11 G00 Z0.
Using Block Delete for Removing Features (Subtracting Features) Block Delete may be used on similar parts where the only difference is that a feature has been subtracted. Instead of creating another program with subtracted features block delete may be used to subtract features within the same program. Part 101 Part 102 The only difference from Part 101 and Part 102 is that 4 interior holes have been subtracted from Part 102.
O101 (PART 101 AND 102) G40 G49 G80 G90 (USE BLOCK DELETE FOR P/N 102) T1 M06 (3/16 DIAM DRILL) G00 G90 G54 X-1.0 Y0.5 M03 S2400 G43 H01 Z1. M08 G83 Z-0.65 R0.1 F4. Q.2 /X-.5 /X.5 X1.0 Y-1.0 /X0.5 /X-.5 X-1.0 G00 G80 Z1.
Class Exercise: Block Delete Use block delete so the same program on page 28 may be used for cutting 1018 steel and aluminum T1- 2” Face Mill (S4000, F50.) 1018 Steel S500 ft/min, .0025/rev, 5 teeth T2- 1” Carbide Insert Drill (S 675 Ft/Min) F .005/Rev 1018 Steel S400 ft/min, .003”/rev T3- Two Flute ½ Diameter Carbide End Mill (S800 Ft/Min, F .004 In/Rev)\ 1018 Steel S400 ft/min .004 in/rev Use arc on arc off to finish cut outside of part, Use G13 with G91 to finish ID Diameter to 1.
G68 Coordinate Rotation Coordinate Rotation or Coordinate System Rotation allows a program that is described by orthogonal coordinates to be rotated along an axis. What this allows is a program that is described by axis perpendicular to each other to be machined at an angle. In the G17 mode the plane is described by X and Y coordinates in a typical top view drawing.
G68 can be used in the G17, G18 or G19 planes. G17, G18 or G19 must be called up in the program before the G68 command or the default G17 will be used. The format for G68: G17 G68 Annn Bnnn Rnnn A and B describe the corresponding axis or center of rotation coordinates for the selected plane. For G17 Xnnn and Ynnn would be used, G18 Xnnn and Znnn, G19 Ynnn Znnn. If no coordinates are called out on the G68 command line the axis of rotation will be at the current location of the machine.
Applications Rotation of part to fit work area on table Below the part is longer than the work envelope of a Haas vertical machining center VF-3YT in X. By rotating the part 30° counterclockwise the part now fits within the work envelope of the machine. The axis of rotation must be determined along with the appropriate angle of rotation to use G68 +R.
Below the Bolt Hole Circles are called out from the lower left hand corner of the part on the print. The part however will not fit on the table in that orientation. By rotating the part 90° clockwise the part will fit within the travel of the machine. In this example the part may be programmed with the part zero the lower left hand corner from the print. In the clockwise rotated state using G68 R-90. the upper left hand corner will then become the part zero reference point.
Incremental G68 Incremental G68 with sub routines may be used to program parts with repeating tool paths which rotate around some central point. To use incremental G68 Setting #73 G68 INCREMENTAL ANGLE must be turned to ON in Haas machines. Below five ¾ in wide closed slots are located around the center of the part. A carbide 5/8 inch end mill is used to ramp down at 2° back and forth, finishes the bottom, and radiuses on and off to finish the .200 depth and the ¾ in width of the slots.
The following code may be used to program all five slots. First the tool is called up, a 5/8 carbide end mill in the main program. Then the sub program O03904 is called which describes the tool path of the slot at 3 o’clock. That slot will be machined ending with the tool 1 inch above the part. Then the sub program O3905 is call up 4 times using L4. Program O03905 incrementally rotates the coordinate 72° counter clockwise around the part zero (X0, Y0) then calls up the tool path program O03904.
G51 Scaling The Scaling Function is used when a program has already been created but needs to enlarged or shrunk to fill a particular need. Examples of scaling function usage include: · Similar parts programming with identical part geometry which are proportional to each other. · Programming parts to allow for a shrinkage factor from heat treat or other processes. · Fitting engraved characters or logos to a particular location and size. The G51 scaling code is optional on Haas machines.
Datum Shift In the print below we have a repeating bolt hold pattern in 4 different places. It would be nice to program the pattern once and repeat it three times just by shifting the center over. This is possible by using a datum shift. This can be performed by using local coordinate system G52. G52 is a coordinate system within a parent system (G54-G59). G52 is also called a child coordinate or global coordinate.
O1212 G00 G53 Z0 T3 M6 (3/32 DRILL) G90G54 G00 X1.5 Y-1.0 M03 S1200 G43 Z1.0 H3 M08 G52 X1.5 Y-1.0 G98 G83 Z-.53 R0 Q.1 F10. L0 X.188 Y.188 X-.188 Y-.188 X.188 G80 Z1.0 G52 X4.5 Y-1.0 G00 X0 Y0 G98 G83 Z-.53 R0 Q.1 F10. L0 X.188 Y.188 X-.188 Y-.188 X.188 G80 Z1.0 G52 X4.5 Y-2.0 G00 X0 Y0 G98 G83 Z-.53 R0 Q.1 F10. L0 X.188 Y.188 X-.188 Y-.188 X.188 G80 Z1.0 G52 X1.5 Y-2.0 G00 X0 Y0 G98 G83 Z-.53 R0 Q.1 F10. L0 X.188 Y.188 X-.188 Y-.188 X.188 G80 Z1.
G10 Usage Benefits of Setting Work Offsets, Tool Length, Cutter Compensation Values thru a Program In small job shops the machine operator usually sets work, tool length and cutter compensation offset values during set up of different jobs. In high volume manufacturing where individual machines are dedicated to a family of parts or where a fixture is never removed from a machine data such as work, tool, and cutter compensation offsets can be saved and loaded into the machine thru the program using G10s.
Sub Routine Programs Sub programs are used when some type of repetitive set of locations or cycles are used more than once. To keep the length of the program shorter the repetitive instructions or codes are separated out as a sub program or sub routine and called up when needed. This not only keeps the program length shorter, it also is easier to write and verify the program. The shorter the program, the less likely errors will show up.
N10 G98 G83 Z-.53 R0 Q.1 F10. L0 (DRILL SUB PROGRAM) X.188 Y.188 X-.188 Y-.188 X.188 G80 Z1.0 M99 The same part can be programmed without work offset shifts if the drilling subroutine is programmed in G91 (Incremental Positioning). This creates an even shorter program. O01214 (SUB G91) G00 G53 Z0 T3 M06 (3/32 DRILL) G90 G54 G00 X1.5 Y-1. M03 S1200 G43 Z1. H03 M08 M97 P10 X4.5 Y-1. M97 P10 X4.5 Y-2. M97 P10 X1.5 Y-2. M97 P10 G53 Z0 G49 M30 N10 G91 G98 G83 Z-0.53 R0 Q0.1 F10. L0 X0.188 Y0.188 X-0.375 Y-0.
Repeating Subprograms using L If multiple depths of cuts need to be taken to create a feature, a subprogram can be developed using G91 which can be repeated multiple times using the L value. M97 PXXX LXX will repeat subprogram NXXX LXX number of times. The following example illustrates making a 13/16” diameter groove 1/16” wide .05” deep. If the material is a tough like D-2 tool steel a prudent programmer may take five individual cuts .010” deep.
Multi-Level Nesting Applications In the examples shown so far the subprogram or subroutines do not call up another subprogram. This is referred to as one level nesting. If a subprogram calls up another subprogram it is called two level nesting. Below is program using two level nesting. The four pockets are milled with a .375 diameter 2 flute end mill. S.F.M.=200. FEED PER TOOTH=.004 O01111 (MULTIPLE POCKET NESTING SUB ROUTINES) G80 G90 G40 G49 G17 G00 G53 Z0 T1 M06 (.375 END MILL) G00 G90 G54 X2. Y-1.
O01000 (POCKET SUB) G150 R0.1 Z-0.5 I0.3 Q0.25 D01 F15. P2000 K0.01 G41 G91 G40 Y-0.1875 M99 O02000 (POCKET CONTOUR SUB) G91 Y1. X-1. G03 X-0.5 Y-0.5 R0.5 G01 Y-1. G03 X0.5 Y-0.5 R0.5 G01 X2. G03 X0.5 Y0.5 R0.5 G01 Y1. G03 X-0.5 Y0.5 R0.5 G01 X-1. G90 M99 The main program takes the tool to the center of each pocket. Then it calls up the Pocket Sub program calling up G150 which is a pocket milling canned cycle. The G150 calls up another program which defines the pocket contour in G91 incremental positioning.
Helical Milling A helix is a curved movement around a cylinder with a simultaneous linear advance at a constant rate. Another definition is a spiral. It may also be described as any shape that resembles a screw. Below is a helix with four revolutions. Isometric View Top View Front View The program format for creating a helix : G03 Xxxx Yxxx Zxxx Ibbb Jccc . X and Y are the start and finish location of the arc in the helix in X and Y.
OD Thread Milling In vertical machining centers tapping is the predominant method of creating threads. In some situations however it is difficult or impractical to use taps. In these instances thread milling may be the only way to create threads. A thread mill is a cutter formed with the pitch of the thread desired. Solid carbide cutters are fragile and expensive. Internal holes smaller than 3/8” may not possible or practical to create using solid carbide thread mills.
ID (Internal) Thread Milling Threads are created using helical movements in machining centers. Using a standard G02 or G03 move with a Z move equal to the pitch of thread will create threads with corresponding diameters. This creates one turn of a thread. With multiple teeth on a thread cutter more than one thread is cut. The line of code below will create a one inch radius circle for a 20 pitch right hand thread. This creates a 2 inch diameter thread with 20 threads per inch.
Creating the Code Program G-Code for creating 2.0 inch diameter x 8 thread per inch through a hole .5 deep. The hole is cut to the minor of the thread which is 1.849 in. Z0 is top face of part. Hole is at coordinates of X0, Y0. D2 is set to the diameter of the mill cutter Cutter is a 2 flute with a diameter of .75 Surface Feet per Minute = 100 Feed per Tooth = .004 RPM = 3.82 x SFM = 3.82 x 100 = 509 Diameter .75 Inch/min = RPM x Feed x # flutes = 509 x .004 x 2 = 4.
Thread Mill Exercise Thread Mill a 1.5 Diameter x 10 TPI through hole .5 deep. Use a .5 diameter 4 flute thread mill using cutter comp. SFM = 400 Feed = .004/rev. Hole is cut to 1.379, the thread minor. N1 T2 M6 (MILL THREAD) N2 G00 G54 G90 X Y M03 S N3 G43 H2 Z.1 M08 N4 G01 ZF50. N5 G41 X YD2 N6 G03 X Y I J ZF N7 G03 I- Z-. N8 G03 X. Y. I- J Z N9 G01 G40 X0 Y0 F50.
General Program G90 G00 G54 G43 H1X0 Y0 Z10 S--G00 Z- ( TO THREAD DEPTH ) G01 G91 G41 D1 X(A/2) Y-(A/2) Z0 F--G03 X(A/2) Y(A/2) R(A/2) Z(1/8 PITCH) G03 X0 Y0 I-(A) J0 Z(PITCH) G03 X-(A/2) Y(A/2) R(A/2) Z(1/8 PITCH) G01 G40 X-(A/2) Y-(A/2) Z0 G90 X0 Y0 Z0 Internal Thread EXAMPLE : 11/4-12UN (Thread depth .71) TOOLHOLDER : SR0790 H21 (Cutting Dia. .79) INSERT: 21 I 12 UN A = (1.25 - .79)/2 = .23 G90 G00 G54 G43 H1X0 Y0 Z0.39 S2800 G00 Z-0.71 G01 G91 G41X0.1150 Y-0.1150 Z0 F3.35 D1 G03 X0.1150 Y0.1150 R0.
External Threads For climb cutting external right hand threads a clockwise helical move G02 is made in the negative Z direction. See figure below. In this example the tool makes a tangential arc on to the minor diameter of the thread. Then is makes a clockwise move G02 to cut the thread. For a left hand thread a positive Z helical movement would be required. As noted on the previous page various thread mill tool suppliers software will create code for external and internal threading.
% N5 O1234 N10 G90 G0 G17 G40 D0 G54 G20 G80 G94 N15 ( CREATED BY ADVENT THREAD MILLING APPLICATION ) N20 ( THIS PROGRAM IS PRODUCED WITH NOMINAL NUMBERS. ) N25 ( YOU MUST ADJUST WITH YOUR OFFSET FOR YOUR PERFECT SIZE! ) N30 ( TOOL CENTER PROGRAM SET TOOL OFFSET D = 0) N35 ( UN 1-12 RH OUTER THREAD IN 420 ) N40 ( TOOL=01-TA-01-F3-9 w/ ATM-38B 12) N45 ( CUTTING SPEED=240, CHIPLOAD=0.0012 ) N50 ( FEED AT CUTTING EDGE=11, RPM=3055 ) N55 ( AT D0.9008 TOOL CENTER FEED = F14.
Helical Ramping Helical interpolation can be used for drilling or plunge cutting into solid materials. Normally it is necessary to pre drill a hole undersize and then take the hole to size with an end mill. If an end mill is center cut ground it may also be plunged into solid material however it is not very fast and tool life may be limited. In the above situations all the cutting is done on the end of the tool. Using helical ramping the cutting is done on the cutter sides not the bottom.
% O00011 (HELICAL RAMPING) G00 G17 G40 G49 G80 G90 G98 (HELICAL RAMPING TO DRILL 1” HOLE) G00 G53 Z0 T17 M06 (5/8 ENDMILL) G90 G54 G00 X0 Y0 M03 S1200 G43 H17 Z0.1 M08 G01 Z0.1 F50. G41 X0.5 D17 F11.5 G91 G03 I-0.5 Z-0.1 L12 G90 G01 G40 X0 G00 Z1. M09 G91 G28 Z0 M05 M30 % Ramping techniques used similar to helical ramping may be applied to many shapes like ovals, squares, rectangles, diamonds and many different shapes. Ramping is also used when cutting features in hard materials such as D-2 tool steels.
4th Axis Machining (Milling) Rotary devices are used on vertical as well as horizontal milling machine centers to present several sides of the work piece to the spindle. This reduces the number of set ups and programs needed to manufacture a part. Reducing the number of set ups also reduces machine down time increasing the overall the number of parts that may be produced over a certain amount of time.
Above shows the HA5C mounted along the X-axis of a vertical machining center. Haas indexers are set up two different ways: Semi-Fourth and Full Fourth Axis Operation. In the semifourth mode a separate servo controller with a completely separate program controls the rotation of the work piece. The host machine sends out a M21 command, the indexer rotates the amount indicated in its internal program and then sends a finish signal back to the host machine.
Semi-Fourth Axis Operation To drill four holes 90⁰ apart in illustration on the next page first the CNC mill must be positioned to a start drilling position on the part. With respect to the HC5C indexer the part is sticking out on the left. G54 has been selected with X0 being the end of the part and Y0 the centerline of the part and Z0 the top of the part. The servo controller program consists of 5 different pieces of information: STEP#, STEP SIZE, FEED RATE, LOOP COUNT, and G CODE.
With full fourth axis operation rotation of the indexer is called out in the main program. The program to drill the same part with fully integrated fourth axis: O1 (DRILL 4 X 1/8” 90⁰ APART) G0 G53 Z0 T1 M6 G0 G54 G90 X1.0 Y0 M3 S1833 G0 G43 Z1.0 M8 A0 G81 Z-.185 R.1 F5.5 A90 A180 A270 G00 G80 Z1.0 M09 A0 (INDEXER TO 0) G00 G49 G53 Z0 M30 Full 4th Axis Rotation Spiral grooving is possible with full 4th axis rotation.
The following calculations if using Haas Servo Controller: Calculation of feed rate in degrees/second: 1) Calculate radial move of cut in inches Calculate degrees movement= number of revolutions x 360 With X0 the end of part, the start position in X-.093 End position in X=2.187-(.187/2)=X2.0935 Total distance travelled in X=.093+2.0935= 2.187 inches Degrees travelled: 2.187 x 360 degrees= 787.32 degrees Pitch(1) Total distance cutter travelled over material when not moving in x-axis.
The G94 command is used with the servo controller to control simultaneous angular motion of the indexer with axis motion of the mill. G94 in the control program is followed by degrees of rotation and the feed rate in degrees per second in the next step of the program. STEP STEP SIZE FEED RATE LOOP COUNT G CODE 01 0 270.000 1 [94] 02 [-787.32] [48.35] 1 1 [91] 03 0 270.000 1 [88] 04 0 270.000 1 [99] G94 pulses the MFIN relay and allows the CNC to proceed. The program in the CNC mill: N1 G54 G90 G00 X-.
Extra Axis Coordinate System The illustration below at first glance gives confusing information. By convention an A axis rotates around the X-axis. Using the right hand rule when the thumb is pointed in the positive X direction a positive rotation will be in the direction of the fingers are pointed. This is indicated in the illustration below right. Another way to look at it is, if you are facing the rotary head, a positive rotation is clockwise.
The graphics below shows an absolute G90 clockwise positive rotation to an A90 position from A0 position viewed from the left side. Left side view of rotary table at A0 (home position) G90 G00 A90 (Absolute A90 Move) Below left shows an absolute move from A0 to A270. The faster way would be to put the machine in G91 and incrementally move G91 A-90 as shown bottom right. It still presents the A270 side to the spindle.
One of the disadvantages with progressive incremental moves in the rotary axes is the accumulation of large A degree values. If four tools were used on each of the four sides and only incrementally one way large A values could accumulate: 4 x 4 x 90 = 1440⁰. If the rotary tables is commanded to go home to A0 if may take a considerable amount of time for the rotary table to unwind itself. Large A values may also accumulate when long spiral grooves are machined.
Multiple Fixture Offset Method Above shows locations where work offsets G54 and G55 are used for each work piece placed on different sides of a rotary fixture. The locations reflect the datum point where all the dimensions come off the print. The top faces of the parts are Z0. This is the most commonly used method when using rotary devices. If more than two parts are located on the same side of the fixture they are each given a separate work offset.
4-Axis Machining Example Below shows a simple block that needs to machined on 4 surfaces. The block has four ¼ in holes with 3/8 counter bore. Both 4” ends need to be machined to size and 5/16 holes drilled thru halfway each side. The back side needs holes drilled and tapped into the cross 5/16 holes.
Below is a fixture designed by Productivity’s Automation Department to hold two hydraulic vises. The fixture is attaches to a Haas HRT210 on the right side with an A frame support on the left side. Below shows the block to be machined in the vises. The right vise has the top orthogonal view. The left vise has the back view but is rotated 90⁰. The ¼ thru hole with 3/8 counter bore may be machined in the right vise. The 8-32 thread drilled and tapped in vise on the left.
Below the A = 90⁰. In this position the end of the part may be faced off and the 5/16 hole drilled halfway thru the part. Below the fixture is in the A270⁰ position. The other end may be faced off to the overall length of 4 inches and the 5/16 hole drilled halfway to meet the hole drilled from position A90⁰.
Machining Sequence: Op 1: Face off end of part in right hand vise in fixture A90⁰ position. Drill and chamfer 5/16 hole halfway thru part. Op 2: Face off end of part in right hand vise in fixture position A270⁰ position to overall length of 4”. Finish chamfer and drill 5/16 thru hole to meet hole from Op 1. Op 3: Drill ¼ hole thru part, counter bore 3/8 hole x ¼” deep. Op 4: Drill and tap 8-32 thread thru to meet 5/16 hole. Chamfer ¼” holes.
Program and tool selection: Op 1 and Op 2: A 1 ½” Weldon Shank Kennametal index able end mill with three inserts is selected to face off the ends of the block. According to Kennametal the ideal cutter diameter to part width or cut ratio is 1:1.5. For better tool life ¼ of the cutter diameter should be outside the work piece. This results in a negative angle of entry. (Kennametal Milling Catalog 6050 Inch, Copyright 2008, Kennametal inc., Latrobe, PA 15650, p.
M10 G00 G90 G55 X3.85 Y-1.375 M03 S1220 ( 480 FT/MN) G43 H01 Z1. M08 Z0.1 G01 Z0 F50. G01 X-0.85 F9.7 (.002/REV) G00 Z1. M09 G91 G28 Z0 M05 T2 M06 (90 DEG DRILL) G00 G90 G55 X1. Y-0.5 M03 S1020 G43 H02 Z1. M08 G99 G82 Z-0.202 R0.1 F2. P0.2 X2. G00 G80 Z1. M09 G91 G28 Z0 M05 T3 M06 (1/4 DRILL) G00 G90 G55 X1. Y-0.5 M03 S980 G43 H02 Z1. M08 G99 G83 Z-1.09 R0.1 F3.9 Q0.25 X2. G00 G80 Z1. M09 G91 G28 Z0 M05 M11 G90 A0 (INDEX TO A0) M10 T2 M06 (90 DEG DRILL) G00 G90 G56 X0.5 Y0.
T4 M06 (3/8 END MILL) G00 G90 G56 X0.5 Y0.5 M03 S1528 G43 H05 Z1. M08 G99 G82 Z-0.25 R0.1 F12.2 P0.25 X2.5 Y3.5 X0.5 G00 G80 Z1. M09 G91 G28 Z0 M05 (LEFT SIDE VISE G57) T2 M06 (90 DEG DRILL) G00 G90 G57 X1. Y1. M03 S1020 G43 H02 Z1. M08 G99 G82 Z-0.078 R0.1 F2. P0.2 Y2. X3. Y1. X0.5 Y0.5 Z-0.14 Y2.5 X3.5 Y0.5 G00 G80 Z1. M09 G91 G28 Z0 M05 T5 M06 (8-32 TAP) G00 G90 G57 X1. Y1. S790 G43 H02 Z1. M08 G99 G84 Z-0.62 R0.2 F24.87 Y2. X3. Y1. G00 G80 Z1. M09 G91 G28 Z0 M05 G53 Y0 G53 X-1.
Haas Quikchange Tooling Systems QuikCube System QuikPlate System Tooling Block System Advanced Haas Mill Programming Techniques Training Manual Page 82
Thread Mill Exercise Solution Thread Mill a 1.5 Diameter x 10 TPI through hole .5 deep. Use a .5 diameter 4 flute thread mill using cutter comp. SFM = 400 Feed = .004/rev. Hole is cut to 1.379, the thread minor. RPM = 3.82 x SFM = 3.82 x 400 = 3056 Diameter .5 Inch/min = RPM x Feed x # flutes = 3056 x .004 x 4 = 48.
References Haas Automation Rotary/Tailstock Operator’s Manual, December 2012, 96-0315 rev R, Haas Automation Inc., 2800 Sturgis Road, Oxnard, CA 93030, Tel. 888-817-4227 Fax 805-278-8561, www.HaasCNC.com Haas Automation HA5C Operator’s Manual, January, 2006, 96-4039 rev M, Haas Automation Inc., 2800 Sturgis Road, Oxnard, CA 93030, Tel. 888-817-4227 Fax 805-278-8561, www.HaasCNC.com Haas Automation HRT Operator’s Manual, January 2006, 96-5047 rev M, Haas Automation Inc.