Reset A axis instead of unwind
Close
Login to Your Account
Results 1 to 12 of 12
  1. #1
    Join Date
    Dec 2014
    Country
    UNITED STATES
    State/Province
    Washington
    Posts
    201
    Post Thanks / Like
    Likes (Given)
    334
    Likes (Received)
    83

    Default Reset A axis instead of unwind

    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.

  2. #2
    Join Date
    Mar 2018
    Country
    UNITED STATES
    State/Province
    Illinois
    Posts
    39
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    6

    Default

    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

  3. #3
    Join Date
    May 2006
    Location
    Burlington, North Carolina
    Posts
    379
    Post Thanks / Like
    Likes (Given)
    418
    Likes (Received)
    143

    Default

    Quote Originally Posted by BSCustoms View Post
    Something similar to a G52 temp offset?
    Not familiar with Mori either, but on our Nakamuras (Fanuc) G50 seems to work well.

  4. #4
    Join Date
    Jan 2007
    Country
    UNITED STATES
    State/Province
    New Jersey
    Posts
    920
    Post Thanks / Like
    Likes (Given)
    441
    Likes (Received)
    436

    Default

    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

  5. #5
    Join Date
    Jan 2005
    Country
    CANADA
    State/Province
    Saskatchewan
    Posts
    10,192
    Post Thanks / Like
    Likes (Given)
    1382
    Likes (Received)
    3666

    Default

    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.

  6. Likes Ox liked this post
  7. #6
    Join Date
    Sep 2008
    Country
    UNITED STATES
    State/Province
    Florida
    Posts
    360
    Post Thanks / Like
    Likes (Given)
    30
    Likes (Received)
    94

    Default

    How about adding a move at the end of your program to the nearest multiple of 360, then coding "G92 A0"?

  8. #7
    Join Date
    Jan 2005
    Country
    CANADA
    State/Province
    Saskatchewan
    Posts
    10,192
    Post Thanks / Like
    Likes (Given)
    1382
    Likes (Received)
    3666

    Default

    Quote Originally Posted by rainman View Post
    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.

  9. #8
    Join Date
    Dec 2011
    Location
    Whitehall, MI
    Posts
    565
    Post Thanks / Like
    Likes (Given)
    116
    Likes (Received)
    139

    Default

    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?

  10. #9
    Join Date
    Jul 2008
    Location
    Ontario, Canada
    Posts
    257
    Post Thanks / Like
    Likes (Given)
    6
    Likes (Received)
    85

    Default

    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.

  11. #10
    Join Date
    Jan 2005
    Country
    CANADA
    State/Province
    Saskatchewan
    Posts
    10,192
    Post Thanks / Like
    Likes (Given)
    1382
    Likes (Received)
    3666

    Default

    Quote Originally Posted by brian.pallas View Post
    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.

  12. #11
    Join Date
    Jan 2005
    Country
    CANADA
    State/Province
    Saskatchewan
    Posts
    10,192
    Post Thanks / Like
    Likes (Given)
    1382
    Likes (Received)
    3666

    Default

    Quote Originally Posted by BSCustoms View Post
    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?

  13. #12
    Join Date
    Jan 2015
    Country
    UNITED STATES
    State/Province
    California
    Posts
    695
    Post Thanks / Like
    Likes (Given)
    103
    Likes (Received)
    361

    Default

    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

  14. Likes brian.pallas liked this post

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •