In theory, CAM software offers a fast, easy and flexible way to generate the
NC code to machine a part. If the CAD geometry is clean and complete, then the
programmer simply needs to make the right choices in CAM to allow the software
to quickly generate even a long machining cycle for a part in need of numerous
machining operations.
However, in practice, there are various reasons why the resulting NC program
might require further attention before the part can be produced effectively. Any
of these problems might arise:
- A cutting parameter such as speed, feed rate or depth of cut may need to be
changed because an intended tool is not available, or because the properties of
the workpiece material proved to be different than expected.
- A tool path may need to be slightly modified. Perhaps a drill needs to
penetrate a little farther, or perhaps a machined feature requires a small and
simple geometric change.
- A chosen machine may not be available. The program may therefore need to be
rewritten for the capabilities of another machine, or at least postprocessed for
a different control.
When faced with one of the first two problems, an experienced operator might
be able to wade into the NC program to make the appropriate change directly
through manual editing. Needless to say, relying on this approach is risky. Far
more often, the only practical way to deal with any problems like these is to
return the program to the programmer.
Black Box
The production facility for Sandvik
Mining and Construction in Mansfield, Texas, faced all of these problems. With
three programmers, the plant was short-staffed. Machine tools often sat idle
because programmers could not supply programs fast enough to keep up with
production demand. The need to rework programs because of problems like the ones
described above only added to the programming demand.
Since then, the plant lost a programmer—now there are only two. However,
machines no longer sit waiting for programs. The difference, according to senior
CNC programmer Guillermo Bosque, is that single-use NC programs have been
replaced by macros that reside at each machine tool’s CNC. In many cases, an
operator does not even need to rely on a programmer anymore, but instead can
simply input the correct geometric variables to describe the part for the
appropriate macro. Rather than being a dedicated program for one particular
part, this macro is instead a “black box” (to use Mr. Bosque’s term) that
generates the correct tool paths according to the entered part variations.
With this approach to programming, machine tools are now interchangeable.
Machines with very different configurations and controls are equally ready to
make a given part because the relevant macros have been written for these
machines. The only dedicated “program” consists of the variables describing the
part. Thus, there is no postprocessing of programs for the intended machine
tool—variables can simply be entered at the available machine.
 |
|
The plant makes the earth-drilling tools used by machines
like the one below. The photo at right (taken in the plant’s lobby) shows
different hammer sizes. The photo below it shows parts in work that will become
bits for hammers such as these. |
Operators are more interchangeable, too. Simply by adjusting the variables
that the macro reads, a very experienced operator and a very inexperienced
operator can both adapt the machining process as needed with a similar level of
success.
Mr. Bosque was tasked with writing these macro programs. Initially, he wrote
them by hand on a pad of paper. He says that by implementing macro programming
in this way, the company has made the production process more lean. In fact, he
bristles just a bit at the term “lean” as it is often applied, because he thinks
many plants “go lean” by streamlining processes that are fundamentally
inefficient from the outset.
He asks: What about going back to the beginning instead?
That is, what about questioning the very first step in the process by which a
model becomes a finished part?
Family Matters
Relying on macros this way
requires a family of parts, Mr. Bosque says. A job shop could not program in
this way. Most of the machining in his plant does involve family parts, even
though a family can be quite large. In fact, thanks to special orders, the part
families can acquire new members on a routine basis.
The products this plant manufactures are bits and pneumatic hammers for
drilling wells and other deep holes in the ground. Pistons, stems and cases for
the hammer assemblies all have designs that vary according to the size of the
bit, the style of the hammer and the equipment the customer is using to drive
the tool. The bits themselves range in size from 3 to 30 inches in diameter,
with earth-cutting geometries that are either specified or customized for the
conditions of the soil and rock in the customer’s application. Each bit features
some particular pattern and combination of sludge grooves, flushing holes and
holes for carbide buttons. Despite the variation, though, the geometry of a bit
can be completely defined using a set of 10 to 20 variables entered into the
macro program. By looking at the part print, either the programmer or the
operator can quickly identify and enter parameters such as the bit diameter, the
quantities and sizes of particular hole types, the angular positions of
particular holes (around the circle of the part) and the angles of penetration
of various holes. In cases where speeds or feed rates may need to be adjusted
after the part is at the machine, these parameters are available as input
variables as well.
 |
|
In the programs now used in the plant, a machining routine
for a new part is created simply by entering different variables for the macro
program to read. |
When writing the macros that rely on all of these variables, Mr. Bosque says
he simply thought slowly through the logic by which he or another programmer
might generate the program for a particular part. The macros that resulted from
this work use “if/then” statements to select tools and machining processes based
on the variables and even to check for data-entry errors. The macros also use
trigonometry, as angles of the part are used to determine tool paths or part
orientations, particularly in 3+2 machining.
 |
|
The geometry of a bit is complex. All of the raised buttons
seen here were pressed into drilled holes. Nevertheless, all of the machined
geometry of any bit can be defined using numerical values that can be extracted
from the model or identified from the part print. |
Taking the time to write these programs did represent an investment for the
plant, but not a large one. Mr. Bosque spent about two weeks writing and proving
out the macros for the first of the plant’s machining centers to be programmed
in this way. The first lathe to receive macros required less time than this.
After that, writing macros for subsequent machines was much easier, because the
existing macros could simply be adapted. Later on, macros were also written for
a machine that is both a machining center and a lathe—the multitasking Mazak Integrex e-650H,
which can completely produce many of the shop’s larger parts that formerly would
have required multiple setups on different machines.
The “e”-series Integrex is the newest, largest and most sophisticated machine
tool in the shop. The effectiveness of such a machine tool might normally be
expected to depend on the effectiveness of the postprocessor. However, because
this machine arrived at the Sandvik plant after macro programming was already
established, the postprocessor for this machine has yet to be used.
Programming Vs. Productivity
Freeing
programmers to initiate machining more quickly, along with freeing operators to
reliably make certain machining modifications on their own, has dramatically
increased the plant’s machining output. In the past, the programming department
often needed to generate 40 new NC programs in a day. Given this workload, the
plant simply became accustomed to the idea that programming could be a
bottleneck, and that some machines would sit ready and waiting until the moment
when a program was ready to go. Once the plant started using macros, however,
one CNC machine increased its productive output by 40 percent. Other machines
showed comparable gains. At the very beginning of the plant’s investigation into
macros, there was a question of whether it would be worth the expense of $700 to
upgrade the control of one older machining center to allow macro programming.
But at the rate of increased output that this machine ultimately realized, the
$700 investment was repaid in less than one week.
 |
|
The shop’s most sophisticated machine tool arrived after
macro programming was established. As a result, the postprocessor for this
machine has yet to be used. |
Old machines and new machines now perform more interchangeably than ever
before. It is still true that every different CNC speaks its own dialect.
Different CNCs, therefore, require different macros to perform the same work
(just as they require different postprocessors). However, this need for
different macros was Mr. Bosque’s problem—and it was a one-time problem. The
macros for the different CNCs have now been written to perform identically, from
the operator’s perspective, from one machine to the next. Regardless of the type
or model of the control, the operator knows where in the program file to enter
the numbers for the variables that change from part to part.
As a result, in the process of freeing the shop floor from programming
bottlenecks, the plant has also overcome a common source of inefficiency in
machine shops—the fact that some operators are knowledgeable about only certain
controls. Some shops insist on using only one control type throughout the shop
for this very reason. By contrast, the Mansfield plant will continue to use an
odd mix of CNC machine tools from a variety of different suppliers without
having to pay a penalty in terms of the flexibility of its shopfloor
personnel.
Back To CAM
The next step will be to make
programming even easier. Since implementing macros, the shop’s scrap rate has
dropped to one-fifth of what it used to be. However, the need to manually input
variables based on dimensions of the part’s features still leaves room for
error. Therefore, the plant is now working within its CAM software to devise a
system for inputting the variables automatically, Mr. Bosque says. The plant
will read the CAD model into CAM not to generate an NC program in the same way
that it used to, but instead to extract the appropriate variables so that it can
generate the macro programs with the variables already filled in. In this way,
Mr. Bosque says, the plant will return to more widespread use of CAM.
MMS Online is a trademark of Gardner
Publications, Inc, copyright 1997-2008.
MMS Online and all contents are
properties of Gardner Publications,
Inc.
All Rights Reserved.