What's new
What's new

M01 Optioal Stop

bdrmachine

Aluminum
Joined
Mar 21, 2017
Haas M01 --- I know this seems like a simple command but I want to understand its nuances to avoid any potential crashes. What all is turned off, everything? My Haas manual gist states that it is a optional stop and the operator needs to push cycle start to continue. But how about the programmer? will he have to reinsert g21,g43, g55, m03,m08 etc?
 
Its just a very handy program stop and does not alter active modal codes. All of my programs have op stop after every tool change for proofing programs or checking tool status before proceeding.
 
Last edited:
Its just a very handy program stop and does not alter active model codes. All of my programs have op stop after every tool change for proofing programs or checking tool status before proceeding.

Until yesterday I had never used this m code manually (only when added by CAM). I was machining a mold and placed a M01 after the first finish pass. I wasn't sure that the next perpendicular finish pass would be needed. When the machine stopped at the M01 and I hit cycle start the coolant never came back on than XY and Z moved without the spindle running. Luckily I stopped the machine before any damage to the part I gist spent 6 hours on. I guess at minimum I should have added a M04 s12000 and M08.
 
Until yesterday I had never used this m code manually (only when added by CAM). I was machining a mold and placed a M01 after the first finish pass. I wasn't sure that the next perpendicular finish pass would be needed. When the machine stopped at the M01 and I hit cycle start the coolant never came back on than XY and Z moved without the spindle running. Luckily I stopped the machine before any damage to the part I gist spent 6 hours on. I guess at minimum I should have added a M04 s12000 and M08.

You know mo4 is counter clockwise right? I think you mean m03

M01 should be added to the end of every tool when its completed it moves. just before the next tool starts. it for safety mainly. it only works when optional stop button is on.

M06 T22 (0.500 DIA. END MILL )
G00 G90 G54 X-1.875 Y0.
T17
M03 S11000
G43 Z1. H22 M08
Z0.25
G01 Z0.15 F25.
X1.875 F50.
Z0.1
X-1.875
Z0.05
X1.875
Z0.005
X-1.875
G00 Z1.
M09
G91 G28 Z0. M05
M01

M06 T17 (0.500 DIA. SPOT DRILL)
G00 G90 G54 X-1.1875 Y0.
T18
M03 S11000
G43 Z0.5 H17 M08
G98 G82 Z-0.04 R0.1 F15.
X-0.875
X-0.6325
X0.4275
X0.6325
X0.875
X1.1875
M09
G91 G28 Z0. M05
M01
 
Yes, non-modal codes and especially M-codes that were active prior to the M01 need to be restated afterwards. Same as an M00. Generally that's spindle, coolant, maybe your auger. Modal codes like work coordinates, plane selection, rapid/feed, incremental/absolute will remain as they were.
 
I know how M01 works and I use it for the benefit of ease, but .....

M01 should be added to the end of every tool when its completed it moves. just before the next tool starts. it for safety mainly.

Why?
Why should an M01 be added after every tool?

In my view:
M00 is added when one absolutely NEEDS! a stop at that particular point.
M01 is added when one absolutely WANTS! a stop at that point SOMETIMES!
/M00/M01 is added when one sometimes WANTS one or the other stops at that point.
//M00 or //M01 is added when someone ABSOLUTELY wants something OR SOMETIMES wants something at that point.

To help with some of that:
Haas has a parameter/setting where it issues an M00 after every M06. Fanuc doesn't.
Fanuc ( some of them ) has the ability to differentiate between / and //. Haas doesn't.

I wish they both ( and all others ) have the ability to do all of it.
Then, one can just configure his/her post to do whatever.
 
I know how M01 works and I use it for the benefit of ease, but .....



Why?
Why should an M01 be added after every tool?

In my view:
M00 is added when one absolutely NEEDS! a stop at that particular point.
M01 is added when one absolutely WANTS! a stop at that point SOMETIMES!
/M00/M01 is added when one sometimes WANTS one or the other stops at that point.
//M00 or //M01 is added when someone ABSOLUTELY wants something OR SOMETIMES wants something at that point.

To help with some of that:
Haas has a parameter/setting where it issues an M00 after every M06. Fanuc doesn't.
Fanuc ( some of them ) has the ability to differentiate between / and //. Haas doesn't.

I wish they both ( and all others ) have the ability to do all of it.
Then, one can just configure his/her post to do whatever.

for a few reasons. One safety when setting up a program, or a tool sounds funny so you can stop it before next tool. in case you wanna stop before the next tool so check something(this way you dont have to start your program over again and can just hit start).chips built up on tools... theres a few more.

Remember its optional meaning you have to had the switch on. with it off the program runs to the end.
MOO we use for adding screws and clamps to fixtures, flipping parts etc etc

think of this this way M00 is Mandatory stop you have no control it stops
M01 is optional when you want to make it stop, you had control on if it stops or not.

/ block skips are dangerous on M00 and M01 why would you put a /MO1 in a program its kinda redunant? you would have to have block skip on for it to skip which could be done with just a M01.

My citizen has a M01 option meaning I put it into the program and it will be ignored unless I turn the soft key paramter on. I dont understand that thinking unless it was easier then putting a button on the control panel to enable m01. what sucks is if I think a tool broke I have to switch screens 2 times to find the parm and turn it on. I can turn it on while the machine is running however.(its a older 10t)
 
I have to agree with Delw here.
M01 = optonal stop = turn on at control
M00 = hard/mandatory stop = stops regardless of control settings\

Op stops are for proving a program, M00 (hard stops) are to make sure an operator does something (moves a clamp, removes a bolt, etc)...

As far as OP is concerned, no, normally you don't have to insert another speed command, or anything, but with an M00 you do have to tell it to turn back on spindle and feed (should look into your post settings for this..);...
 
I LIKE to add M01 after every tool change as a convenience. As others have said it is handy when proving a program and it works nice after running a tool that is finishing a particularly tight tolerance feature so that an op can inspect before continuing on if they feel it is needed. Also nice to be used after a particularly fragile tool is being used to ensure it didnt break. Its also handy if the machinist needs to go drop anchor and is not confident in the reliability of the program......
 
I use the M1 for proofing out a program. 99% of the issues happen after a tool change...whether it be wrong speed, wrong tool, wrong height offset, wrong diameter offset, wrong Feed, wrong coolant position...
So I make sure I'm there for each new tool being run by way of the M1. Tool changes, I Hit the Green button and we check and see all is as it should be as tool gets closer to the work with my finger on the Feed Hold and rapids down low...if it starts cutting and all is good I can confidently walk away till the next tool is called, sometimes that can be quite awhile. I can also verify sizes are where they need to be at that time...great for roughing and leaving a few thousandths for the finish tool. Or taking a finished size on a bore before opening a clamping slot where size springs open...or shut.

I also like it when I need to close up on a longer run...hit M1 and machine stops after a tool completes its task. Makes it easier to restart in the morning.

I consistently insert M1 at the end of a tool so the next Tool starts and turns on all the correct M codes.
 
i use M1 where too many M0 will annoy other operators and they will delete them. with M1 operator can always turn off if they do not want the extra M1 stops
.
yes you normally need to turn spindle and coolant on. if in middle of tapping cycle if you add M1 it will tap next hole without turning on spindle or coolant unless you turn on manually or with program. obviously squashing a non rotating tap in hole dont work too well
.
M1 is common with heavy roughing or anything where sudden tool failure might occur and you want the stop for machine to wait for operator to come to control panel. obviously operator can be busy with other stuff (like running 2 different cnc at same time) but with M1 there is less pressure knowing program will stop where maybe operators full attention is needed. sometimes its debatable if stop is needed that why they are not all M0
 
Yes, non-modal codes and especially M-codes that were active prior to the M01 need to be restated afterwards. Same as an M00. Generally that's spindle, coolant, maybe your auger. Modal codes like work coordinates, plane selection, rapid/feed, incremental/absolute will remain as they were.

Thanks for the reply. Non-Modal codes make sense. It would be nice if the Haas manual explained that.
 
Yes as strange as it is I'm using some Niagara endmills that cut in M04. I fantastic ebay find no one bid on due to the reverse spiral. 20 new 1/4 endmills for less than a buck a piece.
 
Why?
Why should an M01 be added after every tool?

I've been putting it in before every tool change since the late 90's and my operators love it.
When I was on a machine,I was usually running more than 1 mill, so if I was concentrating on 1 mill, but wanted to check the next tool on another I'd just hit the M01 button and go back to the other mill.
Handy for situations like that and a number of other reasons.
Does it have to be added? Nope. But having it there is nice when you need it.
 
M1

having a M1 at every tool change would be annoying. other operators would delete the M1's or not having optional stop turned on at all.
.
sure if there are parts of a program that might be risky (probable sudden tool failure) or need operator attention I often add M1. but most programs can go for long periods of time and many tool changes before a M1 might be needed.
.
if i want to stop at next tool change i but tool magazine in manual and since not in Auto mode it will stop at the tool change waiting for Tool magazine to be put in Auto
 
having a M1 at every tool change would be annoying. other operators would delete the M1's or not having optional stop turned on at all.
.
sure if there are parts of a program that might be risky (probable sudden tool failure) or need operator attention I often add M1. but most programs can go for long periods of time and many tool changes before a M1 might be needed.
.
if i want to stop at next tool change i but tool magazine in manual and since not in Auto mode it will stop at the tool change waiting for Tool magazine to be put in Auto

You might want to learn what the word "OPTIONAL" means and then put that in your spreadsheet.
 
You might want to learn what the word "OPTIONAL" means and then put that in your spreadsheet.

a program with 30 tool changes and only 3 optional stops needed it would be annoying to be turning optional stop on and off.
.
i often run programs that run 5 to 20 hours needing 20 to 100 tool changes. spreadsheet often will say at a M1 "you got 1.5 hours til next M1" (many tool changes between the M1's)
that is useful when doing other stuff or running 2 machines
.
M1 might be to check tool or inserts are ok Before heavy roughing or drilling. but other operators might think thats a waste of time. other M1 are just warnings. again it be annoying to be turning optional stop on and off 20 to 100 times at every tool change running a program. many tools run with no problems not needing a M1 stop
 
a program with 30 tool changes and only 3 optional stops needed it would be annoying to be turning optional stop on and off.
.
i often run programs that run 5 to 20 hours needing 20 to 100 tool changes. spreadsheet often will say at a M1 "you got 1.5 hours til next M1" (many tool changes between the M1's)
that is useful when doing other stuff or running 2 machines
.
M1 might be to check tool or inserts are ok Before heavy roughing or drilling. but other operators might think thats a waste of time. other M1 are just warnings. again it be annoying to be turning optional stop on and off 20 to 100 times at every tool change running a program. many tools run with no problems not needing a M1 stop

Again... learn what OPTIONAL means before replying.
 
Again... learn what OPTIONAL means before replying.

Actually. this might be one of the rare moments when Tom is not only on topic, but kind of correct.

What he is saying that having a stop ( optional or otherwise ) after EVERY tool is seldom necessary.
IF you have an M01 after every change, then that stop is no longer OPTIONAL, rather mandatory for EVERY change.
For example, there is precious little need for a stop between a spot drill and the drill or multiple drills that follows.
Similarly, after finish facing the machine really doesn't need to stop before moving onto finish profiling or reaming or tapping.

Hence my comment earlier:
M00 = STOP at every time, no matter what, check the tool or do something ( usually noted in program as a comment )
M02 ( on Fanuc lathe ) = STOP, open door and do something ( again, noted in program )
M01 = Stop when you MAY want to do something ( check size, look at tool, look at chips, surface fin etc. etc )
/M00 or /M01 = STOP when you want to mix up any or all of the above.

For example, when tapping bitchy stuff, I usually put an M01 before the tap to either make sure the hole is clean or to dab oil on.
I also often put a /M01 after the tap to check that it did not break.
If during the course of the run I decide that the post-stop isn't needed, just turn on Block Delete.
If then decide that neither is needed, then I'll turn off OptStop completely.

As for the M01 aiding with the setups ... Well, I try not to ever step away from the machine during setups and first runs.
 








 
Back
Top