shifting work coordinates on a mill
Close
Login to Your Account
Page 1 of 2 12 LastLast
Results 1 to 20 of 23
  1. #1
    Join Date
    Feb 2014
    Location
    Ohio
    Posts
    432
    Post Thanks / Like
    Likes (Given)
    33
    Likes (Received)
    35

    Default shifting work coordinates on a mill

    I'm running a job where I set up 8 blanks (two per vice) and mill each one the same. My mill only has 6 work coordinates (G54-G59) so what I'd like to do is machine one part at G54 and then a second at G54+X2.55, then do the same for G55-G57. How can I do this? I have the manual but it's not translated very well from Japanese (Hitachi Seiki). It looks like maybe I can use G540-G599? Or G92?

    Does this look right?
    (AFTER RUNNING PART AT G54)
    G54
    G0 X2.55 Y0
    G92 X0 Y0
    (REPEAT PROGRAM FROM G54)
    G55
    (RUN PROGRAM)
    ETC.
    ETC.

  2. #2
    Join Date
    Dec 2008
    Country
    UNITED STATES
    State/Province
    New York
    Posts
    10,399
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    2714

    Default

    Quote Originally Posted by Ukraine Train View Post
    I'm running a job where I set up 8 blanks (two per vice) and mill each one the same. My mill only has 6 work coordinates (G54-G59) so what I'd like to do is machine one part at G54 and then a second at G54+X2.55, then do the same for G55-G57. How can I do this? I have the manual but it's not translated very well from Japanese (Hitachi Seiki). It looks like maybe I can use G540-G599? Or G92?

    Does this look right?
    (AFTER RUNNING PART AT G54)
    G54
    G0 X2.55 Y0
    G92 X0 Y0
    (REPEAT PROGRAM FROM G54)
    G55
    (RUN PROGRAM)
    ETC.
    ETC.
    .
    watch g92 it can cause problems
    .
    better to do the math on the G54 shift and use the results for the G55 offset screen
    the G54, G55, etc work offset screen is not normally full of all zeros

  3. #3
    Join Date
    Feb 2014
    Location
    Ohio
    Posts
    432
    Post Thanks / Like
    Likes (Given)
    33
    Likes (Received)
    35

    Default

    I just tried G92 and it worked, but I can't figure out how to cancel it. When the tool changes and it calls G54 again, it stays with the G92 offset. The manual says to use G921 x0 y0 z0 but this causes an alarm.

  4. #4
    Join Date
    Dec 2007
    Location
    Southeastern US
    Posts
    6,426
    Post Thanks / Like
    Likes (Given)
    881
    Likes (Received)
    2857

    Default

    G54
    bla bla bla

    #100 = #5221
    #5221 = [#100+2.55]
    G54
    bla bla bla
    .
    .
    .
    #5221 = #100
    M30

    #5221 = G54 X
    #5222 = G54 Y
    #5223 = G54 Z
    #5224 = G54 A
    #5225 = G54 B
    #5226 = G54 C

    #5241 = G55 X
    ...
    ...
    ..
    #5261 = G56 X
    ..
    .
    ..
    #5281 = G57 X
    ..
    ..
    ..
    #5321 = G59 X
    ..
    ..
    ..

    (Or should be........ test to be sure.....)
    Last edited by Tonytn36; 03-06-2015 at 04:02 PM. Reason: Forgot it is Fanuced and it may be sensitive to brackets in the calc.

  5. Likes Rstewart, yardbird liked this post
  6. #5
    Join Date
    Jan 2005
    Country
    CANADA
    State/Province
    Saskatchewan
    Posts
    10,331
    Post Thanks / Like
    Likes (Given)
    1417
    Likes (Received)
    3768

    Default

    Quote Originally Posted by Ukraine Train View Post
    I just tried G92 and it worked, but I can't figure out how to cancel it. When the tool changes and it calls G54 again, it stays with the G92 offset. The manual says to use G921 x0 y0 z0 but this causes an alarm.
    G92 does not get cancelled except by returning to a known zero position of the machine table, and redefining that point as G92 X0 Y0. For example, wherever the machine homes to after startup would normally be the zero position of the machine coordinate system (G53) and G92 should also be zero(ed) at that position. But you have to explicitly zero G92 with a command of X0 Y0, which takes place immediately at the current machine position. Don't zero out the Z axis with G92, that will really screw things up, just the X and Y for what you are doing.

    The big danger of using G92 occurs when you abort a program part way through, and then after a restart, if the control reads a G92 command at the aborted position, that becomes the new zero point. This immediately gets the program running in the wrong place relative to the work zero and fixtures, etc. Bad news.

  7. Likes 706jim liked this post
  8. #6
    Join Date
    May 2007
    Country
    UNITED STATES
    State/Province
    Massachusetts
    Posts
    931
    Post Thanks / Like
    Likes (Given)
    14
    Likes (Received)
    112

    Default

    Try looking at G52 - most machines have it....

    Or Adjust with a G10 - lots of posts here address both.

  9. Likes Atomkinder liked this post
  10. #7
    Join Date
    Nov 2007
    Location
    Hamilton, Ontario
    Posts
    1,200
    Post Thanks / Like
    Likes (Given)
    847
    Likes (Received)
    460

    Default

    If you are using a Cam system make your 2 parts as an assembly so the 2 parts in the same vise are your G54 then 2 parts G55... That way you only need 4 work coordinates. Maybe you could do the same with how ever else you are programming the machine.

  11. #8
    Join Date
    Jun 2006
    Location
    Thunder Bay Canada
    Posts
    1,898
    Post Thanks / Like
    Likes (Given)
    604
    Likes (Received)
    345

    Default

    If you use G92, you will have to "unuse it" to keep track of where you are on the machine.

    G92 is great for making a SINGLE part on a VMC where you keep changing tools and don't want to be bothered setting up offsets. I use it all the time.

    But it can cause far more grief than you would want in the event of a restart or incomplete program cycle.

  12. #9
    Join Date
    Sep 2010
    Location
    india
    Posts
    1,370
    Post Thanks / Like
    Likes (Given)
    75
    Likes (Received)
    260

    Default

    No experienced programmer would recommend the use of G92 or G50 (on a lathe), if the machine is macro-enabled.
    These are primitive codes. But old habits die hard.
    Tony's method is the best. The other way can be to toggle external offset between 0 and 2.55, if you do not want to disturb G54 etc. Ext X is #5201
    One way to clear G92/G50 is to cycle power.

  13. #10
    Join Date
    Jan 2005
    Country
    CANADA
    State/Province
    Saskatchewan
    Posts
    10,331
    Post Thanks / Like
    Likes (Given)
    1417
    Likes (Received)
    3768

    Default

    Quote Originally Posted by sinha View Post
    No experienced programmer would recommend the use of G92 or G50 (on a lathe), if the machine is macro-enabled.
    These are primitive codes. But old habits die hard.
    Tony's method is the best. The other way can be to toggle external offset between 0 and 2.55, if you do not want to disturb G54 etc. Ext X is #5201
    One way to clear G92/G50 is to cycle power.
    I dare say no one would opt to use G92 out of habit, because it can be a PITA to babysit it But if one completely understands what it is doing, then it can be safely implemented on occasion. For example, on older lathe controls, it can be handy to modify the Z datum with G92 when doing multiple parts from a single chucking of a long bar.

    Modern controllers typically have the G53 coordinate system available in the background, so that you can command a move to zero in G53 and then reset G92 at that location, thereby cancelling its effect on all the work offsets.

  14. #11
    Join Date
    Dec 2008
    Country
    UNITED STATES
    State/Province
    New York
    Posts
    10,399
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    2714

    Default

    Quote Originally Posted by Ukraine Train View Post
    I'm running a job where I set up 8 blanks (two per vice) and mill each one the same. My mill only has 6 work coordinates (G54-G59) so what I'd like to do is machine one part at G54 and then a second at G54+X2.55, then do the same for G55-G57. How can I do this? I have the manual but it's not translated very well from Japanese (Hitachi Seiki). It looks like maybe I can use G540-G599? Or G92?

    Does this look right?
    (AFTER RUNNING PART AT G54)
    G54
    G0 X2.55 Y0
    G92 X0 Y0
    (REPEAT PROGRAM FROM G54)
    G55
    (RUN PROGRAM)
    ETC.
    ETC.
    .
    why wouldnt you just go to work offset screen if
    G54
    X0.
    Y0.
    Z0.
    then make
    G55
    X2.55 or what ever you want
    Y0.
    Z0.
    .
    i guess i fail to see why you would need to do any other way. even if G54 X3.0099 it is just a 3 seconds to add the offset desired to current G54 X amount to the G55X on work offset screen
    .
    you do know how to use work offset screen dont you ???

  15. #12
    Join Date
    Aug 2002
    Location
    West Unity, Ohio
    Posts
    27,344
    Post Thanks / Like
    Likes (Given)
    7752
    Likes (Received)
    9538

    Default

    While I don't recommend the use of G92 in program, I would think that if you did use it, you could use G28 to go HOME to reset your values. Ass_u_ming that G28 works on most mills. (???)

    I like Tony's approach - at least for reference.

    Between all the options, I would just use G10 if so equipped tho. (G10 P0 X0 Y2.25)
    You can then cancel it at any time in any position with a G10 P0 X0 Y0
    In this case - you could run the four parts in the fwd station of your vises and then cycle the G10 and loop back and re-run.


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

    Think Snow Eh!
    Ox

  16. #13
    Join Date
    Sep 2010
    Location
    india
    Posts
    1,370
    Post Thanks / Like
    Likes (Given)
    75
    Likes (Received)
    260

    Default

    With system variables available, G10 is another code which may be gradually phased out.
    With G10, there is difficulty in reverting back to the original values. One cannot read the existing values which can only be overwritten. Of course, it can be managed in many cases, but the method of system variables is often easier.

  17. #14
    Join Date
    Feb 2005
    Location
    Akron, OH
    Posts
    1,996
    Post Thanks / Like
    Likes (Given)
    331
    Likes (Received)
    1523

    Default

    I don't get it. G52 does exactly what the OP wants, doesn't use up work offsets, is cancellable at any time. Why are we talking about shifting the original offsets (God help you if you have to exit the program mid run) or eve worse shifting the whole machine coordinate system around?

  18. Likes Atomkinder liked this post
  19. #15
    Join Date
    Aug 2002
    Location
    West Unity, Ohio
    Posts
    27,344
    Post Thanks / Like
    Likes (Given)
    7752
    Likes (Received)
    9538

    Default

    Quote Originally Posted by Comatose View Post
    I don't get it. G52 does exactly what the OP wants, doesn't use up work offsets, is cancellable at any time. Why are we talking about shifting the original offsets (God help you if you have to exit the program mid run) or eve worse shifting the whole machine coordinate system around?

    No experience with G52.
    What does that doo?


    For that matter - I have never heard of a G51, or 52 before.
    But since there are apps for G50, 53, and 54+, there must have been an app for G51/G52 at some point, but never heard of them.

    ???



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

    Think Snow Eh!
    Ox

  20. #16
    Join Date
    Dec 2012
    Location
    WI, USA
    Posts
    215
    Post Thanks / Like
    Likes (Given)
    75
    Likes (Received)
    10

    Default

    Quote Originally Posted by Ox View Post
    No experience with G52.
    What does that doo?
    G52 is Temporary Coordinate System Offset. I just recently learned about this from angelw (Bill). It is used to offset the current point by a given distance (positive or negative). When G52 is executed, the origin of the currently active coordinate system moves by the values given; the offset is applied relative to the Base Workshift Offset. So, if at G54X0. and G52 X2.55 is commanded, it will cause the X coordinate of the current point to be -2.55. It is cancelled by specifying Zero values for the axes involved, or by Reset depending on parameter setting.

    Regards,
    Paul

  21. #17
    Join Date
    Aug 2002
    Location
    West Unity, Ohio
    Posts
    27,344
    Post Thanks / Like
    Likes (Given)
    7752
    Likes (Received)
    9538

    Default

    Cancelled by M2/M30 as well?


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

    Think Snow Eh!
    Ox

  22. #18
    Join Date
    May 2007
    Country
    UNITED STATES
    State/Province
    Massachusetts
    Posts
    931
    Post Thanks / Like
    Likes (Given)
    14
    Likes (Received)
    112

    Default

    G52 used to be described by Fanuc to be "Child coordinate systems", where you could make a new "system" a certain distance from the active system. I use it for cutting multiple parts in sheets of plastic which may come in several different sizes. Methinks that resetting via M2 and/or M30, or control reset is a parameter change, IIRC. It's been a while since I fanucked.

    M98P1000
    G52X1.0
    M98P1000
    G52X2.0
    M98P1000
    G52Y-1.0
    etc.

    G52X0Y0
    M01

  23. Likes Ox liked this post
  24. #19
    Join Date
    Aug 2002
    Location
    West Unity, Ohio
    Posts
    27,344
    Post Thanks / Like
    Likes (Given)
    7752
    Likes (Received)
    9538

    Default

    Quote Originally Posted by Ox View Post

    For that matter - I have never heard of a G51, or 52 before.
    But since there are apps for G50, 53, and 54+, there must have been an app for G51/G52 at some point, but never heard of them.


    FWIW:

    As taken from the CNC Cookbook online.

    Step 4: Scaling and Mirroring: G51
    Speaking of grandiose, how about being able to scale your part to a different size? You could make it much more grandiose by using G51 to scale it to 10x the size it was originally programmed in. You can also mirror the part in many g-code dialects by applying a minus sign to G51 or sometimes by using a different g-code.
    Aside from making things much different in scale, there is value in making things slightly different in scale. Let's say your machine is equipped with an accurate digital touch probe that can measure things very accurately. Let's further assume you need to make a bore that is extremely accurate and that your part is held in a fixture that has a bore right on the fixture that you have painstakingly made accurate to extreme tolerances. Lastly, let's say that bore has to be 2.000 inches, plus 0.0001 and minus 0.0000. That's pretty tight!
    Now here is a neat trick you can perform with the probe:
    - Measure the bore with the probe. You know it measures within your tolerances to 2 inches at the normal inspection temperatures your customer will use. Let's say the probe reports a measurement of 1.9993. The hole is allowed to be a tenth larger, but cannot be smaller than 2 inches. So you're off by 0.0007" and need the hole to be larger.
    - So, your g-code performs a little calculation. 0.0007" / 2.0000" is 0.00035. Now you know the correction factor that's needed.
    - When you make your finish pass, use G51 to scale the finish pass to 1.00035x the coordinates that are in the g-code program.
    Your part should come out extremely close!
    That's the technique used in Renishaw's RAMTIC manufacturing, and it's a very powerful way to increase the accuracy of your machining operations.
    With Step 4 complete, we're almost ready with a machine coordinate. All that is left is possible rotation.


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

    Think Snow Eh!
    Ox

  25. #20
    Join Date
    Jan 2014
    Country
    UNITED STATES
    State/Province
    Washington
    Posts
    5,607
    Post Thanks / Like
    Likes (Given)
    1008
    Likes (Received)
    3156

    Default

    Quote Originally Posted by sinha View Post
    With system variables available, G10 is another code which may be gradually phased out.
    IMO not likely since G10 is still usable if the machine does not have macro option installed.


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
  •