Optimizing G code is a low-cost way to improve CNC efficiency without sacrificing usability and safety. #cnctechtalk
Efficiently programmed ATCs and internalized M codes are two ways to increase CNC efficiency. Photo Credit: Thinkstock
Recently, these columns have focused on factors that contribute to the productivity of G-code programs, such as consistency, compatibility, ease of use and safety. Improving programs in these areas usually results in better machining efficiency. That is, when making programs more consistent and compatible, easier to use and safer to run, the machines — and the people running them — can naturally be more productive.
When it comes to efficiency, however, one must be careful. When doing something that improves efficiency, the machining may become more difficult and, in turn, more dangerous. By increasing the proficiency of the people running the machine, this may be an acceptable outcome. Having greater proficiency will allow CNC users to safely perform more complicated tasks.
That said, I will concentrate here on G-code programming techniques that improve efficiency and do not — for the most part — sacrifice usability or safety. There are, of course, countless improvements that one can make to processing, fixturing and cutting tools that will help reduce program execution time. But here we concentrate on techniques that are free, requiring only restructuring a program to execute more quickly.
As with all my columns about productivity, my intention is to inspire readers to consider their own CNC environment and look for ways it can be optimized. Use my suggestions to get started.
When possible (and safe), ensure that as many axes are moving together during non-cutting commands. This includes approach, retract and motions as tools move from one machined surface to another. When approaching during machining center programs, however, if the operators are accustomed to seeing X/Y axis movements first, then the Z axis movement, they may be nervous about seeing all axes moving together within 0.1 inch (2.5 mm) of the work surface. If so, bring the tool 1.0 inch (25.0 mm) above the work surface in the Z axis first, then rapid the rest of the way in Z axis.
Be sure to include M codes with motion commands whenever feasible. This includes spindle on and off and coolant on and off. This way, the M code’s activation time will be internal to the time it takes to make the motion (or vise versa). This is especially important with machines that allow only one M code per command. For these machines, it is impossible to start or stop the coolant and spindle at the same time unless the machine builder provides additional M codes for this purpose.
While this may be common knowledge, here are a few reminders:
With turning centers, inefficiently programmed constant surface speed is indicated by the spindle slowing down and speeding up during tool changes. This adds to program execution time because the spindle commonly takes longer to slow down and speed up than to perform the retract/approach motion. This also places undue wear and tear on the spindle drive system and wastes electricity.
To remedy this for consecutive tools that use constant surface speed:
Analyze programs as they run and eliminate reasons for the machine to pause. If there is a pause during a tool change, this is because the magazine is still rotating to the next tool. Place the tools in consecutive order in the magazine. If the tool has changed but there is a delay before the tool begins its first movement, then the machine is changing spindle ranges. Understand the cutoff point for spindle range changing and run tools that require the same range consecutively when possible.
If there is a lengthy pause between pecks during peck drilling cycles, reduce the parameter value. For the G73 cycle, 0.005 inch is appropriate, while 0.04 inch is appropriate for the G83 cycle. A parameter controls the back-up amount between pecks and most machine tool builders set them very conservatively.
A company’s CNC needs can vary depending on what it produces.
A custom-macro-based system can predict when a tool will become dull.
Here is a list of websites I frequently use to solve CNC-related problems and learn more about the subject.