Results 1 to 12 of 12

Thread: FANUC OM G52?? EXAMPLE PLEASE??

  1. #1
    Registered
    Join Date
    Mar 2010
    Location
    usa
    Posts
    20
    Downloads
    0
    Uploads
    0

    Red face FANUC OM G52?? EXAMPLE PLEASE??

    I have never used the g52 function, and I really need to speed up production on my mill (fanuc OM control). Would like to use 2-vices without writing the program twice and adding in my 10" between vices. Can someone demonstate the proper way to add this in my program? I'm old school and program at the control, so no software, just basic programming. After I finish the profile in one vice, I move Z .100 above part and then... would like to move down 10" and start over. Any help out there? Thanks!


  2. #2
    Registered fordav11's Avatar
    Join Date
    Aug 2011
    Location
    Fordaville
    Posts
    1,668
    Downloads
    0
    Uploads
    0
    it's usually easier to just use another workshift like G55/G56 etc.

    for example....

    G55
    M98 P1234
    G00 Z (to clearance)
    G00 X Y (somewhere near your next part)
    G56
    M98 P1234

    The sub program O1234 will do all of the part machining. The zero is shifted by the G55/G56 workshift

    But if you want to use G52 first read this, it might answer your question and save someone some typing
    Shifting Program Zero On Machining Centers | Modern Machine Shop

    also, here's the page from a manual showing how G52 works.... but it may confuse you more
    Attached Thumbnails Attached Thumbnails FANUC OM G52?? EXAMPLE PLEASE??-g52.jpg  
    Last edited by fordav11; 09-24-2011 at 12:55 AM.


  3. #3
    Registered
    Join Date
    Nov 2006
    Location
    UK
    Posts
    160
    Downloads
    0
    Uploads
    0
    fordav11 is correct saying using G55/G56 is easier.

    But if you did use G52 your example would look like....
    O1
    M98 P1234
    G52 Y-10
    M98 P1234
    G52 Y0
    M30

    But be careful. You need to cancel the shift by entering a shift of Zero when you have finished.
    e.g. G52 Y0

    Also if you reset/restart mid way through your shifted program your G52 will have been cancelled.


  4. #4
    Registered
    Join Date
    Mar 2010
    Location
    usa
    Posts
    20
    Downloads
    0
    Uploads
    0
    Quote Originally Posted by ChattaMan View Post
    fordav11 is correct saying using G55/G56 is easier.

    But if you did use G52 your example would look like....
    O1
    M98 P1234
    G52 Y-10
    M98 P1234
    G52 Y0
    M30

    But be careful. You need to cancel the shift by entering a shift of Zero when you have finished.
    e.g. G52 Y0

    Also if you reset/restart mid way through your shifted program your G52 will have been cancelled.
    Thanks for the replies guys, but I'm still a little confused.. Maybe the G55.G56 is what I'm after. I just want to duplicate the one part in a seperate vice. Y axis would still start at the same value, but x would start -10.000 So I guess my question is in my program, the last move I make coming off the first part profile, then I move z.100 above the top of my part for safety, and then? Add a G56 command, and my value of -10.000? and then when it finishes the second profile I need to do something else before I return home and m30?? One more time please!! lol. Thanks for putting up with me guys!


  • #5
    Registered
    Join Date
    Sep 2010
    Location
    Australia
    Posts
    986
    Downloads
    0
    Uploads
    0
    Quote Originally Posted by PRATTGUY72 View Post
    Thanks for the replies guys, but I'm still a little confused.. Maybe the G55.G56 is what I'm after. I just want to duplicate the one part in a seperate vice. Y axis would still start at the same value, but x would start -10.000 So I guess my question is in my program, the last move I make coming off the first part profile, then I move z.100 above the top of my part for safety, and then? Add a G56 command, and my value of -10.000? and then when it finishes the second profile I need to do something else before I return home and m30?? One more time please!! lol. Thanks for putting up with me guys!
    G54 is the default work shift offset. From a Reset condition, the values of G54 will apply if an offset is not called explicitly. Lets say that G54 and G55 are being used for the first and second vice or fixture respectively. G55 will use the same values used in G54, but varied by the pitch in X, Y and Z between the two work holding devices. If the Y and Z datums of the two devices are the same, then the same values will be used in the two work shift offsets for Y and Z. If the X datum of the 2nd device is -10.000 compared with the first, then -10.000 will be added to the X value used in G54 and applied to G55. G55 is then called to initiate machining on the part held in the second vice.

    Regards,

    Bill


  • #6
    Registered
    Join Date
    Jul 2005
    Location
    Canada
    Posts
    11,960
    Downloads
    0
    Uploads
    0
    Whether you use just one Work Zero such as G54 with the shift to the second vise done with G52 or use two Work Zeros such as G54 and G55 you do have to either duplicate your program or turn your program into a subprogram.

    Have a look at this thread it is on the same topic of modifying a program to do more than one part.

    http://www.cnczone.com/forums/g-code...al_1_part.html
    An open mind is a virtue...so long as all the common sense has not leaked out.


  • #7
    Registered
    Join Date
    Mar 2010
    Location
    usa
    Posts
    20
    Downloads
    0
    Uploads
    0
    Quote Originally Posted by angelw View Post
    G54 is the default work shift offset. From a Reset condition, the values of G54 will apply if an offset is not called explicitly. Lets say that G54 and G55 are being used for the first and second vice or fixture respectively. G55 will use the same values used in G54, but varied by the pitch in X, Y and Z between the two work holding devices. If the Y and Z datums of the two devices are the same, then the same values will be used in the two work shift offsets for Y and Z. If the X datum of the 2nd device is -10.000 compared with the first, then -10.000 will be added to the X value used in G54 and applied to G55. G55 is then called to initiate machining on the part held in the second vice.

    Regards,

    Bill
    Ok, maybe this is where I'm confused. My machine sets up work piece coordinates with G92 in beginning of my programs. (distance from machine zero to part) Which then becomes my part zero. My program is quite lengthy, and obviously after the last operation I can rapid over x-10.000 and re-write the entire profile, but I know the machine can use a subroutine or fixture offset. I just don't know the proper format for this Fanuc control. Do I add this code right after my last move from the first part, after moving Z up a little for clearence? Or is this something I need to do somewhere in the beginning of the program? I'm sorry, just still not clear on how I should execute the code properly in my program.


  • #8
    Registered
    Join Date
    Sep 2010
    Location
    Australia
    Posts
    986
    Downloads
    0
    Uploads
    0
    Quote Originally Posted by PRATTGUY72 View Post
    Ok, maybe this is where I'm confused. My machine sets up work piece coordinates with G92 in beginning of my programs. (distance from machine zero to part) Which then becomes my part zero. My program is quite lengthy, and obviously after the last operation I can rapid over x-10.000 and re-write the entire profile, but I know the machine can use a subroutine or fixture offset. I just don't know the proper format for this Fanuc control. Do I add this code right after my last move from the first part, after moving Z up a little for clearence? Or is this something I need to do somewhere in the beginning of the program? I'm sorry, just still not clear on how I should execute the code properly in my program.
    The question that should be asked is, what model OM control do you have, and does your control have Work Shift Offsets G54 to G59? Most did. If it does then using the Work Shift offsets to set the coordinate system is a better and safer system than setting with G92. To see if your control has G54 to G59 offsets, press the Offset Hard Button, then the Work Offset Soft Key at the bottom of the monitor. Work Offsets from G53 (0) to G59 (6) should be displayed, but not all on the one page.

    To set the coordinate system using G54 to G59, the distance from the Machine Zero (Zero Return position) to the Workpiece Zero in X, Y, and Z is entered in the Work Shift Offset (G54 to G59) registry. The Z value will depend somewhat on the method you use to set the Tool Length Offset.

    Lets say that the distance from Machine X,Y Zero to the Workpiece X,Y Zero is X-24.3750 Y-12.234; these values are entered into the G54 (if that is the offset being used). If using G55 for the Work Shift offset for the second vice X-10.000 of the first, the values loaded into this offset will be X-34.3750, Y-12.234. The big advantage of using Offset Coordinate Setting is that the control always know there the tool is, irrespective of where the tool is when the G54 to G59 is called. When the G92 is commanded, the slides must be at a known position first.

    To implement a moves using the G54 and G55 offsets, the program would look something like the following:

    N1 G17 G20 G40 G49 G80 G94
    G91 G28 Z0.0
    G28 X0.0 Y0.0 (OR G90 G53 X??? Y???) (SAFE TOOL CHANGE POSITION)
    T1 M6
    S???? M3
    G90 G54
    G00 X????? Y?????
    G43 Z0.5000 H1 M8
    ..........
    ..........
    ..........
    ..........
    G55
    ..........
    ..........
    ..........
    ..........
    G0 Z0.5000 M9
    G91 G28 Z0.0
    G28 X0.0 Y0.0 (OR G90 G53 X????? Y????) (SAFE TOOL CHANGE POSITION)
    M1

    As stated by Geof in post #6, to avoid duplicating your program for the second vice, the machining part of your program will be loaded as Sub Programs and called from the main program after the appropriate Work Shift Offset (G54 to G59) is called. The most efficient strategy is to have each tool perform its operations on the two workpieces, therefore saving tool changes.


    Regards,

    Bill
    Last edited by angelw; 09-25-2011 at 10:48 AM.


  • #9
    Registered
    Join Date
    Mar 2010
    Location
    usa
    Posts
    20
    Downloads
    0
    Uploads
    0
    OK, maybe this is where my problem is. On this old Pratt & Whitney VMC, I have been using G92 for setting machine coordinates in the program. If I go to the offset page, (Hard button on the right hand side) also, (there are no soft keys below my screen) This page is for my Z offset tool lengths. I specify and H** in my program to pick this up, G41, then my H value. Machine only has 10 tools, so If I'm using tool #2 then I use H02. In cutter comp., G41, say If using a 1/2 e-mill, I'll use say #20 offset, which I would have a value of .250 for that tool, I would write D20 for that tool in my program. I can't find any G50-G55 in the manual, but it does state it has an M98-M99 fuction. I have never used this command either, maybe this is what I'm after?? If so, I don't know how to properly execute those codes into my programs... Also, when I command an M06 tool change, my machine has to go to Z-Machine zero to do this, so it never has a tool change interference issue. My last couple lines in my normal programming format would be; G00-G49-Z0.0; and then G00 X0.000 Y0.000 (my org. G92 value); then M30; I have a 1000pcs job that I'm starting on tomorrow morning, and I will hate to use one vice for only a 3-min cycle time!


  • #10
    Registered
    Join Date
    Jul 2005
    Location
    Canada
    Posts
    11,960
    Downloads
    0
    Uploads
    0
    I have never used G92 but I think you could do what you want using G92 twice at two different locations. And if your machine mentions M98, M99 you should be able to use a subprogram; M98 is subprogram call and M99 is return.

    I think what you need is a "Master" program which just sets the G92 then calls your program as a subprogram. Something like this:

    Onnnnn (Master program)
    Set G92 location for first vise
    M98 O11111 (Call subprogram, it may need P11111 or some other letter)
    Cancel first G92
    Set G92 location for second vise
    M98 O11111 (call subprogram)
    Cancel second G92
    M30

    O11111 (Subprogram)
    This is your original program with the G92 commands removed and an M99 replacing the M30 at the end.

    This type of subprogram use does allow you to load two vises and can save a bit of time but the program runs through completely on each vise. A much more efficient approach is to separate your program into subprograms for each tool and call these for each vise. This way you do two parts for every tool change and halve the time per part taken up by tool changes.

    BUT I think that will be a tedious task on your machine, separating out all your tools into separate programs and then you would have ten little programs to keep track of.
    An open mind is a virtue...so long as all the common sense has not leaked out.


  • #11
    Registered
    Join Date
    Mar 2005
    Location
    United States
    Posts
    740
    Downloads
    0
    Uploads
    0
    The milling machine I have with the 15M Model has the best set up that I can use, so I often use a pair of Kurt Vises next to each other sitting on the table and so often am I running two of the same part, one part per vise.

    Personally, I use the G54 and G55 offsets. G54 for the 1st Vise, G55 for the 2nd Vise. I've tried to move into a G56 use as a Vise fixture offset.

    I do have a safe toolchange position, and it's wise to use one.

    I've run 1,000+ parts on a single, and also double vise set up.

    I've done just about everything to reduce axes travel time in order to reduce time between parts.

    It works fine just as the other posts have mentioned.


  • #12
    Registered fordav11's Avatar
    Join Date
    Aug 2011
    Location
    Fordaville
    Posts
    1,668
    Downloads
    0
    Uploads
    0
    if you dont have G54/G55 etc set the G92 X Y for your first part then call the sub program (M98 Pxxx).
    After you return back to the main program (M99 at the end of the sub program), rapid to the X, Y origin (zero) point on your next part (in the main program) then put in the next shift G92 X0 Y0
    that will reset the zero to the center of your 2nd part
    then call your sub program again... M98 Pxxxx

    There's nothing unique or complicated about what you're trying to do.


    Basically...

    Main program
    ------------

    O0001
    G92 X123.456 Y123.456 Z123.456
    M98 P0002
    G00 X456.789 Y456.789 (origin of 2nd part)
    G92 X0 Y0 (set new origin to 0,0)
    M98 P0002
    G91 G28 X0 Y0 Z0 (go straight home from here)
    G90
    M30


    Sub Program
    ------------

    O0002
    T1
    M6
    G97 S1234 M3
    G00 X0 Y0
    (do machining here etc)
    G00 Z100.0 (clearance)
    M99


    Also remember to remove the G92 from your larger sub program. The position shifts should be done by the smaller main program only.
    Last edited by fordav11; 09-26-2011 at 03:59 AM.


  • Similar Threads

    1. GE Fanuc & FANUC proprietary posts
      By CNCadmin in forum Fanuc
      Replies: 52
      Last Post: 03-20-2013, 10:54 AM
    2. Need Help!- Difference between Fanuc 0i-MC and Fanuc 0i-MD
      By humak16 in forum Fanuc
      Replies: 12
      Last Post: 12-29-2011, 11:49 PM
    3. FANUC & GE FANUC Repairs
      By RRL in forum Product and Manufacturer Announcements
      Replies: 1
      Last Post: 04-17-2011, 12:50 PM
    4. Replies: 5
      Last Post: 03-09-2011, 10:11 AM

    Posting Permissions


     


    About CNCzone.com

      We are the largest and most active discussion forum from DIY CNC Machines to the Cad/Cam software to run them. The site is 100% free to join and use, so join today!

    Follow us on

    Facebook Dribbble RSS Feed


    Search Engine Friendly URLs by vBSEO ©2011, Crawlability, Inc.