Reducing Program Execution Time
How much cutting motion time is in your program? If you’re interested in reducing program execution time, it is helpful to determine how much of the program’s execution time is related to cutting motions (G01, G02, G03 and so on) and how much is related to non-cutting motions including rapid motions, tool changes and miscellaneous functions. Wouldn’t it be nice if all of program execution time is cutting motion time? This is not possible—but unless you know how much of a program’s execution is made up of non-cutting motion time, you’ll never consider improving it.
How much cutting motion time is in your program? If you’re interested in reducing program execution time, it is helpful to determine how much of the program’s execution time is related to cutting motions (G01, G02, G03 and so on) and how much is related to non-cutting motions including rapid motions, tool changes and miscellaneous functions. Wouldn’t it be nice if all of program execution time is cutting motion time? This is not possible—but unless you know how much of a program’s execution is made up of non-cutting motion time, you’ll never consider improving it. You can use the simple technique we show to easily determine the relationship of cutting motion time to non-cutting motion time. And you may be surprised at how much of a program’s execution is non-cutting!
Our technique requires that you run and time your program’s execution twice. The first time, run and time the program as you will in production, with feed rate override set to 100 percent. Be sure other time-related functions are properly set (dry run is turned off, single block is turned off, rapid override is set to 100 percent, and so on). For the second time, set the feed rate override switch to 200 percent. (You cannot, of course, be running a workpiece for this test.) Make a note of both times.
When you run the program the second time with feedrate override set to 200 percent, the cutting motions will occur twice as fast as they did during the first running of the program. The difference in time between the first and second running of the program represents half the program’s cutting time. Simply double this difference in time to determine the program’s cutting motion time. To determine non-cutting motion time, subtract the cutting motion time you’ve just determined from the total program execution time.
Say, for example, the first time you run the program (with feedrate override at 100 percent), the time is 4 minutes, 50 seconds. When you set feedrate override to 200 percent and run the program again, the time comes out to 3 minutes, 15 seconds. In this case, the difference (1 minutes, 35 seconds) represents half the normal cutting time. You must double this value (3 minutes, 10 seconds) to determine cutting time. Subtract cutting time from total program execution time (the time for the first running of the program) to determine non-cutting motion time (1 minute, 40 seconds in our case). For this example, about 35 percent of the program’s execution is non-cutting motion time.
Not all of cutting motion time, of course, is cutting time. Each time a tool begins to cut the workpiece, there will always be a certain amount of time required for the tool to get into the cut. Most programmers rapid each tool to within about 0.100 inch (or 2.5 mm) from the surface to be machined. During this approach to the surface, of course, the tool is not cutting.
With your stopwatch still in hand, run the program one more time in the normal fashion (100 percent feed rate override) while actually machining a workpiece. Once each tool approaches, start the stopwatch. As soon as you see a chip beginning to form, stop the stopwatch. As you continue this technique for each tool, the stopwatch will accumulate time. When finished, you’ll have total air cutting time.
I can’t stress enough the importance of knowing where you stand with current methods before you undertake any improvement. These techniques will help anyone serious about reducing program execution time know four important times: total program execution time, cutting motion time, non-cutting motion time, and air cutting time.
Related Content
4 Ways 3D Printing Is Changing Medical Implants
Additive manufacturing provides new ways of making medical implants, but its impact is greater than this. How 3D printing is changing medical manufacturing and improving patient outcomes.
Read MoreA Case for Combining Workholding with Optical Scanning
Automotive dies and die inserts are often complex, one-off parts with little room for error. Integrity Tool's investments in modular workholding tools and 3D optical scanning have allowed the company to create niche capabilities for its CNC machined parts.
Read MoreFive Areas of CNC Machining to Simplify With G Code
Optimizing G code to make CNC setup and operation simpler is a great way to improve CNC productivity and sometimes prevent errors.
Read MoreHow to Start a Swiss Machining Department From Scratch
When Shamrock Precision needed to cut production time of its bread-and-butter parts in half, it turned to a new type of machine tool and a new CAM system. Here’s how the company succeeded, despite the newness of it all.
Read MoreRead Next
The Automation Event for CNC Machine Shops
Get sensible, real-world automation solutions during this half-day workshop co-located with IMTS 2024.
Read MoreIMTS Elevate Workshop: Make Your Shop a Top Shop
This ½-day program offers attendees insight into the results from this year's Modern Machine Shop Top Shops annual benchmarking survey.
Read MoreA History of Precision: The Invention and Evolution of Swiss-Style Machining
In the late 1800s, a new technology — Swiss-type machines — emerged to serve Switzerland’s growing watchmaking industry. Today, Swiss-machined parts are ubiquitous, and there’s a good reason for that: No other machining technology can produce tiny, complex components more efficiently or at higher quality.
Read More