G92 Cancel?

Getting to know The Money Pit a little and this control uses a G93 to cancel G92 presets.

So I start thinking .... ... Is this common? I don't recall seeing something like this before, but in all honesty - milling isn't the bulk of my work, and the milling controls that I have are all flavours, and so most of my experience dates back to the A900 Cinci. I used to use G92 on that regularly, but not since untill now.

But G93 there as it seems is "Inverse Time" feedrate.

Not just a few months ago we was discussing this over in the Haas board regarding feedrate for the rotary axis. It was all new to me and I thought that it was a Haas specific code from the sounds of it. I guess it long pre-dates Haas Manufacturing - and likely dates back into the NC controls. ??? I would have had no need for such code for the 2-1/2 axis werk that I did on that machine. So no wonder it didn't ring no bells.

ANY WHOOOO

I am using G92 quite a bit on The Money Pit, and it is quite helpfull to be able to just G93 and go back to "Machine Zero" as it would be. Now one thing that I am NOT liking quite as much is that G93 is a blanket and ALL axis go back. NOT just a singular axis like the G92 code does, but I think we can change the code on that if wanted.

Now of course you can git the same place by using fixture offsets and cancelling them as well.... But you need one fixture offset set to ZERO don't you?

On my Siemens machines I can just code in G500 (I think) which is essentially always set to zero - or close to it. On a PC control I can call E0 and cancel all fixture offsets. I'm not sure on my Mits, but on a lathe that's not nearly as applicable anyway...

I doo not have a Fanuc mill, but I hafta wonder - if you don't have G54 set to zero, what means is there to dump the offset altogether w/o just replacing it with another?

I doo not have a Fanuc mill, but I hafta wonder - if you don't have G54 set to zero, what means is there to dump the offset altogether w/o just replacing it with another?

On Fanucs for more than 20 years, there is a G53 code that specifies Machine coordinates. It is a single-shot or one-shot code (not modal), so doesn't cancel the current work offset. So, G53 X0 would take X to the home location. Note that it's not the same as G28 (reference point return). They both will move the axis to the same place, but the G28 will also turn on the "home" light, which is necessary on most mills on one or more axes to allow the ATC to run.

Somewhere, somehow, the machine has its own coordinate system, the one that it knows when power is supplied. On most modern cncs, that coordinate system is called G53.

Old cncs may not have addressed the machine coordinate system as G53, but nonetheless, G92 commands were still used to manipulate what you would still call the machine coordinate system.

When the cnc is powered on, typically there is a homing routine used to park all the machine axis at a fixed position. Parameters may then be called to fill in the address of this position with axis entries other than zeros.

You can manipulate the home position also by using G92 commands to rename the machine zero position. However, the effect that people do not like about this, is that you have altered the coordinates of the machine coordinate system, and there is no way to undo that, except for some sort of hardware implementation that causes all axis to return to the home switches. Then a new G92 command is re-issued which, hopefully, renames the machine coordinate system back to all zeros or whatever it was after you had powered it up and homed it. This is not exactly like cancelling a work offset, because you are trusting that the home switches are being detected in exactly the same position every time, whereas commands in the G53 machine coordinate system never cause an actual renaming of the axis positions after the initial homing procedure is completed. So the original machine zero is maintained unchanged, throughout one power on cycle.

G92 simply is "Axis origin" like zeroing a DRO on a bridgeport.
Just this week the 1996 Mitzy surprized me because it doesn't
respond to the G53 the same way the Mitzy's did on OKK's I used to use.
And further I used an OKK with an OM fanuk.

You can G92 anywhere you want as often as you want and don't need
to cancel it to make another G92.
If you G91 G28 to get a tool-change, that alone might erase your G92.

I wonder how many different ways exist of these comands interacting?
m1m

You can G92 anywhere you want as often as you want and don't need to cancel it to make another G92.

To elaborate, when G92 is stated, it defines where the coordinate system zero point is based on the current axis position. So, you can state a G92 at any time, but if the axis is in the wrong place when the G92 executes, the new coordinate system will be in the wrong place, too.

Originally Posted by machine1medic

If you G91 G28 to get a tool-change, that alone might erase your G92.

It may work that way on some brands, but not all, so take care that the coordinate system reacts as you want.

To elaborate, when G92 is stated, it defines where the coordinate system zero point is based on the current axis position. So, you can state a G92 at any time, but if the axis is in the wrong place when the G92 executes, the new coordinate system will be in the wrong place, too.

It may work that way on some brands, but not all, so take care that the coordinate system reacts as you want.

Getting to know The Money Pit a little and this control uses a G93 to cancel G92 presets.

So I start thinking .... ... Is this common? I don't recall seeing something like this before, but in all honesty - milling isn't the bulk of my work, and the milling controls that I have are all flavours, and so most of my experience dates back to the A900 Cinci. I used to use G92 on that regularly, but not since untill now.

But G93 there as it seems is "Inverse Time" feedrate.

Not just a few months ago we was discussing this over in the Haas board regarding feedrate for the rotary axis. It was all new to me and I thought that it was a Haas specific code from the sounds of it. I guess it long pre-dates Haas Manufacturing - and likely dates back into the NC controls. ??? I would have had no need for such code for the 2-1/2 axis werk that I did on that machine. So no wonder it didn't ring no bells.

ANY WHOOOO

I am using G92 quite a bit on The Money Pit, and it is quite helpfull to be able to just G93 and go back to "Machine Zero" as it would be. Now one thing that I am NOT liking quite as much is that G93 is a blanket and ALL axis go back. NOT just a singular axis like the G92 code does, but I think we can change the code on that if wanted.

Now of course you can git the same place by using fixture offsets and cancelling them as well.... But you need one fixture offset set to ZERO don't you?

On my Siemens machines I can just code in G500 (I think) which is essentially always set to zero - or close to it. On a PC control I can call E0 and cancel all fixture offsets. I'm not sure on my Mits, but on a lathe that's not nearly as applicable anyway...

I doo not have a Fanuc mill, but I hafta wonder - if you don't have G54 set to zero, what means is there to dump the offset altogether w/o just replacing it with another?

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

Think Snow Eh!
Ox

Wouldn't G91 G28 X0(or Y0, or Z0) do what your asking on a Fanuc? Or am I being dense?

If the machine has a homing position, whay would you have a G92 Zero axis offset but for certain applications? Many questions here....does the machine have tool length offset registers based upon machine home and are there fixture offset registers based upon a machine set home position?

I have two machines that do not have a "Home" position when booted up so G92 is a necessity and if I hit the E stop, I have to re edge find or indicate. Guess I am asking many questions because if there is new info to learn, want to know it, but also wondering whay a G92 when home offsets and fixture offsets may be available.

I use G92 all the time when making a one-off part. I will set the X0Y0 (G92 X0Y0) first and then re-set the Z for each tool. (G92 Z1.0 with the tool tip 1.0" above the part datum).
When the part is complete, I would re-zero the machine which in my case, requires briefly shutting off the servos ("not ready") and then re-zeroing all axes.

When MORE than one part is to be made, particlularly with two or more tools, I would almost never use G92, but instead, G54, G55 etc.

G92 can cause some REAL problems if it is included in the part program, as it happily sets the part zero position from wherever the spindle just happens to be sitting, which may or may not be where you did it duirng setup.

In short then, G92 is fine in its place, but I'd avoid using it in a production setting.

If the machine has a homing position, whay would you have a G92 Zero axis offset but for certain applications? Many questions here....does the machine have tool length offset registers based upon machine home and are there fixture offset registers based upon a machine set home position?

I have two machines that do not have a "Home" position when booted up so G92 is a necessity and if I hit the E stop, I have to re edge find or indicate. Guess I am asking many questions because if there is new info to learn, want to know it, but also wondering whay a G92 when home offsets and fixture offsets may be available.

Honest questions.....

I usta use it on my old mill for single fixture set-ups _ instead of setting up the fix-offsets. Otherwise I haven't used it hardly at all in many yrs untill recently when running big "one-off" type stuff on the big lathes or the HBM. (Big Bertha, Little Belle, (who aint little) and The Money Pit) In this type of werk I end up running in - or very similar to MDI applications with one tool at a time.

If the machine has a homing position, whay would you have a G92 Zero axis offset but for certain applications? Many questions here....does the machine have tool length offset registers based upon machine home and are there fixture offset registers based upon a machine set home position?

I have two machines that do not have a "Home" position when booted up so G92 is a necessity and if I hit the E stop, I have to re edge find or indicate. Guess I am asking many questions because if there is new info to learn, want to know it, but also wondering whay a G92 when home offsets and fixture offsets may be available.

Honest questions.....

So you can move program 0,0 away from the home position. If you don't have G92, you would have to always use the machine zero to program from, wherever it was on the table. I also use G92 to set Z0 at the top of the part (usually). The machine calculates the actual position of the head from the G92 value and the tool length value.

G92 is the home offset in this case, when there is no fixture offset. Old school stuff, I guess.

Yes, I get the one off idea, actually use this quite a bit for the same. Good answers, though for the machine programming always having to be done from home...still trying to get that if the machine has fixture offset registers and tool length registers. If not, get that quite well and that WOULD be a PITA.

I have an Emco F1 and two Emco lathes that do NOT home, have to G92 everything, and when I turn them off, they better be in the G92 starting position, and every program must start at the G92 and end up back there or things get UGLY. I also remember some old Moriseiki lathes that if they are not moved back to a G92 at tool 1 (G50 on these animals) on start or stop/shutdown, thing get wrapped up far too quick as well

Thanks, I often have to try to explain "why G92" to many students, good information. Thanks everyone.

G92 works great with a 4th axis, too. You can save a lot of unwind time by using G92 in multi-turn rotational work. In fact, nothing else will substitute

Some controls make that easier by having a parameter that will cause the A-axis coordinate system to be reset to 0 (as if you stated G92 A0) everytime it passes through the machine 0° (or 360°) point. So, rather than the position display accumulating several revolutions of movement, it's never more than a half-rev either way from 0°.

Some controls make that easier by having a parameter that will cause the A-axis coordinate system to be reset to 0 (as if you stated G92 A0) everytime it passes through the machine 0° (or 360°) point. So, rather than the position display accumulating several revolutions of movement, it's never more than a half-rev either way from 0°.

That is okay at the end of a program, but if you want to cut, lets say, 10 full turns, then run back to X0 and take another pass, it is quicker to make the X move in rapid, don't program a return to A0, just reset the A with G92 A0 and take the next cut. The trick is to pay attention to where A is (in the current work offset) so that you do not inadvertantly shift the A coordinate system by some fraction of a turn, and fail to account for it. For example if the actual movement is 9.5 turns, then program a rapid movement (in clearance) to take the A axis exactly to the 0/360° position, before you program the G92.

Haas is nice in this regard, because G92 does not literally overwrite the machine coordinates in G53, you can go into the offset register and see what all your G92 movements have accumulated to, and cancel them with an negative G92 A value of the same magnitude. This is necessary even with "Quick rotary G28" enabled (in my older version of Haas software). You can write this negative accumulated value as a G92 command at the end of your program, after having run through it once, and seeing how it all added up. Or you can manually go in and zero the G92 register. If you do not, then the Quick rotary G28 still won't prevent the gigantic unwind when you start the program over again. If you abort a program part way through, then you need to remember to go in and cancel the value in the G92 A register, or you'll have to sit and watch the unwind again

Posting Permissions

ADVERTISEMENTS

ADVERTISEMENTS

ABOUT Practical Machinist

With more than 10.6 million unique visitors over the last year, Practical Machinist is the most visited site for metalworking professionals. Practical Machinist is the easiest way to learn new techniques, get answers quickly and discuss common challenges with your peers. Register for the world’s largest manufacturing technology forum for free today to stay in the know.