| Issue 80 |
Fall 2009 |
Copyright 2009, CNC Concepts, Inc. |
|
|
|
September 25, 2009
Dear Subscribers,
Welcome to the Fall 2009
issue of The Optional Stop newsletter. Back in July, we
conducted a seminar at the Sandvik Productivity Center in
Schaumburg, IL. While the number of attendees was a little lower
than we’d like (11), the responses were very good.
This, combined with the fact
that several people said it was simply a bad time to get away
(week after Fourth of July), has inspired us to run the session
again. We’re actually running it back-to-back it with another
two-day seminar, Fundamentals of CNC. See the product corner for
more information.
Enjoy this issue of The
Optional Stop!
Mike Lynch
|
|
|
|
Product Corner:
Two up-coming two-day seminars!
Two two-day seminars aimed at helping you learn more
about CNC!
2-day Seminar: Fundamentals of CNC
Who should attend?
This program is directed toward entry-level and
intermediate CNC professionals. Managers will find this
course beneficial in obtaining a good working knowledge
of CNC. Design engineers, quality control people,
manufacturing engineers, tooling engineers, managers,
and foremen will also benefit by learning the practical
basics of CNC in order to facilitate tasks for their CNC
operators.
This 2-day seminar is broken into four sections – all
jam-packed with ideas to make your CNC machines more
productive.
Highlights
This two-day session presents the basics of both
machining centers and turning centers using our proven
key-concepts approach.
The Ten Key Concepts:
Programming
-
Know your machine from a programmer's viewpoint
-
Prepare to write programs
-
Understand the motion types
-
Know the compensation types
-
Know how to format CNC programs
-
The special features of programming
Operation
-
Know your machine from a operator's viewpoint
-
Know the three basic modes of operation
-
Know the key operation procedures
-
Know how to safely verify programs
Practice make perfect
Throughout this seminar, attendees will be asked to do
short exercises to confirm their understanding of
presented materials.
Want to know more?
You can find much
more information about this seminar on-line,
including a comprehensive
outline
and a
brochure.
If you register on or before October 29, 2009, you’ll pay
only $315.00. After that, the price goes up to $350.00.
We offer an additional discount if you register two or
more people ($280.00 per person on or before October 29).
2-day Seminar: Getting More from Your CNC Machines!
Who should attend?
This 2-day seminar is broken into four sections – all
jam-packed with ideas to make your CNC machines more
productive.
1: Go beyond the basics – learn tricks and shortcuts you
don’t learn in basic CNC classes.
2: Reduce the time between production runs – learn the
principles and techniques of setup reduction.
3: Reduce the time needed to complete production runs –
learn the principles and techniques of cycle time
reduction.
4: Get introduced to parametric programming – learn its
applications and see countless examples of how it can
help you.
You can find much
more information about this seminar on-line,
including a comprehensive
outline
and a
brochure.
If you register on or before October 29, 2009, you’ll pay
only $315.00. After that, the price goes up to $350.00.
We offer an additional discount if you register two or
more people ($280.00 per person on or before October 29).

Top of page
|
|
Instructor Note:
Are you sure you answered that question?
The more you teach
the more questions you get. And if you teach long enough
you’ll start noticing patterns to the questions that get
asked during each class. It seems that students will
consistently have problems with certain topics – and out
come the questions.
One such area for me
is related to axis travel directions on machining
centers. In almost every class I teach, students
struggle with which way is plus and which way is minus
with axes with which the tool does not move along with
the axis (like the X and Y axes for a C-frame style
machining center – the table moves to form these axes,
not the tool).
I’ve always tried to
understand these patterns, because I felt it exposed
weaknesses in the way I’m explaining things. Knowing
that you have a weakness, of course, is the first step
to improving it. Sometimes it takes coming up with two
or more ways to explain the troublesome topic to get
students to understand.
But I’ve discovered
yet another problem with the patterns of student
questions. Because there are so many patterns, I find it
too easy to jump to the wrong conclusion about the
question they’ve asked. Again, if the same question gets
asked in ten classes, it’s even difficult to wait until
the student completes their question before you start
answering. From experience, I know this can be a
terrible mistake. Not only is it rude (cutting the
student off mid-sentence), it’s frustrating for everyone
in the class (and embarrassing to the instructor) when
it’s discovered that the provided answer does not match
the student’s question.
About the only way
I’ve found to minimize this mistake is to force yourself
to ask a follow-up question – no matter how simple.
This, of course, will require you to listen to the
entire question before you speak. And the follow up
question will force the student to think a bit more
about the question – if you word the follow-up question
correctly, it can often be part of the answer.
Here is a simple
example – It often comes during the discussion of motion
commands.
-
Student: Do you
have to include a G01 in every straight line motion
command?
-
Instructor: You
mean even when two or more consecutive commands will
be linear motions?
-
Student: Yes
-
Instructor,
finally: No, you only need a G01 in the first of the
consecutive linear motions.
Admittedly, it’s a
pretty simple example. But it should show the kind of
interaction I’m talking about.

Top of page
|
|
Manager's Insight:
Inspiring workers’ pride in their work
To a point, I think pride in one’s
work is an inherent quality. Either a person has it or
they don’t, and some people just seem to take more pride
in their work than others. I feel this trait is most
obvious with simple or undesirable tasks. When a person
must do something they might consider beneath them, or
something they really don’t want to do, it is most
difficult to show any pride in what their doing.
Admittedly, this is a topic that has
more to do with Human nature than it does with CNC
machine tool usage. And I’m no expert in Human nature.
But it’s pretty easy to tell the difference between a
person that takes pride in their work and one that
doesn’t.
In my experience, people that take
pride in their work have certain standards about when
they consider a job to be finished or acceptable. These
people tend to be meticulous and detail oriented.
Without guidance, they may actually do things a bit too
well, completing a task in a much better fashion than is
necessary or acceptable. For these people, their
standards are higher than the employer’s. So while pride
in one’s work is a desirable quality, it must be
tempered with well defined qualities of what is
acceptable for a completed task.
Again, I’m not sure pride in one’s
work can be taught. But it can definitely be discouraged
in poor working environments where people don’t take
pride in their work. Frankly speaking – and again, in my
experience – people that truly take pride in their work
will not accept poor working environments. When faced
with working for a company that is filled with people
that don’t take pride in their work, most will quickly
move on. Or, you might see a person beat his or her head
against the wall in this kind of company for a while,
but eventually they will either leave – or their spirit
will be broken and they’ll start behaving like everyone
else.
In my opinion, the best way to
inspire pride in one’s work is through example. In your
CNC environment, consider first the lead people,
managers, foremen, and anyone else that assigns the work
in your company. These are the people that your
company’s CNC setup people and operators see and relate
to on the most regular basis. Also consider people that
your setup people and operators must depend upon most
regularly, like tool crib attendants, programmers, and
quality control people. These people must show pride in
what they’re doing – or you must replace them with
people that do.
It should almost go without saying: A
worker’s natural tendency will always respond in like
fashion to the environment around them. With management
and support personnel that show the traits of taking
pride in their work (having high expectations of
themselves), so will the worker. Indeed, they’ll feel
inadequate if they don’t. It’s simple peer pressure –
especially if the majority of workers in your company
have already bought in to the system.
Sincere and tangible positive
reinforcement must be provided for workers that show
desirable traits. In too many companies, people are
treated the same regardless of how well (or poorly) they
do. I’m not talking about rah-rah meetings that sum up
some kind of vague company achievement. I’m talking
about having one-on-one meetings with you workers to
show appreciation of a specific and recent job they’ve
done well. It’s amazing how well people respond when
they truly feel appreciated.
And here’s an important suggestion
for your one-on-one meetings. Keep it all positive. If
there is anything negative you want to say, save it for
another time. Nobody likes the compliment, compliment,
slam approach. You know what I mean: “Great job Tom. You
got that job out on time when we thought we were going
to have a late delivery. But, when you finished, you
didn’t clean the machine.” The worker leaves this kind
of meeting wondering what you really wanted to talk
about. She’ll only remember the negative things you
said. And the next time you sit down with her – no
matter how many good things you say – she’ll be waiting
for the “But…”.

Top of page
|
|
G Code Primer: The
importance of safety commands
Safety commands – by our definition
here – are a series of commands placed at the beginning
of all programs that confirm that the machine is in the
appropriate states. When you first power up the machine,
certain G codes are initialized. And in most cases, the
safety commands will ensure that the machine is in its
initialized states.
For example, when you turn on the
machine it will automatically instate your measurement
system of choice. If you work in the Imperial
measurement system, G20 will be automatically instated
(initialized). If you work in the Metric measurement
system, the machine will automatically instate G21.
Even so, it is wise to include the
appropriate measurement-system-mode instating G code at
the beginning of all programs. Doing so will ensure that
the machine is still in this measurement system mode
when the program is run.
Consider, for example, not including
a G21 at the beginning of a Metric program. The
programmer is assuming that the machine is in the Metric
mode when the program is run. But maybe someone went
into manual data input [MDI] and switched to the inch
mode to make some manual movements. And they forgot to
reselect the metric mode. Oops.
In this case the machine will
interpret the very large Metric values as inch values (a
fixture offset setting of -185.234 mm will be taken as
-185.234 inches). This will cause the machine to make a
much longer approach movement than is intended – and
could will cause a crash if the operator doesn’t catch
it. This is but one example of when the machine could
behave badly if no safety commands are present in the
program.
Here is our recommended set of safety
commands for machining centers (inch mode). Note that we
have included only three G codes per command because
many (especially older) controls do not allow more than
three per command.
Here are the safety commands for
turning centers:

Top of page
|
|
Macro Maven:
Getting data into custom macros
One of the major benefits of custom
macro B, especially with part family and user created
canned cycle applications, is the ability to change the
criteria for how the custom macro should run. This is
done with input data, called arguments (though some
people simply call them variables). This benefit gives a
single custom macro the ability to use a bolt circle
custom macro to machine three holes – or three hundred –
based upon the current value of the number-of-holes
argument. It gives a single peck drilling custom macro
the ability to peck once or one hundred times, based
upon the hole-depth argument and the peck-depth
arguments. It gives a grooving custom macro the ability
to groove with one pass or ten passes based upon the
width-of-the-groove and the width-of-the-grooving-tool
arguments.
The manner by which you specify input
data to the custom macro is largely determined by the
type of application you are developing. For user created
canned cycle applications, you commonly want your custom
macro to behave like any other canned cycle. For a
machining center application, for example, and prior to
calling the custom macro, you’ll want to change tools,
start the spindle, make some prior positioning movement
to get the tool up to the work surface, start the
coolant, and instate tool length compensation. Only then
will you call the custom macro.
The custom macro command that most
resembles a canned cycle calling command (like G81) is
the G65 command. With G65, you specify the custom macro
program number to be executed along with a series of
arguments. The arguments in a G65 command are letter
addresses, and can include A, B, C, D, E, F, H, I, J, K,
M, N, Q, R S, T, U, V, W, X, Y, and Z. (Note that not
all the letters of the alphabet are available.)
The custom macro programmer will try
to choose letter addresses that make sense (like D for
depth-of-cut), but there are no rules in this regard. In
the custom macro, the values of these letter address
arguments are referenced with local variables. The
custom macro section of your programming manual will
specify the relationships (like #1 for A, #2 for B, #3
for C, #7 for D, and so on).
Again, the G65 command makes the best
way to get data into a user created canned cycle custom
macro. But it doesn’t work so well for part family
applications, since the custom macro will be the main
program. That is, only one program will be involved, and
all activities – tool changing, spindle starting,
approach movements, coolant activation, etc. – will be
done in this single program.
The most common way to get data into
a part family application custom macro is to use a
series of common variables at the beginning of the
program (in the #100 series). Each common variable will
contain the value of an argument. Since the numbering of
common variables doesn’t make much sense, you should
include a message in parentheses that tells everyone
what the argument represents. Here’s an example:
-
O0001 (Part family custom macro)
-
#100 = 4.0 (WORKPIECE LENGTH)
-
#101 = 2.5 (WORKPIECE WIDTH)
-
#102 = 1.0 (WORKPIECE THICKNESS)
-
.
-
.
-
.
Again, the messages nicely specify
the meaning of each variable. Without them, it would be
impossible to know what each one is supposed to
represent.
This part family method assumes the operator will be
manually editing the values of each common variable when
they go from job to job. You wouldn’t want to keep a
separate program for each part in the family (with all
arguments appropriately set) – doing so would defeat the
purpose of using custom macro for part family
applications. Again, only one main program will be used
to machine all the parts in the family.
But in some cases, it doesn’t make
sense to have an operator changing the variables every
time they go from one job to the next. There may be many
to change – or you may be worried that the operator
might make a mistake. Another way to handle arguments in
part family applications is to create a separate
subprogram for each part in the family that only
includes the #100 series arguments. Now there will be a
separate program for each part in the family, but the
(one) custom macro program will constantly remain in the
machine. Here is an example:
The subprograms for this part family
can now be created off line – and transferred to the
machine with a distributive numerical control (DNC)
system. Also, the messages next to each argument may not
be so important with this method since it will not be
the setup person or operator who sets them.
One last way I’ll mention to get data
into custom macros is to use permanent common variables
(#500 series). Like offsets, permanent common variables
allow entry through the keyboard and display screen.
They may not be convenient for all data, but there may
be some times when you find them helpful. One reason
they may not be convenient is that only some of them can
to be labeled (the first ten) – and the label (with most
controls) can only be four characters. So again, it will
be difficult for people to be sure about what they
represent.
I like to use them as system
constants for part family applications. They are still
arguments, but not among those I would want an operator
to have to regularly deal with. For example, say you use
a 0.1 inch rapid approach distance. But you’d like to
have the ability to reduce this value (globally) once a
job is up and running to save time. You could place a
value of 0.1 in permanent common variable #500 and
reference #500 during all rapid approach motions in your
program. If and when you want to change the rapid
approach distance, you have but one value to change.
Or maybe your part family custom
macro runs on several machines. Any differences in how
the machines are programmed may require the need for a
different program on each machine. But if the
differences can be handled with system constants, the
same exact program could be in all machines (you’d have
only one program to maintain). Say one machine uses M41
to specify the low range while another uses M23. You can
use #501 to specify the range selection number and use
M#501 to call up the low range on both machines. You
must, of course, place a value of 23 in #501 for one
machine and 41 in #501 for the other.

Top of page
|
|
Parameter
Preference: Which measurement system is initialized at
power-up?
Actually, the choice
between whether the Imperial measurement system or the
Metric measurement system is initialized can be done on
the Setting display screen page (though it is also a
parameter setting).
When this Setting page value is changed, so is
the parameter.
The heading on the Setting pages for most
controls is Inch/Metric, and an entry of 1 sets and
initializes the inch mode, while an entry of 0 specifies
Metric mode.
Again, this Setting
page value selects the desired measurement system mode
from the instant it is selected – and it controls what
happens during power-up.
Regardless of which measurement system is in
effect when the machine’s power is turned off, the
selected Setting page choice will be instated at power
up.
Top
of page
|
|
Safety First: Do
you still use air hoses for cleaning parts?
When I first started working in shops
(I won’t mention how long ago), it was customary for
each machine operator to have an air hose. They’d use it
to blow chips and debris from workpieces, workholding
devices, and anything else that needed chips cleared.
While they did the job of clearing
chips nicely, they eventually became considered one of
the more dangerous things in the shop. Hopefully your
company has stopped using them.
The chips and debris blown away by an
air hose can go anywhere. Even when an operator is
wearing safety glasses to protect their eyes, there are
other body parts chips can enter (ears, nose, mouth,
etc.). And sharp chips can also pierce the skin.
Countless operators have been injured.
And it’s not only the person
operating the air hose that’s at risk. Anyone that
happens by when the air hose is in use is at risk.

Top of page
|
|
|
|
|
|
The Optional Stop newsletter
is published quarterly by CNC Concepts, Inc. and is distributed
free of charge to people subscribing to our (email) distribution
list and to those downloading it from our website (www.cncci.com).
Information is aimed at CNC users and instructors teaching live
CNC classes. All techniques given in this newsletter are
intended to help CNC people. However, CNC Concepts, Inc. can
accept no responsibility for the use or misuse of the techniques
given.
To subscribe:
Simply email us (newsletter@cncci.com) and let us know
you'd like to be added to our distribution list.
To
unsubscribe: Respond to this email, typing REMOVE in
the subject. Please accept our apologies if we have
disturbed you.
|
|
|
|