Removing Unnecessary Code

It goes without saying that most machine tool users would like shorter cycle times producing more parts per hour and thus earn more money and in this regard faster rapid traverse rates, faster feedrates, bigger depths of cuts will all have a big impact. 

At Haas we also know that allowing the control system to do the work for you can also have a significant effect, particularly where the removal of unnecessary code simplifies the program and avoids duplication of commands.

Take the example below for a standard section of program to drill and tap a hole, this would be the format many people will use both on a Haas and perhaps more so on competitors machines where the codes are essential. 

G81 Z-25. F500. (finish last drill) ; 
G00 G91 Z0 G28 (move Z up) ; 
M05 (stop spindle) ; 
M19 (orient spindle) ; 
T02 M06 (change tools); 
G54 H02 G43 Z50. (bring Z down to hole) ; 
S1600 M03 (turn on spindle) ; 
M08 (turn on coolant); 
G84 G90 Z-20. F800. (tap one hole) ;

By removing the lines not required on a Haas control we have the revised and simplified program below:

G81 Z-25. F500. (finish last hole) ; 
T02 M06 (change tools) ; 
G54 H02 G43 Z50. (bring Z down to hole) ; 
G84 Z-20. S1600 F800. (tap one hole) ; 

This 'new' program completes the same operations but in a back to back comparison on a standard Haas VF-2SS there was a four second saving - no changes to speeds/feeds or depths of cut - just program simplification. 

This saving is achieved through the control carrying out functions concurrently such as moving the Z-axis up to toolchange position whilst stopping the spindle since the control 'knows' that tools cannot be changed whilst the spindle is running it automatically applies an M05 command in the back ground. The example given is representative of the coding generated by many CAM systems and yet minor modifications to the post processors will provide significant cycle time savings that are essentially for free!