Macro Programming… Keeping It All “In the Family”
Through the use of standard canned cycles on today’s advanced CNC, Randy Pearson of Siemens Industry shows how the programmer can use much higher levels of language without the need for custom writes, when transitioning among part family members.
Through the use of standard canned cycles on today’s advanced CNC, the programmer can use much higher levels of language without the need for custom writes, when transitioning among part family members.
When programming for families of products on previous generations of CNC technology, there was always the need to re-code every part for front and back, left and right, top and bottom, hole diameters, hole positions, thread depths, etc. This created a lot of needless duplication of effort. (Yes, I can see many heads nodding out there.)
Today, with the advancements in CNC technology, it is now possible to configure part options on the first program, then through truly conditional jumps (if/then options) and rewritable variables, all kinds of calculations and predetermined offsets can be used to produce an entire family – a really big family – of parts, without the need for endless rewrites.
Quick examples include something simple, like the same hole being transitioned 1 in inside a bracket and the more complex math calculation of multiple holes staggered on variable centers on sister parts of different thicknesses.
Through a canned cycle on the CNC, a plain language name such as “Bracket One” could be established for a particular program, with all the parameters for that part included. Next, the program gets stored in an open cycle area on the control.
Subsequently, any part program requiring any element from “Bracket One” can be developed by a simple cut-and-past operation. Note that this feature is entirely managed by the shop programmer, not the control supplier or the machine tool builder.
A further enhancement of this feature on the most advanced CNC is the nesting capability, where a sub-routine can call up another sub-routine to create families of parts within other families of parts.
I like to say the only limitation on this feature is the programmer’s imagination. (I can see you guys smiling now.) That’s because this feature is pure math. Direct math symbols are used in doing macros with variable calculations, then the programs are named with plain language tags, rather than a number series, making identification for both programmer and operator much easier and safer in use.
With the same knowledge of trigonometry, geometry and calculus that made you a good programmer in the first place, you can use the features of an advanced CNC to get the fastest and most flexible production you’ve ever “imagined” from your shop’s machine tools. Just keeps getting better, doesn’t it?
In the end, whether your parts are nearly identical siblings or just distant cousins, CNC technology has advanced to a point where you can craft the programs to produce each part in far less time and with far more repeatable accuracy than ever, owing to expanded macro programming features and cycle storage capacity.