585,982 active members*
4,504 visitors online*
Register for free
Login
Results 1 to 18 of 18
  1. #1
    Join Date
    Apr 2009
    Posts
    30

    Fanuc tool lenght compensation??

    Hello.

    Machine is mori seiki sh 5000 with fanuc MSG 501.
    Here's the deal, i wonder if this is possible...

    Machine running 4 different jobs, some with same tools, different people programming of course.
    In some of the programs lets say tool T23 needs tool lenght (H) added with 0.10 (mm) in next job it needs to be -0.10..and so on..( meaby in third job it needs to be 0.15...)
    Needles to say, much hassle.

    Ofcourse im aware i could have several H codes, but that could cause problems later on when running the program again.

    So is there any extra code that could be used just in program that could give you possibility to alter the tool lenght?

  2. #2
    Join Date
    Nov 2006
    Posts
    174
    I've no idea what a Fanuc MSG 501 control is but on the controls I use, I would adjust the different tool lengths with the wear offset.

    In the prog use G10.

    In prog one...
    G10 L11 P23 R0.1

    In next prog...
    G10 L11 P23 R-0.1

    In next prog...
    G10 L11 P23 R0.15

    G10 = parameter setting
    L11 = wear offset (on newer control use L13)
    P23 = corresponding offset number
    R0.1 = amount of wear adjustment.

  3. #3
    Join Date
    Feb 2008
    Posts
    586
    Used to be G45, G46, G47 and G48 would increase/decrease moves by an offset amount. Don't recall if it was usable in G41 or G42, though.

    G45 - single increase
    G46 - single decrease
    G47 - double increase
    G48 - double decrease

    These were used in place of cutter compensation a long time ago.

  4. #4
    Join Date
    Feb 2006
    Posts
    338
    If you have custom macro A or B check your manual for macro variables in the 2000-3999 range, or 10001-19999 range. These allow just setting #2123=-0.1

    This is the same as ChattaMan described, just a different way to code it.

  5. #5
    Join Date
    Mar 2003
    Posts
    2932
    Why not set the tools to a common standard and use the G54, G55, G56, etc. Z offset?

  6. #6
    Join Date
    Apr 2009
    Posts
    30
    Quote Originally Posted by ChattaMan View Post
    I've no idea what a Fanuc MSG 501 control is but on the controls I use, I would adjust the different tool lengths with the wear offset.

    In the prog use G10.

    In prog one...
    G10 L11 P23 R0.1

    In next prog...
    G10 L11 P23 R-0.1

    In next prog...
    G10 L11 P23 R0.15

    G10 = parameter setting
    L11 = wear offset (on newer control use L13)
    P23 = corresponding offset number
    R0.1 = amount of wear adjustment.
    Hi.
    Very good, exactly what i was looking for.
    I will try this on monday and see if it works.

    Thanks alot!:cheers:

  7. #7
    Join Date
    Apr 2009
    Posts
    30
    Quote Originally Posted by driftmaster View Post
    Hi.
    Very good, exactly what i was looking for.
    I will try this on monday and see if it works.

    Thanks alot!:cheers:
    ChattaMan;

    I'd like to ask one more thing.
    The line with "G10 L11 P23 R0.1"
    Where should i place this?

    Lets say line like this after tool change.
    "G43 Z10 H23"
    Do i put the "G10 L11 P23 R0.1" before or after, or where should it be placed to work?

  8. #8
    Join Date
    Feb 2008
    Posts
    586
    Oh and I believe if you use G91 with the G10 thing, you adjust incrementally, and G90 replaces the value absolutely.

  9. #9
    Join Date
    Feb 2007
    Posts
    314
    Quote Originally Posted by driftmaster View Post
    ChattaMan;

    I'd like to ask one more thing.
    The line with "G10 L11 P23 R0.1"
    Where should i place this?

    Lets say line like this after tool change.
    "G43 Z10 H23"
    Do i put the "G10 L11 P23 R0.1" before or after, or where should it be placed to work?
    you need to put the line G10 L11 P23 R0.1 before calling tool length compensation(G43 Hxx)

  10. #10
    Join Date
    Feb 2006
    Posts
    338
    Quote Originally Posted by samu View Post
    you need to put the line G10 L11 P23 R0.1 before calling tool length compensation(G43 Hxx)
    Yes before, But possibly you will need to inhibit the read ahead buffer as well. I think 4 lines are standard, and optionally it will read something like 15 lines.

    Anyhow if you think it isn't working, look for a buffer inhibit G or M code in your manual and put that between the G10 line and the one with G43. It may be overly cautions for the G10, but definitely consider doing this if you use the Macro variable.

  11. #11
    Join Date
    Mar 2005
    Posts
    988
    As Coupar mentions and points to.... Why bother?

    Machine running 4 different jobs, some with same tools, different people programming of course.
    In some of the programs lets say tool T23 needs tool lenght (H) added with 0.10 (mm) in next job it needs to be -0.10..and so on..( meaby in third job it needs to be 0.15...)
    Needles to say, much hassle.
    Just set a tool length on the offset page and use work offsets (G54-G59) to control the zero point. No need to G10 anything....
    It's just a part..... cutter still goes round and round....

  12. #12
    Join Date
    Feb 2006
    Posts
    338
    Quote Originally Posted by psychomill View Post
    As Coupar mentions and points to.... Why bother?

    Just set a tool length on the offset page and use work offsets (G54-G59) to control the zero point. No need to G10 anything....
    Not specific to this problem, but there are others that would solved via changing offset wear via code in the program.

    It may be more than 1 tool per program, and not in the same direction and amount. Or radius offsets, differing cutting conditions could require different offsets between parts of features.

    Another possibility is a rotary table. Fixture offsets often do not rotate with the part. So either offset the tool, or use several fixture offsets with translated axis values.

  13. #13
    Join Date
    Mar 2005
    Posts
    988
    I understand what you're saying but it doesn't seem like that is the situation but you could very well be correct. If it was radius offset, you wouldn't necessarily be adjusting tool length. As for rotary table, .... fixture offsets can rotate with the part if you have Dynamic Comp but it may not be available. But even if the offset is off center of the rotation, you can still run and program without having to G10 everything.

    My point is, why not standardize some of this a bit? Tool offsets, where tool edges are programmed from, etc. I'm not against using G10 if you need it. I use it all the time. But it seems a bit foolish if G10 is arbitrarily being used because "everybody is different". That makes it more susceptible to mistakes, confusion and/or bad parts.
    It's just a part..... cutter still goes round and round....

  14. #14
    Join Date
    Feb 2006
    Posts
    338
    I didn't mean to imply it was the only or best way to approach it, I just wanted to expand on the usefulness of the idea. Let me try to be a little more clear and sum things up as I see it.

    To be strictly on topic:
    My understanding is he needs a way to go back an forth between several parts/programs that use the same tools, but they need different length offsets to keep everything on nominal. He did not want to have to make changes manually.

    For this ChattaMan's solution, or using macro #'s in the same way seems to be a good solution. Change the wear values with absolute numbers and put that in the beginning of each program, or a sub called at the beginning to make the adjustments. Easy to change and automatic when the progrma is run.


    Off topic:
    The same idea can be applied to radius wear, or even fixture offset changes needed to get the best parts possible.

    Granted the other (correct?) way is to just change the program so that the right offsets always work. Use different speeds/feeds or depths to get consistent results between programs. Or use a separate tool if the conditions are just too dissimilar.
    I know there can be a lot of reasons, and it is sometimes hard to get to a root cause. So program changes are only specific to static issues at that time. So this will not work for any changes as you make parts like tool wear or thermal expansion.

  15. #15
    Join Date
    Mar 2005
    Posts
    988
    ... well put ...

    :cheers:
    It's just a part..... cutter still goes round and round....

  16. #16
    Join Date
    Nov 2009
    Posts
    7
    Quote Originally Posted by beege View Post
    Used to be G45, G46, G47 and G48 would increase/decrease moves by an offset amount. Don't recall if it was usable in G41 or G42, though.

    G45 - single increase
    G46 - single decrease
    G47 - double increase
    G48 - double decrease

    These were used in place of cutter compensation a long time ago.
    No, you wouldn't use them with G41 or G42. They work for orthogonal motion only and have to be used and unused in a program or the whole thing ends up offset somewhere.
    Can't say as I miss using those codes!

  17. #17
    Join Date
    Mar 2005
    Posts
    816
    Well, I'm learning more and more about many more G codes here.
    Thanks guys! Thanks a lot!

    I use old controls like the 0T-C, 11M and 6M-B.

    For the mills, I use tool and cutter comp. a lot. I always make sure that I measure the exact diameter to .0005" , overall length and length of cut of cutters. I make sure all the tools are in the machine and that the fixtures are there too. Not all cutters wear the same.

    I tend to program and edit in MDI.

    I try to use the most optimal cutting conditions I can find because I run a lot of aluminums and 4130, 4140, 4340 steels, like 4340 and once in a while some 1018.. lots of 3/8" and 1/2" end mills that are not ground perfectly especially on the end and are not perfect diameter. I generally keep a shop tolerance of .003" or better on all parts I make.

    As for offsets, I generally keep an eye on whats there.. but I find the radius offset is useful.

    Greg

  18. #18
    Join Date
    Feb 2006
    Posts
    1792
    Quote Originally Posted by dpuch View Post
    Yes before, But possibly you will need to inhibit the read ahead buffer as well. I think 4 lines are standard, and optionally it will read something like 15 lines.

    Anyhow if you think it isn't working, look for a buffer inhibit G or M code in your manual and put that between the G10 line and the one with G43. It may be overly cautions for the G10, but definitely consider doing this if you use the Macro variable.
    I have no experience on this issue, so I may be wrong, but I do not believe the look-ahead feature would cause any problem in this case. This is because, G43 is not a macro statement. So, it would be executed after G10. There would possibly have been some problem, had the execution of G10 somehow got affected by G43 statement, which is not the case.

Similar Threads

  1. Fanuc 5T Tool Nose Compensation
    By John3 in forum Fanuc
    Replies: 1
    Last Post: 07-16-2007, 04:58 AM
  2. tool lenght question
    By jedioliver in forum Visual Mill
    Replies: 7
    Last Post: 09-22-2006, 04:27 PM
  3. Tool compensation
    By bg_izio in forum CNC (Mill / Lathe) Control Software (NC)
    Replies: 3
    Last Post: 05-04-2006, 02:40 AM
  4. Tool compensation
    By bg_izio in forum CamSoft Products
    Replies: 3
    Last Post: 04-27-2006, 04:43 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
  •