Discussion:
Use of G92 G54 and Tool length Offset
(too old to reply)
Jon Schmidt
2003-07-06 19:55:32 UTC
Permalink
I have some general questions that I hope you all might have some input on.

I am starting to do some production work (unlike the single tool contouring
work that I usually do) so I need to get a better understanding of my tool
length offset and work coordinate set-up.

1. I'm not clear on why some people use G92 and others use G54 for single
origin work, does anyone have an explanation of when and why to use either
(or both in combination)? I will be doing single part set-ups with no
operations to repeat in several locations.

2. I have noticed that some people prefer to use a reference "gauge" tool
for setting tool length offsets in the machine. They usually use a gauge
that is longer than all other tools so that all tool length offsets will be
negative values. Is this a good practice? Any better way to do this?

3. When setting a work coordinate such as G54, I'm unclear about the Z value
setting. The part I don't understand is how the tool length is accounted
for. Can anyone explain a good procedure for setting the G54 Z value?

Thanks for the earlier help in G91 with G28, probably avoided some big
trouble with that one.

JTS
ff
2003-07-06 22:16:19 UTC
Permalink
Post by Jon Schmidt
I have some general questions that I hope you all might have some input on.
I am starting to do some production work (unlike the single tool contouring
work that I usually do) so I need to get a better understanding of my tool
length offset and work coordinate set-up.
1. I'm not clear on why some people use G92 and others use G54 for single
origin work, does anyone have an explanation of when and why to use either
(or both in combination)? I will be doing single part set-ups with no
operations to repeat in several locations.
2. I have noticed that some people prefer to use a reference "gauge" tool
for setting tool length offsets in the machine. They usually use a gauge
that is longer than all other tools so that all tool length offsets will be
negative values. Is this a good practice? Any better way to do this?
3. When setting a work coordinate such as G54, I'm unclear about the Z value
setting. The part I don't understand is how the tool length is accounted
for. Can anyone explain a good procedure for setting the G54 Z value?
Thanks for the earlier help in G91 with G28, probably avoided some big
trouble with that one.
JTS
There are two schools of thought on Z offsets. One method is to set the
G54 value at zero and
use tool length offsets from the home (tool change) position to the work
zero. The other way is to
use a reference height which never changes to set tool lengths on and
then a negative G54 value
from the reference height to the work zero height. In this case both the
tool offsets and the work
offset are negative and when added together equal the amount in the
first method.

Fred
Mike H
2003-07-07 03:24:08 UTC
Permalink
I believe I use the coordinate system differently than you have described. I
program lathes with fanuc 10, 0, 21. The 10 control was the only one that
had G54-59. I use the face of the part as Z0. G54 is the distance in X and Z
from machine zero. Geometry offsets are distance of X0, Z0 of the part to
the tip of the cutting tool. Tool tip type 0-9 is only used by the machine
if tool nose radius compensation is being used. A drill does not require
tool tip. I generally use G54 for one side of part and G55 for the second
side.
--
Mike H
Post by Jon Schmidt
I have some general questions that I hope you all might have some input on.
I am starting to do some production work (unlike the single tool
contouring work that I usually do) so I need to get a better
understanding of my tool length offset and work coordinate set-up.
1. I'm not clear on why some people use G92 and others use G54 for
single origin work, does anyone have an explanation of when and why to
use either (or both in combination)? I will be doing single part
set-ups with no operations to repeat in several locations.
2. I have noticed that some people prefer to use a reference "gauge"
tool for setting tool length offsets in the machine. They usually use
a gauge that is longer than all other tools so that all tool length
offsets will be negative values. Is this a good practice? Any better
way to do this?
3. When setting a work coordinate such as G54, I'm unclear about the Z
value setting. The part I don't understand is how the tool length is
accounted for. Can anyone explain a good procedure for setting the G54
Z value?
Thanks for the earlier help in G91 with G28, probably avoided some big
trouble with that one.
JTS
I think you may be confusing Zero (machine, work coordinate) and Tool
offsets.
Remove the chuck/collet etc to expose the bare spindle nose. The face of
this is the machine Z0 point for the coordinate system. The center of the
spindle is the X0 point.
Now look at the tool turret.
The face of the turret is the tool offset Z0, i.e. the working envelope
in Z is the distance (with the slide referenced), from the face of the
spindle behind the chuck, to the face of the turret. This should be the
distance shown under the 'Machine' position display.
Now, imagine the bolt circle for the pockets on the tool turret, the
distance from this bolt circle to the center of the spindle is the
working envelope in X, and should be shown in the 'Machine' position
display.
The G54 Zero offset (work coordinate shift) is used to tell the machine
how long of a distance it is from the spindle face (behind the chuck) to
the (optional 1: Zero point on the part, including the chuck, or 2. the
face of the chuck, whereupon the actual length of the part protruding
from the chuck is designated within the program via a G59 programmable
zero offset) Option 1 is my preference, as it requires no more
calculations, simply measure it and input.
Tool offsets, are the distance from the point where the face of the tool
turret and the BC of the tool pockets intersect to the tip of the tool in
both the X and Z directions.
If you remove all the tools, and remove the chuck, and tell the machine
to go to Z0 X0, it will move the face of the turret to the face of the
spindle, and the center of the tool pocket on the turret will be in the
center of the spindle. (Don't try this, as on many machines, you run out
of leadscrew before this position can be reached, not to mention the
possibility of a crash if the reference point shift is off.)
Now, warnings aside, if you put the chuck back on, you have to tell the
machine it is there. so G54,55,56,57 are available for this. They shift
the machine coordinate system 0,0 from the spindle face/centerline to a
point you specify, typically, I specify this including the part length as
chucked.
Now, we install a tool. If you tell it to go to X0,Z0, it's going to
break that tool off, because it still thinks the tool is face of the
spindle, center of the tool pocket. You have to tell the machine the tool
is there, where the tip is, in relation to the face of the tool turret
and the center of the tool pocket. The simplest thing is to measure the
tool in both X and Z axis and use these values.
Most controls allow for a 'direction' value, this 'direction' value is a
number from 0 to 9, that corresponds to a tool tip position. (consult
your control documentation for the chart) Typically, a 7 would be a
drill, where there is no offset in X, only a Z length. Also programmable
in the tool offset page is the tool nose radius, for use in calculations
for G41,42, and 43 (tool nose comp).
Hopefully, this doesn't confuse you further....hehe.
I have some .dwgs at work where this is explained, if you need, I can
email them home tomorrow and post them on my website for you.
--
Anthony
You can't 'idiot proof' anything....every time you try, they just make
better idiots.
Remove sp to reply via email
Jon Schmidt
2003-07-07 05:50:03 UTC
Permalink
Thanks for the reply, I should have explained that I am using a 3 axis mill,
but the explanation you gave still applies.

Thanks

JTS
Post by Jon Schmidt
I have some general questions that I hope you all might have some input on.
I am starting to do some production work (unlike the single tool
contouring work that I usually do) so I need to get a better
understanding of my tool length offset and work coordinate set-up.
1. I'm not clear on why some people use G92 and others use G54 for
single origin work, does anyone have an explanation of when and why to
use either (or both in combination)? I will be doing single part
set-ups with no operations to repeat in several locations.
2. I have noticed that some people prefer to use a reference "gauge"
tool for setting tool length offsets in the machine. They usually use
a gauge that is longer than all other tools so that all tool length
offsets will be negative values. Is this a good practice? Any better
way to do this?
3. When setting a work coordinate such as G54, I'm unclear about the Z
value setting. The part I don't understand is how the tool length is
accounted for. Can anyone explain a good procedure for setting the G54
Z value?
Thanks for the earlier help in G91 with G28, probably avoided some big
trouble with that one.
JTS
I think you may be confusing Zero (machine, work coordinate) and Tool
offsets.
Remove the chuck/collet etc to expose the bare spindle nose. The face of
this is the machine Z0 point for the coordinate system. The center of the
spindle is the X0 point.
Now look at the tool turret.
The face of the turret is the tool offset Z0, i.e. the working envelope
in Z is the distance (with the slide referenced), from the face of the
spindle behind the chuck, to the face of the turret. This should be the
distance shown under the 'Machine' position display.
Now, imagine the bolt circle for the pockets on the tool turret, the
distance from this bolt circle to the center of the spindle is the
working envelope in X, and should be shown in the 'Machine' position
display.
The G54 Zero offset (work coordinate shift) is used to tell the machine
how long of a distance it is from the spindle face (behind the chuck) to
the (optional 1: Zero point on the part, including the chuck, or 2. the
face of the chuck, whereupon the actual length of the part protruding
from the chuck is designated within the program via a G59 programmable
zero offset) Option 1 is my preference, as it requires no more
calculations, simply measure it and input.
Tool offsets, are the distance from the point where the face of the tool
turret and the BC of the tool pockets intersect to the tip of the tool in
both the X and Z directions.
If you remove all the tools, and remove the chuck, and tell the machine
to go to Z0 X0, it will move the face of the turret to the face of the
spindle, and the center of the tool pocket on the turret will be in the
center of the spindle. (Don't try this, as on many machines, you run out
of leadscrew before this position can be reached, not to mention the
possibility of a crash if the reference point shift is off.)
Now, warnings aside, if you put the chuck back on, you have to tell the
machine it is there. so G54,55,56,57 are available for this. They shift
the machine coordinate system 0,0 from the spindle face/centerline to a
point you specify, typically, I specify this including the part length as
chucked.
Now, we install a tool. If you tell it to go to X0,Z0, it's going to
break that tool off, because it still thinks the tool is face of the
spindle, center of the tool pocket. You have to tell the machine the tool
is there, where the tip is, in relation to the face of the tool turret
and the center of the tool pocket. The simplest thing is to measure the
tool in both X and Z axis and use these values.
Most controls allow for a 'direction' value, this 'direction' value is a
number from 0 to 9, that corresponds to a tool tip position. (consult
your control documentation for the chart) Typically, a 7 would be a
drill, where there is no offset in X, only a Z length. Also programmable
in the tool offset page is the tool nose radius, for use in calculations
for G41,42, and 43 (tool nose comp).
Hopefully, this doesn't confuse you further....hehe.
I have some .dwgs at work where this is explained, if you need, I can
email them home tomorrow and post them on my website for you.
--
Anthony
You can't 'idiot proof' anything....every time you try, they just make
better idiots.
Remove sp to reply via email
Charlie Gary
2003-07-07 14:16:43 UTC
Permalink
Post by Jon Schmidt
Thanks for the reply, I should have explained that I am using a 3 axis mill,
but the explanation you gave still applies.
Thanks
JTS
<<Snip>>

What kind of mill? What kind of control? What kind of work?
--
Later,

Charlie

fix the e-mail address and it will get to me
Jon Schmidt
2003-07-08 00:40:29 UTC
Permalink
Charlie,

I am using 3 axis Bed mills Mori (w Yasnac) and Fadal both about 1988? (Hope
to buy new/newer soon)
The parts are aluminum manifold tops and flanges for fabricated racing
manifolds.
The work is planar facing, perimeter profiling, pocketing, hole drilling and
some 3D contouring.
I use about 14 tools in three different set-ups

Thanks

JTS
Post by Charlie Gary
Post by Jon Schmidt
Thanks for the reply, I should have explained that I am using a 3 axis
mill,
Post by Jon Schmidt
but the explanation you gave still applies.
Thanks
JTS
<<Snip>>
What kind of mill? What kind of control? What kind of work?
--
Later,
Charlie
fix the e-mail address and it will get to me
Anthony
2003-07-08 00:53:01 UTC
Permalink
Post by Jon Schmidt
Charlie,
I am using 3 axis Bed mills Mori (w Yasnac) and Fadal both about 1988?
(Hope to buy new/newer soon)
The parts are aluminum manifold tops and flanges for fabricated racing
manifolds.
The work is planar facing, perimeter profiling, pocketing, hole
drilling and some 3D contouring.
I use about 14 tools in three different set-ups
Thanks
JTS
In the case of a mill, I typically set G5x X0Y0Z0 to some specific point
on the part, if the Engineer who drew the part did his job
correctly...there should be a point specified on the print (Datum
Dimensioning). This makes programming and set-up much easier.
But...alas...I know a lot of them don't (Again, they need to include
about 6 months in a machinists school for all Mechanical Engineers, would
make a big difference.)
--
Anthony

You can't 'idiot proof' anything....every time you try, they just make
better idiots.

Remove sp to reply via email
Charlie Gary
2003-07-08 16:14:20 UTC
Permalink
Post by Jon Schmidt
Charlie,
I am using 3 axis Bed mills Mori (w Yasnac) and Fadal both about 1988? (Hope
to buy new/newer soon)
The parts are aluminum manifold tops and flanges for fabricated racing
manifolds.
The work is planar facing, perimeter profiling, pocketing, hole drilling and
some 3D contouring.
I use about 14 tools in three different set-ups
Thanks
JTS
Have you considered making the table face z zero? It would require knowing
how tall your fixtures are, and it will also require having good fixturing
that repeats every time (but you already have that, right?). With a system
like this you will never have to wonder what number should be in G92 or G54
Z. All tools would be set the same place every time.
As for the X and Y coordinates, you understand their function, correct?
Do you use dedicated fixturing for your work, or do you clamp everything in
vises?
--
Later,

Charlie

fix the e-mail address and it will get to me
PrecisionMachinist
2003-07-09 06:55:58 UTC
Permalink
Post by Charlie Gary
Have you considered making the table face z zero?
I like the idea but I'm a bit foggy on the procedure to set it up.
Here is my guess about how to do it, let me know where I get it wrong.
1. Measure all my tools from the home position to the table contact
position.
(I will have negative numbers for each tool)
For example Tool #1 might be -15.000 inches.
2. Edit the tool register H values so that each tool is represented by the
negative number taken from each tool measurement. For Example Tool #1 H1
= -15.000.
3. Measure the distance from the table to the fixture/program zero level
as
a positive number.
For example Fixture 1 is +5.000 inches from the table.
4. Edit the G54 register Z value to 5.000 and the X and Y values to the
indicated position machine coordinates.
5. Edit each program to include G54 (or other WCSYS)
6. Edit each program; add H values after each tool change and G43 before
the
first Z move for each tool.
T1 H1
M06
G0 G54 G43 Z2.0
the result would be the machine moving the Z-axis -8 inches from home.
tool offset+work coordinate+program Z_value
-15 + 5 + 2 =-8
Does this seem correct?
Thanks JTS
Hmm....

I have the distance spindle gage line to table distance ( actually it is to
b axis rotary table centerline) entered as g53 z0 value......it is a
negative number.......Y is the pallet surface,again zero...x is the pallet
center of rotation.

With this method, tool lengths offsets are *actual* lengths of tools--A
positive number, I measure tools offline or use a tape measure to get
close.. <G>

For a three axis mill you may as well just have g53 xy be zero/ zero at the
g28 grid position......

Now g54~g59 a z axis value can be used by measuring and inputting into z
axis the distance from the table up to the work surface, again a positive
number......and g54 ~g59 xy values are measured and input as incremental
distance from g53.......

I can email you code snippets for fanuc---Should be the same as
yasnac.......

For fadal only minor changes are needed to use the table as a tool setting
surface--I only currently do this on the machine with pallet changer, when
common spindle tools are used on more than one program---The main differance
is the addition of a z positive value in the work offset, but be careful if
your post puts out H0 at tool change, as it could crash---you need either
g53 z0 or E0H0Z0 absolute to get tool change position on fadal.
Sometimes I get unwanted xy movement on fadal, Im still working a post that
will work with both methods.

--

SVL





--


SVL
Ken
2003-07-13 00:26:35 UTC
Permalink
Here is my guess about how to do it, let me know where I get it wrong.
1. Measure all my tools from the home position to the table contact
position.
(I will have negative numbers for each tool)
For example Tool #1 might be -15.000 inches.
2. Edit the tool register H values so that each tool is represented by the
negative number taken from each tool measurement. For Example Tool #1 H1
= -15.000.
3. Measure the distance from the table to the fixture/program zero level as
a positive number.
For example Fixture 1 is +5.000 inches from the table.
4. Edit the G54 register Z value to 5.000 and the X and Y values to the
indicated position machine coordinates.
5. Edit each program to include G54 (or other WCSYS)
6. Edit each program; add H values after each tool change and G43 before the
first Z move for each tool.
T1 H1
M06
G0 G54 G43 Z2.0
the result would be the machine moving the Z-axis -8 inches from home.
tool offset+work coordinate+program Z_value
-15 + 5 + 2 =-8
Does this seem correct?
Thanks JTS
This is exactly how I do it execpt that I use a height setter and 123 block to
get 6" above the table for my reference plane. This has 2 advantages. One is
that if you mistype g54 some day your tool stops 6" above the table. High
enough to not crash into the top of a vise. And the 6 inches is good because
you can use a six inch long scale or 6 inch calipers to get a measurement on
your work height. If you use the scale with the zero end up it is a direct
reading to the top of your work (usually you only do this for taking a raw
stock height and going .030 lower to clean it up)

G92 sucks
Ken
Cybercut Precision Machining-
"Quality is created, not controlled."
Jon Schmidt
2003-07-13 07:03:18 UTC
Permalink
Ken,

Thanks for the reply, I thought this thread had died just when I almost had
the answer.

"G92 sucks"

Just to make it clear, are you saying that you don't use G92?
I don't really understand the purpose of it.

Best Regards

JTS
Post by Ken
Here is my guess about how to do it, let me know where I get it wrong.
1. Measure all my tools from the home position to the table contact
position.
(I will have negative numbers for each tool)
For example Tool #1 might be -15.000 inches.
2. Edit the tool register H values so that each tool is represented by the
negative number taken from each tool measurement. For Example Tool #1 H1
= -15.000.
3. Measure the distance from the table to the fixture/program zero level as
a positive number.
For example Fixture 1 is +5.000 inches from the table.
4. Edit the G54 register Z value to 5.000 and the X and Y values to the
indicated position machine coordinates.
5. Edit each program to include G54 (or other WCSYS)
6. Edit each program; add H values after each tool change and G43 before the
first Z move for each tool.
T1 H1
M06
G0 G54 G43 Z2.0
the result would be the machine moving the Z-axis -8 inches from home.
tool offset+work coordinate+program Z_value
-15 + 5 + 2 =-8
Does this seem correct?
Thanks JTS
This is exactly how I do it execpt that I use a height setter and 123 block to
get 6" above the table for my reference plane. This has 2 advantages.
One is
Post by Ken
that if you mistype g54 some day your tool stops 6" above the table. High
enough to not crash into the top of a vise. And the 6 inches is good because
you can use a six inch long scale or 6 inch calipers to get a measurement on
your work height. If you use the scale with the zero end up it is a direct
reading to the top of your work (usually you only do this for taking a raw
stock height and going .030 lower to clean it up)
G92 sucks
Ken
Cybercut Precision Machining-
"Quality is created, not controlled."
PrecisionMachinist
2003-07-13 07:51:36 UTC
Permalink
Post by Jon Schmidt
Ken,
Thanks for the reply, I thought this thread had died just when I almost had
the answer.
"G92 sucks"
Just to make it clear, are you saying that you don't use G92?
I don't really understand the purpose of it.
Best Regards
Itsa coordinate reset--easy to implement.....Difficult to get rid
of........And obsolete technology........Years ago, the APT posts at the ole
lazy B would dump this at every tool change.........you went through all the
trouble to make an accurate setup, and the tool would move to position (
hopefully)....... There was a program stop and the next block was g92.......

Even if the tool was *not* in the proper position, the controller was
updated and "fooled" into thinking it *was* <g> ........Often with
disastrous results............

If you *really* want to dump axis coordinate origins into the control from
program input, I would suggest using G10.......provided your controller
supports it.

There are many advantages to use of this function, especially if you are
using dowells to locate your fixtures or have multiple pallets in a
pool.......And / or are dumping crude guidance coordinates into the
controller to guide a renishaw probe---After the probe takes its readings
and does its thing, it will dump new ( and deadly accurate ) coordinates
into the controller............


Otherwise, your g54~g59 should be more than adequate on a typical vmc
application.


--


SVL
Cliff Huprich
2003-07-13 13:32:44 UTC
Permalink
Post by PrecisionMachinist
Itsa coordinate reset--easy to implement.....Difficult to get rid
of........And obsolete technology........Years ago, the APT posts at the ole
lazy B would dump this at every tool change.........you went through all the
trouble to make an accurate setup, and the tool would move to position (
hopefully)....... There was a program stop and the next block was g92.......
Even if the tool was *not* in the proper position, the controller was
updated and "fooled" into thinking it *was* <g> ........Often with
disastrous results............
Some idiots use incrmental & MDI edits .... <g>. Some use mixed ...
--
Cliff Huprich
Thomas Nulla
2003-07-13 14:35:48 UTC
Permalink
Post by Cliff Huprich
Some idiots use incrmental & MDI edits .... <g>. Some use mixed ...
Are you saying that incremental is *never* appropriate?
--
Thomas -email replies: remove delthis to reply-

http://home.austin.rr.com/tnulla/index.htm (high fidelity, liquid PC)
"I receive a ton of spam every day. Much of it offers to help me get
out of debt, or get rich quick." Bill Gates
Kathy
2003-07-13 15:03:21 UTC
Permalink
Post by Thomas Nulla
Post by Cliff Huprich
Some idiots use incrmental & MDI edits .... <g>. Some use mixed ...
Are you saying that incremental is *never* appropriate?
It is appropriate in subroutines.
Thomas Nulla
2003-07-13 19:36:18 UTC
Permalink
Post by Kathy
Post by Thomas Nulla
Post by Cliff Huprich
Some idiots use incrmental & MDI edits .... <g>. Some use mixed ...
Are you saying that incremental is *never* appropriate?
It is appropriate in subroutines.
Yup, and sending an axis home, and in some turning situations, and some
circle-cutting.

Not to defend its abuse, which I've certainly seen, but almost any ability
a control has can be used for *something* useful.
--
Thomas -email replies: remove delthis to reply-

http://home.austin.rr.com/tnulla/index.htm (high fidelity, liquid PC)
"I receive a ton of spam every day. Much of it offers to help me get
out of debt, or get rich quick." Bill Gates
Kirk Gordon
2003-07-13 20:20:01 UTC
Permalink
Post by Kathy
It is appropriate in subroutines.
Sometimes you CAN'T write a sub without incremental moves, unless
you're willing to shift a coordinate system with every iteration. Bad
idea, that. And, incremental commands are also appropriate for manual
programs that use the "move and repeat" feature of canned cycles:

G90 G81 X0 Y0 Z-1.5 R.1 F10.0
G91 X1.0 L99

This drills 100 holes in a row with just two lines of code (on many
controls, not all). And, you can move the whole line just by moving the
initial X,Y position.

Incremental moves are also useful when you're doing a lot of
multi-pass milling or turning. If you just want to back away from
wherever you are at the end of a cut, an incremental move is sometimes
easiest and safest.

G90 G0 X-1.0 Y0 Z.5
G1 X-6.0 F20.0
G91 G0 Z.05
G90 X-1.0
Z.4
...etc.

I sometimes like incremental moves in grooves or pockets, too. Once
I've moved to an absolute position for starting a routine, then
everything else can be done with just the sizes of whatever I'm cutting,
regardless of where it is. It's the same idea as using incremental subs
for this kind of work; but also useful even when the routine doesn't
repeat, and when you do it in a main program.

Sometimes, features on a print are dimensioned with respect to each
other. In that case, incremental moves from one feature to the next
will make the program numbers look like the numbers on the print. I've
always liked that kind of programming. It makes errors less likely, and
proofing and editing much easier. Something like a turned part with a
shoulder 1" from the end, and then another shoulder 1/2" behind that,
and then a third shoulder 1.5" further back, etc., would be a good
incremental application.

Rads and chamfers are sometimes easiest with incremental moves, too,
if you do your programming manually (or if you just like programs that
look like the print.) G91 G3 X-.5 Y.5 I-.5 will put a 90 degree 1/2"
rad (assuming cutter comp is in effect) on any corner, no matter where
it is. No need to stare at the numbers on the screen to figure out
what's going to happen. That same move would be G91 G3 X4.8912 Y-2.3017
I-.5, if the starting point happened to be at X5.3912, Y-2.8017.
Simpler is always better.

I've also found, after years of teaching programming, that when
people do a lot of calculations to figure out a move, they sometimes end
up with the distance to move as a natural result of the number
crunching. In that case, adding the distance to the starting position
for that move is just an extra step, and an extra opportunity for
errors. I've often suggested that, if you know how far the tool is
supposed to move, then just move it. Switch back to absolute
coordinates when you find some on the print that will make sense when
you're working with the program.

Obviously, CAM systems change the rules a lot; but, like so many
other automatic tools and devices, they often rob their user of the need
or opportunity to practice things that can sometimes make the difference
between adequate work and the really good, clean, efficient stuff.

Kirk Gordon

I'm not a slow programmer.
I'm not a fast programmer.
I'm sort of a half-fast programmer.
Ken
2003-07-14 03:07:08 UTC
Permalink
Post by Jon Schmidt
Ken,
Thanks for the reply, I thought this thread had died just when I almost had
the answer.
"G92 sucks"
Just to make it clear, are you saying that you don't use G92?
I don't really understand the purpose of it.
Best Regards
JTS
Mostly what I am saying is that Fanuc, Mitsubishi and possibly others didn't
implement the canceling of G92 and going back to G54 very well. On the Mits
520 I had to turn off the machine to totally clear out the effects of G92 if
someone used it. Maybe there was a way out but I never found it. Fanuc G92
screws up your G54 callout too. My thinking is that G54 should cancel G92 and
always work from the machine coordinates. I have totally banned the use of G92
in my shop because I had a toolmaker who would make a "quick fixture" with a
"temporary" G92 home while the operator was out to lunch. The operator would
come back and the machine would be trying to ram the face mill all the way down
to the x ballscrew. Now the temporary home is g57 or something and we have no
more problems.

--------------------

To get back to the tool setting stuff, here are some more ideas for you.

1. Try to standardize a few tools that you will use often. I always have a 90
deg spot drill in tool #3, a 3 inch face mill in #23, a 2 inch shell rougher or
inserted shell mill in #22, a 1 inch insert mill in #21. Generally my 1.5 by 4
long rougher is in #15 and a 3/4 em goes in 7 when possible, but this conflicts
with my tendency to do the drills etc starting with #4 after the spot drill.

2. Dont put a tool in the magazine, or let the tool changer (or the operator)
put a tool in the magazine, without setting the length.
2b. Put an optional stop at each tool change so you can check the lengths the
first time thru a new program. Cant trust them damn operators 100% and 99%
ISNT good enough.


This is how it works for me, basically this is a list of advantages I have
noticed over doing it "the old way", which was to set tools at the top of each
part and leave G54 Z =0:

The operators already know that all tools are 6 inch above the table. I give
them a tool list and if I am out when the tools are collected no one has to
guess where to set lengths to. Same thing applies to tool replacement in the
middle of a job. Being new to this you probably havent seen things like "We
set the tools on the stock after we faced the stock, but we moved down .030
because some parts didnt clean up. Thats how the 1/4 em got set too low after
it broke and scrapped the next 45 parts." Use a constant set height and you
wont see this happen.

On a repeat job I can often set G54 on the fixture/part and start roughing
without looking for any tools. I can also engrave the G54 z value on the
fixture or (on machines with g10 or macros) make the program set G54 Z. As
the face mill etc are roughing the operator can be getting drills reamers etc
that are more specific to the job. See 2b above. Some tools have had inserts
changed but not needed setting in 2 years.

On a new job I can go out to the target machine and look in the tool magazine
and program to the tools that are already in the machine. Especially cool on a
Sunday when I am doing a fixture and dont have any grunts around to look for
and load tools. Also very cool when the same 2 jobs repeat about the same time
next year as some of my F22 stuff does.

When using the "lean manufacturing" technique of putting raw stock in at one
end and doing several ops so a finished part comes off each cycle, setting at a
common point lets G54, G55, G56 etc take care of all the tool lengths quite
easily. A guy down the street was just telling me about how his former
programmer left him with a lot of programs that had G43 H1 on the first side of
the part and G43 H31 on the 2nd side. So the operator reset H1 but scrapped
the part because h31 was too long (programmer was fired the week before and had
been taking care of such things himself). I just couldn't believe that people
were still living in the dark ages and doing shit like that. Then I remembered
how Bottlebob couldn't see that any of the above would be much of an advantage.

And now that I am dragging Bottlebob into it you dont have to worry about this
thread dying before you know all the answers for all
3.1415926535897932384626433832795028841971693 points of view.





Ken
Cybercut Precision Machining-
"Quality is created, not controlled."
BottleBob
2003-07-14 03:42:05 UTC
Permalink
Post by Ken
Then I remembered
how Bottlebob couldn't see that any of the above would be much of an advantage.
Ken:

It isn't that I couldn't see it as an advantage for YOU. Obviously,
what you're doing has become a standardized procedure for your shop and
no doubt works very well. What I couldn't see is how advantageous it
would be to incorporate some of your procedures for the stuff WE do. We
occasionally set tools off the table surface for fourth axis work. But
usually we set tools off the top of the part. Our work is often very
different from job to job and few tools can be left set in the
carrousel.
Post by Ken
And now that I am dragging Bottlebob into it you dont have to worry about this
thread dying before you know all the answers for all
31415926535897932384626433832795028841971693 points of view.
You should have posted it a couple of days ago when I had time to run
through a goodly portion of those
31415926535897932384626433832795028841971693 points of view. No time
now.
We're so busy I've been drafted to start on a night shift starting
tomorrow.
--
BottleBob
http://home.earthlink.net/~bottlbob
Ken
2003-07-14 03:24:53 UTC
Permalink
Post by Jon Schmidt
Ken,
Thanks for the reply, I thought this thread had died just when I almost had
the answer.
"G92 sucks"
Just to make it clear, are you saying that you don't use G92?
I don't really understand the purpose of it.
Best Regards
JTS
As a PS to the post wherein I already said more than I needed to:

The purpose of G92 is to set the Zero on a machine. The reason it exists is
the same reason windows runs DOS programs. To be backwards compatible with
programs that ran on machines of lesser capability. The old NC tape mills had
no memory in which to store G54 cooridinates, therefore they did not have G54
code in the original MIT codes circa 1956. Thus the comment about living in the
dark ages (in my other post).

At one point E01, E02 etc were used rather than G54. GE controls and Fadals
were like that. As far as I know only Fadal still supports E codes, but there
are a lot of controls out there that I dont know.


Ken
Cybercut Precision Machining-
"Quality is created, not controlled."
Jon Schmidt
2003-07-15 01:57:25 UTC
Permalink
Thanks for the explanation of G92 that makes perfect sense.

One thing you mentioned briefly about setting G54 in the program. Do you
always do this or sometimes, I don't even know if it can be done on the
Yasnac and old Fadal that I use, never tried. I think I might have to set
the G54 as a machine parameter that can only be changed when a parameter
editing switch is set for machine control editing.

Can you shed some light on the G54 in the program issue?

Thanks

JTS
Post by Ken
Post by Jon Schmidt
Ken,
Thanks for the reply, I thought this thread had died just when I almost had
the answer.
"G92 sucks"
Just to make it clear, are you saying that you don't use G92?
I don't really understand the purpose of it.
Best Regards
JTS
The purpose of G92 is to set the Zero on a machine. The reason it exists is
the same reason windows runs DOS programs. To be backwards compatible with
programs that ran on machines of lesser capability. The old NC tape mills had
no memory in which to store G54 cooridinates, therefore they did not have G54
code in the original MIT codes circa 1956. Thus the comment about living in the
dark ages (in my other post).
At one point E01, E02 etc were used rather than G54. GE controls and Fadals
were like that. As far as I know only Fadal still supports E codes, but there
are a lot of controls out there that I dont know.
Ken
Cybercut Precision Machining-
"Quality is created, not controlled."
PrecisionMachinisT
2003-07-15 03:39:53 UTC
Permalink
Post by Jon Schmidt
Thanks for the explanation of G92 that makes perfect sense.
One thing you mentioned briefly about setting G54 in the program. Do you
always do this or sometimes, I don't even know if it can be done on the
Yasnac and old Fadal that I use, never tried. I think I might have to set
the G54 as a machine parameter that can only be changed when a parameter
editing switch is set for machine control editing.
Can you shed some light on the G54 in the program issue?
Thanks
JTS
G53 is machine coordinates...This is boot up coordinates at g28 machine grid
or home.....On the Fadal this is E0----Always x0y0z0 on fanuced up
controllers it is settable through parameters or ( in the case of being
specific to fanuc 6m), offset table 1 is work shift while offset table 2
through 6 are g54~g59....

G54 ~G59 are settable through operator input......Or program input, using
g10...

In the case of Fadal, E1 is g54, E2 is g55 ect to g59......After that, if
you want more fixture offsets, you have to use "E" in the controller (E1
through E48) and call the proper one in your part program... When I run the
fadal with the palletchanger, I typically use lots of fixture offsets....and
the tools set off the table so I can use them on multiple jobs.....

On my machine that has the Fanuc, ( it is 4 axis and has 8 pallets and 80
tool atc), axis origins are the X axis center of rotation, Y axis master
pallet surface, Z axis spindle gage line to pallet center
distance......These values are dumped into the machine control through
parameter setting for the work shift, g53...........I also program within
this coordinate system, so g54~ g58 are usually relatively small offsets of
a few thousanths or so, because of minor fixture inaccuracys..... G59 I
reserve in case I put a vise up there and it allows me a major coordinate
shift to the vise datum......

With this setup, the tools are set offline and are a positive value as
entered into the controller. In fact, they can be checked or even set with a
ruler if its only a drill or something where depth is not critical.....

Hopefully I havent gotten you more confused.....I certainly feel better as I
had meant to respond in depth to this thread earlier, and just hadnt gotten
around to it..
--
SVL
Jon Schmidt
2003-07-15 05:35:21 UTC
Permalink
Thanks for the explanation, I think I will also make G54 6" above the table.

I think I'll set it up this weekend when it is quite.

Thanks for all the help!

JTS
Post by PrecisionMachinisT
Post by Jon Schmidt
Thanks for the explanation of G92 that makes perfect sense.
One thing you mentioned briefly about setting G54 in the program. Do you
always do this or sometimes, I don't even know if it can be done on the
Yasnac and old Fadal that I use, never tried. I think I might have to set
the G54 as a machine parameter that can only be changed when a parameter
editing switch is set for machine control editing.
Can you shed some light on the G54 in the program issue?
Thanks
JTS
G53 is machine coordinates...This is boot up coordinates at g28 machine grid
or home.....On the Fadal this is E0----Always x0y0z0 on fanuced up
controllers it is settable through parameters or ( in the case of being
specific to fanuc 6m), offset table 1 is work shift while offset table 2
through 6 are g54~g59....
G54 ~G59 are settable through operator input......Or program input, using
g10...
In the case of Fadal, E1 is g54, E2 is g55 ect to g59......After that, if
you want more fixture offsets, you have to use "E" in the controller (E1
through E48) and call the proper one in your part program... When I run the
fadal with the palletchanger, I typically use lots of fixture
offsets....and
Post by PrecisionMachinisT
the tools set off the table so I can use them on multiple jobs.....
On my machine that has the Fanuc, ( it is 4 axis and has 8 pallets and 80
tool atc), axis origins are the X axis center of rotation, Y axis master
pallet surface, Z axis spindle gage line to pallet center
distance......These values are dumped into the machine control through
parameter setting for the work shift, g53...........I also program within
this coordinate system, so g54~ g58 are usually relatively small offsets of
a few thousanths or so, because of minor fixture inaccuracys..... G59 I
reserve in case I put a vise up there and it allows me a major coordinate
shift to the vise datum......
With this setup, the tools are set offline and are a positive value as
entered into the controller. In fact, they can be checked or even set with a
ruler if its only a drill or something where depth is not critical.....
Hopefully I havent gotten you more confused.....I certainly feel better as I
had meant to respond in depth to this thread earlier, and just hadnt gotten
around to it..
--
SVL
Ken
2003-07-16 01:24:58 UTC
Permalink
writes:>
Post by Jon Schmidt
Thanks for the explanation, I think I will also make G54 6" above the table.
I think I'll set it up this weekend when it is quite.
Thanks for all the help!
JTS
When it is quite what? ; ) Quite quiet?

So by set up do you mean you are going to make a 6 inch block to set on or
something?

If you can follow the following you should be all set.

example to cut a 2 inch thick part in a Kurt vise:

set tools 6 inch above table. at G54 Z=0; tools will be 6 inch above table if
programmed to cut at Z0.
thickness of Kurt vise to bottom of parrallels =2.875
I'll use a 5/8 parrellel to make an even number +.625 parrellel
=3.5 to
bottom of part
+2.0
part thickness
=5.5 to
top of part
so by setting G54 Z to -.5 and programming a face mill to z0 you will get a
part skinned to 2 inches thick.

Check your particular vises before applying this to the real world.





Ken
Cybercut Precision Machining-
"Quality is created, not controlled."

Cliff Huprich
2003-07-14 02:58:31 UTC
Permalink
Post by Kirk Gordon
Obviously, CAM systems change the rules a lot; but, like so many
other automatic tools and devices, they often rob their user of the need
or opportunity to practice things that can sometimes make the difference
between adequate work and the really good, clean, efficient stuff.
Which clearly has no relation to associativity back to any form of CAD/CAM
model <G>.

It can leave you in banquerland.
--
Cliff Huprich
Cliff Huprich
2003-07-14 02:58:32 UTC
Permalink
Post by Kirk Gordon
Sometimes, features on a print are dimensioned with respect to each
other. In that case, incremental moves from one feature to the next
will make the program numbers look like the numbers on the print. I've
always liked that kind of programming. It makes errors less likely
Make one error and all subsequent features are scrap. A good inspection
department may catch it later thoough <G>.
One of the reasons for that MDI lockout key .....

BTW, Such dimensioning & programming leads to sloppy product
IMHO. "Well, that first dimension is +/- .020 so if we hit the third hole
to within .010 it's OK ... let,s just use two place decimals ...."

Some machines can also lose position a little. Absolute will bring them
back and incremental will not. They think whereever they are is fine. You
may also wish to think of thermal growth effects in some cases.
--
Cliff Huprich
Ken
2003-07-15 01:14:46 UTC
Permalink
Hey BottleBob,
will the new Gibbs allow you to fix your post? It strips the decimal
points.<g>
And even more importantly, once you fix your post, will the license agreement
allow you to post your fix?
Ken
Cybercut Precision Machining-
"Quality is created, not controlled."
Ken
2003-07-15 01:22:18 UTC
Permalink
Post by Charlie Gary
<<Snip>>
Post by BottleBob
Post by Ken
And now that I am dragging Bottlebob into it you dont have to worry
about this
Post by BottleBob
Post by Ken
thread dying before you know all the answers for all
31415926535897932384626433832795028841971693 points of view.
You should have posted it a couple of days ago when I had time to run
through a goodly portion of those
31415926535897932384626433832795028841971693 points of view. No time
now.
We're so busy I've been drafted to start on a night shift starting
tomorrow.
<<Snip>>
Hey BottleBob,
will the new Gibbs allow you to fix your post? It strips the decimal
points.<g>
--
Later,
Charlie
He had me thinking for a minute there that I had forgotten the decimal point.
Which would be a bit embarassing since all the numbers came from my memory of a
7th grade memorization contest I got involved in.

Ken
Cybercut Precision Machining-
"Quality is created, not controlled."
Ken
2003-07-16 01:05:44 UTC
Permalink
You mean you didn't cut and paste the number from some calculator program?
I'm impressed.
--
Later,
Charlie
Thats what I mean. I used to know Pi to 60 places. But last time I tried to
write it and check it I found I had scrambled a few things over the years once
I got past about 40 places. Or once I got past about 40 years, take your pick.




Ken
Cybercut Precision Machining-
"Quality is created, not controlled."
Continue reading on narkive:
Loading...