You haven't specified the arc center in the G3 X.950 Z-1.0 line.
Needs I (x center) and J (Y center), or R but I never use R.
I and J allow a full 360 degrees in one line.
I am trying to run a part on a Haas SL-20 and I cant seem to get around this error. It tells me that I have Non-Monotonous error, I believe type 604 somewhere between my P and Q blocks and that I should increase my arc radius. I'm just learning CNC programming and this is probably something simple, but I've yet to figure it out. Here is the G-code I have between the PQ blocks:
......
G71 P10 Q20 U.O1 W.005 D.03 F8.0
N10 G42 G0 X0.0
G1 Z0.0 F8.0
G3 X.250 Z-.125 R.125
G1 X.325 Z-.4375
G1 Z-.656
G2 X.4187 Z-.750 R.0937
G1 X.6063
G3 X.700 Z-.8437 R.0937
G1 Z-.875
G3 X.950 Z-1.0
G1 Z-1.25
G40
N20 G0 X1.2
G70 P10 Q20
M9
G28
M30
%
So any ideas what needs to be changed in there? I have the feeling it has something to do with the 3/32" radius' of .0937, since that is actually rounded from .09375, but what would have to be done to accommodate that? Or maybe it's something completely different. Any help would be much appreciated!
You haven't specified the arc center in the G3 X.950 Z-1.0 line.
Needs I (x center) and J (Y center), or R but I never use R.
I and J allow a full 360 degrees in one line.
Super X3. 3600rpm. Sheridan 6"x24" Lathe + more. Three ways to fix things: The right way, the other way, and maybe your way, which is possibly a faster wrong way.
Non-Monotonous can also refer to a part profile that is unacceptable to the control. The older controls couldn't get bigger in diameter then smaller in diameter, they could only go in one direction once the coordinates start. Looks like your program is good in that regard though, so it might just be an I,J,K error that is getting covered up since it's part of a canned cycle.
I just thought that was worth mentioning in case you have an older control that can't handle continuous X changes.
Last edited by Ydna; 12-01-2010 at 10:37 PM.
Hi ... the problem may be with the cutter compensation in the canned cycle ... if this is a roughing cycle, I would suggest taking the cutter comp out and leave enough for finish to take care of any small error caused by the toolpath / TNR difference ... use cutter comp on the finish pass to ensure accuracy.
If you really need to use the cutter comp ... move the start-up block and the G40 to outside the P and Q blocks ... activate the cutter comp before the P block and call the G40 after the Q block.
As stated before, this error is usually caused by controls that can't handle shapes where the X axis is not constantly growing for an OD or shrinking on an ID ... the difference between the Type II ( which can handle non-monotonous ) and Type I ( which can't ) Fanuc canned cycle option.
You can "turn on" the Type II cycle ... if you have it and this is the problem ... by adding a Z move on your P line ... this is what tells the control you are activating Type II ... I would suggest an incremental Z move of 0 using W .. like :
N10 G42 G0 X0.0 W0
Hope this helps.
Real World Machine Shop Software at Kentech Inc. - Real World Machine Shop Software
In the block of code you posted, it has to do with the R0.0937. That radius is smaller than your Z moves. Double check your numbers. I might even try using 0.094 for the radius and recalculate your numbers. The radius can be bigger than the X or Z move and still work. It just can't be smaller.
Good luck,
Mike
Thanks guys, all very good information for a starter like me! I am going into the shop tonight, I think I am going to try increasing my R to .094 for starters this time around. In the future I am going to start trying to use I and J more often, it sounds like it can simplify these types of things in the long run.
Did you get your program running?
Your primary error is that you had the Z movements in the G02 and G03 wrong and you missed the R in the final G03.
You have:
G1 X.325 Z-.4375
G1 Z-.656
G2 X.4187 Z-.750 R.0937
Which is not possible in the G71 cycle because the R is too large for the change in diameter. From X.325 to X.4187 the change in diameter is 0.0937 but the change in radius is half this at R0.0469. So you need to change the R from 0.0937 to R.0469 and change the Z in the G02 line to Z-0.7029 (then add a G01 to Z-.75).
Further down you have a similar mismatch between the change in diameter, the R value and the Z movement in the interpolation command.
I converted your segment of code into a little program and checked it on my Haas Simulator and this runs okay and I think it gives the profile you want.
%
O00001
T1 M06
G00 X1. Z0.1
M03 S1000
G71 P10 Q20 U0.005 W0.005 D0.03 F0.005
N10 G00 X0.
G01 Z0. F0.005
G03 X0.25 Z-0.125 R0.125
G01 X0.325 Z-0.4375
G01 Z-0.656
G02 X0.4187 Z-0.7029 R0.0469
G01 Z-0.75
G01 X0.6063
G03 X0.7 Z-0.7969 R0.0469
G01 Z-0.875
G03 X0.95 Z-1. R0.125
G01 Z-1.25
G40
N20 G00 X1.2
G70 P10 Q20
M09
G28
M30
%
Notice I took out the G42 command because my Simulator will not read G42 in a G71 cycle. Your SL20 may be able to read it if it has newer software or you need to adjust your U and W for the G71 to leave enough material there for a compensated pass in G70 as BlueChip suggests.
Non-monotonous errors in G71 are often diffcult to fix because you don't know on which line the error is. What I do is write the PQ block and then run it in Graphics with the screen zoomed in. This way you can see if something is going funny in the G02s and G03s with the toolpath changing direction in either X or Z.
Incidentally you also had an error in the feed, F8.0 is a mill feed not a lathe feed.
An open mind is a virtue...so long as all the common sense has not leaked out.