Need Help! Fanuc Programming Problem


Results 1 to 10 of 10

Thread: Fanuc Programming Problem

  1. #1
    Registered
    Join Date
    Nov 2008
    Location
    Canada
    Posts
    12
    Downloads
    0
    Uploads
    0

    Default Fanuc Programming Problem

    Hoping this is the correct place to post this.
    Having some problems programming/running g-code on a Fanuc controller.

    Fanuc Series Oi Mate-TC
    Schaublin Lathe. Some of the g- and m-codes are a little bit different than what is typically used so I'll try to explain them.

    N1
    G90 G95 G18 G40 G80 (Typical Safety Line I've used in the past)
    T707
    G92 S2500 (Yes, its a G92 not the typical G50)
    G97 S1750 M103 (yes M103)
    G59 G00 X0.9 Z0.2
    /M08
    G73 U.010 R0.005 (I made the DOC really small to see what would happen)
    G73 P10 Q19 U-0.040 W0.003 F0.003 (Yes its a G73 instead of normal G71)
    N10 G00 G41 X0.95 (Cannot run Z movement or machine alarms here)
    X1.13
    G01 Z0.0 F.003
    X1.1 Z-0.015
    Z-1.0
    X0.95
    N19 G01 G40 X0.9
    G00 Z0.2
    M01

    Its a really basic canned cycle for boring out. But I cannot get it to work! The machine will only cut at X0.886" (smaller than even my first positioning at X0.9) and then at X1.06 (which would be on size for leaving what I want for finishing). Hence this is why I was running a DOC of 0.010, but this didn't even change how the machine would only take 2 roughing passes.

    I've been running Haas exclusively for about 4 years now. Before that Mazak. So this is the first Fanuc controller I've had to program, only button-pushed to help out when a man short before that.

    Thanks.

    Similar Threads:


  2. #2
    Member
    Join Date
    Sep 2010
    Location
    Australia
    Posts
    1230
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by URguys View Post
    Hoping this is the correct place to post this.
    Having some problems programming/running g-code on a Fanuc controller.

    Fanuc Series Oi Mate-TC
    Schaublin Lathe. Some of the g- and m-codes are a little bit different than what is typically used so I'll try to explain them.

    N1
    G90 G95 G18 G40 G80 (Typical Safety Line I've used in the past)
    T707
    G92 S2500 (Yes, its a G92 not the typical G50)
    G97 S1750 M103 (yes M103)
    G59 G00 X0.9 Z0.2
    /M08
    G73 U.010 R0.005 (I made the DOC really small to see what would happen)
    G73 P10 Q19 U-0.040 W0.003 F0.003 (Yes its a G73 instead of normal G71)
    N10 G00 G41 X0.95 (Cannot run Z movement or machine alarms here)
    X1.13
    G01 Z0.0 F.003
    X1.1 Z-0.015
    Z-1.0
    X0.95
    N19 G01 G40 X0.9
    G00 Z0.2
    M01

    Its a really basic canned cycle for boring out. But I cannot get it to work! The machine will only cut at X0.886" (smaller than even my first positioning at X0.9) and then at X1.06 (which would be on size for leaving what I want for finishing). Hence this is why I was running a DOC of 0.010, but this didn't even change how the machine would only take 2 roughing passes.

    I've been running Haas exclusively for about 4 years now. Before that Mazak. So this is the first Fanuc controller I've had to program, only button-pushed to help out when a man short before that.

    Thanks.
    The G92 and G73 is not surprising. There are three G Code Systems available, A, B, and C. Your control is using System C. The G Code System is selectable via parameter #3401, bits 6 and 7

    Bit 6 -- Bit7
    0 ------ 0 = A
    1 ------ 0 = B
    0 ------ 1 = C

    G Code System A uses G Codes that you're probably more familiar with and is the most prolifically used system.

    There are two versions of G71 (G73 in your case) Type I and Type II. Programming both X(U) and Z(W) in your N10 block is the way in which Type II is invoked and the fact that an alarm is raised indicates that your control does not have Type II available.

    Type I only permits X moves that are either increasing or decreasing in size in the profile description. In your program snippet, you start X0.95, peak at X1.1 and then finishes at X0.9 within the profile description; this is not permitted.

    Regards,

    Bill



  3. #3
    Gold Member
    Join Date
    Aug 2011
    Location
    Fordaville
    Posts
    2517
    Downloads
    0
    Uploads
    0

    Default

    you say you can not get it to work but do you get an alarm? what happens after the tool gets to X1.06? as a test try removing the G41 and see if it runs through.



  4. #4
    Registered
    Join Date
    Nov 2008
    Location
    Canada
    Posts
    12
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by angelw View Post
    Type I only permits X moves that are either increasing or decreasing in size in the profile description. In your program snippet, you start X0.95, peak at X1.1 and then finishes at X0.9 within the profile description; this is not permitted.

    Regards,
    Bill
    Today I changed the X value to match the start X0.95... didn't work.
    I tried removing the X value on the G40 line... didn't work.
    I moved the X value larger than X0.95... didn't work.
    I removed the X0.95 and G40 X0.90 values all together so there wouldn't be any X movement... didn't work.
    I removed the G41... didn't work.

    And to fordav11
    The machine only errors out when I have a Z value in the G41 line, so I figured out the machine can only use Type I roughing. But it was nice to have you guys confirm that for me.
    After the machine takes its two roughing passes and finishes at X1.060 the machine does what it's supposed to do and move away from the part (I just didn't include the movement to safe tool change point in my original post).

    So I'm still at a loss.



  5. #5
    Member
    Join Date
    Sep 2010
    Location
    Australia
    Posts
    1230
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by URguys View Post
    After the machine takes its two roughing passes and finishes at X1.060 the machine does what it's supposed to do and move away from the part (I just didn't include the movement to safe tool change point in my original post).

    So I'm still at a loss.
    Its doing what its doing because, effectively, your trying to cut a profile that has non-monotonous X moves with G71 Type I. The action of Type I is that after the roughing cuts are completed, a single cleanup cut, the shape of the profile description, is made. As far as the control is concerned, the following attached picture is the shape of your profile. Its concave and not allowed with G71 Type I.
    Fanuc Programming Problem-g71_1-jpg

    In the following sequence of pictures:
    1. The first shows a part roughed using G71 Type II, initiated by including a Z(W) move in the P referenced block. The part was machined correctly.

    2. The second shows the same part being re-cut using G71 Type I, initiated with only an X(U) address included in the P referenced block. You will note that the tool has commenced to incorrectly machine the part on the first roughing pass.

    3. The third picture shows the same part shown in the first picture after the G71 Type I cycle had finished. The cycle kept taking roughing cuts through the larger diameter feature at the front until is reached the small diameter of the part. The cycle concluded by taking a final cleanup pass the correct shape as described in the profile description between the P and Q referenced block, but of course, the part was already destroyed.

    Fanuc Programming Problem-g71-ii-jpg
    Fanuc Programming Problem-g71-ia-jpg
    Fanuc Programming Problem-g71-ib-jpg

    N10 G00 G41 X0.95 Lose this block
    X1.13 and make this block N10 G00 X1.13 and it should work
    G01 Z0.0 F.003
    X1.1 Z-0.015
    Z-1.0
    X0.95 Lose this block
    N19 G01 X0.9

    Accordingly, the code becomes:
    N10 G00 X1.13
    G01 Z0.0 F.003
    X1.1 Z-0.015
    Z-1.0
    N19 G01 X0.9

    As can be seen in the attached picture, the X moves in the profile description are moving in one direction, decreasing only, and therefore, is a legal profile for G71 Type I.
    Fanuc Programming Problem-g71_2-jpg

    There are quite a few versions of G71. Some do not support Tool Nose Radius Compensation (TNRC) at all. However, those that do require the compensation mode to be applied before the G71 block is executed, and canceled after the Q referenced block.

    Quote Originally Posted by URguys View Post
    So I'm still at a loss
    You can come in out of the wilderness. Just make the changes as described above and the program should work. If your version of G71 Type I does not support TNRC, you will have to calculate the true location of the tool manually with consideration given to the Tool Nose Radius. This is not difficult, and with your particular profile, calculations for the start and finish of the taper between X1.13 Z0.0 and X1.1 Z-0.015 are the only calculations required for TNRC. Alternatively, if you have access to CAM system, create the tool path with the TNR being compensated by the Software and not the Control.

    Regards,

    Bill

    Last edited by angelw; 02-17-2012 at 12:36 AM.


  6. #6
    Registered
    Join Date
    Nov 2008
    Location
    Canada
    Posts
    12
    Downloads
    0
    Uploads
    0

    Default

    Sorry for late reply. Had to go onto something else and I just threw a G20 cycle in there to get it done.

    But I started playing again.

    The only way I could get the machine to cut an ID and to cut the correct DOC was to start below on X. Which does make sense in a way (in a way that I'm just not used to anyway).

    G00 G59 X0.65 Z5.0
    G41 X0.75
    G73 U0.010 R0.005
    G73 P10 Q19 U-0.040 W0.003 F0.003
    N10 G00 X1.1
    G01 Z0.0
    N19 Z-1.0
    G40 X0.75
    G00 Z0.20

    So hooray, I got it to work. But if I can never start X+ when cutting internally and the machine is not capable of cutting Type II roughing, then am I never going to be able to cut a chamfer?



  7. #7
    Member
    Join Date
    Sep 2010
    Location
    Australia
    Posts
    1230
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by URguys View Post
    I just threw a G20 cycle in there to get it done
    This is a Fanuc control, therefore G20 isn't a cycle of any description, its the code for Imperial Input, G21 is for Metric.

    Quote Originally Posted by URguys View Post
    But if I can never start X+ when cutting internally and the machine is not capable of cutting Type II roughing, then am I never going to be able to cut a chamfer?
    No, it doesn't mean that at all.
    1. To machine a profile in a bore, you need a hole to start with, that's a given.

    2. The start point in X for the cutting tool will be at a diameter <= to the diameter of the existing hole.

    3. The description of the profile to be machines is between and including the blocks referenced by the P and Q addresses of the G71 cycle. Accordingly, if there is a chamfer at the mouth of the bore from larger diameter to smaller, or an angled surface from one diameter to another further down the bore, so long as the tool continues to move from larger diameter to smaller diameter, then that's OK using G71 Type I. The attached picture shows whats legal and whats not with regard to the bore profile. The picture on the left is a legal profile using G71 Type I. The picture on the right is a legal profile only when using G71 Type II

    Fanuc Programming Problem-bore1-jpgFanuc Programming Problem-bore2-jpg


    Regards,

    Bill



  8. #8
    Member
    Join Date
    Feb 2006
    Location
    india
    Posts
    1792
    Downloads
    0
    Uploads
    0

    Default

    Does radius compensation work inside canned cycles. I have seen conflicting statements. Never experimented myself.



  9. #9
    Registered
    Join Date
    Nov 2008
    Location
    Canada
    Posts
    12
    Downloads
    0
    Uploads
    0

    Default

    Yeah, I thought about it after I went home and if it can't cut a chamfer then the machine wouldn't be able to cut anything but horizontal lines... and that wouldn't make sense.

    I'll play around with it again and see what this machine can do.



    Quote Originally Posted by angelw View Post
    This is a Fanuc control, therefore G20 isn't a cycle of any description, its the code for Imperial Input, G21 is for Metric.
    Regards,
    Bill
    On this machine G20 runs a OD turning cycle. Equivilant to a G90 I think... never ran that before but it seems to fit the bill. Must be a Type C controller thing.



  10. #10
    Member
    Join Date
    Sep 2010
    Location
    Australia
    Posts
    1230
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by URguys View Post
    On this machine G20 runs a OD turning cycle. Equivilant to a G90 I think... never ran that before but it seems to fit the bill. Must be a Type C controller thing.
    Yes, I forgot that I'd mentioned that your control must be set to G code system C in a previous post. If you want to bring the control more inline with the more conventional system "A", the G Code System is selectable via parameter #3401, bits 6 and 7

    Bit 6 -- Bit7
    0 ------ 0 = A
    1 ------ 0 = B
    0 ------ 1 = C

    Regards,

    Bill



Tags for this Thread

Posting Permissions

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


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

Fanuc Programming Problem

Fanuc Programming Problem