| Issue 72 |
Spring 2007 |
Copyright 2007, CNC Concepts, Inc. |
|
|
|
June 20, 2007
Dear Subscribers,
We've changed the look of our newsletter to match
the design of our new website. We hope you find it attractive and
easy to read. We've already received many compliments on
the new website design and we hope this new design for The
Optional Stop is as well received.
We always try to include topics in this newsletter that most educators
and CNC people will find of interest - and this issue is no
exception. Everyone involved with CNC should find something
helpful.
As always, your comments and suggestions are always
welcome. And of course, if you have an idea you'd like to
have published, use
this link to let us know.
Mike Lynch
|
|
|
|
Product Corner:
NCPlot - More Than A Tool Path Plotter
NCPlot allows you to plot tool path from G code
level programs. The text window of
NCPlot is like
the internal memory of the CNC control. If you
have subprograms being referenced by your program, just
load them - or copy and paste them - into the text
window. When a reference is made to a subprogram,
NCPlot will know where to look.
Tool path display is both common and
unique. Like most tool path plotters, dotted lines
are used to represent rapid motions while solid lines
represent cutting motions. Color changes can be
used to reflect motion type (G00, G01, G02, or G03) or
tool changes. But unlike many tool path plotters,
you can click on an element in the tool path display and
be told all about it (position, length, motion type,
etc.) and the CNC command that causes the motion will be
shown in the text window. You can even measure
distances between elements, a feature normally found
only with more expensive program verification systems.
NCPlot also allows you to plot tool path
for custom macro B programs. Again, after quickly
loading the main program and custom macros into the text
window, you'll be able to see the motions your custom
macro will generate. There are even some helpful
features built in to
NCPlot to help you write and verify your custom
macros, including a quick reference manual for custom
macro functions, an expression analyzer to help you
verify arithmetic expressions., and an easy way to step
through calculation and logic commands one-by-one.
Using the dxf-to-G-code feature, you can
even import drawings from computer aided design (CAD)
systems and have
NCPlot create the G code motion
commands needed to machine the imported shape.
And the text-to-G-code feature lets you create G code
for engraving on your workpieces.
We no of no other software at the price of
NCPlot ($299.00 with student pricing available) that
comes close all that
NCPlot
can do.
Check
it out now!

Top of page
|
|
Instructor Note:
How Self-Paced Training Materials Can Support
Instructor-Lead Classes
We offer products for both types of
training - self-paced and instructor-lead. Our
CD-rom Courses and
Self-study Manuals are designed for self-paced
training while our
Instructor's Curriculums are designed to help
instructors teach live CNC classes. We often
receive questions from instructors regarding which
method is best - or at least - which method we
recommend based upon their particular situation. In this short article, we provide some
of our thoughts. We'll describe how our materials
are currently being used to make certain points.
Self-paced training
As the name implies, students complete
this kind of training at a pace that suits their
allotted time, schedule, and aptitude. What the name
doesn't imply is that with self-paced training, the
student is often left completely on their own to learn.
In many cases, they will view videos, read, and do
exercises and assignments without the help of an
instructor. A facilitator (most commonly an
instructor) should be available to direct them and
answer questions, but for the most part, the student
learn on their own.
The main benefit to the student is that it
allows them to study at times when it best suits them.
They learn on their schedules, not a school's schedule.
This, lets people fit their education into their busy
lives. Frankly speaking, there aren't many more benefits
to self-paced training that I can think of.
Students with good motivation and aptitude for the subject
matter do well with self-paced training, and won't need
much help as they go through the material.
Unfortunately, people with lesser motivation and aptitude levels may
struggle with self-paced training materials. Most
materials - like books and videos, can only present the
subject matter in one manner. It cannot "roll with the
punches" when students have special needs.
Self-paced (also called "open in / open
out") training has allowed schools to offer training in
a subject matter even with a small number of students.
And it has allowed schools to meet the needs of students
that have limited time to spend at the school. Frankly
speaking, some programs probably wouldn't exist if they
couldn't be offered as self-paced training programs.
Self-paced training can be time consuming
for the facilitator when many students are participating
in the same course at the same time - and especially
when they're having problems. The instructor may have to
explain the same concepts over and over - in a
one-on-one manner with students. This may not be the
best use of an instructor's time.
Instructor-lead training
In this training environment, much of - if
not all of - the material is presented by an instructor
in a classroom setting. Students are commonly asked to
do reading assignments and other exercises as homework,
but the majority of learning occurs in the classroom.
The main benefit to this kind of training
is that the student has the ability to question the
instructor at the moment they don't understand an
important point. They also hear other student questions,
ensuring that they understand the concepts being
presented. Based upon students' questions, the
instructor gets immediate feedback - and can elaborate
when students are having problems.
Our suggestions
Ideally, you should be able to offer both
training options and apply whichever is best to each
situation. For example, one instructor I know of - a
technical/vocational high school teacher that also
provides adult education classes - told me that he
doesn't want the high school students to use the
self-paced training materials. Through experience, he
has learned that high school students just don't have
the motivation to do well with self-paced training - at
least not in his school. So he presents live classes with
lectures to get the subject matter through to his high
school students.
On the other hand, his adult education
students do have the motivation to learn well from
self-paced training materials - and he incorporates them
into his adult education classes.
More specifically, this instructor is using
our
CNC curriculum materials to teach live classes for
his high school students. He is using our
CD-rom courses
to provide the materials for his self-paced adult
education classes.
How self-paced training materials can
support live training classes
Combining the two training methods can
provide the best of both training worlds.
Instructor-lead classes will provide students with a
good foundation. But some students may not be able to
retain all important points in a classroom
setting. If self-paced training materials are available
that parallel the instructor's lectures, a student can
easily review course material without having to bother
the instructor.
In similar fashion, if a student misses a
lecture, they'll have to make it up in one fashion or
another. If an instructor is teaching the same class
multiple times during a training period (seldom the case
with manufacturing classes), the student can simply sit
in on the lecture in another session. But if the
class is only presented one time per semester, they will
probably come to the instructor for help. This means a
duplication of effort as the instructor explains the
material a second time for this student.
Again, if self-paced training materials are
available that parallel the live presentations an
instructor makes in class (as is the case with our CNC
curriculums and CD-rom courses), the student can view
only the segment of the self-paced course that they
missed.
Many of the schools using our CNC
curriculums to teach live classes also have the matching
CD-rom course. It's kept in the school library, the
computer lab, or in a computer in the CNC lab. Since
this course includes the same material as is presented
in our CNC curriculums, students can easily learn and
review from the CD-rom course when they need to.

Top of page
|
|
Manager's
Insight: Calculating Machining Time For Any Machining
Operation
It is often necessary for CNC people to determine how long machining operations will
take to perform. You may be trying to determine which of
two or more processes will be used to machine a
workpiece - or you may just be wondering how long a
machining operation will require to complete.
Frankly speaking, the formulae related to
calculating machining time are pretty simple to
understand and use. Indeed, many manufacturing people
have incorporated them into spreadsheets (like
Microsoft Excel) - or they have programmed their
calculators to include the related formulae. Here is the
most important formula:
That's it - no problem, right? You simply
divide the length of the motion required for machining
in inches by the inches per minute feedrate. The metric
equivalent is:
We'll be using the inch mode for the rest
of the discussions in this article.
Example 1:
Say you must drill a 1.0 inch diameter
hole. The hole depth is 0.75 and you intend to use an
approach distance of 0.1 inch. The intended feedrate is
7.0 inches per minute. When we divide the motion
distance (0.85) by the feedrate (7.0), we find that the
time needed to drill this hole is 0.12143 minutes.
How many seconds is this? We obviously need
to be able to convert decimal minutes (0.12143) into
seconds. Here's the formulae:
When we divide 0.12143 by 0.01666, the
result is 7.2887 seconds (just over 7-1/4 seconds). So
we now know how long it will take to drill the hole.
In order to use the formula, of course, you
must be able to determine the feedrate in inches per
minute (ipm). Most machining data handbooks, however,
provide feedrate in inches per revolution (ipr), meaning
you must first calculate the spindle rpm and then
calculate the inches per minute feedrate. But speed
recommendations are usually given in surface feet per
minute (sfm). This speed is how much workpiece material
will pass by each cutting edge during one minute. Here
are two more formulae, based on speed being recommended
in sfm and feedrate in ipr.
Note that for some tools, the
recommendation for feedrate will be in "per tooth" fashion, meaning
you need to know the number of cutting edges (inserts, flutes, or teeth)
there are on the cutting
tool. This is commonly the case for milling operations.
So we need to add yet one more formula:
Example 2:
Say you need to determine how long it will
take to rough mill a 3.0 inch long slot with a 0.75
diameter, four flute, cobalt end mill. The three inch
motion distance
is the total motion length, including feed-on and
feed-off distances. Based upon the material you are
machining and the kind of machining operation you are
going to perform (rough milling), the end mill's
manufacture recommends a speed of 90 sfm and a feedrate
of 0.002 ipt.
-
First, determine the speed in rpm: 3.82
times 90 divided by 0.75 is 458 rpm.
-
Next determine the inches per
revolution feedrate: 4 times 0.002 is 0.008 ipr.
-
Next, determine the inches per minute
feedrate: 458 times 0.008 is 3.664 ipm.
-
Finally, determine the time required in
minutes: 3 inches of motion divided by 3.664 ipm is
0.8187 minutes.
-
To determine the number of seconds,
divide 0.8187 by 0.01666 - this comes out to 49.141
seconds.
Fixed diameter machining versus
changing-diameter machining
Note that it is quite easy to apply these
formulae to machining center machining operations since the cutting tool diameter does not change
during the machining operation. This is the case for the
vast majority of cutting operations, including milling
cutters, drills, taps, reamers, and just about any tool
you use in a milling machine or CNC machining center.
Again, the diameter being machined does not change
during machining.
But do note that there are some operations
during which the diameter being machined will change
during the machining operation. Consider, for example, a
rough turning operation on a CNC turning center that
requires multiple passes to be made. The feature called
constant surface speed will cause the spindle speed in
rpm to change based upon the diameter being machined.
For rough turning, this means you must calculate a new
rpm and inches per minute feedrate for each rough
turning pass.
Example 3:
Say you need to rough turn a 4.0 inch long
diameter down from 1.0 inch to 0.75 inches, taking two
passes (0.125 inch each). One of the passes will be at 0.875
and the other will be at 0.75. And each pass will be 4.1
inches long, including the approach. For the material
being machined and the machining operation being
performed, the cutting tool manufacturer recommends a
speed of 400 sfm and a feedrate of 0.011 ipr.
Again each pass must be calculated
separately. For the first pass:
-
rpm = 3.82 times 400 divided by 0.875,
or 1,746 rpm
-
ipm = 0.011 times 1,746, or, 19.206 ipm
-
time = 4.1 divided by 19.206, or 0.213
minutes (12.785 seconds)
For the second pass
-
rpm = 3.82 times 400 divided by 0.75,
or 2,037 rpm
-
ipm = 0.011 times 2,037, or 22.407 ipm
-
time = 4.1 divided by 22.407, or 0.182
minutes (10.924 seconds)
As you can see, the calculations are no
more difficult to make - there are just more of them.
One per roughing pass.
Calculating time for finish turning and
boring operations done on a CNC turning center are also
more complicated. To do it perfectly, you must treat
each segment being machined separately. For this reason,
many quoting people will try to come up with an
"average" diameter on which to base the rpm calculation.
This allows the to more quickly come up with a pretty
accurate machining time.
Diameter changes while machining
There are even CNC turning center
operations that require the diameter to change even
while the cutting tool in engaged with the workpiece.
The two most common are facing and necking operations
(including cut-off operations). If constant surface
speed is used (as it should be), the speed in rpm
will accelerate as a facing tool moves toward the center
of the workpiece. Again, most estimators will try to
come up with an average diameter in order to quickly
determine approximate machining time.

Top of page
|
|
G Code Primer: G41
Versus G42
G41 and G42 are used with both machining
centers and turning centers for similar purposes.
With machining centers, the feature is called cutter
radius compensation. With turning centers, it is
called tool nose radius compensation. In both
cases, one of G41 and G42 is used to specify which of
two conditions exist related to how the cutting tool is
related to the workpiece. G41 specifies a "tool
left" condition while G42 specifies a "tool right"
condition.
While these G codes are commonly used,
newcomers to CNC often have problems determining which
one to use for a given application. For machining
centers, there is a pretty easy way to determine which
one to use if you know the difference between climb and
conventional milling. You simply picture a right
hand milling cutter (spindle running forward) as it
machines the surface in question. If the milling
cutter is climb milling, G41 must be used to instate
cutter radius compensation. If the milling cutter
is conventional milling, G42 is used to instate.
Unfortunately, there is no such
thing as climb or conventional milling with
turning operations, though I know of turning
center programmers that will visualize the small
radius of a turning tool or boring bar as a tiny
milling cutter and use the technique just
described to determine which G code to use (this
works nicely!). But if you don't know the
difference between climb and conventional
milling (commonly the case with lathe people),
another way to distinguish between G41 and G42
must be found.
The technique we recommend is: Look
in the direction the tool will be moving during
its machining operation and ask yourself which
side of the workpiece the tool is on. If
the tool is on the left side of the workpiece, a
G41 will be used to instate. If it is on
the right side of the workpiece, a G42 will be
used.


Top of page
|
|
Macro Maven: Modal
Calling Words
G65 is the most common word used to call a
custom macro. Included in the G65 command is a P word to
specify the program number for the custom macro being
called - and a series of letter address variables (we
call arguments) that specify values needed in the custom
macro. For example, the command
will call program number O2000 and
pass values for X, Y, U, W, and F to the custom
macro. In the body of the custom macro, X will
be represented by local variable #24, Y by #25,
Z by #26, U by #21, W by #23, and F by #9.
Again, this is the most common way
to call a custom macro. But depending upon the
application, it may not be the most convenient
way. Consider, for example, the possibility that
this custom macro is used to machine a pocket -
and that there are several pockets to machine.
The command given above will machine but one of
the pockets. To machine a second pocket, two
complete G65 commands must be given, like this:
Notice that the only thing that
changes from one pocket to the next is the X
value. Though this is the case, all other words
must still be included if G65 is used to call
the custom macro. This isn't really all that
tough to do, especially when you consider the
copy and paste functions available with today's
text editors.
However, there is a way to call the
custom macro (with no changes to the custom
macro) in a modal fashion. The method we show
here incorporates a G code named G66.1 (not a
typo - this G code really does have a decimal
point!). Before getting too excited about this
technique, we recommend that you check to see
that your machine has this feature since G66.1
is not available on all controls that have
custom macro B (even some newer controls).
To test, simply execute a command
including only G66.1 in the manual data input
(MDI) mode. If you receive alarm number ten
(unusable G code), your machine does not have
this feature. If you don't get an alarm - or if
the alarm is not alarm number ten - you can use
G66.1 in your programs.
Once you call a custom macro with
G66.1, the machine will continue to execute your
custom macro with each successive command,
passing the included letter address arguments
just as it does with G65. G67 is used to cancel
this modal state. So if program O2000 machines a
pocket, the commands
will machine four pockets, each at
a different X position. Notice how similar this
technique is to using hole machining canned
cycles on a machining center. Once you instate a
canned cycle, each subsequent command will cause
the machine to machine another hole. Eventually
you use a G80 to cancel.
Note that though our example shows
only the X word changing from one modal call to
the next, any of the other arguments can also
change - simply include them in the appropriate
commands.

Top of page
|
|
Parameter
Preference: Single-Stepping Through Calculation And
Logic Commands
The function of Single Block, of course, is
to allow a setup person or operator to step through a
program command-by-command. If the Single Block switch
is on, an operator can rest assured that the machine
will come to a stop at the end of the current command.
To get the machine going again, they must press the
Cycle Start button. And if the Single Block switch is
left on, they must press the Cycle Start button
repeatedly to get through the program.
With certain custom macro B commands,
however, the Single Block switch may not always perform
as desired. It is important to know that, when Single
Block is on, the machine will appear to skip calculation
and logic commands. Consider this example:
-
.
-
.
-
N015 G00 X5.0 Y2.0
-
#101 = 1
-
#102 = FUP[#26 / #17]
-
#103 = #26 / #102
-
N020 G01 Z-0.1 F4.0
-
.
-
.
Say the Single Block switch is on. The
machine stops at the completion of N015. When the Cycle
Start button is pressed, line N020 will be executed and
the machine will move. Again, it will be as if the three
calculation commands have been ignored. But they have
not been ignored. #101 through #103 will be correctly
assigned.
Having Single Block behave in this fashion
is usually a good thing. You wouldn't want an operator
pressing the Cycle Start button over and over again. It
may take twenty or thirty pressings of Cycle Start in
some custom macros to get through all the calculation
and logic commands. This would be very distracting for
the operator.
There is one time when you may want to
change the function of Single Block so that the machine
will stop after (even) calculation and logic commands -
when you are verifying a custom macro. Consider these
commands:
There is a mistake in the #103 = command.
It must be corrected. But when (in normal fashion) the
machine "skips" from N015 to N020, an alarm will be
sounded. Since the operator knows line N015 is the last
motion command, it's likely that they will think the
alarm is being generated with the next command (the #101
command).
Just knowing that any of the calculation
and logic commands between N015 and N020 could be
causing the alarm may be enough to help diagnose the
problem. But it's nice to know that a parameter can be
modified to change the function of Single Block -
causing the machine to stop after every command -
including calculation and logic commands.
Another time this can be helpful is when
you have a series of progressive calculation commands
and one calculation is depending upon another. It can be
difficult to determine which of several commands is
causing a miscalculation - unless you can see the
resulting variable value after each calculation command
is executed (this can be done by toggling between the
program page and the variables page of the display
screen).
On a 16 series Fanuc control, bit number
five of parameter number 6000 controls this function (it
is labeled as SBM in the Fanuc documentation). If this
bit (the sixth one from the right) is set to 1 (one),
the machine will stop at each calculation and logic
command. If set to 0 (zero) - which is the normal
setting - the machine will only stop at true CNC
commands. Remember, of course, that parameter
numbering changes from one Fanuc model to the next,
meaning you'll have to look up the related parameter on
your control (look in the custom macro descriptions - it
should be easy to find).
Do note that if you change this parameter
while verifying a custom macro, you must remember to
change it back when your finished so as not to cause
problems for the operator.

Top of page
|
|
Safety Note:
Understand Your Turning Center's Chuck Clamping Direction Selection
Almost all current-model CNC turning center
that are equipped with three-jaw chucks have a way to
select clamping direction. An inward (toward chuck
center) clamping direction is, of course, required for
external (o.d.) clamping while an outward (away from
chuck center) clamping direction is required for
internal (i.d.) clamping.
Most turning centers are pretty
well interfaced in this regard - at least from a
safety standpoint. If, however, clamping
direction can be changed while the spindle is
running, the results could be disastrous.
Consider inadvertently changing clamping
direction from o.d. to i.d. while the machine is
in cycle. The chuck jaws would open -
releasing the workpiece being held by the chuck.
The faster the chuck is rotating at the time,
the worse the results could be.
Again, many turning centers are set
up in such a way that chuck clamping direction
cannot be reversed unless the spindle is stopped
- which eliminates the disastrous results just
mentioned. But we must point out that not all
machines are so well interfaced.
We know of at least one turning
center manufacturer that uses a mechanical valve
to reverse chuck clamping direction. That is,
the setup person simply moves a lever to change
clamping direction. The builder we're thinking
of, knowing a dangerous situation could exist,
provides a long bolt that is must be removed
before clamping direction can be changed (this
bolt also eliminates the possibility that the
valve lever can be accidentally bumped into its
other position).
But if this bolt is not replaced
each time the clamping
direction is changed, nothing will prevent the
valve lever from being moved while the
spindle is running - meaning a workpiece could
be released at very high rpm - and again - the
results will be disastrous.
If you run or work with a CNC
tuning center of any kind, find out
how chuck clamping direction is changed. Determine
whether or not the clamping direction could
inadvertently be changed while the machine is in
cycle. If this is possible, be sure that all safety protocols that
the machine tool builder recommends are in
place.

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