Читать книгу CNC Tips and Techniques - Peter Smid - Страница 9

Оглавление

CNC Turning — Why Are There So Many Errors? January 2004, updated February 2013

Even in this era of CAD/CAM, many of the part programs that are available for two-axis CNC lathes are still developed manually. There is a good reason why. Purchasing a CAD/CAM system just for a lathe may not be the primary choice of many managers. Modern CNC lathes offer many time-saving features. For example, all centerline operations — such as drilling, reaming, and tapping — are simple point-to-point motions. Lengthy turning and boring cuts can be dramatically shortened by the use of very powerful machining cycles. Special cycles are also available for external and internal threading operations, even for machining castings and for simple grooving.

Yet, with all these programming tools at our disposal, many lathe programs suffer from a number of errors. It is not unusual to see frustrated CNC operators frantically changing programs at the machine, at a great cost to productivity. Why do so many lathe programs suffer this fate?

When I talk to programmers and operators, I get many opinions but seldom real answers. All it takes is a careful look at many of their lathe programs to see that the same type of error appears over and over again. Let’s look at them in groups, with some views on what can be done to prevent them:

Calculation Errors

For all their power and simplicity, no lathe cycle will provide calculations of the contour points. When an error is evaluated, typically the programmer either “guessed” or miscalculated. Brushing up on trigonometry is the first step toward improvement in this area. Of all the math subjects, trigonometry is relatively the highest knowledge programmer should possess. I know a few programmers who avoid this obstacle by asking their engineers to give them the contour points from Autocad or some other program.

Other types of calculation errors are accumulated ones caused by incorrect rounding. To avoid this problem, round only the final result — not the intermediate calculations. Many calculations can be confirmed by selecting a different mathematical approach.

Syntax Errors

Syntax errors often occur when the pesky letters O is used instead of the digit 0. These Os are the illegal characters that somehow find their way into the program. For example, the letter Y is not available on a two-axis CNC lathe. Fortunately, the control system will identify these errors.

Logical Errors

Watch very carefully for logical errors because the control system has no means to discover them. For example, a missing decimal point or a negative sign will give a totally new meaning to the programmed dimension. X1 is not the same as X1.0, and Z1.0 is not the same as Z-1.0.

Program Errors

Program errors that are fairly frequent are often those that can cause severe collisions. Making a tool change inside of a hole is one such error. Others include wrong tool or offset selection, excessive spindle speed or feedrate, selection of tool change position, and many others.

Offset Errors

This area is a fertile ground for many frustrations. In my experience, errors relating to the tool nose radius are at the top of this group. If a tool nose radius error is detected by the control system, the cause of this error is always the same — the programmed radius cannot fit into the area provided. This group also represents errors that may be the hardest to identify. Always check the offset settings. If the settings are correct, the program itself is at fault. This error often occurs when the tool nose radius is larger than an inside arc of the contour. It also occurs because of insufficient clearances. Because the most common tool nose radii are 1/64 (0.4 mm), 1/32 (0.8 mm) and 3/64 (1.2 mm), always provide a clearance that is at least twice the largest radius. Typically, 0.100 inches or 2.5 mm is sufficient as the minimum clearance. Keep in mind that this is per side, not on diameter.

Setup Errors

Setup errors are strictly the domain of the CNC lathe operator. Check all tools by running the program while the chuck is empty. Are there sufficient clearances? Can the tools index safely? Is the tailstock out of the way? Provide a sufficient grip of the workpiece in the chuck, then watch for the boring bar to exit from a hole safely. Running the first part in a dry run and single block modes may save the day.

Correcting Errors

This area deserves special mention. Many operators fail to identify the actual cause of an error. For example, if a drill does not provide the expected depth, is the programmed depth correct? Is the offset set correctly? Is it even possible that the drill was pushed slightly into the holder? Identifying the real cause of a problem is the first step towards its elimination.

I hope by reviewing some of the common errors found in many programs for CNC lathes that you can look at your own programs and see them in a much different light.

Why Should I Know Manual Programming? February 2004, updated February 2013

In older days, most CNC programs were developed manually, using simple common and everyday aids — pocket calculator, pencil, paper, and the proverbial five-pound eraser. Combine this human effort with punched tapes and some extra hardware, and you have what seems today a history long past. The tape is gone today, and even though many programmers still sharpen their pencils and purchase new erasers, the times have clearly changed in favor of computer-based programming, or CAM programming. True, CNC programming using personal computers started in the mid-1980s, but initial costs, the state of computer technology, long learning curves, and a lack of features prevented their wide usage for some time.

Using CNC software to make part programs is not a novelty. Feature rich software from a number of vendors offer the whole gamut of options — from entry level 2D to sophisticated 3D, solids, multi-axis machining, and multi-tasking — all available for desktop and laptop computers. Public and private institutions offer many training programs in this area, often in addition to standard CNC programming courses.

This brings up the ever more important question that many students ask: “Why should I know manual programming, when I am learning Mastercam?” Of course, there is software available other than Mastercam, but the question raises a good point. I wish I had a dollar for every time this question pops up in conversation or during a training session. So what gives?

Every CNC programmer has to possess certain skills. One skill I consider the most important is the ability to machine a part. Deciding on the best setup, selecting the most suitable tools, and creating safe and efficient machining operations is the core skill of any successful CNC programmer. The actual method of programming has nothing to do with it. Computers cannot make intelligent decisions.

Although the part program, in the form of a file or printed copy, is designed for a particular CNC system, we — the programmers and machine operators — have to be able to understand it.

Let me go through five main reasons for this statement:

Reason 1 — Myths about Post-Processors

Most CAM software comes with pre-configured postprocessors in the form of standard text files. These files are intended to be customized by the end user. There is no way for any software vendor to cover all possible combinations that exist between machine tools and control systems. In addition, vendors cannot predict the individual preferences of each user. As a postprocessor is used to format the final output of the part program, you still have to know what that output should be.

Reason 2 — At the Control with No Control

When the program runs at the CNC machine, you can watch it scroll by on the control display screen. Do you understand what all the letters and numbers mean? What do you do when there is an error in the program? CNC operators who can make minor (and sometimes even major) changes to the program are much valued by their employers. Some operators do not mind just pushing the buttons, but if you want a certain level of control and responsibility, you have to be able to understand the program itself.

Reason 3 — Programmer / Operator as an Opportunity

Small shops and job shops often do not have the luxury of employing a full time CNC programmer. As important as such a person would be to the company, many owners and managers opt for a qualified CNC operator who can also prepare the part programs, then run them. This programmer/operator concept has many benefits for both the employer and the employee. Combine Reasons 1 and 2, and you have a Reason 3.

Reason 4 — Do You MDI?

Any operator who sets up a CNC machine has to perform many pre-machining activities, for example, make tool changes, set tools, activate the spindle, orient it, move the table by a certain distance, check a position, and so on. Even with many switches on the panel, one of the best methods is to use the Manual Data Input feature of the control — the MDI. This feature allows you to input and execute data at the control on a temporary basis. The data is always provided in the program format of that control. You cannot use the MDI feature if you do not understand at least the basics of manual programming.

Reason 5 — Learning from others

A part program printed on paper does not teach programming or machining methods, yet there is so much to learn from programs that have already been verified. How many of us started our careers by adapting existing programs to our own? A part program that works well offers tremendous opportunity for study and learning. Of course, one has to be able to read such programs — to interpret them — and that means being able to understand the G-codes and M-functions, the program format and structure, offsets, modes, and the many addresses and their subtle meanings.

Of course, one has to be willing to learn. When you just look at a part program, without understanding it, without being able to interpret it, do you care? Does it bother you? Do you feel you want to know more? If the answer is “yes”, you are on the way of becoming a better programmer or operator — a true professional. But that is reason number six, and I only promised five.

Running the First Part — Economically, That Is March 2004, updated February 2013

Machining a batch of the same parts in a single production run is probably the most common reason for purchasing a CNC machine. The CNC technology offers a great amount of predictability. There is consistency between parts, dimensional accuracy is maintained over many parts, and the program and setup — once verified — can be used over and over in the future.

Yet, even with proven part programs, the production always hits one weak spot when running a new batch. Yes, it is the first part. Every supervisor knows that the first part of the batch is also the most expensive part of the whole batch; its cost of manufacturing proportionally affects all remaining parts. To minimize the cost of making the first part, it is worth looking at several influencing factors and possible solutions.

Comparing Programs

There is a significant difference between running the first part using a new program and a program that had already been verified.

New part programs

CNC programs that have never been used must be carefully inspected. Even programs generated by a CAD/CAM system require certain scrutiny, although on a much smaller scale. Programming errors and oversights can find their way into any program in various forms, some quite hard to detect. For example, the depth and width of a cut may be out of a reasonable range, clearances may be too large or too small, spindle speeds and feed rates may be overrated or underrated, a tool may not be the most suitable one for the job, and so on. These oversights are virtually impossible to see in print or even on the screen — they show only when the first part is run on the CNC machine. In addition to the program itself, the machine setup is always new, regardless of whether the program is new or previously verified.

Verified part programs

These are part programs accepted for production and verified at some earlier date. Keep in mind that only the programs have been verified, not the setups or tools. Setups and tools are subjects to frequent changes; they must be verified every time. Another important consideration is the CNC machine tool being used. Even verified programs have to be checked if they are used on a different machine than the previous time.

Decreasing Costs

Decreasing the cost of the first part — and, therefore, the whole batch — has to be considered at four levels, all interrelated:

Planning

Process planners or supervisors have to evaluate many aspects of the production. One of their key considerations is the number of parts produced in a single batch. The more batches per period of time, the more expensive each batch will be, mainly because of the repeated setups. Assuming that more parts produced in a batch will have no negative side effects (for example, on inventory), fewer batches per period of time might provide part of the solution.

Programming

CNC programmers can literally do wonders to decrease the cost of the first part through the program. Here are only some ideas. Using consistent tool numbers for commonly used tools saves time during setup, as tool registration and many related offsets will not change. Another very effective programming method is to include one or more trial cuts with the block skip function in the program. These cuts will only be used for the first part testing, but turned off for a full run (except the occasional inspection). Don’t forget to provide sufficient comments in the program, so the operator knows the purpose of these special cuts. Another consideration, especially for programs developed manually, is to invest in reliable CNC simulation software. Although no software can simulate every detail of CNC machining, it can be an excellent tool to find errors and areas of improvement.

Setup

At the machine, the CNC operator is normally responsible for setting up tools and fixtures, registering tool numbers and various offsets, troubleshooting the program, and monitoring the operation. Speeding up the non-productive time required for setup is the most significant single saving available. Modular fixturing, common tooling, general setup consistency, and the operator’s skill all add up to make the transition between setup and operation faster and smoother.

Machining

During machining, the CNC operator relies heavily on the program itself. During the first part run, it should not be enough for the CNC operator to look just for errors or monitor the program flow. Operators can and should do much more at the same time. For example, they can think about optimizing the program for better performance. Speeds and feeds are the most common areas to focus on, but many more “little things” also influence the cost of manufacturing (including the first part).

Lowering the cost of the first part should be a team effort. CNC programmers may be the key people in such efforts. However, mutual cooperation of everybody involved will offer many benefits and have a positive effect on the proverbial bottom line.

Are You a CAM Machinist? April 2004, updated February 2013

The main topic at a discussion I had several years ago was quite simple: CAD/CAM Learning Curve for CNC part programming. How long does it take to learn CAD/CAM software to produce a quality part program for a CNC machine tool? This type of part programming is often associated with the term CAM programming. Having looked at many courses offered by many more providers, the picture is still a bit cloudy. From an introductory three-day course (eighteen hours in reality, breaks included) to a three-level course running more than one hundred hours, there is something for everyone. All that in addition to self-starters, books, and multi-media resources.

Learning a CAM system can be quite intuitive for someone experienced with computers. For such a person, creating geometry (mainly points, lines, and arcs) can be child’s play after a few short hours. On the other hand, the same CAM software can be somewhat intimidating for somebody whose experience is with machining parts but not with using computers. That brings up an important question: What is required from a CAM programmer? What type of knowledge and skill should a CAM programmer have in order to develop often complex tool paths that make parts on expensive CNC machines?

During the discussion I mentioned above, the word skills was indeed used many times, mostly related to computer skills. Even the term creating geometry (also used quite frequently) is simplistic. The correct phrase should be creating toolpath geometry — and here lies the big difference. It is fairly easy to develop a geometry that looks right on the screen. It is not easy to create a toolpath geometry that guides the cutting tool and can often make or break a small shop.

In CAM programming, the purpose of geometry is not to recreate a paper drawing as many beginners try to do. Its purpose is to create a working toolpath. True, most CAM systems have hundreds of features that make the entire process simpler and faster. Features such as lead-in and lead-out, multiple contouring passes, segmentation of depth cuts, and stock allowances all contribute to a software that becomes easier and more efficient to use. Their inclusion requires another important skill — understanding the actual purpose of all these features. You must understand when to use them and how to use them correctly. You must also have a solid knowledge of machining techniques.

There are many times when even the best features of CAM software may not provide the desired result. Often it is necessary to add a bit of geometry here and there, a little extra tweak to get the exact result required. The part programmer should have an exact vision of the tool path in mind — before even starting to use the computer.

With all this in mind, what is a reasonable learning curve for using CAM software? Is the computer guru in the shop, who has minimal if any knowledge of machining, better suited for the task than the experienced machinist with limited computer knowledge? Most people will agree that learning how to operate and use a computer and software may take a few weeks at the most, whereas learning the art of machining takes years, even a lifetime.

The learning curve for any individual will also depend on other personal and professional skills. Even in CAM programming, there is always some math involved. There is also the entire area of understanding productivity, efficiency, and safety issues in manufacturing. On the technical side, knowledge of the machine tool, the control system, the fixturing, tooling, setup methods, speeds and feeds, and so on, is most important for each and every program developed. In a nutshell, the same qualities and skills required from a part programmer using manual methods are required from a CAM programmer. Unfortunately, this is not always the case.

So who is this CAM machinist from the headline? I believe that the inescapable truth is that you have to know how to machine a part before you can be a successful CAM programmer. You have to become a part programmer with high machining skills — a true CAM machinist.

CAD/CAM or CAD and CAM? May 2004, updated February 2013

In various forms and on various platforms, CAD/CAM is not a newborn idea. Even before Personal Computers (PCs) started occupying every designer’s desk, Computer Aided Design/Computer Aided Manufacturing software — known simply as CAD/CAM – was available on expensive mainframes and mini computers. Needless to say, it had a matching price tag. This was the dawn of a new way of design. The convergence of design and manufacturing became a hot topic. Designing a part in CAD and developing the tool path in CAM seemed like the way to go for the foreseeable future. Most Fortune 500 companies applied CAD/CAM to manufacturing and it worked very well for them in the competitive market place.

What is the situation today in small and medium machine shops? How do they handle the design and the toolpath convergence? Before I get into it, you have to consider one major advantage that the large manufacturing companies have — they have their own product. They have their own in-house team of engineers, and they generally use a big CAD/CAM system. The success of such convergence is measured only by the effectiveness of each company.

Overall, small shops are of two kinds, those that develop their own products and those that do not. The latter ones are often called job shops or custom machine shops. The shops that have their own design capabilities should have no problem with the CAD/CAM convergence, if they manage it right. Many job shops take advantage of a computerized toolpath generation, but have no real need for CAD software. Still, they often face a string of obstacles to achieve the same goal.

Consider the realities. Your customer faxes you a drawing, asking for a quote. Your quote wins and you get the work. Often that faxed drawing is the only drawing you have from which to make the part. In a better scenario, the customer sends you a clean paper drawing. Or better yet, the customer sends you the drawing in the form of a disk file. Now, that is the best scenario, but — yes there are “buts” here.

As most work in the job shops is two dimensional (2D), the design is often done in CAD software such as Autocad by the customer. Shops that have CAM capabilities use a tool path development software such as Mastercam, EdgeCam, or GibbsCam. The question is how to get the drawing file into the CAM software. The ideal method is that the software reads the file in its native format. For example, the popular Mastercam can read and write Autocad DWG files directly, without a translator. If the software cannot read the native format of the original, it has to have a reliable translator.

Virtually all systems support DXF (drawing exchange file) and/or IGES (Initial Graphics Exchange Specification). DXF is quite simple and suitable only for two dimensional drawings that are composed of lines, arcs, circles, and points. IGES is more powerful and used for translation of complex three-dimensional drawings.

So what is the best approach for a small shop to take?

Consult with Your Customer

Consulting with your customer is probably the most important step. Your customer likes to know about your capabilities. In turn, you should know what the customer can offer to your shop, particularly when it comes to a drawing supplied on a disk or by email. Ask for a file format that your CAM software supports, preferably in the native format.

Understand CAD/CAM Translators

If the translator has to be used, make sure you understand its capabilities and its limitations. Poor translators may not convert the original geometry, especially when it contains complex geometry such as splines.

Train your CNC Programmer

Good CNC or CAD/CAM programmers can detect drawing flaws and mistakes, and often solve any problems quickly. They will also be able to eliminate geometry that is part of the drawing but not necessary to create the tool path. This skill might be one of the programmer’s most important skills.

Educate Your Customer

Do not be afraid to tell the customers what you expect from them. They will understand that your requests are made in the spirit of producing their part within specifications as well as efficiently.

Yes, it seems that for many reasons true CAD/CAM convergence is not a part of small job shops. At the same time, there is nothing wrong with CAD and CAM working together well in this unique environment.

Part Program Upgrading and Updating June 2004, updated February 2013

Regardless of the methods used, developing a CNC part program does take time. Whether written manually or generated with the aid of a CAD/CAM system, a part program should not be considered as completed until it is used to run a few parts and optimized. Even the best part programmers cannot always predict every condition during actual machining. It is not unusual — in fact, it is very common — to see CNC operators make changes to the program at the control. If the program is perfect, no changes would be necessary, a situation that rarely happens.

Optimizing a part program means improving it, mainly for more efficient performance, but also for other reasons, such as change in setup, use of a different tool, or even improved safety. Optimizing a program can take place at the control (usually by the CNC operator) or away from the control (usually by the CNC programmer). Two terms are often associated with a program change — program upgrading and program updating.

Program Upgrading

Program upgrading means strengthening the program, enriching it, and making it more cost effective without compromising quality of the part or safety of machining. When running several thousand parts in a batch or a job that repeats from time to time, upgrading part programs will have a profound effect on the overall cost of doing business. Shortening the cycle time by a few seconds can mean hours in overall savings. Here are some ideas that programmers and/or CNC operators can consider when upgrading an existing part program.

Programmed spindle speeds and cutting feedrates are the first items to evaluate; they require a very small intervention with virtually immediate improvement. It is a well-known fact that programmers take a rather conservative approach in this area. Another area of interest should be the clearances applied in the program — “cutting air” is never productive and should be minimized. Changing a grade of the cutting insert and increasing the feedrates also offer benefits without making major changes to the program. If the program contains various machining cycles, operators can make even more significant changes, depending on the cycle type.

One of the overall cycle time killers is excessive dwell time. The minimum dwell time is the amount of time required to complete one spindle revolution. In practice, this amount is often doubled to allow full revolution dwell at 50% of programmed spindle speed. For example, a programmed dwell time of one second for 1200 rpm spindle speed is excessive, yet often programmed. In this case, the minimum dwell required is 0.05 of a second, or 0.1 of a second in practice. For a few thousand parts, the time saving will be considerable.

Rapid motions can also shorten the cycle time. Combining two single motions into one simultaneous motion will also make the cycle time shorter; so too will making a tool change without moving to machine zero in all axes. There are other areas of upgrading that can be explored, some specific to a particular machine tool, for example, using a fewer threading passes on a CNC lathe.

Not all program upgrades can be made with the same ease as the suggestions provided here. For example, increasing the depth of cut may require a rewrite of the 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. 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 sections, and the editor can also be used to create a temporary copy of a shortened program.

Block or Sequence Numbers

They do help a lot. Although blocks or sequence numbers add to the overall length of the program, this length is irrelevant in DNC operations. If a tool breaks, the sequence number at the time of interruption offers some information that can be used for restart. Instead of using block numbers for each block, consider using only a few block numbers in strategic places within the program. A good place for selective block numbers is at the beginning of every new section that uses the same tool, or at home position.

Descriptive Comments

Identify individual operations or sections of the program. For example, if the same tool is used for roughing five pockets, place a comment at the beginning of each pocket tool path with a unique description.

Feed and Retract Planes

Be consistent in selecting the Z-axis positions for the start of cut and retract when the cut is completed. Text editors can be used to search and/or replace common data.

Cutting Feedrates

If you make the plunging feedrate different from the cutting federate, you will more easily find the beginning of a section from which the change can be done, just by searching for the feedrate. Also, you will not accidentally forget a feedrate or use the wrong one.

What else is there to watch for? The above suggestions can be applied individually, or combined. The most important is to make sure that any change implemented is a safe change. Watch for XY tool locations, missing spindle speeds and feedrates, the status of switches on the control panel, offset settings, and other related subjects.

Running a long program from an external computer in DNC mode can be very simple and uneventful. On the other hand, if problems do arise, be prepared to deal with them via good planning in order to minimize the undesired downtime.

Keep Records — Document Your Programs September 2004, updated February 2013

There are many reasons to keep track of work done during both common and not-very-common manufacturing processes and activities. The most important reason to keep track of the multitude of activities is to create some reasonable documentation for the work in progress. The method and its purpose are quite basic — to be able to register and retrace or retrieve individual development steps or stages in case of future need. Whether used for emergency purposes or general reference, good documentation is imperative for any serious work in a machine shop environment. At the corporate level, documentation is often developed for internal purposes only. Documentation can also become a major part of the ISO 9000+ certification process, in which case it takes its own form. At the level of CNC or CAD/CAM part programming, the needs in this field are much more relaxed and flexible, but equally important. This essay looks at program documentation relating to CNC programming, regardless of its method of development. Good documentation is as important for manual programming as it is for CAD/CAM tool path development.

Most part programs reach the CNC operator in one of two forms, as a printed hardcopy or as a disc file. In both cases, the program format is the same, only the method of distribution varies. All CNC systems offer a method of inserting comments and messages into the body of the part program. If used properly, these comments and messages are located at strategic locations within the program, as comments intended for the CNC operator. The most common way to include comments and messages in a CNC program is the use of matched parentheses (). This (COMMENT) method is typical for Fanuc and related controls. For example, the following message instructs the CNC operator to check the width of the part:

(WIDTH MUST BE BETWEEN 26.7 AND 27 MM)

Other methods use the dollar sign ($) or the semicolon (;) and similar methods with the same purpose. In all cases, the control system is designed to ignore the message, or comment, during program execution.

Having too many or too few comments in the part program can be counterproductive. Having no comments at all in the program can potentially lead to wrong assumptions, unless some other way of information is provided. The main goal of CNC program comments and messages is to provide an information link between the CNC programmer and the CNC operator. Thorough and informative program documentation is so important that every shop owner or manager should insist upon it and every programmer should provide it as a standard program feature.

Good Program Documentation

What are the main characteristics of good program documentation? The first rule is to make any comment in the program short and to the point. The second rule is to include only those comments that are relevant to the project on hand. In terms of contents or subject matter, here are some suggestions that many CNC programmers have used successfully in various program comments:

Date and Time

The current program version is critical; it must match the part drawing. The latest date and time are assumed to be the latest version.

Programmer’ Name

The programmer’s name is important to the CNC operator in case questions or clarifications are necessary.

Drawing Number and/or Revision

Include the latest drawing version used during the programming process.

Machine Type

A well-developed part program can be used on CNC machines that are similar. A program comment should list which machine/control combinations will accept the given program.

Setup Data

Specify the part zero in all axes. Include the setup method and all related information, such as part orientation, depths, and clearances.

Tooling Data

List all tools at the program beginning and repeat the tool description for each tool in the program.

Special Instructions

If the program contains M00 (program stop), describe the reason for its existence. For example, instruct the CNC operator that the part is to be reversed, or special lubrication has to be applied for tapping, or that the tool has to be checked. Many similar examples fall into this category.

There are many different applications that benefit from comments and messages inserted in the part program. Depending on the control system, the comments may not load into the control memory, but they can always be available in printed form or in the program file. CNC programs developed by CAD/CAM software should include the same comments and messages as programs developed manually. All high level CAD/CAM software offers the insertion of comments into the program.

A well-documented program is easier to interpret by the CNC operator and even by its own author (the programmer). Documentation should be provided as a standard feature of each program.

Focus on Numbers October 2004, updated February 2013

There is a good chance that the drawing from which you get to make a part has originated in CAD software. Nothing fancy, just a standard, everyday-type 2D drawing — two, three views, dimensions, and some text — that’s all. However, just because the drawing has been prepared in CAD does not mean it is without flaws and even errors. Let’s look at this fictional drawing and focus on a few details relating to numbers (dimensions, actually).

Focus 1 — Metric or Inch?

What units are used in the drawing? If you have no clue, don’t assume — make sure! More drawings are now prepared in metric units than before, but they are not always prepared properly. The magic word METRIC somewhere in the corner of the drawing may just not be there to tell you. Here are some ways to tell (but verify it later, anyway).

The first clue is the drawing scale and the second clue is the dimensions, their nominal values. If your specialty is producing small parts and you see the part length as 50, chances are you have a metric drawing. If you are used to seeing dimensions such as 1.625 or 0.75 (inches), and there are no dimensions that small, chances are you have a metric drawing. If the scale is correct, it solves another piece of the puzzle. Another clue is the number of decimals used in dimensions. If the drawing follows proper standards, a metric drawing should have whole numbers without the decimal point. So, our length of 50 mm will be shown as 50 between the dimension arrows, not 50.0. This is how it should be, but not always how it is.

Which brings us to yet another clue, and that is how decimal numbers are expressed. Because the metric system uses 1/1000th of a millimeter as the smallest unit, you should never see more than three decimal places in a metric drawing — and even those are rather rare. Sometimes you have to convert dimensions if most of them are in one unit, but another (a thread or tap size, for example) is in the opposite unit. It can be messy out there, but that’s the price we pay for being behind the rest of the world in adopting the metric system.

Focus 2 — Tolerances

A related item that could cause trouble — tolerances — is also directly related to a CAD system. Let’s stay with inches for this example. The drawing you have just received is basically a rectangular part, with overall dimensions shown as 5.0000 x 3.0000 x 0.5000. What is this? A few decades ago we would have been taught that the number of decimals places indicates the precision of tolerance. For example, x.xxx would be ±0.001 (or whatever the internal company standards were then). So now we have a part that has four decimal places on all three overall dimensions! That’s not all — there is also a surface finish of 125–250 required on the length and width. Because this dimension makes no sense, we have to look at the real culprit behind this.

First, throw out the old notion of this tolerance being implied by the number of decimal places. Yes, it is still done and, yes, it is still wrong. Separate from the fact that the notation breaks all ANSI or ISO standards, it is wrong because it is not reliable. It is not reliable for at least one reason (there are several more) — because a CAD software defaults to four decimal places for inch drawings, and to three decimal places for metric drawings. This can develop some bad habits in the CAD/CAM community. Of course, the software does allow for changes to any number of decimal places, but it is the role of the CAD operator to choose the proper settings.

Focus 3 — Why Is Metric Better than Inch?

Note the question again. It does not ask if metric system is better, it assumes that it is better, and asks why it is better. Before I get too many e-mails challenging my question, let me state for the record that I am specifically referring to CNC machines, not to any personal habits of buying a one-pound T-bone steak at your supermarket (although I could argue that one, too). CNC machines can be set to either inch mode or metric mode through the part program or at the machine control itself.

What is important here is to understand something called the minimum increment of the control system. In plain language, it means the amount of the smallest motion possible within each unit selected. For typical CNC machining or turning centers, the amount is set to 0.0001 of an inch or 0.001 mm, known as one micron. Now, say you want to make an offset adjustment at the control of 0.00004 of an inch. You just can’t unless you program the part in metric. The amount of 0.00004 of an inch is equivalent to 0.001016 mm, which is a motion possible to make, as one micron. The machine will move by the equivalent of 0.00003937 inch, close enough to pass all inspections. Designers out there — take a note!

CNC Programmer/Operator —Should One Person Be Both? November 2004, updated February 2013

When it comes to jobs in the CNC field, two types of positions within a plant or machine shop are usually identified: CNC Programmer and CNC Operator. Many small or even mediumsized machine shops do not have the resources or even the need to keep each position separate. Instead, they combine them both into a new position, commonly known as the CNC Programmer/Operator. The first apparent and most obvious benefit is saving money on wages or salaries. However, there are additional benefits and the inevitable disadvantages that are worth considering before creating such a position.

Advantages of CNC Programmer/Operators

First, let’s look at the advantages. Involving one person in the larger process of making a part provides better understanding of that process. If problems do occur, solutions are often easier to find. Programmers who also run the CNC machine are more motivated to do a better job using their own program. It is a common requirement for part programmers to know how to machine a part, but it is not normally required of CNC operators to know all details about how to develop the program. Good CNC operators do not always understand the programming part and cannot always offer program-related solutions.

In a combined position, this lack of understanding is eliminated. Programmers also frequently interact with engineers and customers; operators usually do not. Good programmers also interact with machine operators and seek their ideas. Again, the combined position may offer solutions to design or manufacturing process that only skilled machine operators could think of.

Disadvantages of CNC Programmer/Operators

There are also disadvantages to this programmer/operator concept. The initial appeal of saving money on remuneration may be offset in the loss of production time. It is virtually impossible to make a program and at the same time operate a machine. To do both equally well takes not only a skilled and dedicated person, it also requires a suitable job. If a part has to be changed on the machine every two minutes or so, the programmer cannot sufficiently concentrate on the work of developing the next program. A part that takes twenty minutes to machine offers a little more flexibility.

Every shop manager knows the term machine utilization — that the road to profitable business is running CNC machines as much as possible, producing quality parts. There are always some delays involved when using CNC machines. First, it is the setup time, including the fixture, tooling, and control settings. Next, the first part has to be verified. Then when the machine does finally start production, there is always the necessity of changing parts, replacing dull inserts, modifying offset values, etc. Adding more idle time because the programmer has to prepare the program can be very costly; over a period of time it can cost more than having two skilled workers taking on individual responsibilities.

Thus far, this overview has applied to a single CNC machine. What if there are two, three, or even more machines in the shop?

Three other disadvantages of the combined position should also be considered very seriously. The first is quite simple. If the programmer stays home sick, so does the operator (and vice versa). The second disadvantage is related. What if the programmer/operator quits? Of course a suitable backup is an ideal solution, but the reality is that there will be a gap in the production somewhere; even if the gap is temporary, it still represents time lost. The third disadvantage relates more to certain traits in human nature and does not apply to everybody. Some programmers who also run the machine may have the tendency to cover up their mistakes, spending additional time to make fixes at the machine, even a new program, without anybody’s knowledge. Some programmers/operators may feel self-satisfied or even complacent; they stop learning new methods and techniques. Others may have exaggerated demands in terms of wages, benefits, time off, and so on.

One item that needs consideration is the method by which the part program is generated. It is still common in many shops to write the program manually rather than using a CAD/CAM programming system. Although is it important for the programmer to understand manual programming, it is equally important for the shop manager to understand the benefits of a CAD/CAM (also known as CAM) programming system. For the combined position of one person programming and operating, a CAM system installed in the vicinity of the CNC machine may bring many benefits, in spite of its initial cost.

A number of machine shop managers prefer the CNC Programmer/Operator position and are well aware of its drawbacks. If established in a suitable environment and managed properly, having a multi-skilled worker in the shop should bring in more benefits than problems. The majority of CNC programmers who also operate the CNC machine are honest and dedicated; they do their best to do the job well. They consider themselves true professionals, and rightly so. On the management side, a prudent owner or manager has to consider all pluses and minuses before creating the position of a CNC Programmer/Operator.

Using CAM Software in Small Shops November 2004, updated February 2013

Over the years, manual programming has offered many benefits to CNC programmers. It offers absolute control over the toolpath and it teaches lessons in organization and discipline. Also, it does have some negative side effects; it is very time consuming, prone to human errors, and hard to make changes in the program. The need to eliminate — or at least minimize — the problems associated with manual programming led to the development of CNC programming using computers, known as CAM programming.

CAM SOFTWARE

Modern CNC software — typically called CAM software because of the many trade names ending with the three letters CAM, such as the popular Mastercam — offers many features that automate the original manual method of programming. Computers produce most CNC programs more quickly and more accurately than manual programming ever did. A proper application of CAM software will produce a part program that reflects the programmer’s way of machining a part.

Whether developed manually or generated by software, the part program has to be in a format compatible with the CNC machine control unit. Comparing manual programming with CAM programming is not fair; however, the knowledge and understanding of manual programming techniques is important in all CAM applications.

Small shops are not like big companies. Their needs are different and so is their management style. Desktop or floor-based CAM programming is not new — it has proven itself in many machine shops. Software development has been steadily improving. Many simple and even complex programming applications are available for much lower cost than only a few years ago.

What Is Involved?

Hardware is the physical parts of CAM. However, hardware is not the focus of this article — it changes so rapidly that something new will be available by the time you read this. Software ages as well, but at a somewhat slower rate. There will always be new features and updated ones added, inviting new customers to purchase and current customers to update. As long as the software does the job, some shops may work with the same version for many years.

A few years back, the subject of hardware consideration for CAM work could be suitable for several articles. Now, most concerns should focus on the processing power, RAM (temporary Random Access Memory) and the graphics card/display combination, even the hard disk capacity. In all cases, the bigger the specification number, the better choice. CAM software has been developed mostly for the Windows operating system, although some software does exist for the Apple operating system.

One piece of hardware — a CD or DVD reader/writer drive — is now part of every computer and serves as an inexpensive method of safely backing up valuable data. In addition, other inexpensive back-up accessories are available such as flash drives and external hard drives. If a direct connection between the CAM system and the CNC machine is desired, some CAM systems offer a file transfer option. For a more complex dedicated DNC transfer, separate software is usually a better choice. Display is also very important — looking extensively at a computer screen can be tiring at best and may cause physical problems over time. Large viewing size and high resolution monitors are critical for comfortable work. Many graphics cards are made for gaming and may not be suitable for serious CAM work. Other features such as hard drive size are no longer a problem, as long as they are reliable and well maintained.

PROGRAMMING ENVIRONMENT

A typical working environment within CAM software can be easily summed up in three steps:

1. Toolpath Geometry

2. Toolpath Application

3. Program Generation

Depending on the software, many intermediate (or additional) steps may be available, but the three basic steps will always apply.

Toolpath Geometry

Toolpath geometry is a visual representation of the toolpath itself. It is always generated graphically, using points, lines, arcs, and other entities. True toolpath geometry is called an associated geometry — that means a change in either the toolpath or the operation will change all related data automatically.

Even the lowest priced (i.e., featured) CAM software offers the most common 2D toolpaths — drilling operations, contouring, and pocketing. More sophisticated software will also include special toolpaths and operations, such as helical interpolation, splines as part of the geometry, special cycles, subprograms, 3D machining, surfaces, and solids. When selecting CAM software, think also of future needs, such as the type of future work, as well as machine and control features.

Toolpath Application

Once the tools have been selected, a particular tool is applied to the selected geometry. The tool description not only identifies the tool dimensions, it also contains additional information, such as speeds and feeds, clearances, and offsets that are associated with the tool.

Program Generation

Generating a CNC part program is the last step in the process. In order for the process to match a particular machine and control system, the original processing has to be processed again — it has to be reformatted as per control specifications. This step is called post processing. A high quality post processor is one of the most important features of CAM programming software. The purpose of the post processor is to format the generic database into a part program that can be used on a CNC machine. CNC software vendors always include several post processors with their software. Keep in mind that these are generic post processors for the most common controls. In order to make them work in a specific way, post processors often have to be customized.

Some amount of customization is usually necessary. A qualified CAM programmer may optimize or customize a post processor or may ask the software vendor or an independent consultant to do it for a fee.

Customizing a post processor includes several steps, such as entering the known data about a machine tool, relevant data of the control system, such as format of the program, various commands and functions, use of the decimal point, etc. The program structure (or program template) is also part of a successful post processor. The format determines the order of tool sequences and machine activities (for example, the coolant).

Other Features

Combining part geometry with the tools used creates an operation. Operations are treated as units — within a unit, an individual change will update the whole operation, for example, changing a tool diameter, spindle speed, or a cutting feedrate. There could be a number of special features included in CAM software. One that is very important is the support for various cycles for drilling, milling, turning, grooving, and threading. Such cycles make manual programming a lot simpler and less tedious; having support for them in the CAM software makes it easier at the machine to make small machining changes. Some CAM software offers an open architecture model. In plain words, it means that anybody with the required skills can write special utilities that can be accessed by the CAM software. The ability to add external features greatly adds to the power of the CAM software.

Multi-Machine Support

Some machine tool manufacturers provide their own CAM software dedicated only to the CNC machines they make. Typical examples in this area are fabricating machines and some EDM machines. The software usually performs very well for the machine type supported, but it lacks flexibility to support other machines. It is quite suitable for a specialized shop, but not very practical for a shop that needs programming flexibility.

Most CAM software is integrated software, which allows the part programmer to use it for several types of machine tools, typically mills, machining centers, and lathes. The major advantage of integrated CAM software is its flexibility. Additional benefits may be more practical, but also important, for example, a similar interface for milling and turning shortens the programming time.

Text Editor

In many respects (and professional opinions), the text editor that is supplied with most CAM software should be only a viewer — it should not be able to make changes to the program. Of course, such changes are made every day because it is an expedient way to fix a problem, usually a minor one. The program generated by CAM software should not need editing; that is the whole purpose of purchasing it in the first place. Yet, many part programmers choose to make small changes manually. In principle, it is a wrong approach. The problem may have been fixed, but the program database, the part model, has not changed at all. It still contains the error. In an environment when several users work with the program, this approach can cause major difficulties.

At the same time, a text editor does have its own legitimate uses. For example, the editor can create and edit setup and tooling sheets, post processor templates, even configuration files. None of these applications will cause damage to the toolpath database. A text editor can also be used to print the program if hard copy is required.

CAD Connnection

A stand-alone CAM programming system does not require separate CAD software to define toolpath geometry. If a part drawing already exists (for example, if the customer delivers an Autocad drawing as a file), it is counterproductive to redraw the geometry. The CAM software should contain several built-in CAD conversion features. Autocad is still the leader in 2D drafting, and opens DWG drawings directly. DXF format is also available, but only suitable to translate basic entities. For 3D design, quality CAM software should convert the most popular CAD systems, such as Solidworks, Inventor, Catia, and SolidEdge. Others are added frequently.

Managing a CAM System

CAM software requires a certain organization to support it; it needs planned strategies and focus. CAM system management establishes standards and procedures for all users, be it at the simple level of naming files to developing tool and material libraries, backup methods, and data security.

Training and Technical Support

Unfortunately, training is often neglected, even ignored. Professionally conducted training sessions will produce measurable positive results in a relatively short time. Most CAM vendors provide basic level training; some offer more specialized training. Initial training is usually general in nature, and should be provided to the person who has previously programmed manually. Any training should be practical in its orientation, preferably the usage of actual parts. A quality training program should also include short follow-up sessions that address problems encountered and answer many questions.

Technical support for CAM software is as important as for any CNC machine or control in the shop. A service or software maintenance contract is offered by many vendors, assuring of the latest updates and improvements, at a reasonable cost.

CNC Tips and Techniques

Подняться наверх