incremental/absolute and parametric programming


November 20th 2008 12:51 pm By Web Development in India

A copy of your Fall issue of the Optional Stop newsletter showed up in my mailbox over the weekend. I must confess to being stumped. I do lead a rather sheltered life (24-year programmer), but I’m slightly confounded by a couple of newsletter issues.

We use CATIA V5 and canned postprocessor software. I’ve done a bit of traveling for the company (nowhere near as much as you obviously do), and all the suppliers that I’ve visited use some form of (fairly advanced) graphic programming software (mostly CATIA, NCL or MasterCam) and canned postprocessors (admittedly, I’ve visited very few Mom & Pop shops). I’ve visited with my friends from supplier management. They tell me all tier 1 and tier 2 aerospace suppliers have CATIA. So, I’m puzzled that programming in the absolute vs. incremental mode would even be an issue. Nowadays, graphic programmers generally don’t have a clue where their cutter is (in terms of Cartesian coordinates). When I first hired in, programmers were expected to verify tool paths by double-checking post output. That generation has mostly retired. Most programmers (here) can’t even read post output. CGTech’s Vericut software handles that (also at supplier shops that I’ve visited). Today, NC programming is a point & click game. With canned post processors arbitrarily set to the G90 mode (individual programmers cannot influence this decision). So, I’m surprised this is even an issue. I read several trade journals, and don’t recall stumbling across anything about shops still ‘hand programming’ or even wide-spread use of conversational controls (we don’t have any, and I’ve never seen a tier 1 or tier 2 shop that did).

Lawrence Reimer
Response:

Lawrence,

The newsletter article (entitled G code primer: Try not to think incrementally here) was aimed at entry-level manual programmers that write programs at G code level - or at least people learning how G code works. I should have made this more clear in the article. Since these people must develop all coordinates that go into their programs (your CAM system is doing this for you), they must correctly program each position through which the tool must move for the entire program. And while working in the incremental mode will have no adverse affect as long as motions are correct, it can be confusing to work in the incremental mode.

This is why I recommend that manual programmers work predominantly in the absolute mode. Since a CAM system doesn’t get confused in this fashion, and since motions at the machine will be identical regardless of which mode is used, the incremental/absolute concern doesn’t apply. Indeed, many CAM systems that work with three dimensional shapes (like I assume yours does) will output incremental motions since programs can be kept shorter.

There are still many CNC-using companies that have not taken CAM system usage to your level. While almost every company has and uses some kind of CAM system, believe it or not, many still generate at least some programs manually - especially for simpler work. Or at the very least, they commonly edit programs at the machine. In these cases, a knowledge of G code is still important.

Second question: This question was raised from the article Macro Maven: Bar puller macro with bar replacing alarm included here.
> The other puzzle is parametric programming. I’m far from smart enough to realize how this (albeit handy) technique could be applied to graphic software / canned posting type of shop.

Response:

I know most high level CAM system programmers cringe when the topic of CNC control based parametric programming comes up. Most need “clean” output that will run in CNC controls without modification - and if misapplied - some applications for parametric programming can really gum up the works.

Keep in mind that there are five application categories for parametric programming and I’d agree that at least some are not appropriate if a CAM system is being used to generate CNC programs. Let me list these five categories and make some comments. There are exceptions to just about everything I’ll say, so remember that these are just general comments.

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

Most CAM systems also offer part family programming capabilities, and since many CNC users don’t want operators in control of programming, machine based parametric programming for part families is not a good application for most CAM system users. There are some exceptions, but I don’t think they’d apply to you - so I won’t elaborate.

This tends to be the “classic” application category for parametric programming. Indeed many people think it’s the only one, feeling that if you don’t have part families, you don’t have application for parametric programming. It also tends to be the one that gums up the works the most for CAM system programmers. Shop floor people love the idea of controlling their own destiny. 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 a good CAM system is available.

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 control based canned cycles (like hole machining cycles on machining centers - G81, G84, etc.) That is, the actual posted output will include canned cycle commands - they’re part of the post.

The advantages of these built in CNC control based canned cycles, of course, include shortening programs and making it easy to modify programs at the machine.

If your company performs a given type of machining operation on a regular basis - but the operation is not handled by a control based canned cycle, it may be helpful to “create” your own canned cycle and modify the CAM system’s post to output the appropriate command/s to invoke it. A classic example is with thread milling. Many CNC controls still don’t have a thread milling canned cycle. One can be easily created with parametric programming. Once created, it will afford all benefits of any other canned cycle - and again - can be invoked by the CAM system. At the machine, the program will be shorter - and the operator will have better control of how the thread is milled.

3) Utilities - the machine’s behavior is enhanced in some way

The example shown in the Fall 2007 newsletter (the bar puller counter) is a utility application. We’re having the machine automatically keep track of how many workpieces have been run from the bar so an operator won’t have to stay at the machine and count them.

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

With many utility applications, the CAM system is not even involved. We’re simply modifying 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 keyed to the machine table), of course, 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 made, the position of program zero must be measured during setup. One way is to use a spindle probe (which, by the way, is driven by parametric programs). If the machine doesn’t have a spindle probe, the setup person must measure use rather crude tools (like 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 be used that will allow just about anything that can be done with a spindle probe to be done with an edge finder (we recommend a conductivity-type edge finder that lights up when it makes contact). The only difference is that the setup person will have to manually touch each surface (using the machine’s hand-wheel function). Everything else will be done by the parametric program.

I’ve just briefly explained but one utility application - one that probably doesn’t apply to you. But my point should be clear - when you have problems with the machine (wasted time, crashes, scrap, and frustrations of just about any kind), you should at least consider whether the problem can be solved or made better through parametric programming.

4) Driving accessory devices - like probes, tracking & reporting, and post process gauging systems

These higher-level accessory devices require parametric programming features. So if a machine has a spindle probe, it likely has parametric programming capabilities. And since 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, meaning the CAM system must be able to output the necessary commands.

5) Complex motions

Control manufacturers provide interpolation types for needed motions. Linear, circular, and helical motions 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 program will become very lengthy - the CAM system must generate a very long series of very tiny straight or circular motions.)

Consider milling a tapered thread. This requires a kind of spiral interpolation. Even many newer machines still don’t provide this motion type. And older machines will not have this feature. A parametric program can create the spiral motion necessary to mill taper threads.

Applications in this category can often keep programs much shorter than CAM system generated programs. The taper thread milling parametric program, for example, is only about fifty lines of G code. Though this is the case, it may actually generate thousands of motions when in use. If generated on a CAM system, these motions would require thousands of lines of G code.

Hopefully this answers your questions. I did get a little wordy, but I didn’t get too specific, so please let me know if you have more questions.
http://www.cncci.com/resources/tips/incr-abs%20and%20parametric.htm

Posted by admin under CNC Tips |

Trackback URI | Comments RSS

Leave a Reply