We all know that programming can be complicated. So let me explain to you how it all works. This article explains the real meaning of Modal and non modal G codes.
Modal means that once a command is issued it stays in the control.
How Can you Actually Use This?
If you issue a G0 or G00 command the machine is in rapid and you do not need to re-state it.
Rapid means all motors are flat out, like a teenager in a Ferrari.
Every move from then on will be a rapid move unless you tell it otherwise. The G code that changes it must be in the same group. For example G0 G1 G2 and G3 are all in the same group a bit like The Beatles used to be.
The other day I was talking to a “young person” who hadn’t even heard of the Beatles. I mean fuckin hell, am I really really old or are they doomed to be forgotten?
G92 threading Cycle is something that concerns me. It’s sadly neglected. Now I know you’re probably saying “no one uses that old shit anymore”
Well you could be wrong.
G92 Threading works exactly the same as G76 except you need to programme every pass. This would be a pain in the arse but hear me out.
The Haas G76 cycle does not have any facility for a spring pass. This is where you add extra cuts at the end of a threading cycle to take out any metal left from the tool pushing off.
On a Fanuc control you can put these extra spring passes in as part of the G76 cycle.
Today I got to train someone on a Haas SL15 Lathe, it had live tooling and a sub spindle.
It also had a bar-feed.
Not worked on one of these for a while. Tell me why on earth don’t other companies look at the pragmatic approach that Haas take to CNC Machining and copy it?
Say what you like about Haas machines but they have an incredible knack of shattering the bullshit and making stuff easy.
Here are two massive ones.
G112
G112 tricks the Haas SL15 CNC Lathe into thinking it’s a machining centre and that it can mill.
It’s like gender identity for CNC Machines. But, and this is the “for fuck sake bit”, on most machines you have to program it like a machining centre but then when your done you need to double X and switch all the Y’s for C’s.
Sounds simple but in practice it’s a shit storm, specially when programming G2 and G3.
When Mr Haas invented the Haas SL15 CNC Lathe he must have looked at this and laughed. Here is a really clever idea. We’ll trick the machine into thinking it’s a machining centre and here is the clever bit. We’ll keep up the facade.
So you make a milling program (XY) and then……. you leave it that way. How incredibly clever is that?? Mmmmmm
When you use tool nose radius compensation on a CNC Lathe (that means we are using G41 and G42) you have to tell the machine where the cutting point of the turning tool is so that the correct tool path is produced.
On a CNC Milling machine the cutting point is the centre of the tool but on a CNC lathe there are numerous choices depending on how the tool is going to cut.
This is sometimes known as the virtual nose position or the Tool Cutting Point. It is usually shown in a square diagram like this.
It is designated by a number from 0 to 9. On a Haas control this is under the column TIP on a Fanuc control it is usually under the column T although it is different on some controls.
You would be forgiven for thinking that T stands for tool and that it is the tool number (sorry it aint). Mmm I dunno the jury is out on this one.
On the offset page your machine will need to know the X and the Z position of the tool. If you are using a Tool Presetting arm or you want to use tool nose radius compensation (and you definitely should) then you will need to input the Tip Radius under the R column and the Virtual Nose position under the T column or the TIP column on a Haas.
So when you use CNC Lathe Tool nose Radius Compensation the computer will allow for the radius that you specify for your tool. The cutter path will also use the cutting point that you specify.
Below is a tool measurement arm. This can automatically measure a turning tool. It will need to know the type of tool in order to measure it in the correct part of the square. This boring bar would be a type 2.
So here it is folks and remember……..
“Like***Share***Comment***and***Subscribe to my video channel”
I am always amazed that so many companies still don’t use G10 in their CNC programs. If you know you know.
I must admit I fuckin hate a lot of the things that young people say like “can I get a Latte”. (Get behind this fuckin counter and make it yoursef if you want to “get it”).
Anyway I kind of like “If you know you know”
No G10… Is this you?
I am sure you have your reasons which I will accept. But if your reason is that you don’t understand it then that’s just not good enough.
So you make a part, it’s all setup and you need to break it down.
If you can fix the work holding in such a way that you can reload it in exactly the same place then you need G10.
Let me explain, watch this video to see how single point location works.
G10 No need to spend loads of money.
You could just bolt a sub plate to your machine table so that vices and chucks etc can have dowels to locate them.
But the main idea is that you can relocate your work holding in exactly the same place every time.
Using G10 on a Fanuc Type Control
This is your work offset page on a Fanuc control.
These figures are written in by hand or by automatic setting.
If you had written this line in your program.
G90 G10 L2 P1 X-440.500 Y-265.200 Z-443.00
They would have been written in automatically when you ran the program.
So the work offset page could have any values in G54 but as soon as you run your program this G10 command will replace them with its preset values.
Make Sure Your in Absolute
Try not to forget the G90 (Absolute) because you may accidentally be in G91 (Incremental). What would then happen is it would add these numbers to what is already in the work offset. Oh dear me.
In G90 it will always replace them.
You can write to G54 G55 G56 G57 G58 or G59 just by changing the P number.