G50 in a turning program is a speed clamp. The machine accelerates up to the speed you set (G50 S2000) and will not go any faster.
Now before I get arrested by the “Correct Word and Grammar Police” I know it’s not actually a clamp. The truth is it’s just what everybody calls it, so get off my fuckin case.
Black dog his name is Boris
Anyway if I start to call it something else all my CNC mates (and I do have some) will be confused.
Just check me out on LinkedIn. Anyway as I was saying my mates wouldn’t know what the fuck I was on about.
You must program a G50 before each tool and at the beginning of the program for safety reasons which I will explain later.
It’s Modal
G50 is a modal G code (it stays active). If you have a program where you do not want to clamp the speed you must still put the G50 at the beginning of the program (set the clamp to the machines maximum RPM).
Otherwise it may pick up the G50 from the last program and you may not get the RPM you want. It can have the effect of slowing down production because the speed is being restricted and you didn’t realize.
Don’t use someone else’s G50 get your own.
You wouldn’t wear someone else’s dirty pants. (Americans call underpants underwear I think)
These are mine (sorry I din’t get time to wash them).
Historically G50 was used to set the machine datum. This still works so do not put any X or Z figures on this line. You will get some weird shit happening if you do. Oh and you will probably trash your 100 grand machine.
Anyway how to use G50 on a CNC lathe
G50 S2000 (SPEED CLAMP 2000 RPM)
Some G code systems, or depending on parameters, may use G92 instead of G50. This is not very common but it works exactly the same way.
On a Fanuc control they are called A type and B type G codes and depends on machine tool builder. Most of the G codes remain the same but proceed with caution.
It is particularly useful when you are facing a part using G96 (constant surface speed). When the tool reaches the centre of the part the machine will be running at maximum RPM. This could be very dangerous on large or out of balance components. When you set a G50 speed clamp, once the machine reaches the clamped speed it will go no further.
Lots of software like Edgecam can perform full collision detection. You have a model of every tool and it’s holder. There is full model of the machine and all the work-holding.
Edgecam will even tell you if the flute length of the tool is too short!
Ok so that is all great so far but when we put this program in the machine to run there are three things the machine doesn’t know.
Can you guess what they are?
No it doesn’t know jackpot winning lottery numbers (that would be four things it didn’t know).
It doesn’t know where the part is in the machine coordinate system.
It doesn’t know how long the tools are (tool length offsets).
It doesn’t know the diameter of the tools.
Vital information wouldn’t you say?
So first of all we use the Work Offsets to tell the machine where the part is.
Please don’t worry if you don’t know how to do this after all this is beginners help with tool length offsets .
Your mates don’t know your reading it, you can tell them you already knew all this shit.
So in the picture above we would touch the spindle nose onto the Z datum of our work-piece. This would tell the machine where the part is in the Z axis.
This distance is input into our work offset table (in this case G54).
If we now program G0 G54 Z0 the spindle would rapid down to this position (G54 is where the values are stored).
We wouldn’t do this by the way cos the machine would crash.
Now The Tool Length
What we now need to do is take into account the length of the tool.
We would measure each tool length and store it in our tool length offsets file.
This is how they look on a Haas Machine
This tool length offsets file stays in the machine and is independent of your CNC Programs. So now any program can access this file.
So how does it do that?
It uses G43 and G43 says “ok get me a tool length offset”
G0 G43 Z3. H1
Which tool offset?? Well that’s the H number.
So the line above says to the machine rapid to Z3. Oh and by the way allow for the length of Tool 1 before you get there.
That’s the H1
So it gets the tool length from the tool length offsets file. It then does all the maths for you.
Actually it’s just a bit of simple arithmetic. Your (G54) work offset) minus your tool length.
Your tool will arrive 3mm above your component.
So whatever tool you called into the spindle with your M6 command you need to use the corresponding H number.
M6 T5 (Get tool 5 in the spindle) G90 G0 G54 X0 Y0 S1500 M3 (Rapid to X0 Y0 and start the spindle) G43 Z3. H5 (Rapid to Z3. but allow for the length of tool 5)
How do you measure the tools?
Well some people use a bit of paper!!!
And some buy one of these little babies.
“It’s just a light on a fuckin stick” I hear you say. But it’s so much more. I comes on at an exact distance above your part. And because it’s all spring loaded, if the tool carries on a bit it don’t bust anything.
Only cheap but do a great job.
And if your a very good boy you might get one of these for Christmas.
Auto tool measurement (yes it’s all done for you)
In the cases above we are storing the actual tool length in the offset file.
Now let’s take a look at that tool file again.
Some of my readers are very astute but before you start writing me an email or commenting on this article. “oh David it looks like you fucked up again”
I know……
Why are the tool lengths (Under Geometry) minus figures?
That’s because as always there are several ways to do this. What some people do (and I am not one of them) is……
They bring each tool down from zero return and touch on the part. This figure is then recorded in the tool length offsets file. And yes it’s a minus figure. Of course the G54 work offset would be zero in the case of Z.
Now I am not prepared to argue with you about this (your doctor told me not to). It’s just bad.
That figure has no relation to the actual tool length and you need to reset every tool for every Job!!
I’m saying no more I’ll just wait for the comments.
There is Only One Way
Actually there is something else to consider. (I know I
said I’m saying no more).
By setting your tool length the correct way (my way), the stored offset is the actual tool length and you can do a rough check with your steel ruler before proving your program.
Auto tool length measurement will always give actual tool length and so will a tool pre-setter. That means you can swap tools between machines.
Well it’s easy. Mazak machines have active offsets so the minute you do a tool change and get your tool in the spindle the tool lengths offsets are active. They also nearly always have an auto tool measurement system
.
Sorry if you are a Mazak user and you are thinking “this dozy bastard has made me read all this gratuitous shit for nothing”
Now’s the time to leave. Go on off you go.
Ok so what.
Mazaks also do this…….
When you write a G code type program for a Mazak you don’t need a G43 and you don’t need the H
M6 T5 (Get tool 5 in the spindle) G90 G0 G54 X0 Y0 S1500 M3 (Rapid to X0 Y0 and start the spindle) Z3. (Rapid to Z3. but allow for the length of tool 5)
Forget the G43 H5 shit…. soooo easy.
Those Mazak guys just don’t believe in stating the obvious and wasting your precious finger tips typing in a load of bollocks that the machine should know anyway.
Just remember you can change this by parameter if you want it to work the same way as your Fanuc or your Haas. Oh and you don’t care about increasing your carbon footprint with those extra finger presses.
That way you can put programs from your Fanuc into your Mazak and vice versa.