There's a post for that

Postprocessors help get the most out of CNC equipment and CAM software

CNC machines and CAM software think and communicate in different languages. The brains of CNCs—their controllers—are practical and literal minded. They do what they are told and think in linear G-code and M-code.

CAD systems are creative and intuitive. Show them a picture and their powerful multithreaded computer software algorithms will figure the best way to do what you want.

CAM systems cannot communicate directly to machine controllers. They must rely on a postprocessor, middleware that translates the computer output of a CAM system into instruction sets that are meticulously executed by CNC controllers. There are thousands of new and used CNC machines available today, and more coming. Each one needs a post.

A good post will discriminate between unique controller conventions and speak to these controllers in a language that is machine-specific. The post can also take into account the individual preferences of end users so that machines routinely execute in a way that the user prefers and expects.

Finally, posts can be used to give CAM software the ability to program new machines and equipment add-ons that have just come on the scene.

Every CNC user will benefit from having a basic familiarity with posts—even if the primary objective is to never have to think about it once it has been purchased, which brings us to the first category of post user.

JUST A GOOD POST

This group of users just wants a good reliable post and for it to behave normally. Is that too much to ask? If their new machine is a common one, these users’ needs may be readily satisfied with a “generic post” which their CAM Reseller may be happy to furnish at little or no cost. If some minor adjustments are required, then the Reseller may make them, or a shop staffer who understands how a post works can do it himself.

These users have very simple requirements and are frequently upset when they discover that an off-the-shelf post is not available to suit their exact needs. This often happens when the equipment purchased is very new and has a unique controller that has to be addressed.

Posts Are Powerful Middleware applications that allow a single CNC manufacturing program created in CAM Software to be used on a wide range of manufacturing equipment.

Posts Are Powerful Middleware applications that allow a single CNC manufacturing program created in CAM Software to be used on a wide range of manufacturing equipment.

Another problem arises when CNC users have different ideas about how they would like their machines to behave. For example, users in different parts of the country or in different industries frequently have different expectations about how their machine should behave in terms of:

  • Formatting
  • Approaches to the part
  • Retracts
  • How rotaries are positioned between moves
  • Start of file
  • End of file

Your post developer also needs to know about the unique conventions used by the machine’s controller and the release of the CAM software your shop is working with. For relatively simple CNC equipment, these seemingly trivial issues can and should be identified and problems ironed out in discussions with the machine dealer’s application engineers and/or the CAM Reseller, ideally a number of weeks before taking delivery of the equipment.

ENHANCED FUNCTIONALITY

As CNC machines become more complex, progressively more detailed thought and longer lead times should be devoted to nailing down postprocessor issues. It is important to include your CAM software Reseller or post developer early in the pre-delivery stages of this advanced CNC acquisition process. This will allow equipment that may cost hundreds of thousands of dollars, to start delivering on the expected quality and productivity expectations in weeks instead of months.

Getting ahead of the curve on these advanced posts can be tricky because the new users cannot meaningfully discuss many of the machine behavior expectations affected by the post until they have had sufficient training in it. So the post developer may work in stages, taking an early lead from discussions with the machine builder prior to delivery and working closely with the end-users once training has been completed.

With more advanced machines, a post may also be used to add additional layers of functionality (apart from modifying individual toolpaths) to the interface with a CNC controller. Here are a few examples:

Dynamic Work Offsets: More and more CNC machines are coming with dynamic work offsets that allow the user to position the workpiece anywhere on the rotary table and the CNC controller will map the offsets correctly. This functionality eliminates the hours it typically takes to set up a part the old-fashioned way and makes programming far easier.

Work Tables: Some machines (routers especially) will have two side-by-side tables, so that one can be set up while work is being performed on the other. Sometimes the posts will include logic, which allows work to be automatically initiated in a continuous loop, back and forth between table A and table B until the stop button is pushed. Or perhaps there is a prompt that allows the user to choose table A or table B or to work in tandem when a large workpiece is mounted across both tables.

This type of functionality, which is not difficult to create, can be used to substantially improve machining productivity and safety.

Machine tools with two side-by-side tables can have posts with logic that, allows work to be automatically
initiated in a continuous loop, back and forth between table A and table B until the stop button is pushed.

Machine tools with two side-by-side tables can have posts with logic that, allows work to be automatically initiated in a continuous loop, back and forth between table A and table B until the stop button is pushed.

Tool Inspection: The user needs to drill a large number of holes in some very tightly dimensioned parts made of hard material. The nature of this process requires the user to periodically take a look at tool wear to determine when a tool change will be needed. Some of this functionality already exists in CAM software like

Mastercam and more is being added routinely. However, this situation is a little unusual and the post developer can help by adding prompts that allow users to set the number of holes to be drilled before initiating a special inspection routine for which the code can be created in the CAM System.

In-Process Gaging: Until recently, spindle probe moves to accommodate in-process gaging were typically handled via the CAM software’s customized drill cycles. Today, probing cycles can be programmed in CAM via Productivity+ software that may reside in Mastercam and other CAM programming environments. Productivity+ communicates with a set of macros that amount to a secondary postprocessor within the primary CAM post. The primary and secondary posts may also communicate with each other, for example when offsets are to be reset based on information generated via probing routines.

Embedded gaging like this has become very popular for 3 + 2 machining applications and it is likely that systems of all types will be using this functionality more frequently to eliminate multiple set-ups for gaging and to reduce scrap via integrated process control. Secondary posts like Productivity+ will handle the lion’s share of this work but there will always be unique applications that will require custom posts.

Unique Heads and Attachments: We are sometimes astonished by the unique manufacturing applications customers are taking on to fully utilize their expensive CNCs. To win this work, users may further extend their equipment’s capabilities by installing such things as 5-axis articulating heads, aggregate heads, etc., so they can manufacture specialized parts more efficiently. These add-on devices amount to machines within the machine, and posts must be created to support them.

All of the major controller manufacturers (Siemens, Okuma, Mazak, Fanuc, etc.) support this type of add-on functionality, but they each do it in their own way. The post allows the CAM software to callout many functions in a language that the controller understands. In addition, there are a variety of functions (e.g. smoothing parameters) that are not accessible from the CAM software, at least not yet. However, users can fine-tune these parameters via special menus that the user can call up from the post.

SOMETHING VERY SPECIAL

Almost everyone understands the roll standard and customized posts play in optimizing the performance of standard mills, lathes, routers, wire EDMs, and the like.

Beyond that, there are unusual machines on this planet that do all kinds of off-the-wall things that you will never see in your average machine shop but that give their users a tremendous competitive advantage. Here are a few I have been involved with:

Author Chris McIntosh,
Technology Manager for In-House Solutions, Inc., in his native environment writing blocks of code for a Mastercam post.

Author Chris McIntosh, Technology Manager for In-House Solutions, Inc., in his native environment writing blocks of code for a Mastercam post.

  • Sculpting granite columns. Imagine a humongous 5-axis machine with a circular saw mounted on the spindle. We wrote a post for that.
  • The same customer also had us develop a post for a large machine that behaved somewhat like a wire EDM but instead of wire it used a band saw blade to cut granite.
  • A 6-axis shot peening machine with three rotary tables that made it possible to harden exotic materials by blasting them with hard pellets.
  • A 5-axis wire EDM machine for cutting styrofoam. Instead of uv and xy axes, it actually uses rotary movements to create the orientation of the wire to the foam being cut.
  • A post to create a lathe-style etching or chiseling motion on a machine that was not a lathe
  • A 5-axis CNC mill that uses grinding disks and wheels to cut and polish optical lenses.

When you ask a post developer to create a post for a unique machine, it is important that you educate him in what you are hoping to accomplish and how. Then he can help you devise a viable programming process along with a post that will do the job. When we write the posts for one-of-a-kind machines like these, we sometimes have to bend the rules a little regarding what is being represented within the CAM programming environment.

The post developer my wind up using slot mills to represent grinding disks. That may offend some, but if a flexible CAM programming environment allows the post developer to do that, then he can create a custom interface for a unique machine for thousands of dollars as opposed to tens of thousands.

POSTS OF THE FUTURE

Our company has been writing posts for the Mastercam X series of CAM products for nearly a decade now. Nearly all of those posts have been generated using a postprocessor generating engine that is part of the CAM package itself. That means that the user is free to develop his or her own posts, and some actually do. However, I think these users have much better ways to use their time and should leave postprocessor development to professionals.

Because the post development engine itself adheres to strict standards, the posts generated from it also behave very consistently.

Having a decade-long familiarity with a post generating engine that has changed only in small increments can be a tremendous advantage for the post developer.

But all things must eventually change. Our company is being allowed to look over the shoulders of Mastercam’s developers as they begin to introduce the postprocessor engine of the future. We are grateful for this because we do need to get up-to-speed with it quickly, as soon as it is available. It will give us the tools we need to address the vast multi-threaded processing and data accessing capabilities that will be required to write posts to take advantage of the incredible CNCs that are just around the corner.