How to pause a long program to replace/re-measure a tool on Fanuc control?
Close
Login to Your Account
Results 1 to 19 of 19
  1. #1
    Join Date
    Jul 2014
    Country
    UNITED STATES
    State/Province
    New York
    Posts
    29
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    6

    Default How to pause a long program to replace/re-measure a tool on Fanuc control?

    I am running some challenging parts with a cycle time of approximately 20 minutes. We have to stop the machine frequently to change / re-measure tools when they break (or when they sound like they're wearing and might break soon).

    When we do this, we end up re-running the program from the start. If the replaced tool happens to be one of the later tools, that could be 19 minutes wasted as the machine cuts air until it gets back to where we left off.

    The controls are Fanuc 16iM.

    Is there a way to have the control back up to the start of the current tool and pick up where it left off?

  2. #2
    Join Date
    Mar 2008
    Location
    vacaville ca
    Posts
    569
    Post Thanks / Like
    Likes (Given)
    90
    Likes (Received)
    151

    Default

    I would break up the program into almost features, rough this spot pull out M1 go back in, if you hear the insert starting to go,throw op stop on and wait for the m1. might loose a little cycle time but if your having tough issues might save in the long run. and add a line number to each m1 so if you did have to start you could jump or search to N and start.

  3. #3
    Join Date
    Jul 2014
    Country
    UNITED STATES
    State/Province
    New York
    Posts
    29
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    6

    Default

    Quote Originally Posted by pcasanova View Post
    I would break up the program into almost features, rough this spot pull out M1 go back in, if you hear the insert starting to go,throw op stop on and wait for the m1. might loose a little cycle time but if your having tough issues might save in the long run. and add a line number to each m1 so if you did have to start you could jump or search to N and start.
    Hi pcasanova, on all of my machines, when I use optional stop it stops at each tool, even without a M0 or M1 in the code. Is this not the way most machines work?

    We currently do use optional stop for testing out new programs or for when a tool sounds like it is going to break, but we need a better way as the part has 15 tools and we'll never get anything done with the machine sitting and waiting for an operator 15 times per part.

    We could insert M0's in the program and it will stop at the key features, but we still can't just jump right back in: There are lots of preparatory codes (like work offsets) that need to be called prior to re-starting in the middle of the program.

    Is there an more automated way to pick up where we left without having to hand-type lots of stuff in MDI (and risk screwing something up) prior to starting in the middle of a program?

  4. #4
    Join Date
    Jan 2019
    Country
    UNITED STATES
    State/Province
    Arizona
    Posts
    1,292
    Post Thanks / Like
    Likes (Given)
    112
    Likes (Received)
    522

    Default

    Quote Originally Posted by pMetal View Post
    I am running some challenging parts with a cycle time of approximately 20 minutes. We have to stop the machine frequently to change / re-measure tools when they break (or when they sound like they're wearing and might break soon).

    When we do this, we end up re-running the program from the start. If the replaced tool happens to be one of the later tools, that could be 19 minutes wasted as the machine cuts air until it gets back to where we left off.

    The controls are Fanuc 16iM.

    Is there a way to have the control back up to the start of the current tool and pick up where it left off?
    This is a common problem with crappy posts/ code processors and Crappy hand programming structure.

    EVERY TOOL should have a start lines and finish lines ending in M01. any other way of NOT doing this is garbage and could lead to alot of broken tools.

    if you M01 is stopping when the switch is off, then there maybe a parm bypassing the switch. someone will tell you how to change it.
    M01 only stops machine when the switch/selector is on
    M00 stops machine no matter what.
    I have never seen a machine STOP if it doesnt have a M01 or M00 in it. there could be but seems odd and could be a prm issue but I doubt it.



    example: hass
    M06 T18 (0.375 DIA. END MILL)
    G00 G90 G58 X-4.8 Y-3.81
    M03 S11500
    G43 Z0.3 H18 M08
    Blah
    code goes here
    Blah
    Blah
    G00 Z0.5
    M09
    G91 G28 Z0. M05
    M01

    next tool

    M06 T18 (0.375 DIA. END MILL)
    G00 G90 G58 X-4.8 Y-3.81
    M03 S11500
    G43 Z0.3 H18 M08
    Blah
    code goes here
    Blah
    Blah
    G00 Z0.5
    M09
    G91 G28 Z0. M05
    M01

    etc etc

    Fadal
    N18 M06 T6 (0.375 DIA. END MILL)
    N19 G00 G17 G40 G80 G90 E4
    N20 G00 X-4.8 Y-3.81
    N21 G8
    N22 M03 S9500
    N23 G43 Z0.3 H6 M08
    Blah
    code goes here
    Blah
    Blah
    N252 G00 Z0.5
    N253 G9
    N254 M09
    N255 G91 G28 Z0. M05
    N256 M01

    next tool

    N18 M06 T6 (0.375 DIA. END MILL)
    N19 G00 G17 G40 G80 G90 E4
    N20 G00 X-4.8 Y-3.81
    N21 G8
    N22 M03 S9500
    N23 G43 Z0.3 H6 M08
    Blah
    code goes here
    Blah
    Blah
    N252 G00 Z0.5
    N253 G9
    N254 M09
    N255 G91 G28 Z0. M05
    N256 M01

  5. #5
    Join Date
    Jun 2015
    Country
    UNITED STATES
    State/Province
    Minnesota
    Posts
    765
    Post Thanks / Like
    Likes (Given)
    12
    Likes (Received)
    271

    Default

    Is it possible someone stuck an M01 into the tool change routine? See if you have any 9000 series programs in your Directory. If so one may be labeled Tool Change or have no label at all but just a number. Look in there and see if there's an M01 that needs deleting.

    But the real issue is for the life of me, I don't see how or why you have to start from the beginning of any program just to get to a tool maybe 6 tools down. Perhaps studying up on the Search Function of your control would do some good. Want T6? In EDIT Mode hit T6 down arrow. You're there. Machine errors if T6 is already in spindle? Curser to the end of the tool change line, which should be right before your safety line that heads off every tool, and start from there.

    In my programs every tool number generally only appears twice. Once in the pre-stage call before the tool is need, and then again when the tool is needed. If I want to start at T6 I hit T6 down arrow as fast as I can twice and there I am. Simple. Or if I know I want to back up in the current tool I hit G17 up arrow, which brings me to the head of the safety line of the current tool.

    I disagree that M01 needs to be at the beginning and end of every tool. Single block works just as good if you're standing there. I only use it at the end of my programs before M30 on my pallet machine, to hold off a pallet change if I want to do something first. Or if I'm running a repeating program on the lathe I'll put an M01 before M99 if I feel like stepping in before starting again. My door interlocks are bypassed as I work alone and have only myself to worry about, so I see door interlocks as a nuisance. M01 before and after tools may actually be useful or needed on a machine with functioning door interlocks. That I can see.

  6. #6
    Join Date
    Aug 2012
    Location
    Pittsburg, KS
    Posts
    1,359
    Post Thanks / Like
    Likes (Given)
    185
    Likes (Received)
    611

    Default

    I have an OM control and the only way I know is to manually search. The way I do it is to single block through my safety block at the beginning of the program, then Edit and search for that tool, then arrow back up to the beginning callout code for that op/tool, back to auto and cycle start til I am confident it is doing what I expect then turn off single block and let it run. It takes very little time for me to do it as I am used to it and have done it alot on mine.

    I did goof once and did it at my old job and a kid saw me do it and the next day he decided he would as well without picking up the safety block or WC etc. Thankfully it only cost him a part and didn't hurt the machine or tool. If I had known he was watching I would have explained it to him..

    I think you should write the program so that you can very easily do a search for that tool or op and add all the code you need to hit go without having to be worried. It will make the code a little redundant but will minimize issues.

  7. Likes mr.greenman liked this post
  8. #7
    Join Date
    Jan 2019
    Country
    UNITED STATES
    State/Province
    Arizona
    Posts
    1,292
    Post Thanks / Like
    Likes (Given)
    112
    Likes (Received)
    522

    Default

    Quote Originally Posted by 13engines View Post
    I disagree that M01 needs to be at the beginning and end of every tool.
    Sorry meant to say M01 at the end of every tool callout when its finished with that tool.
    every tool should have Standard beginning lines and standard end lines as if you run the tool separate.

  9. Likes Booze Daily, kustomizer liked this post
  10. #8
    Join Date
    Sep 2010
    Location
    india
    Posts
    1,376
    Post Thanks / Like
    Likes (Given)
    75
    Likes (Received)
    263

    Default

    As mentioned, M00/M01 in beginning/end of a tool operation will work provided the new tool has all the safety codes.
    However, there may be cases when the same tool is used for producing a number of features, and one may desire to check the tool after some feature in produced, using M00/M01. On some machines, spindle may not automatically start after M00/M01.

  11. #9
    Join Date
    Feb 2013
    Country
    UNITED STATES
    State/Province
    California
    Posts
    875
    Post Thanks / Like
    Likes (Given)
    508
    Likes (Received)
    528

    Default

    Initially I thought you meant that one tool was doing it all and you didn't want to have to let it run to the section it was at. But a 20 min program with 15 tools I am going to assume that it can be stopped at the toolchange. I have to agree with the guys above.

    Because I do lots of prototype and one offs I have my CAM set to put a couple line 'start' block after every tool change. The end of every tool has a M01 optional stop. When I am trial machining or want to check things it stops, when I don't, I turn off Optional Stop and it just runs invisibly.

    If I ever need to jump to the middle of a program say like 20 mins and 5 tools in I can just jump to the start of any tool and begin there. It's automatically set in the CAM and makes no real difference in program size. I can't imagine doing it otherwise unless I was running production on an old machine and every 'k' counted.

    I have a Fanuc 0i-MF.

  12. Likes Mike1974 liked this post
  13. #10
    Join Date
    Nov 2014
    Country
    UNITED STATES
    State/Province
    Florida
    Posts
    6,298
    Post Thanks / Like
    Likes (Given)
    2499
    Likes (Received)
    3112

    Default

    Quote Originally Posted by Delw View Post
    Sorry meant to say M01 at the end of every tool callout when its finished with that tool.
    every tool should have Standard beginning lines and standard end lines as if you run the tool separate.
    I don't think every tool needs it's own safety line, but probably depends on control. On Haas, the defaults are if you hit reset (like you would typically if interrupting/starting a program in the middle), it clears any G52 values, resets to G17, etc. But again, your controls may vary so please check, don't take my word for it.

    I assume OP doesn't have probing? It's real easy to write in a tool break check if you do...

    I am still getting used to Mastercam 2021, but there used to be a feature where you could tell it to stop for a "tool check" after xx minutes or feed distance, maybe your cam supports this somewhere? Also, MCX has a button you can check for force tool change, so for example you are roughing and finishing with the same tool, you could check the box on the finish, and even though it's the same tool, it will Z home and output a M01 so you could inspect/change the tool/inserts...

  14. #11
    Join Date
    Nov 2014
    Country
    UNITED STATES
    State/Province
    Florida
    Posts
    6,298
    Post Thanks / Like
    Likes (Given)
    2499
    Likes (Received)
    3112

    Default

    Quote Originally Posted by sinha View Post
    As mentioned, M00/M01 in beginning/end of a tool operation will work provided the new tool has all the safety codes.
    However, there may be cases when the same tool is used for producing a number of features, and one may desire to check the tool after some feature in produced, using M00/M01. On some machines, spindle may not automatically start after M00/M01.
    Good point. On older Haas machines I used to do a lot of 3d surfacing and it was something we used to to do an insert inspection. M00 *I think* would stop the spindle, but not restart it, had to hand edit a spindle on/rpm after the M00 line.

  15. #12
    Join Date
    Jun 2016
    Country
    UNITED STATES
    State/Province
    Pennsylvania
    Posts
    89
    Post Thanks / Like
    Likes (Given)
    2
    Likes (Received)
    41

    Default

    Quote Originally Posted by macgyver View Post
    I have an OM control and the only way I know is to manually search. The way I do it is to single block through my safety block at the beginning of the program, then Edit and search for that tool, then arrow back up to the beginning callout code for that op/tool, back to auto and cycle start til I am confident it is doing what I expect then turn off single block and let it run. It takes very little time for me to do it as I am used to it and have done it alot on mine.

    I did goof once and did it at my old job and a kid saw me do it and the next day he decided he would as well without picking up the safety block or WC etc. Thankfully it only cost him a part and didn't hurt the machine or tool. If I had known he was watching I would have explained it to him..

    I think you should write the program so that you can very easily do a search for that tool or op and add all the code you need to hit go without having to be worried. It will make the code a little redundant but will minimize issues.
    I'm not real familiar with a broad range of Fanuc controls, but couldn't you put a bunch of go-tos so it's at least easy to manually search? I.E at the beginning of the program...

    (Header info)

    Goto N1 (Start)
    Goto N2(tool 2)
    Goto N3
    Goto N4
    ....
    Goto N15 (tool 15)

    N1 (first tool)
    .....


    This way when you restart the program by default it skips over all of the Goto's except the one that says go to the beginning. Otherwise, arrow down to the one you want to start from then hit start.
    This also assumes proper program format to begin with. If your program is not working with M01/M00 properly as is I would be concerned with what it does.

  16. #13
    Join Date
    Feb 2020
    Country
    UNITED STATES
    State/Province
    Alabama
    Posts
    366
    Post Thanks / Like
    Likes (Given)
    151
    Likes (Received)
    104

    Default

    Quote Originally Posted by pMetal View Post
    I am running some challenging parts with a cycle time of approximately 20 minutes. We have to stop the machine frequently to change / re-measure tools when they break (or when they sound like they're wearing and might break soon).

    When we do this, we end up re-running the program from the start. If the replaced tool happens to be one of the later tools, that could be 19 minutes wasted as the machine cuts air until it gets back to where we left off.

    The controls are Fanuc 16iM.

    Is there a way to have the control back up to the start of the current tool and pick up where it left off?
    Yes, you can do this:
    Note N number where your program stopped
    Restart in single block before the work offset and H number.
    Single block past the H number to make sure your height offset and work offset are called.
    Go into edit and search for the first clearance line (probably g0) before where your program stopped.
    Go back into auto and hit cycle start.

  17. #14
    Join Date
    Aug 2012
    Location
    Pittsburg, KS
    Posts
    1,359
    Post Thanks / Like
    Likes (Given)
    185
    Likes (Received)
    611

    Default

    Quote Originally Posted by 70olds View Post
    I'm not real familiar with a broad range of Fanuc controls, but couldn't you put a bunch of go-tos so it's at least easy to manually search? I.E at the beginning of the program...

    (Header info)

    Goto N1 (Start)
    Goto N2(tool 2)
    Goto N3
    Goto N4
    ....
    Goto N15 (tool 15)

    N1 (first tool)
    .....


    This way when you restart the program by default it skips over all of the Goto's except the one that says go to the beginning. Otherwise, arrow down to the one you want to start from then hit start.
    This also assumes proper program format to begin with. If your program is not working with M01/M00 properly as is I would be concerned with what it does.
    I don't know if you can use a GOTO in an OM, I have never tried or thought of it. The way I do it is very quick and I don't need to do it for every job so I have never had a reason to see if there is a better way. I may dig out the manual to see what cool things I may be missing out on.

  18. #15
    Join Date
    Jan 2014
    Country
    UNITED STATES
    State/Province
    Washington
    Posts
    5,649
    Post Thanks / Like
    Likes (Given)
    1008
    Likes (Received)
    3191

    Default

    Quote Originally Posted by macgyver View Post
    I don't know if you can use a GOTO in an OM, I have never tried or thought of it. .....
    If it has Macro B option it can do a GOTO

  19. Likes macgyver liked this post
  20. #16
    Join Date
    Aug 2012
    Location
    Pittsburg, KS
    Posts
    1,359
    Post Thanks / Like
    Likes (Given)
    185
    Likes (Received)
    611

    Default

    How do I tell if it has Macro B?

  21. #17
    Join Date
    Jan 2014
    Country
    UNITED STATES
    State/Province
    Washington
    Posts
    5,649
    Post Thanks / Like
    Likes (Given)
    1008
    Likes (Received)
    3191

    Default

    What is the setting of your parameter 913?

  22. #18
    Join Date
    Sep 2010
    Location
    india
    Posts
    1,376
    Post Thanks / Like
    Likes (Given)
    75
    Likes (Received)
    263

    Default

    MDI #1=1;
    If there is no alarm. you have Macro B.

  23. Likes TeachMePlease liked this post
  24. #19
    Join Date
    Mar 2016
    Country
    UNITED STATES
    State/Province
    Illinois
    Posts
    982
    Post Thanks / Like
    Likes (Given)
    203
    Likes (Received)
    558

    Default

    Quote Originally Posted by pMetal View Post
    I am running some challenging parts with a cycle time of approximately 20 minutes. We have to stop the machine frequently to change / re-measure tools when they break (or when they sound like they're wearing and might break soon).

    When we do this, we end up re-running the program from the start. If the replaced tool happens to be one of the later tools, that could be 19 minutes wasted as the machine cuts air until it gets back to where we left off.

    The controls are Fanuc 16iM.

    Is there a way to have the control back up to the start of the current tool and pick up where it left off?
    Not knowing what machine you are using you could add block numbers into the program and use a GOTO to bypass large portions of a program as a temporary solution. When the job is complete remove the GOTO in the program. We have a similar issue on our hitachis that run very long programs and the best solution was to add a GOTO to area we wanted to continue or rerun and it works fine but make sure you remove the GOTO. You can also use a GOTO to bypass a broken tool or tap in a job.


Tags for this Thread

Bookmarks

Posting Permissions

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