What's new
What's new

Reset A axis instead of unwind

BSCustoms

Cast Iron
Joined
Dec 29, 2014
Location
WA
We have a part that was being produced on our mori mills utilizing the A axis to spin the part while side milling to get the diameter required. Is it possible to do an in program A reset to save the "unwinding" of the rotary every time it goes back for a new pass? Something similar to a G52 temp offset?

Thanks for your input.
 
No experience with the mori but on the haas I use in school we would do a G53 A0 but that’s just a Home command.


Sent from my iPhone using Tapatalk
 
Not sure if this Mori uses a Fanuc back-end but if it does, check Parameter 1008.0. Your CAM system will also need to be made aware of this as will your post.

Paul
 
Using an older Haas control, I found that the quick return to A0 didn't really unwind a multi-turn wind up. It would still have to unwind. The method I found worked was to reset the A axis position with G92 after a single axis rapid return to X0.

I did not want to G00X0 A0 because that forces the unwind of A
So G00 X0
G92 A0
next cut, etc.

It was necessary to keep careful track of A. In my situation, it was not bad because A was always a multiple of 360 degrees, let's say 3600 degrees for an example.

Resetting the A to zero using G92 still accumulates (in the Haas position register G53 machine coordinate system) so one doesn't really get lost like you could in the old days where G92 affected the machine coordinate register.

At the end of the program, the G92 register may have many thousands of degrees accumulated after several calls to G92. So then at the end of the program another G92 offset is called for in the A axis, having the opposite sign of what accumulated in the G92 register, and then your A axis is back at zero, without any unwinding.

The usual caveats apply about abnormal shut down or aborting of the program when the A axis is stopped at some random position, and in which case the reset of the axis is not properly done.
 
How about adding a move at the end of your program to the nearest multiple of 360, then coding "G92 A0"?

The command has to be at the end of the long A axis cut, in order to preclude the unwind before you move to X0A0. Then, you can have another G92 at the end of the program to undo (cancel) the first G92.
 
Not a direct answer, but why not program it so the A is repositioning at the same time as X and Y?

I think G91 G28 A0. should reset it though, without the need for unwind.

Or....program all your "turning" incrementally so it doesn't need to reset?
 
If it has G50 or some other way to zero or set axis position from within the program, that's the best way I've found so far. You just need to move it to some even multiple of 360 before you do this.
 
Not a direct answer, but why not program it so the A is repositioning at the same time as X and Y?

I think G91 G28 A0. should reset it though, without the need for unwind.

Or....program all your "turning" incrementally so it doesn't need to reset?

A0 is a particular position in absolute mode, so it feels that it has to run that encoder until it has counted down to zero.
Incremental may work, but its full of gotchas as well, due to not visualizing when and where axis are moving, and switching back and forth between G90 and G91 is a PITA.

My Haas is running fairly old software, v10.03 IIRC. The 'quick rotary G28' parameter never did do what was promised, that was why I had to jump through hoops. They might have fixed that by now, which would be a great thing. While the rotary would turn to the nearest A0, still when I started to rerun the program, it still began with a gigantic unwind from 7200 degrees, which was where it was when I ended the program.
 
We have a part that was being produced on our mori mills utilizing the A axis to spin the part while side milling to get the diameter required. Is it possible to do an in program A reset to save the "unwinding" of the rotary every time it goes back for a new pass? Something similar to a G52 temp offset?

Thanks for your input.

Bump. So what solution did you come upon, if any?
 
G92 to reset A to what you want? Just need to find the nearest multiple of 360 and subtract all that crap to find the remainder. Set A to that.

Something like:

G92 A[360.*[[#5044/360.]-FIX[#5044/360.]]]
G0 G90 A0
 








 
Back
Top