585,744 active members*
4,565 visitors online*
Register for free
Login

Thread: FANUC G84

Results 1 to 16 of 16
  1. #1
    Join Date
    Mar 2005
    Posts
    816

    FANUC G84

    I'm trying to write this program for my VMCs

    Starting on the 18iMA on a 3 axes VMC bed mill. Using G54, G55 & G56. 3 Kurt D688s on the table.

    Tapping a part in A36 1" thick steel plate. No blind tapping, all thru holes. Several different locations several, different sizes of taps. Including the drilling of the holes too.

    Part is spread across three vises on the 15x30 table. Workstops on 4 corners.

    %
    O0988
    G00 G17 G21 G40 G49 G80 G90 G91 G28 Z0 X0 Y0 T0606 M06
    G00 G17 G90 G94
    G54 X0 Y0 S300 M03
    G43 H3 Z15 M08
    G00 X8.0 Y-25.0
    G00 Z10.0 G84 G99 Z-21.0 R5.0 F514
    G80
    G00 Z20
    G00 G17 G90 G94
    G55 X0 Y0 S300 M03
    G43 H3 Z15 M08
    G00 X8.0 Y-25.0
    G00 Z10.0 G84 G99 Z-21.0 R5.0 F514 G80 G00 Z15
    M09
    M05
    G00 G91 G28 Z0.
    G28 X0. Y0.
    G90 G40 H0
    M30
    %

    I still need to work on this and needs a little cleaning up but I think its pretty good so far. anyone have any suggestions?

    I wanna try a K value(s).

    I got more stuff to add to this.

    Taps are 1/4-20 & 28, 3/8-16, 5/16-18 and 24, 1/2-13 & 20.

  2. #2
    Join Date
    Mar 2005
    Posts
    816
    Here's part of the rest..

    M29 S210 G84 R.05 Z-1.5 F.10 G80
    G84Z-1.5R-.4L(16)
    G55 G0 G40G 49 G80
    G90 X6.5 Y0. S1000 M3
    M8 G43 Z-75.H9 Z50. M29 S1000 G84 G98 Z1.26 R40 F450. X0. Y6.5 X-6.5 Y0. G80 Z.75. M9 G28 Z-.75. M19 G49 X-200.
    G28 Y0. T0101 M6 M30
    T0808 M3 S300 X0 Z11.9 M8 M29 S300 G84 G99 Z12.59 F.0357 G80 G98 M9 G0 T0101 X11.25 M5
    Z0.5 M29 S1000 G99 G84 X1.3767 Y-2.3286 Z-0.5 R0.5 F50. X3.25 Y-3.125 X3.25 Y-1.5387 X5.1233 Y-2.3286 G80
    M29 S210; G84 R.4 Z-1.5 F.21 G80 Z1

    I know its a jumble...

    It's a part roughly 6" x 12".

    That bit needs to be sorted out. the first bit needs to do a 1/4-20 in 6 places 1"x1" with the #7 drill near the centerline of the left end of the part at 4" in from the left edges.

    changes tools roughs a pocket .5" deep at the same dimensions on the right side of the part, Etc

    Drill & tap the rest of the holes.

    Bore or interpolation a 1.25" hole on part centerline .5" from the hard jaw edge of the part.

    Etc.. etc...

  3. #3
    Join Date
    Jul 2007
    Posts
    378
    Quote Originally Posted by gbowne1 View Post
    I know its a jumble...
    A bit of a understatement.

    Could you at least post the code with End Of Blocks ';'. Not sure where one block is ending and the other one is starting.

    A print would be useful as well.


    The first thing I see that maybe a bit odd is your tool number is T0101. Looks more like a lathe program to me.....

  4. #4
    Join Date
    Jul 2007
    Posts
    378
    I cleaned up the first part of your code:



    %; Tape Reader on
    O0988; Program Number
    G00 G17 G21 G40 G49 G80 G90; Initialize Modal G-codes
    G91 G28 Z0; Move Z axis to home position
    T06 M06(1/4-20 tap); Tool Change
    G0 G17 G54 G94 X8.0 Y-25.0 S300 M03; Position table using G54 and Absolute, Turn Spindle on
    G43 H3 Z15. M08; Activate Tool length offset, 15. from part, coolant on.. H# normally match Tool number

    X8. Y-25.; update X/Y position
    Z10.; set initial plane for canned cycle
    M29 S300; Times Z-axis with spindle for tapping - See Machine tool build book. Some machines use M84, other M54.... you just don't know.
    G84 Z-21.0 R5.0 F514; tap hole
    G80 Z20.; cancel tap cycle, move Z 20 above part

    G0 G55 G90 X8.0 Y-25.0 ; Move to next part
    X8. Y-25.; update X/Y position
    Z10.; set initial plane for canned cycle
    G84 Z-21.0 R5.0 F514; tap hole
    G80 Z20.; cancel tap cycle, move Z 20 above part
    M9; Coolant off

    M05; Spindle off
    G00 G91 G28 Z0.; home Z axis
    G28 X0. Y0. ; home X/Y axis
    M30; Program end
    % Tape reader off

    Notes:
    Always use a decimal in your dimensions! (Z10. not Z10). If you omit the decimal, the machine assumes lest increment value so Z10 becomes Z.010 (assuming mm)

    When using K (or L depending on control model) in canned cycle, Use incremental programing (G91) to make a series of holes:

    G84 Z-1.5 R-.4; tap 1st hole
    G91 X1.5 K16; tap 16 more holes, 1.5" apart on X
    G80 G90 Z10.

    Or use K0 to Skip holes....

    G84 Z-1.5 R-.4 K0; Skip hole, activate canned cycle
    M99 P999; Jump to block N999
    Y-1.5; Hole skipped
    X1.; Hole skipped
    N999 X1. Y-.5; tap this hole, must make sure X and Y are current! or mill may tap hole in wrong spot.
    G80 Z1.; cancel canned cycle


    Hope this helps

  5. #5
    Join Date
    Mar 2005
    Posts
    816
    Thanks, I know I was a bit hasty in posting the code so I put it up there. It was a mess I know.

    It's milled rectangle part with bores, holes , several pockets and what seems like a million different size holes and different sized tapped holes.

    Many of the features are referenced to the edges of the part or the part centerlines except for one which is referenced to a mating part feature.

    Part is 6"x12"x1" thick A36 steel, rectangle with .03" chamfers on the top of the edges.

    Table is 15"x30"

    I like to stay 0.100-.250" above part in linear or rapid to next op.

    Prep is milling square from .125" oversized +- 2deg .03". Finished is +-.005" 1deg.

    Part sits on parallels located on work stops affixed to vise jaws of the outer two of three vises.

    Pockets are all square milled with a .500" tool .500 deep. They are all the same sizes.

    Have 8,000RPM max. Servo is a 6S.

    Boring is a criterion DBL202.. or a interpolated bore to +- .003" to 1.250", at X 6" Y -.5 on the part (side closest to nonmoving hard jaw). This tool is at T11.


    Pockets are T09 and are a ISCAR E90/F90 inserted end mill in a end mill holder the right size.
    There are 6 pockets in various parts of the part.

    One more of the ops is first drill #7 hole for 1/4-20" 6 places (3x3) referenced to the X centerline of the part in a 1"x1" pattern with the middle row on the X centerline. Finish the op by tapping the 1/4-20s.

    The 5/16-18s are in 6 places surrounding the 1.25" bore starting at 0/360deg. (Locates a mating part)

    Other drilled holes are using the offsets in my 100TG/TG100 collet chuck T12.

    I can set up pocket locations if the code is there.

  6. #6
    Join Date
    Jul 2007
    Posts
    378
    I'm going to tell you the same thing I tell my customers. I need a print!

    Right now all I know about the part is that it measures 1x6x12 and is made from A36 material. It also has a few tapped holes in random places and a couple of pockets in random places. Not much to go on.

    Please post a PDF, DXF, Screen Shot, or take a picture of the print with your phone and post it. That will save us both lots of time.

    If your mill is only 30" on X, you can only fit 2 parts on the table if X is 12" long on you part. Is the part torch cut oversize from Plate steel, and needs to be squared up? Or is it from bar stock and only needs to be milled to 12" long?

  7. #7
    Join Date
    Mar 2005
    Posts
    816
    I can provide a setup & analysis sheet in PDF. Includes tool lists, inserts, speeds n feeds, toleances, etc.

    We only do one at a time. Although it would fit two.

    I'll try and get a print. They're not in DWG/DXF (yet) or PDF. Our CAD&CAE team are off till January 6th. It originally was just a set of XY locations in list form for all the dimensions for the features.

    The mating and opposite parts are not exactly mirrored images as they both have different features.

    Pockets are 4"x4" and have corner radii that match the insert mill we use.

    It's bandsawed from plate stock .125" oversized. We clean it up to net manually on the old 1966 Bridgeport J head.

    It's one of the oddest parts I've ever made but hey it looks good and fits up in assembly.

    They made a material change from a 4000 series steel to A36. Why? I don't know. Probably availability or cost.

    It'll likely be run on my 18iM model A or the 15M model A or the 16M Model B controls. The mills are all the same.. the controls are differnt models.

    I've never done much with the G84 macros so I wanted to see how it works on our parts.

    Finish is 125ra uin or better.

  8. #8
    Join Date
    Jul 2007
    Posts
    378
    Still don't know what your part looks like.....but I am getting a vague idea.

    Your asking about a G84 macro.

    What are you trying to accomplish with this 'G84 macro'.

    I am assuming that you do not have much G&M code experience based on the code you have posted earlier. Am I correct?

    Still uncertain what is it that you are seeking. Is it help just for the G84 macro, or programing of the whole part?

    I wanted to send you a PM but your PM box is full.

  9. #9
    Join Date
    Mar 2005
    Posts
    816
    I have a fair amount of experience when it comes to basic G&M codes.

    It's the G70-G90 area I have troubles with.

    I do get somewhat confused with syntax. And what goes with what. I know what most are used for its where they go that gets me.

    I dont spend all day at the machine nor do I program all day but that will change in 2014 as more n more projects get completed.

    The whole part needs programming. G84 was used on advice from our shop engineering team and programmers.

    Yeah my inbox is full. Wish the inbox was bigger. It fills faster than I can deal with it. Will be empty soonest.

    Basically the 4 parts get assembled in a fashion that both the mating parts and both opposites (same part but features get milled on opposite sides.

    Other fasteners. And other mating parts including a turned part that assembles to the 1.25 bore with the bolt circle.

    Theres also grease fittings in various places.. 1/4-28 tap.

  10. #10
    Join Date
    Mar 2005
    Posts
    816
    Just emptied out my box...

  11. #11
    Join Date
    Jul 2007
    Posts
    378
    Thanks for empting out your pm box, but I am still uncertain to what you're are seeking. Basic programing help with canned cycles, or marco programing.

    It good that you know the codes, but understaning the syntax is just as important. Than you throw in machine/controler differencies, it can get messy in a hurry.

    You said you can privide a setup sheet, but none has been posted.

  12. #12
    Join Date
    Mar 2005
    Posts
    816
    Sorry,I've been busy working in the shop doing end of the year stuff so I haven't been able to post anything.
    Well I thought I was clear on what I need for this part but perhaps I wasn't. I need basic programming help with canned cycles.

    The nice thing in my shop is that all the millsare exactly the same. The controls are the only difference. Being that they are all different model FANUC.

    I really need a good program for this part.

  13. #13
    Join Date
    Jul 2007
    Posts
    378
    Not as clear as........

    Click image for larger version. 

Name:	gs-p00094.jpg 
Views:	1 
Size:	74.3 KB 
ID:	213490

    GS-P00094-00.txt


    %
    O0010 (GS-P00094-00 )
    (12-13-2013 JWS)
    (MACHINE-KOMO VMC-144)
    (Fanuc OM)

    ('0' UL)
    (G54)
    (USE 6" VISE WITH 2.625 WIDE JAWS)
    (PMG MILL LEFT & RIGHT SIDE)
    (DRILLS AND TAPS HOLES)
    (STOCK: .375X4.00x4.125 COLD ROLLED STEEL)

    (T20 3/8 RAZOR EM)
    (T6 .203 HSS STUB DRILL)
    (T15 .406 HSS STUB DRILL)
    (T3 1/2 90* CARBIDE SPOT DRILL)
    (T7 1/4-20 HSS SPRIAL POINT TAP)

    G91 G28 G0 Z0
    N20 T20 M6 (3/8 RAZOR)
    G90 G54 G0 X.5 Y-4.215 S3200 M3 G43 H20 Z1.
    D70

    X.5 Y-4.215
    Z.05
    G1 Z-.4 F75.
    G41 Y-4.003 F30.
    G2 X0 Y-3.503 R.5
    G1 Y-.497
    G2 X.5 Y.003 R.5
    G1 G40 Y.215
    G0 G90 Z.15

    X3.5 Y.215
    Z.05
    G1 Z-.4 F75.
    G1 G40 Y.003 F30.
    G2 Z4. Y-.497 R.5
    G1 Y-3.503
    G2 X3.5 Y-4.003
    G1 G40 Y-4.215
    G0 G90 Z1.

    M9
    N6 T6 M6 (.203 HSS STUB DRILL)
    G90 G54 G0 X1.25 Y-.5 S1694 M3 G43 H6 Z1. M8

    X1.25 Y-.5
    Z.15
    G73 Z-.465 R.05 Q.173 F6.2
    X.5 Y-1.25
    Y-2.75
    X1.25 Y-3.5
    X2.75
    X3.5 Y-2.75
    Y-1.25
    X2.75 Y-.5
    G80 Z1.

    M9
    N15 T15 M6 (.406 HSS STUB DRILL)
    G90 G54 G0 X.5 Y-.5 S688 M3 G43 H15 Z1. M8

    X.5 Y-.5
    Z.15
    G73 Z-.506 R.05 Q.187 F6.2
    Y-3.5
    X3.5
    Y-3.5
    G0 G90 Z1.

    M9
    N3 T3 M6 (1/2 90* CARBIDE SPOT DRILL)
    G90 G54 G0 X1.25 Y-.5 S3500 M3 G43 H3 Z1.

    X1.25 Y-.5
    Z.15
    G81 Z-.145 R-.03 F25.
    X.5 Z-.223
    Y-1.25 Z-.145
    Y-2.75
    Y-3.5 Z-.223
    X1.25 Z-.145
    X2.75
    X3.5 Z-.223
    Y-2.75 Z-.145
    Y-1.25
    Y-.5 Z-.223
    X2.75 Z-.145
    G80 Z1.

    M9
    N7 T7 M6 (1/4-20 HSS SRIAL POINT TAP)
    G90 G54 G0 X1.25 Y-.5 S600 M3 G43 H7 Z1. M8

    X1.25 Y-.5
    Z.15
    S600 M29
    G84 Z-75 R.15 F30.
    X1.25 Y-1.25
    Y-2.75
    X1.25 Y-3.5
    X2.75
    X3.5 Y-2.75
    Y-1.25
    X2.75 Y-.5
    G80 Z1.

    N99 M9
    G90 G53 G0 X-30. Y0 Z0
    T20 M6
    M30
    %
    Attached Files Attached Files

  14. #14
    Join Date
    Mar 2005
    Posts
    816
    That would be the ideal type of program for this part.

    I thought a few times about making sub programs for seperated operations.. for instance, one doing all the drilling, one doing all the pocketing, one doing all the tapping, one doing all the boring/interpolation, etc.

  15. #15
    Join Date
    Jul 2007
    Posts
    378
    Great, now we are getting some where.

    If you're only doing one part, sub programing is not nessacary, unless you are milling the same feature in differnt locations. But if you plan on making more than one part at a time, subs can be useful......

    O10
    G91 G28 G0 Z0

    N6 T6 M6 (.203 HSS STUB DRILL)
    G90 G54 G0 X1.25 Y-.5 S1694 M3 G43 H6 Z1. M8

    G54
    M98P11

    G55
    M98P11

    M9
    N3 T3 M6
    ............

    O11 (.203 drill sub)
    X1.25 Y-.5
    Z.15
    G73 Z-.465 R.05 Q.173 F6.2
    X.5 Y-1.25
    Y-2.75
    X1.25 Y-3.5
    X2.75
    X3.5 Y-2.75
    Y-1.25
    X2.75 Y-.5
    G80 Z1.
    M99

    This will drill two parts. The sub program does the drill and the 'main' program changes tool the calls sub program to drill the part.

    If you are milling more than one pocket that is the same size, you could follow a simliar format, where the main program postions the machine to mill the pockets, then call the sub. The sub program will need to use incremantal X and Y's or the pocket will always end up in the same spot.

    X1. Y-1.
    M98 P12

    X3. Y-1.
    M98 P12
    ..........

    O12
    Z.05
    G1 Z-.25 F15.
    G91 G41 Y.375
    X-.75
    G3 Y-.75 R.375
    G1 X1.5
    G3 Y.75 R.375
    G1 X-.4
    G40 Y-.375
    G0 G90 Z1.
    M99

    With fanuc's, you can simplfiy it by using the G66 modal command

    Where

    G66 P12
    X1. Y-.5
    X3.5 Y-.5
    G67

    Now the mill will run program 12 when you enter a new X,Y postion, like a canned cycle.

  16. #16
    Join Date
    Mar 2005
    Posts
    816
    Well we can only do one part per. I had also thought of using G54 G55 G56 to seperate the part into zones.

    Pockets are all the same. Except they are in different places.

    There should also be a opt stop so the operator could pause to flip the part over. There's a mating surface feature on the reverse side indicated by two holes.

    Yeah it would be easy to use the G66/67 format

Similar Threads

  1. Replies: 7
    Last Post: 11-17-2013, 01:46 AM
  2. Replies: 10
    Last Post: 03-02-2013, 05:00 AM
  3. Replies: 5
    Last Post: 03-09-2011, 04:11 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
  •