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.