I've simulated it and it looks fine on "paper". Is the code you posted what's actually in the machine? Some folks type in the program and it's different from the real thing.
What value do you have in D68?
Ok, so I'm starting to get the hang of using tool compensation for milling, but iIm coming up with some strange issues, and I am completely lost.
Below is the program I've got written up, makes 2 parts, angle cut on the right side (from operator position), and puts 2 radii on the back side (as well as trimming to length between the radii). Also drills a .531 hole on the top left of the part.
Problem #1. for some reason the radius is...strange. I'm getting a slight angle leading in from the front followed by a partial radius, and a similar pattern on the back radius (as if my math was wrong on the entry or exit from the rad.)
Problem #2, and this isn't even remotely because of the compensation, but the holes' X location is off by .080. I could see this being so far off if the part was also .080 off in length, but it is within .003 of 16.607, as such, I'm confused.
Anyhow, here's the program. Keep in mind, I am self-tought, no schooling, and have been programming for only a little over a year. I welcome any criticism, but chances are, trolling won't phase me a lot.
%
O3534(13534 MBS)
(SUB P#O0034)
(T#18 H#18/0.5 EM)
(T#19 H#19/0.531 CARBIDE DRILL)
(X0.0 RIGHT SIDE OF THE PART)
(Y0.0 IS THE CENTER OF THE PART)
#502=[[#3001*0.001]/60]
#503=[#502-#501]
#3001=0
N1(60 DEG CUT)
G00G80G90
T18M6(EM)
S2000M3
G58X-1.5Y1.95M7
G04X1.5(COOLANT PAUSE)
G43Z1.0H18
M98P34
/G00G80G90
/Z1.0
/G59X-1.5Y1.95
/G43Z0.1
/M98P34
G00G80G91G28Z0.0M5
G90G49M9
N2(DRILL)
T19M6
G00G80G90
S1580M3
G58X-15.732Y0.5M8
G43Z1.0H19
G98G81Z-0.91R0.2F18.
/G59X-15.732Y0.5
M5
G00G80G91G28Z0.0M9
G90G49
G53X-6.0Y-0.25
T18M6
#501=[[#3001*0.001]/60]
M30
%
%
O0034
Z0.1
G1Z-0.375F40.
G41D68X-1.58Y1.52F15.
X0.Y0.65
G40X0.25Y0.88
G0Z0.3
X-1.5Y1.85
Z0.1
G1Z-0.8F40.
G41D68X-1.58Y1.52F15.
X0.Y0.65
G40X0.25Y0.88
G42D68X0.Y0.63F20.
X-1.58Y1.5
G40X-1.5Y1.85
G0Z0.5
X-15.977Y-1.85
Z0.1
G1Z-0.8F40.
G41D68X-16.227Y-1.5F20.
G2X-16.607Y-1.12R0.38
G1Y1.12
G2X-16.227Y1.5R0.38
G1G40X-15.987Y1.85
M99
%
Similar Threads:
I've simulated it and it looks fine on "paper". Is the code you posted what's actually in the machine? Some folks type in the program and it's different from the real thing.
What value do you have in D68?
I would have to agree with dcoupar it sounds like the diameter value you have entered into D68 may be incorrect or maybe there is a wear value that wasnt removed. i looked at your prgm quickly and nothing jumped out as obviously wrong.
I've got 0.25 in offset 68. Took a closer look at the parts made prior to using tool radius compensation, and they have the same effect. I have successfully duplicated parts that I am not happy with, and in the process, made myself realize that I don't like anything that has been run. Prolly shouldn't keep this in the same thread, as it has nothing to do with the subject anymore, but yeah.
Some days
Also, I am not aware of a wear compensation on this controller, It's a Fanuc 11M (though i do remember seeing something like that on one of the newer ones where i used to work)
Oh, and yes. That program was pulled through the DNC from the controller right after program operation, no changes made.
Let's get the basics right first, eh?
WTF did I just read?
"#502=[[#3001*0.001]/60]
#503=[#502-#501]
#3001=0"
Your machine is doing exactly what you are telling it to. You have programmed a slight angle followed by a radius on both sides of of the flat portion. Also not sure why you went back to conventional for the last pass on the angle but maybe you have a good reason for that.
Back story on that: I am a very competative person, and am usually driven by competition. Around here, there isn't much in the way of competition, so i have to compete against myself.
#3001 is a system timer that can be reset with the line #3001=0. using that, i have made a timer that reads out in minutes, and covers my cycle time, idle time, and total button to button time, and in most programs, i have it throw the last one up so i can compare last to present button to button. Also helps out with mods to programs, as i can see what timing changes have been made.
Yeah, I always assume the machine is doing what I tell it to, the problem comes in when it doesn't do what I expect, because IO'm not 100% on what I'm telling it to do in the first place
The problem, however, is on both radii, only on the lead in to the radius. on the second radius, there is a slight slope, followed by what i can assume (eyeballing) as about an 80deg radius. Hopefully i can get enough screw off time tonight to post a picture, i know it's hard enough diagnosing over the internet, I try to aid as much as i can.
Thank you all for backing the thought that i managed to learn another step in programming without screwing up some decimal somewhere
Yeah I know what you mean. The problem is you didn't give it the proper lead-in for your tool radius. So when you are leading in at that funky angle it picks up the radius and sense your tool is round and not a sharp corner you are gettin a partial radius on the lead-in and lead-outs. I hope this helps.
Anything that is said helps in some manner or form...
So, are you saying that the besy way to lead in and out of the rad is with at least tool dia (that is actually spelled out in the manual), and at an even amount? like if i'm .500 away on x, i should also be .500 on y? Thats how i understood "funky angle", but it could be that i just need to approach from the x axis only (that thought crossed me as well). Getting ready to start my weekend, and i've been working on engineering parts all day, so I'm pretty burnt. Put this project off till sunday night
Thanks for the help though guys, it is appriciated.
Your start-up and cancel blocks should be fine, even at the "funky angle". Many folks program a 90 degree move, and many program an arc lead-in/lead-out to minimize dwell marks/mismatch.
At the end of the start-up (G41) move, the tool should be offset normal to the next move. In this case, the position should be X-16.227, Y-1.75. You should check to see if this is being performed correctly.
Also, check the position at the start of the cancel (G40) move. It too should be offset normal to the next move, X-16.227 Y1.75.
Parameter 6001 bit 0 controls how the tool moves in the startup and cancel blocks. It sounds like your control may be set to 1 (B-Type). If so, try setting it to 0 (A-Type). Not sure, but might be worth a try.
I might be confused here but I thought he wrote the he programmed the path as the edge of tool and is running his cutter comp at .25. So the path you have show is from tool center. With the way he has it the tool will not go all the way into the corner and he'll get a partial radius on the corners.
True, pictures would help. He hasn't been back so maybe he figured it out and is blowing us off.
Oh come on guys, i couldn't blow you off
Just having difficulties with a lot of things, not this part related. I came in sunday night to find that suddenly these parts that were hot as hell were no longer neccessary for the time being, so I havent gotten back to playing with the programming much, also, new laptop, and diablo 3, so work at home is minimal
I do appreceate everything you guys are posting on here, I didnt expect quite this much help.
To address a few things, I had assumed that cutter comp took the rad instead of diameter of the tool itself? I wouldn't think so, judging by the outcome, but then again, I've been wrong a lot.
2 modes of comp? I tried to dig a little and couldnt find what the difference would be, but I will verify the parameter when i get the chance.
Also,
Hopefully I did that right and there's a picture somewhere on this page
Hard as all get out to see, but i put a line across where the "jump" is, when it seems to go from a G01 move to a radius.
Sorry, all I have to work with is a halfway decent smartphone
the cutter comp offset value D is normally the radius of the tool (so 0.500" tool means D=0.250)
however it can depend on the parameters. some of our machines are set to diameter and some are set to radius. to know check the parameters or take a test cut and measure the part. but the normal way is a radius value for D.
I would think that if the control was compensating for the diameter, a 0.250 value would be offset only 0.125 and cut the part too small. Also I couldn't find a parameter for changing whether it's comping for D or R for the M series (6002.2 does this for the T series).
Also, did you ever figure out why the 0.531 hole was off by 0.08?
I think you should try an arc lead-in. I'm pretty sure this will solve you problem.