585,991 active members*
5,102 visitors online*
Register for free
Login
IndustryArena Forum > MetalWorking Machines > Haas Machines > Haas Mills > How to set work coordinate system offset from the program??
Results 1 to 14 of 14
  1. #1
    Join Date
    Nov 2010
    Posts
    0

    How to set work coordinate system offset from the program??

    Anybody knows how to set the Work Coordinate System (G54, G55, ETC) from the program rather than finding the fixture X and Y edges??.

    I'm using a quick change fixture plate that recieves several different fixtures.
    Each fixture uses its own G54 position. So, Is it possible to find X, Y and Z coordinate of each fixture just the first time and storing this values in the programs so the operator doesn't have to manually input these values each time (poke yoke to prevent an error ) ??

    I read something in the manual about G52 but did not quite get it

  2. #2
    Join Date
    Mar 2010
    Posts
    84
    If you have the macro option, you can set the X Y Z offsets as part of the program.

    G54 X =#5221
    G54 Y =#5222
    G54 Z =#5223
    The variables for all work offsets are in the manual, so I wont list them all here.

    For example, if on the offset page for G54, X=-15. Y=-8. and z=-12., to set G54 to this location you would at the beginning of your program put

    #5221=-15.
    #5222=-8.
    #5223=-12.

  3. #3
    Join Date
    Dec 2008
    Posts
    319
    Perfect opportunity for a probe.

  4. #4
    Join Date
    Nov 2010
    Posts
    0
    excelent answer !! .... I used to do this with OKUMAS but with HAAS ... thanks a lot !

  5. #5
    Join Date
    Jun 2010
    Posts
    0
    I think the easiest way is to write a line at the start of the program as follows:
    G10 L2 P1 G91 X10. Y10. Z.5:
    P1-P6 are G45-G59. Any X,Y,Z values are sent to your work offset page and stored.
    There's also a setting, #156, that says store offsets with progream, but I've never tried it

  6. #6
    Join Date
    Nov 2010
    Posts
    0
    MillMark,
    your answer took me inside the manual and checked it out.
    please correct me if I'm wrong...
    according to the manual .... G10 L2 P1 G91 X6.0 ... Moves coordinate G54 6.0 to the right.... However G10 L2 P1 G90 X10. Y8. ... Sets work coordinate G54 to X11.0 ,Y8.0 ..... so the G90 is the key.... what do you think ??

  7. #7
    Join Date
    Jan 2009
    Posts
    24

    Smile G10

    When you use a G10L2G91P1X6.Y6.Z-10., The control will keep the existing
    values in G54 and add 6. to the existing X value in G54 and 6. to the existing
    Y value in G54 and minus 10. to the existing Z value in G54. In the head of your program, after you find your fixture offset values, add the values to
    G10L2G90P1Xx.xxxYx.xxxZx.xxx and the program will preset the values in G54 to whatever the values you put in the above line. Use G90 to preset your values and G91 if you want to add to the existing values. Hope this helps

  8. #8
    Join Date
    Nov 2009
    Posts
    23

    OR

    Of course you could also take advantage of the additional work offset coordinates. Those being G154 P1/P2/P3, et cetera.

    :stickpoke

  9. #9
    Join Date
    Jul 2005
    Posts
    12177
    Quote Originally Posted by david rendon View Post
    ......I read something in the manual about G52 but did not quite get it
    As already mentioned G10 G90 L2 Pn X Y Z is the way to set the primary work offsets from a program.

    G52 allows you to create secondary work offsets which are referenced from the active primary work offset.

    For instance you might have a fixture that holds multiple parts on a grid pattern spaced every 4" in X and Y. You could use the G10 command to set the primary work offset at the bottom left corner of the fixture then G52 X0. Y0. means that you are working on the part in the grid position at that corner, G52 X4. Y0. is the next part along the X axis, G52 X0. Y4. is the next part along Y, G52 X4. Y. is the next part diagonally up from the corner part, etc., to cover the whole grid.

    This way you can have an unlimited number of work zeroes because they are not all stored in memory, the program simply writes the next value into the G52 register then uses it.

    Of course you could also keep re-writing the primary work zeroes by using multiple G10 commandfs but a problem with this is that if the program is stopped part way through you may not know what values is stored for the primary work zero; G52 values are zeroed by the Reset key so you always go back to a known condition.
    An open mind is a virtue...so long as all the common sense has not leaked out.

  10. #10
    Join Date
    Jun 2010
    Posts
    0
    Yep. I woke up from a sound sleep last night and said OOPS. You definitely don't want a G91 in there. Sorry

  11. #11
    Join Date
    Nov 2010
    Posts
    0
    thank you all guys ... this has been very instructional ... now lets go cut some ...

    "quiters never win, and a real winner never quits"

  12. #12
    Join Date
    Dec 2004
    Posts
    75

    probably already answered but..

    Quote Originally Posted by Geof View Post
    As already mentioned G10 G90 L2 Pn X Y Z is the way to set the primary work offsets from a program.

    G52 allows you to create secondary work offsets which are referenced from the active primary work offset.

    For instance you might have a fixture that holds multiple parts on a grid pattern spaced every 4" in X and Y. You could use the G10 command to set the primary work offset at the bottom left corner of the fixture then G52 X0. Y0. means that you are working on the part in the grid position at that corner, G52 X4. Y0. is the next part along the X axis, G52 X0. Y4. is the next part along Y, G52 X4. Y. is the next part diagonally up from the corner part, etc., to cover the whole grid.

    This way you can have an unlimited number of work zeroes because they are not all stored in memory, the program simply writes the next value into the G52 register then uses it.

    Of course you could also keep re-writing the primary work zeroes by using multiple G10 commandfs but a problem with this is that if the program is stopped part way through you may not know what values is stored for the primary work zero; G52 values are zeroed by the Reset key so you always go back to a known condition.
    OK- I am really trying to follow all of this- my question is: instead of using G10at the beginning, could we just use G54 then somehow use the g52 to offset?

    We are going to use a fixture with 6 pcs on it, there is a "key" that we use to set X0Y0 (g54) then from there instead of finding g55 g56 g57 etc, we just want to offset from the g54 like you did in the quote but still use x0 y0 in the program as the center of each part . all we are trying to do is keep the operator from having to edge find and enter 6 different sets of numbers to reduce murphy's law likelyhood

  13. #13
    Join Date
    May 2004
    Posts
    4519
    You can do it any way you want to.

  14. #14
    Join Date
    Jun 2007
    Posts
    3757
    In Mach3 I simply use G90 G59 Pxx where XX is 0-250
    Start of program has G90 G59 P123. Once I have it set to P123 I zero the machine at my preferred zero position for that job, and that's it.
    The G90 ensures that incremental mode is not accidentally selected.
    In the General Logic Configuration, bottom right I have ticked all the boxes.
    I always reference the machine, and have soft limits on. It just clips X,Y or Z if it hits a limit while running.

    Any comments? Shortcomings? Better ways to do use offsets?
    Super X3. 3600rpm. Sheridan 6"x24" Lathe + more. Three ways to fix things: The right way, the other way, and maybe your way, which is possibly a faster wrong way.

Similar Threads

  1. G68.1 Coordinate System Rotation Help
    By SwissPR0 in forum CNC Swiss Screw Machines
    Replies: 3
    Last Post: 02-03-2011, 08:29 PM
  2. G52 Temporary Coordinate System Offset?
    By Phishaholic in forum Mach Software (ArtSoft software)
    Replies: 1
    Last Post: 02-02-2010, 01:56 AM
  3. macro program for work offset
    By cncwhiz in forum Fanuc
    Replies: 4
    Last Post: 12-14-2007, 01:28 PM
  4. Changing Work offset from the program
    By WITOMCIO in forum Haas Mills
    Replies: 16
    Last Post: 05-14-2007, 01:40 PM
  5. coordinate system
    By kiethnt in forum G-Code Programing
    Replies: 6
    Last Post: 04-26-2007, 01:46 PM

Posting Permissions

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