585,752 active members*
3,736 visitors online*
Register for free
Login
Results 1 to 6 of 6
  1. #1
    Join Date
    Sep 2006
    Posts
    296

    OM G10 - which way is proper?

    Working on a Fanuc OM control, probably early 90s model. I am trying to use G10 as a work shift but having some trouble. I like to setup my work coordinate to be centered over the top left corner of a vice and then use work shifts in the program to reposition the 0 coordinates so all programs will be set by setting one work coordinate and i can use mulitple vices useing a different work coordinate for each if needed. I am familiar with using working coordinates and then useing the G52 work shift on Haas machines setup as Fanuc. Works great. But on the Fanuc OM when it reads the G10 line it replaces the specified work coordinate parameters with the specified parameters on the G10 line. And if you reset or end the program the work coordinate parameters do not reset to the origional numbers. Only way around that i can see is to give another G10 line at the end of the program to reset the G54 etc etc to its origional numbers, but thats a little over complicated and a bad way to do things. So whats the simple or proper solution to use G10 for a work shift and not a programmed working coordinate? Or am i trying to use it for something it wasnt intended for?
    My work around so far is to program as follows.

    G54 G00
    G90 X0 Y0
    G92 X Y Z
    XO Y0
    G43 H1 Z-.25
    -
    -
    -
    G91 G28 G00 Z0
    G28 X0 Y0
    M30

    I havent tried this but i see no reason this wouldnt work. However i would like to use a simple work shift if possible to simplify things a bit.

  2. #2
    Join Date
    Jun 2008
    Posts
    1511
    The quickest and easiest way if using the G10 would be to set variables equal to G54 before you start machining and then program them back at the end.
    Ex. #2501 is X for G54, #2502 is Y for G54 and #2503 is Z for G54.

    …start or program
    #100=#2501
    #101=#2502
    #102=#2503

    G10L2P1X()Y()Z()

    ...
    G10L2P1X#100Y#101Z#102
    M30

    I would recommend that you keep your G54 as is (top left of vise) and never change it. This way you never have to worry about changing it back. You could then use G55-G59 and shift them all you want but you just have to have at the start of your program setting G55-G59 set to the value of G54. Say you want to use G55. These variables for G55 are #2521=X, #2522=Y, #2523=Z

    …start of program
    G10L2P2X#2501Y#2502Z#2503
    G55

    G10L2P2X()Y()Z()

    M30

    Also remember that you do not have to put the specific number in the G10 line. If you want to incrementally shift put a G91 in the G10 line. So if you program G91G10L2P1X2.Y2.Z2. it will add 2. to each existing value in the G54.

    Stevo

  3. #3
    Join Date
    Feb 2006
    Posts
    1792
    This is fine (the variables are 2501, 2601 and 2701 for X, Y and Z of G54, in 0i series).
    But if we are using system variables, what is the need for using G10?
    A serious limitation of G10 is that it cannot determine the existing values; it can only overwrite or increment/decrement the current values.

    Edit:
    A power cycle clears the shift caused by G92 which remain valid only in the current machining session (a solution to your problem).

  4. #4
    Join Date
    May 2007
    Posts
    781
    I do or have done all of the above and more.

    In the end if you need to save a work offset location for long term nothing is better then a notebook and a pen.

  5. #5
    Join Date
    Mar 2003
    Posts
    2932
    We're assuming he has the User Macro option?

  6. #6
    Join Date
    Sep 2006
    Posts
    296
    So far i think the G10 is useless for what i am wanting to do with it. As Sinha stated the G10 can only over write the existing values which isnt what i need. I need to be able to call up a work coord, and then offset that coord by the amount specified in the program. So my work around was this.

    G59
    G54
    G00 X0 Y0
    G92 X Y Z
    N1 M00
    MACHINEING LINES -
    -
    -
    -
    G00 G91 G28 Z0
    G28 X0 Y0 M09
    G90 M05
    M99 P1 (send program to line N1)
    M30

    This works great. I leave the last work coord blank (G59), and set my work coord in G54 coord. If i dont call up the G59 blank coord before the G54 the machine will not overwrite the coordinates set by the G92 line if it has allready been ran through one cycle and restared at the start by accident. The G59 blanks out any previous coord set by G54 etc etc or G92, the G54 then sets the work coord and the G92 specifies the offset amount from the corner of the vise to the desired 0 locations.

    A simple work shift could make this so much less complex.

Similar Threads

  1. SX3 Z gib proper dimensions???
    By cornbinder23 in forum Benchtop Machines
    Replies: 5
    Last Post: 01-11-2011, 05:05 AM
  2. looking for the proper tool
    By machinehead1970 in forum Mini Lathe
    Replies: 4
    Last Post: 04-27-2010, 11:36 PM
  3. Proper seating MT3?
    By ozzie34231 in forum MetalWork Discussion
    Replies: 1
    Last Post: 10-18-2008, 09:51 PM
  4. Proper use of THK rails
    By mdierolf in forum DIY CNC Router Table Machines
    Replies: 1
    Last Post: 08-19-2008, 03:46 AM
  5. Proper Use of TEACH?
    By squarewave in forum CamSoft Products
    Replies: 3
    Last Post: 06-25-2005, 01:30 AM

Posting Permissions

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