CNC Tips and Techniques. Peter Smid
program code for a specific tool. Some changes can be possible only if the control system offers certain optional features. Equally important is knowing when not to upgrade. Program upgrading for a small nonrepetitive batch of parts may be counterproductive and not worth the time required to make the changes.
Program Updating
Program updating is not as common as program upgrading. It involves a change to the program due to a change in the engineering drawing. This situation occurs more frequently in companies that design and manufacture their own product. Jobs shops also experience a drawing change, often initiated by the customer or after mutual consultation with the customer. Often a single dimensional change may require a major program update. Talk to the part designer or engineer about tolerances that appear too tight. It is not unusual to find tolerances that can be opened up — we all know that the closer the tolerance, the more expensive it is to make the part. With more significant changes to the drawing, a complete program rewrite may often be required and worth the extra time.
The last, but not least, consideration is the quality and skills of the CNC programmers and the CNC machine operators. Good training combined with experience will reward every shop owner in a relatively short time. As a shop owner, try to provide your employees with quality training — it will pay off in no time.
Lathe Cycles — To Use or Not to Use? July 2004, updated February 2013 |
If we have to name a single major benefit that modern CNC technology has offered over the initial NC technology, it would have to be the various forms of machining cycles. Yes, those small routines save much of programmers’ time and calculations. CNC machining centers have had their ubiquitous G81, G82, G83, etc., for drilling, boring, tapping, and other operations related to hole machining for a long time. This group of special cycles makes perfect sense for the part programmer because even companies specializing in complex 3D can use them efficiently, albeit occasionally. Virtually every CAM software program supports these fixed cycles or canned cycles, as they are commonly called, through the post processor output. The story is somewhat different when it comes to CNC lathes and turning centers.
Multiple Repetitive Cycles
In the early 1980s, Japanese company Fanuc adopted a concept long known to part programmers from the 1970s, who were using various programming languages, such the venerable Compact II, to develop roughing and finishing tool paths. The mathematical concept behind this development was quite simple — define the stock boundary, define the boundary of the finished contour, and the control will remove all the material contained within these two boundaries. The result of this adaptation of an early technology into a modern CNC turning system is now known under the collective umbrella of several multiple repetitive cycles.
Without a doubt, three of these cycles have become the staple of manual programming for CNC lathes since day one: the G71 cycle for roughing, the G70 cycle for finishing, and the G76 cycle for threading. Their ease of use (the user calculates only the finish contour points) and the possibility of operator changing the cutting parameters at the machine control have made them instant winners. The strongest feature of these cycles, brevity (only one or two blocks of program are required for roughing), also became their small disadvantage.
CNC lathe manufacturers and vendors have realized that they can offer a better price on their machines if they make the available memory smaller (CNC memory is very expensive even today). There are still many CNC lathes that have a very small memory storage capacity for the part programs, although that is changing rapidly.
Yet, even if the issue of capacity is becoming a non-issue, there is always the benefit of being able to change various cutting parameters at the control (depth of cut, for example). The developers of CAM software have realized this need and generally support the output of multiple repetitive cycles in the final program. What many developers also offer is the option of not choosing the cycles as the program output. Selection of this option will, of course, require a more robust memory capacity. It will also bring up an important question regarding when not to use these cycles.
Cycle Programming
Cycles are nothing more than pre-programmed routines. They will define the tool motions strictly based on the criteria included in these internal routines. To be blunt (and somewhat unfair), the programmer is at the mercy of the software engineers who developed the control unit. Make no mistake about it. The control software was developed for most — but not all — turning, boring, or threading applications; it does the job extremely well in such situations. Logically, the software could not be developed for special applications.
Yet, programming is somewhat like sculpting. There is technology involved, there is skill involved, and there is strong individualism involved (called art in sculpting). In order to control every single tool motion exactly as planned, the programmer may find a particular cycle to be ineffective.
Take, for example, the G71 roughing cycle. It starts at the beginning of the cut and continues towards the end, with the change of direction allowed along the X-axis only. If your program requires frequent changes of cutting direction, the longer method (block-by-block) will be the choice. Single point threading cycle G76 is no different. It is great for a single start standard thread, but loses its appeal somewhat for multi start threads (although it can be still be used). It becomes virtually useless for special threads such as those with special forms, particularly when the threading bit is smaller than the thread itself or the thread shape has to be interpolated rather than formed.
Without a doubt, these multiple repetitive cycles have made the programming and machining jobs much easier for all of us. At the same time, we have to understand their limitations and the alternatives for situations when these cycles are not preferable or are even impossible to use efficiently. Apart from programming every tool motion manually (which is always an alternative), make sure your CAM system can handle the type of tool motions required by the work you do and your programmer can generate the critical tool path. Also make sure you have enough memory available in the control system to store these programs — they can be quite long. A DNC (direct numerical control) solution may help as well.
Short Suggestions for Long Programs August 2004, updated February 2013 |
Once in a while, your machine shop will face the need to run a CNC part program that exceeds the built-in control memory capacity. This method is commonly called DNC (direct numerical control) and uses the TAPE or EXTernal mode of the control panel rather than the more common MEMORY mode. Not much is required for this method to work with your CNC machine — a suitable software, a desktop or a laptop computer, a connecting cable and some configurations. If all goes well, you are up and running in no time; if not, read on for some suggestions.
For the purpose of this column, I define the term long program as a part program that cannot be executed from the control memory. The most common source of such programs is a CAD/CAM system processing complex machining operations. Although the majority of long programs involve some 3D machining (for example, mold work and multi-axis toolpaths), there is a growing need for more control of 2D toolpaths, for example, in pocketing or at high speeds. High quality CAD/CAM software offers a multitude of toolpaths and pocketing styles. When combined with control of the cutting width and depth, size of the part, cleanup of corners, ramping, etc., it is not unusual to end up with a long program. The main difficulty when running such a program is when the CNC operator has to restart the cut somewhere in the middle of the program, after a substantial tool path had been completed with a particular tool. Often, the main reason is a tool breakage.
Most CNC machines do not have program restart or sequence return features which address this problem. Yet, there are a number of ways the CAD/CAM programmers can minimize the downtime associated with interruption of the long program. Let’s look at some possibilities to consider:
Computer Location
Locate the computer that sends the long program as close as possible to the CNC machine that receives it.