CNC Tips and Techniques. Peter Smid
Чтение книги онлайн.
Читать онлайн книгу CNC Tips and Techniques - Peter Smid страница 8
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. As a rule, the computer that receives the data (CNC) must be ready before the computer that sends the data (desktop or laptop). That means a bit of running between the two that can be eliminated.
Program Sections
This topics is a very important consideration. Each tool used in the program is automatically a separate section. However, sections for a single tool, especially a tool that does a lot of work, should be carefully defined as well. One technique that can be used is homing the machine (machine zero return) after each section has been completed, particularly along the Zaxis, then starting at the next section with the same tool. As these extra motions add to the cycle time, they should be preceded with a slash (block skip function). An addition of program stop (M00) or optional program stop (M01) to this method may offer additional benefits.
Program Editor
Use a dedicated CNC editor (designed for CNC files) or a text editor that can highlight individual addresses in the program — for example, all Z-axis motions in red. Colors help to identify individual