| Issue 81 |
Winter 2009 |
Copyright 2009, CNC Concepts, Inc. |
|
|
|
December 21, 2009
Dear Subscribers,
Welcome to our third decade! We published the first
issue of The Optional Stop newsletter back in the Fall of 1989.
It’s hard to believe it’s been twenty years. In its infancy, we
would give this newsletter free of charge to our video-course
customers and sell it to anyone else that wanted it ($35.00 per
year).
The first fifty issues were printed and sent out by
mail. But in the Fall of 2001, everything changed. After 9/11
and the Anthrax scare, we were getting countless newsletters
returned unopened. So we developed an Internet-friendly .pdf
version, posted on our web site and started giving it a way to
anyone that wanted to download it – and we’ve been doing so ever
since.
Over the years, we’ve depended heavily on
participation from our readers for ideas and articles. It’s been
great – many of you have contributed – and you have our
appreciation. Welcome to issue 81!
Mike Lynch
|
|
|
|
Product Corner:
Fixture offset calculator
This is a product we’ve been
offering for some time, but it has met with
less-than-expected sales. For the price ($100.00 for
download version), it should be a no-brainer for anyone
that has machining centers with a rotary axis – like
most horizontal machining centers. If you make repeated
setups, this unique programmer’s tool will allow you to
work from one central program zero point and track its
position even after rotation.
Fixture Offset Calculator will
even output a series of G10 commands that can be loaded
into the machine during setup. These commands will
automatically enter the related fixture offsets.
Read more about this great product.

Top of page
|
|
Instructor Note:Assessing
a student’s knowledge
Though it is an
obvious statement, learning is a two-way street. A good
instructor will do their best to present material in an
understandable manner. Indeed, they will constantly
strive to present material in a way that makes it as
easy as possible for a student to understand. A good
student will do their best to learn the material. They
will put in the effort to participate in classroom
activities and do the assigned work. In ideal learning
situations (good students and instructors with high
motivation and aptitude), it can almost be taken for
granted that a student will learn.
Unfortunately, these
ideal situations rarely exist. So methods must be
developed to assess the student’s understanding of
presented materials. There are many methods available,
including informal class discussions, hands on practice,
and quizzes and tests.
With any form of
assessment, a student must have a fair chance to
demonstrate a command of the subject matter. Each
assessment method has its strong and weak points in this
regard. Just the fact that an assessment is being done
may be enough to skew the results. Some students, for
example, simply don’t test very well. Conversely, some
students test very well. In both cases, the assessment
may be better at judging a students ability to take
tests than at judging how well they understand the
material. Have you ever noticed that when a student gets
a test answer wrong, they (universally) feel that it was
a trick question. They never seem to complain about
questions they got right. This is obvious evidence that
students don’t feel the assessment method is fair.
Because each method
of assessment has its pros and cons, an effort must be
made to ensure that the assessment gets correct results.
Again, poorly designed assessment lets you only judge
the students’ ability with the assessment method, not
the subject matter at hand.
One way to level the
playing field is to provide multiple assessment methods.
At the very least, this gives the student a second – or
third chance to prove they understand. And again, the
assessment must place the emphasis on the subject
matter, not the assessment method. I’ve found with
on-line or computer based testing, for example, some
(especially older) students struggle with the media
(computer, keyboard, testing software, etc.). This
distracts them from being able to concentrate in the
subject matter.
I’ve heard some
instructors say that this is a good thing – that there
will be outside influences in the real world that will
distract a worker from their appointed tasks. But in my
opinion, it still isn’t fair. I believe this attitude
reflects the instructor’s inability to adequately assess
their own teaching methods. In the real world, people
usually have ample time to sort things out. There’s
usually a time limit when they are being assessed.
Additionally, people in the real world have usually been
working in the field for a long period of time –
possibly years. This is plenty of time to fully master
the tasks at hand – they have the experience needed to
deal with distractions. Conversely, a student has only
known the material for a short period of time. It’s just
not apples to apples.
Some (possibly
obvious) methods used to assess a students
understanding:
-
Group discussions
(when every student is required to participate)
-
During reviews of
material (I like to let students answer many
questions about previously presented material at
review time)
-
Quizzes
-
Tests
-
Lab exercises
(provides a practical – not just theoretical – way
to assess)
Others? I’d be interested in hearing your methods of
assessment for publication in a future issue of The
Optional Stop newsletter!

Top of page
|
|
Manager's Insight:
Three important comparisons to consider
There are three relatively simple comparisons you can do
in order to evaluate a machine’s productivity level –
that is – its level of effectiveness. And this, in turn,
will provide you with information about how much
potential there is for improvement for a given machine.
Time in setup versus time in production
This easy-to-do comparison will tell
you which area provides the most potential for
improvement – and should help you make a decision on
where to start with any kind of improvement program.
Simply determine whether the machine is in setup or
running production for the majority of time. The greater
that difference, the more obvious the choice.
If, for example, a machine is in
production for 90% of the time, it wouldn’t make much
sense to try to improve setup since there would not be
much room for improvement. Even if setup could be
completely eliminated, you would only be saving 10%.
Time to perform physical setup-related
tasks versus total time the machine is down between
production runs
Physical tasks include things like
mounting the fixture, assembling cutting tools, loading
programs, and entering offsets. It’s pretty easy to
determine how long they take to complete. And the
related time tends to be pretty consistent from one time
a setup is made to the next.
It is not uncommon for the time
require to perform all physical setup tasks to be but a
fraction of the time a machine is down between
production runs. It may, for instance, take only twenty
minutes to perform all of the physical tasks, but two
hours later your people are still trying to get a
workpiece to pass inspection.
The goal here is to find ways to draw
the total time a machine is down between production runs
down to the time it takes to perform the physical tasks.
One example has to do with gathering components needed
for upcoming setups. If all components can be gathered
up-front, the setup person won’t have to leave the
machine during setup at all. Other improvements are
usually possible in the area of program verification –
providing trial machining help so the setup person can
ensure that the first workpiece being produced is a good
one.
Button-to-button time versus production
run throughput time
Button to button time is one
definition of cycle time. It includes the running of one
workpiece and the loading of the next. But it is not an
inclusive definition of cycle time. We define cycle time
(better termed as production run throughput time) as the
time it takes to complete a production run divided by
how many good workpieces were made.
As with the setup-related physical
tasks, it is not unusual for button-to-button time to be
but a fraction of production run through-put time. There
are many things that happen during a production run that
don’t occur in every cycle. And there may be things that
you expect your operators to do that take longer per
cycle than button-to-button time.
Similarly, the goal is to draw
production run throughput time down to button-to-button
time. Simplifying tasks and truly engineering the
production run in a way that the operator can feasibly
keep up with the machine are examples of doing so.

Top of page
|
|
G Code Primer:
Programming parameter changes
There are many parameters that affect
the way a CNC machine executes a program. In many cases,
one appropriate setting for the parameter will work for
an entire program. Indeed, many such parameters will
work for all of the programs a company runs.
For example, with the machining
center G73 chip-breaking peck-drilling cycle, a
parameter controls how far the tool will retract between
pecks. A setting of from 0.002 to 0.005 inch will cause
the chip to break. And once this parameter is set, there
will be no further need to change it.
There are other program-related
parameters that may need changing from time to time.
With the machining center G83 deep-hole peck-drilling
cycle, for example, a parameter controls how far the
drill will stay away from its last peck depth position.
This distance is related to the material being machined.
Some companies set this parameter
excessively. That is, they set it to a large value that
will work for the worst case scenario – the material
that most allows chips to fall back into the hole during
retract. While this is safe, it may not be very
efficient. Other companies reset the parameter for the
material currently being machined.
In yet other applications, it may be
necessary to change parameters even during the execution
of a single program. With the turning center threading
cycle on some controls, for example, parameters control
the minimum depth-of-cut, the final depth-of-cut, and
the number of spring passes. If machining two
substantially different threads from within one program,
the settings for one thread may not be appropriate for
the other.
It’s nice to know that
program-related parameters can be changed from within a
CNC program using the G10 command. For parameters that
need to be changed from time to time, and especially
when parameters must be changed during a program’s
execution, G10 will keep a setup person or operator from
having to manually do so.
Here is an example of how G10 works
for changing parameters.
-
.
-
.
-
.
-
G10 L50
-
N6218 R0030
-
N6219 R0002
-
N6220 R3
-
G11
-
.
-
.
-
.
The first command (G10 L50) sets the
parameter entry mode. The N words specify specific
parameter numbers and R words specify the parameter
values. You must, of course, know the parameter number/s
for the parameter/s you want to set and the related
value/s. G11 tells the control to cancel the parameter
entry mode.
In our example – and for the specific
control model being shows (parameter numbers change for
model to model), parameter number 6218 specifies the
minimum depth-of-cut (0030 specifies 0.003 inch).
Parameter number 6219 specifies the final pass depth
(0002 specifies 0.0002 inch). Parameter number 6220
specifies the number of spring passes (three in our
example)

Top of page
|
|
Macro Maven:
Testing if the correct fixture offset is instated
In order for the cutting tool to move
to the correct coordinates, the program zero point
(program origin) must be properly instated. This, of
course, is done with fixture offsets. In many programs,
but one program zero point must be assigned – and it is
commonly instated with fixture offset number one. A G54
in the program will be used to instate it.
In this case – one program zero point
– there will be virtually no chance that the incorrect
fixture offset will be instated. Again, most programmers
will include a G54 at the beginning of each tool,
ensuring that the machine will know the location of
program zero.
But when multiple program zero points
will be assigned, the programmer must be more concerned.
This is especially true with horizontal machining
centers (every side of the table will have a different
program zero point) when sub-programming techniques are
used to repeat motion commands. If a setup person or
operator restarts the program at the wrong command, and
if the program zero point is not correct, the results
could be disastrous.
With custom macro B, it is possible
to determine the currently instated fixture offset.
Actually, it is possible to attain the current status of
any modal G code – as well as the status of other CNC
words. But for the purpose of this discussion, we will
limit our presentation to the G codes related to fixture
offsets (G54 through G59).
Fanuc categorizes modal G codes into
G code groups. It just so happens that group number 14
contain the fixture offset G codes. (Please double check
this in your Fanuc programming manual – the G code group
number is specified in the table of G codes near the
front of the manual.) A series of #4000 system variables
give your programs access to the currently instated G
coed in a given G code group. To come up with the needed
system variable number, simply add 4000 to the G code
group number. For the G code group related to fixture
offsets, we add 14 to 4000. System variable #4014
contains the current status of fixture offsets (which
fixture offset is currently instated.
System variable #4014 can be tested
to ensure that the appropriate fixture offset is
instated before motion commands are given. For example,
when fixture offset number one is in effect (specified
by G54, of course), the current value of #4014 will be
54. If you want to test that fixture offset number one
is in effect – and generate an alarm if it is not, here
are the related custom macro commands:
If the test is true, the machine will
skip the alarm generation command. If false, the machine
will go into alarm state and the message “MC-100 WRONG
FIXTURE OFFSET” will be displayed. This effectively
confirms that fixture offset number one is in effect
before allowing the machine to continue. Other fixture
offsets, of course, could be tested in this manner by
applying the appropriate G code number to the test.

Top of page
|
|
Parameter
Preference: Finding program-related parameters
In this issue’s G
Code Primer, we discuss how to program certain
program-related parameter changes with G10. Doing so, of
course, requires that you know the parameter numbers
related to the function the parameter controls. This is
true regardless of whether you with to program the
parameter change of manually modify the parameter. In
either case, you’ve got to know the parameter number for
the function in question.
Parameters can be
difficult to locate. And parameter numbers vary from one
control model to another, meaning even if you know the
related parameter number for one control, you will still
need to find if for another.
One way to find parameters is to look in the parameter
documentation and begin searching at parameter number
zero. While I’d recommend doing this just to see the
various parameters related to a given control – and what
it’s possible to change – it doesn’t make a very
efficient method of finding a given parameter (the image
of a needle in a haystack comes to mind).
With newer controls,
parameters are organized into categories, which
considerably narrows the search. But it can still be
difficult (based on the parameter’s documentation) to
determine if the parameter you’ve found is truly the one
in question. Additionally, there are several parameters
that have not been properly categorizes – especially
those from number zero to about number one-hundred.
The best place to
start looking for a needed parameter is in the
documentation that describes the feature dealt with by
the parameter. This documentation is in the programming
portion of the control manufacturer’s manual/s.
If you’re trying to
find the parameter number for the parameter that
controls the final pass depth for threading, look in the
programming manual at the section that describes G76. If
you’re looking for the parameter number for the
parameter that controls the retract amount for the
chip-breaking peck-drilling cycle, look in the section
that describes G73. If you’re trying to find a parameter
that is related to custom macro B, look in the custom
macro B section of the programming manual.
Somewhere in the
description of each programming function – and usually
in a series of notes at the end of the function’s
description, you’ll find documentation about each
parameter that is related to the programming function.
Top
of page
|
|
Safety First:
Where’s the closest first-aid kit?
You probably
have many safety-related items placed in various
locations around the shop – fire extinguishers,
respirators, first aid kits, safety glasses, helmets,
etc. Unless
you have an unusual amount of accidents, there probably
isn’t much of a need for these items – and they may be
doing little more than collecting dust.
Indeed, some of these items (like
some of the medicines and ointments in a first aid kit)
may have been sitting unused for so long that their
effectiveness has been reduced.
Most time-sensitive items have an effectiveness
date, meaning a simple inspection will render whether
the item needs to be replaced.
Someone in you company should be responsible for
inspecting these items on a very regular basis.
Even more importantly, everyone in
the shop should know where the closest safety items are
located. In
the event of an emergency, they must be able to quickly
locate the needed items – for themselves – or for
someone else.
Safety training should be part of
your company’s orientation for new employees.
At the very least, everyone should know simple
first aid techniques.
While it may be infeasible for your company to
employ medical personnel (like an EMT or nurse), nothing
should stop you from encouraging (and paying for) people
in your company to attend basic medical classes (like
CPR training) that are available
from local hospitals.
If a serious accident happens, at least someone
in your company should know what to do.

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.
|
|
|
|