Can Parametric Programming And CAM Systems Coexist?

I know most high-level CAM system programmers cringe when the topic of CNC-based parametric programming is discussed. Most programmers need clean output that will run in CNCs without modification—and if misapplied, some of these parametric programming applications can really gum up the works. There are five applic

I know most high-level CAM system programmers cringe when the topic of CNC-based parametric programming is discussed. Most programmers need clean output that will run in CNCs without modification—and if misapplied, some of these parametric programming applications can really gum up the works.

There are five application categories for parametric programming, and I’d agree that some are not appropriate if a CAM system is being used to generate CNC programs.

1) Part families—One parametric program is used to machine several parts. The operator changes variables at the machine to describe the part being machined.

Most CAM systems also offer their own part family programming capabilities, and many CNC users don’t want operators in control of programming. Thus, CNC-based parametric programming for part families is usually not a good application for CAM system users.

This tends to be the classic application category for parametric programming. It also tends to be the one that is most problematic for CAM system users. Shopfloor employees love the idea of controlling their own destinies. They’d love it if they could just change a few variables to make a different part. In reality, many part-family applications are too complex to feasibly handle with parametric programming, especially when the work is so complex that a CAM system is required to generate programs.

2) User-created canned cycles—A series of motions can be executed from one G-code level command.

Most CAM systems will take advantage of CNC-based canned cycles (like hole machining cycles on machining centers—G81, G84 and others). That is, the actual output program from the CAM system will include canned cycle commands—they’re part of the postprocessor. These built-in, CNC-based canned cycles make programs both shorter and easier to modify.

If your company regularly performs a given type of machining operation that is not handled by a control-based canned cycle, you can create your own canned cycle and modify the CAM system’s postprocessor to output the appropriate command(s) to invoke it. A good example is thread milling for a machining center. Many CNCs still don’t have a thread-milling canned cycle, but one can be easily created with parametric programming. Once created, it will provide all benefits of any other canned cycle and can be invoked by the CAM system (if the postprocessor is modified). At the machine, for instance, the program will be shorter, and the operator will have better control of how the thread is milled at the machine.

3) Utilities—The CNC machine’s behavior is enhanced or improved in some way.

Applications in this category can be helpful to any company that uses CNCs, including those companies with CAM systems. Generally speaking, any time you’re having a problem at the machine, you should think about enhancing the machine’s behavior with a utility parametric program. This may sound like a bold statement—and not all problems can be overcome with parametric programming—but it is important to consider all possibilities when solving problems. Parametric programming provides many tools to help in this regard.

With many utility applications, the CAM system is not involved—what’s modified is the way the operator works with the machine. Consider, for example, the task of measuring program zero (origin) for machining centers. If setups are qualified (fixtures are keyed to the machine table), there is no need for this task. Program zero can be calculated, and program zero assignment commands can be included in the program. If qualified setups are not possible, the position of program zero must be measured during setup. One way is to use a spindle probe, which is driven by parametric programs. If the machine doesn’t have a spindle probe, the setup person must use tools such as edge finders and dial indicators to manually measure the program zero point location.

In this last condition, the problem is the time and skill required. A parametric program can allow virtually any spindle probing operation to be done with an edge finder. The only difference is that the setup person will have use the machine’s hand-wheel function to manually touch each surface. Everything else will be done by the parametric program.

4) Driving accessory devices—Applications can drive probes, as well as tracking and reporting and postprocess gaging systems.
These high-level accessory devices require parametric programming features. If a machining center has a spindle probe, it likely has parametric programming capabilities. And because the probe can be programmed, you can think of this application as similar to what was described for user-created canned cycles. One or more probing cycles are often included within CNC programs, and the CAM system must be able to output the necessary commands.

5) Complex motions—New (or optional) motion types can be created.

Control manufacturers provide interpolation for needed motions. Linear, circular and helical interpolation are among the most common. If you encounter a motion type that the machine cannot perform, a parametric program may be the answer. Note that many CAM systems can generate just about any kind of motion, but the corresponding CNC program can become lengthy—the CAM system must generate a long series of tiny, straight or circular-motion commands.

Consider milling a tapered thread, which requires a kind of spiral interpolation. Even many newer machines still don’t provide spiral interpolation, and older machines do not have this feature. A parametric program can generate the spiral motion necessary to mill taper threads.

Applications in this category can often keep programs much shorter than a program generated by a CAM system. For example, the taper thread-milling parametric program, which can be used for any size tapered thread, contains approximately 50 lines of G code. However, it may actually generate hundreds—or even thousands—of tiny motions when in use. If generated on a CAM system, the equivalent motions would require hundreds or thousands of G-code commands.