I have learned so much from your channel and your courses. I build my own cnc machines, I now have my wife and ten year old daughter involved and they are even learning to program and run them. We use Fusion 360 and Mach 3, I hope to someday afford a tormach or a smaller haas. But for now we are having a great time rumning our home made machines.
Nice follow up to the G53 thing, Titan. What you do rocks, I teach the younger guys every chance I get. I am primarily on Haas machines but I do run a G & L that discovered America before I did back in 1973, with a control by Power Automation. I am a programmer and machinist in a decent sized fab shop. On my Haas mills, I usually end my programs like this and only vary it by table travel in X. This usually follows my last milling move or a G80 canned cycle cancel. G0 Z2.0 M9 G0 G53 Z0. M5 G0 G53 X-25. G0 G53 Y0. M30 Keep it up, Titan! That's how it's done, folks. Take note...
I think it´s important to know, that the G53 refers to the reference point of the machine. So the G53 values only can be 0 or a negative value. For example: On the HAAS lathes the reference point is in the right top corner. So just can travel in X- or Z-. G53 G00 X-100. Z-250. (values in mm) is kind of standard tool change point in our shop.
G28 wants an intermediate point to go to, that's why everyone uses G91, which specifies the current position as the intermediate point and goes directly to its reference home (zero) point. You could also specify a value in absolute as the intermediate point, so in essence, you could specify G90 G28 Z8. and the machine would go to Z absolute of 8" above the part. This is useful on axes that don't have an incremental axis designation, like the B (transfer axis) on most lathes. Personally, I like to set a transfer position zero at the face of my part (B0), so I could use G28 B6. To make sure my intermediate point is 6" away from my B reference position and everything zero returns just fine. Another way to do it is set up an incremental axis on the control and just use that with the G28 (again, talking lathe here, g code system A). Problem on a lot of machines, lathes especially, is that if the reference marker isn't lit up, the machine won't run, even though you commanded G53 B0. G53 doesn't light up the home reference marker like G28 will, even though it's the same spot most of the time.
Sage advice sending the spindle home before you perform any other moves. Another thing to watch out for is to make sure the guy running the machine before you took it over, didn't manually put a work shift into the Z work coordinate. If you think you're going to jump up 1.0" above the part, if there is a Z-3.0" work shift in Z, you'll dive 2.0" into the stock. You do a great job teaching Titan. With all the variables, and so many different machines and controls out there, it's up to the operator to safely prove out new programs and set ups before letting it rip.
Why all the complication? As long as the machine is in G90 (absolute), G53 is always a safe bet. G28 is a recipe for a crash even if you know what you’re doing. Additionally, G53 is non-modal so it only works on the lines you command. As many others here have said... ..... ..... G0 G53 Z0 G53 Y0 X.... M30 Or better yet, command a tool change to the first tool in the program in lieu of the G53 G0 Z0 Line of code. This will guarantee the machine goes home in z first.
Exactly, g53 is machine coordinate system. Same on all cnc's with g and m code. G28 does not always work the same from machine to machine which can cause a crash. Never use g28!!!
G53 is more of a small VMC and lathe thing, to get the tool change to clear the work. Sometimes to rotate the b axis on an HMC if you don't want to send the table all the way home. G91 G30 Z0. Will home every machine in the shop. Forget to put it back in absolute? G0 G90 G54 x y Call up your work offset after every too change. Then anyone can start at any tool without calling up the work offset in MDI.
Thanks! Never heard of G49 or G53. Just a side note, I've ran a few different machines before that did not use a probe or tool setter and the programs ended G91 G28 Z0 G91 G28 Y0 and never had any problems. ALWAYS Z0 first though. I also recently started putting G90 before the M30. Good practice.
Agreed. If you change out the G28 Y0 for a G53 X-30. Y0 Of course after the G90 You can have your table position itself differently based on where your views are... by adjusting the X
I used to combine multiple programs with a pause between to change out finished parts with raw parts, add parts to empty or completed run, to blow out 2 or more orders of different parts on more than 1 work fixture on the table. Normally they would only run 1 program start to finish at a time. Know your code, it will do pretty much everything you tell it to do. Awesome trade!👍😎🤘 I also had to work with .0002, quite snug.
@@boru-cnc G49 is tool length offset cancel, it cancels the offset called in the G43 Txx block. It's not necessary in most modern machines as a Txx M6 will cancel the offset but many people still use it for continuity. When running G-code sub on a Mazak mill with the parameters set to read the Mazak tool file based on the Txx call you don't need to use a G43 or a Dxx when using cutter comp, it just assumes you want to use the values assigned to the called tool number. If you cancel the Tool length, G49, the spindle will immediately at current rapid settings move to the position the tool tip use to be in.
Maybe add some annotations or notes to help explain what you’re talking about, all the talk of g this and g that might confuse some people if you don’t show what each g code does at least once
👍🏻. Maybe a video on proving out a first run program. Using the 5% rapid. I like to teach feed hold when the tool is near the part and read the next lines of code to prevent an experience. Always keep a finger on feed hold. Reading the program heading (Fusion360) take note of the max Z depths. Knowing it’s ok to hit E-stop. When making an offset, do the math in your head before you punch in a number. That way if a different number appears, recheck your offset/math.
By most Fanuc & familiar you can create your own safety z+ Macro, by example G53.1 In this, all your safety Codes can be defined. So once done correct you will never forget something or make a typing error. You also can fix that in your PP, if you programming with a cam.
I'm not sure why everyone makes it so complicated: (all numbers in metric) T1M6 (First Tool OR if you got only a 1 Tool Program, then) G0 Z100(any value that you are comfortable with, to shorten the distance to the workpiece) G28 Y0 (back to the reference point in Y) G54G0X0 (Reset your table to a point in X where you like it, choose G54 to G58 or extended number for your machine in case you work with multiple offsets) M30 (done, easy and smooth, w/o any danger to any machine) Probe or not, tool length in + or - doesn't matter as long as your G43 is in action G53... never used it on any machine, but if you like it, do it.
TITAN your my hero bro! Knowledge is power, been CNC Programmer, Setter an operator for 11years in current job and conventional machining up until, since I started my toolmaking apprenticeship in 1995... Just need to say that I love engineering and I'm still learning every day bro. Keep up the great content, great to see someone sharing the tricks of the trade too many ol school crew don't like to give their secrets for free and your just blowing it wide open... Love it bro you seem a proper good geezer and could do with a few more Titans out there,especially over here in the UK. God bless you n ya family.
Although we primarily use Gibbs cad/cam and never had issues it’s good to know what affects gcode has. Not a gcode expert by any means but we are pursuing the American Dream with 9 industrial cnc’s in our shop making our own parts.
I learned CNC on Fanuc /Yasnac controlled machines in 1985 - at the time work offsets were new and a option $$$$ so we all were using G91 G28 Z0 to go home, Some of us were taught G49 in there as well but not everyone used it. Then came G54-G59 work offsets the original 6 (like the NHL) - I think Fanuc thought who would need more than 6 work offsets? But we still went home with G91G28Z0 - force of habit and we most of use did negative airgap tool touch off. Some people picked up on G53 work coordinate system. I use both ways and its stated in the 2017 Haas Mill Work book under "two ways to go home" . On your post processor if I can I will tweak the code so it comes out the way I like - like adding a G28Y0 at end of program. or putting a Slash in front of the M8 so I can block skip the coolant instead of chasing the button on a dry run prove out. G43 H2 Z1.0 /M8. I prefer to rapid the H line to Z1.0 as me or anyone can see if we set the tool offset correct - then rapid to Z.1 and do your thing. I am not a fan of a 3 axis entry or exit move from or to home (like Titan says) Looks cool but ??
The cnc manager/engineer retired so it's just me and a replacement engineer that has no machining experience. I went to NTMA years ago but was working as a manual machinist until this year when I transferred. Now I get to run a haas tl02 and a Bridgeport xv1000 mill. Hopefully soon they'll give me a computer and start doing cad.
G53 works only on Haas. I always rapid 1 inch above my part before i send it home. Its always good practice to add safety line before each program. Aaaaand..... We use Zoller to preset our tools.
I use a macro to set G28 as G8 which sends everything home and G6 which only sends the spindle home helps out a lot with less thinking and operator crashes
Good stuff bud... You know what's got me in trouble a few times (close catches, Lol) Is a damn G99 drilling down in deep pockets... I forgot to go back to G98 in the modal group... Boom! Lol!
If your running a Gantry Router like a haas GR-712 dont use G28 use G53 and always send it to a positive number because 0 is at the tool changer level and the machine has another 4 inches in the positive direction of Z travel granted this is only needed when using longer tools and taller parts. Currently the post codes in fusion 360 don't support Haas Gantry Routers in this area (Z0 being to low in some cases) but you can manually set your G53 height for the start of the program but once a tool change happens it goes back to your x,y location before going back to z4. or where ever you need it to be so manually adding in G53 Z4. after tool changes is a temp solution unless you know how to fix that in the post code :P
If you're in there typing code you might as well just re-call the programs first tool at the end. M06 will put the Z safe plus grabbing the tool ahead that's two things you'll need when restarting your program anyway. Then bring Y home and M30.
my mori seiki will alarm if the machine is not at the z home before reading the m06. my hardinge was the same way. my okuma will send itself to the predetermined tool change height. my point is that all machines are different.
In Heidenhain, we use G91 as as machine park position, so Zmax, Xtablecentre, Ytable forward. So the end of the program would be: Z0 M91 X0 Y0 M91 M30 Is there not something similar for Fanuc? Alternatively TCALL 0 would at least lift the spindle to Z max.
i use a zoller tool setter a g49 will crash every time just add a m6 before your m30 or m2. G28 z0 will also crash when using a tool setter in less you have your offset on the same line like g54 or h01 or e1 offsets
I just use G53 Z60;(mm) G53 X-750 Y0; M30; on the HAAS UNC 750 I run and the same for other haas in the factory but with the different X- value, I use the regardless if the machine has a probe or not.
I just manually bring the table to where I want it for the end of the cycle and then put the corridinates after the G32 and before the M30.. super easy or some times I use G28 X0. Y0.
I tend to as well but it isn’t the fastest efficient way. For us it doesn’t matter we’re not racing to get it done at super speeds but a lot of shops are especially job shops they don’t make money unless they optimize.
Always enjoy the home position 4 Xtra safety, but was is better 100 percent approach ( after DRY RUN ) To start the wicked program that you created & let those chips fly 300K a just deserve for a FREE info on modern engineering
Hey titan i understand it completely ive just got a random question you use alot of face mills and solid carbides, do you ever machine with tip cutter likes 25mm and below or once you get to that size you only use solid carbide. We use alot of tipped cutters at work small ones just wondering how you run yours if you use them thanks
Hey titan You’re forgetting one thing bud There is also two different CNC machines as far as Gcode I think it’s Conversational example monarch mill( old machines) might confuse vs new Gcode example haas okk Both use g and m codes however conversational machine ask what you want to do.
Why not eliminate G49 all together? In all the machines I’ve ran, we’ve never used G49 at the end of an operation. Z1. M09 G00 G91 G28 Z0 M05 M30 Have never had an issue with that at the end of my program whether there’s a + or - height off set. Your next tool will call out G43 and cancel out the precious H offset. Which eliminates the need for a G49 at the end of each tool’s operation. I only have a G49 in the safety line at the beginning of my program.
Oh yeah , I once crashed my machine, because if m91 in heidenhain , got quite a long program that I needed to check and change before starting from someones else machine and didnt notice that m91 at the end , my machine went to home position Z0 , that means straight to the table .. scared the shit out of me ..
Hey Titan i had a discussion with one of my class mates about where you set the Z offset i said that i always if it is possible set it in Top of the stock so all my pockets and bores would be -Z, and he said that he always puts Z 0 on top of the jaws where his part is clamped in. What do you suggest when where and why do you set your Z offset? Greets from Germany
You need to cancel G43, tool length offset with a G49 also for maximum security. Rule number 1 in CNC programming: If you turn it on, turn it back off. G43 offsets are modal, always turn them off. This is how the G53 block should look. G0G53G49Z0.; Guaranteed it goes home then. You should always cancel tool length offset. Not a fan of G28 G91 at all. Mainly because you have changed to incremental positioning and now you have to remember to change back to absolute positioning with a G90 AND you will need a G90 at the beginning of every tool, instead of just on the default block at the beginning of the program. G53 keeps you in absolute at all times and you only switch to incremental when you ACTUALLY need it. Just make sure your G49 is in the same block or the Z axis will be going somewhere you don't want it to. Also, this is only for milling machines. Lathe programming is a different style of coding...
Swiss (citizen) machining you can utilize G53. Guarantees your z start position is always correct, especially if you multi chuck parts longer than the axis stroke.
Hello my friend, excellent all your materials. I have cnc kiwa kh-4100kai and I have couple errors. E3018.3: spindle tool is empty E3060.3: please reset NC Thanks for any help
how many shops get g code made manually? Where I work, I design it, then toolpath it and then the CNC operator will look it over and change feeds and speeds, and sometimes change paths, then he will post and set up the machine. I don't think anyone has ever done manual modification of gcode at my work.
Want to know what else will crash your machine if you're using probing and you do a separate probe of z and then do a probe of XY and then realize you have the same z starting point for all of your parts so you want to skip the z probing, so you put the forward slash in front of everything on the z-probe.... And guess what happens?? It plunges your probe right into your part and breaks everything!
Enjoying the breakdown, one thing I would like to suggest is doing simulation type of view when explaining. It's not the imagining part that gets me it just sometimes some machines we don't use but I love to take the approach or same concept on others. Which the sub programming I'm getting more familiar but with DMG machines like Sprint 32 or CTV250. But don't change anything just add some more insight please and thank you
As I wrote below that video, I use Heidenhain as main controller. The only thing I still don't understand that why G43 and G49 still exist on Fanuc based controllers. In my opinion these codes have to be included when changeing the tool in the spindle. This little code can cause a lot of trouble for a lot of people. On HH with Tool Call you have the lenght and radius correction with the working plain instantly. Does anyone have any idea about this?
Ive worked with Haas machines for about 8 years and ive never had a practical use of not using G43 and calling out H and D of the tools. As a matter of fact it not beeing used caused broken tools, broken probes and broken parts. Theres even an optional alarm message you can use that shows up when your H and T numbers dont match.
How do you run a gcode program in the air? I'm taking a CNC class, ironically, they just make us look at the manual but being the first time working with gcode...I would rather do an air run first. Would be a great video!
LOL.I started running CNC when we used punched tapes to feed the program. I think that conversational programming crashes more machines. That or overconfidence. Not sure which.
Can you call up a macro within the prog convo ?... I used to write macros with all the relevent G's & M's within which saved time for dimensional inputs... ps been a while since i've been at a control.. old guy..
I hear thsi title. I tink: Z -1 R0 FMAX M91 If you forget M91 it crashes. If not, the machine will drive to Z-1 from the machine Zero Point. Crazy- If you see it first. :D
@@saweks9919 Just seems like they need to take advantage of open API's. The reason why the language is so condensed is because of the interface. If you could use a full editor with code completion the programs would be much more universally readable.
@@davidcornwell6912 Which is why I'm wondering why they have not moved the interface onto external devices yet. Best example I saw was this czcams.com/video/ye1m8Y_LmXU/video.html, and it was them just using a VNC where they cannot input any data into it.
@@icodefor Safety is one reason. I run CNC machines (lathe most of the time, with a fanuc controller), and I would flatly refuse to operate or tend a machine that had any sort of wireless controller, or initiation of programs without a key locked toggle on the panel to disable it. I mean, I had a #4 centerdrill rammed through a finger (spindle not running, just a MPG someone pressed a step size select on. I've heard of people removing tag outs on injection molding equipment and nearly crushing others. And sadly, many, many shops disable the door switches, or make bypass keys for them, so that isn't a panacea.
Always duble check yehr :D My Boss dosent want that... We have to put the tols in, write a Programm and do a Part first try, but we work whit Mazak there life is easyer. I´m a german Trainee in CNC manufactoring and i only do Customer Parts Turning and Milling 1-20 Pices mostly. Ill always duble check but my Boss wants me to be quiker even if i would somday crash a Maschine... Two years one small Crash :D But if you dont Crash it in germany you are to slow cors you go the save way.. (in the most Companys) If it would by my own Maschin, i would never risk that... just too expensive!
If you use for examle a broken tool as a tool to set the Z workpiece offset some tools will be shorter than that. I use 1 machine with laser probe and 3 without any probe or taster. I have a tool to set the Z offset and I have few negatives.
@@TITANSofCNC The probe wouldn't have anything to do with it. The machines I work with, don't have probes. Height offset is derived from the length from the Gauge line. Z0.0 is a negative offset in the controller. That's how I figured how all other machines are setup.
Only if the 'initial tool length setting Z value' is based on the spindle nose. Some people use for example a Haimer and when it touches they call it zero or THE zero tool - not accounting for its actual length. Hence some tools are then -ve or +ve with reference to the haimer (or what ever the Z work offset setting tool is) . If you always add the length of the zeroing tool to the G54, 55 56 etc Z work offset when setting the Z work offset, then everything is referenced back to the spindle nose and no tool will have a negative value in the tool table. I agree with you, having all positive tool length measurements makes it much easier. Having said all that it is hard on lots of machines to touch off on the spindle nose/gauge line of the machine when first setting up the ZEROING tool due to travel limitations etc but worthwhile.
Here's the thing i like about my machine, at the end of the program i just do G90G0Z999. Normally that would run the machine off its boarders, however my machine has built in software stops, limiting its physical move area without risk of overrunning. Though that machine also has a slightly different programming language than Haas and Mori uses, which if i recall correctly is called Fanuc. My machine uses Okuma U100-M, which is Okumas own language speceficly made for their machines, and i like it over Fanuc. PS; yes, my machine is a dinosaur.
back in the days when i got thought how to program at the company i worked at, they only thought me how to program in mazatrol on the mazak machines. in many ways, making a simple program that is easy to read the mazatrol was king. but ofcourse at school we had a bit of manual programming before going straight for masterCAM. but man. learning to program on only simulations.... what a boner killer.... -.-' and the guy who were in charge for all the trainee like me we had in total 4 different people through out my studie... the first one knew how to work machines, but didn't have much time for us trainee. then we had a damn electrician that didn't know a thing about machining. but atleast he had time. but on the cost of me telling him, what i need to learn.... wut?! he left so for a half year we had the third guy who didn't know machining, didn't have time at all so left on our own little shit show, as a cheap imployee. then the last year of my time as a trainee we finally got what we asked for... but man. my programming skills sucks, most material i can find is imperial here online because it's so secret a skill because of rules and regulations.... so yer it's safe to say i don't feel well thought, nor do i feel confident programing or setting up tools other than lathe. extra. i hit the bottom when i had to train people up for running the machines that only had 16 weeks course. while i had a whole machining education that took 4,5 year. well knowing they got twice the salary for the same job... but i was in change on they didn't screw up.
just ranting. atm i have changed course for marine engineering. to get more options down the road. but im trying to keep my skills fresh throw you guys. so thanks!
It's certain that A.I. is being developed and tested here. I must be missing it. Somebody can definitely point us to the goods. It seems all shhhhhhhh right now. Maybe I'm just deaf.
I only use g53 g49 z0 on “my” haas... but I rarely do manual programming... in my opinion, if you really like manual programming, or save on not buying cam software, you simply buy a mazak😂 that sh*t is awesome, does everything by itself
I have learned so much from your channel and your courses. I build my own cnc machines, I now have my wife and ten year old daughter involved and they are even learning to program and run them. We use Fusion 360 and Mach 3, I hope to someday afford a tormach or a smaller haas. But for now we are having a great time rumning our home made machines.
Titan is incredible. Talent to spare when it comes to programming. Awesome work man. You deserve all the success you have achieved.
Nice follow up to the G53 thing, Titan. What you do rocks, I teach the younger guys every chance I get. I am primarily on Haas machines but I do run a G & L that discovered America before I did back in 1973, with a control by Power Automation. I am a programmer and machinist in a decent sized fab shop. On my Haas mills, I usually end my programs like this and only vary it by table travel in X. This usually follows my last milling move or a G80 canned cycle cancel.
G0 Z2.0 M9
G0 G53 Z0. M5
G0 G53 X-25.
G0 G53 Y0.
M30
Keep it up, Titan! That's how it's done, folks. Take note...
I think it´s important to know, that the G53 refers to the reference point of the machine. So the G53 values only can be 0 or a negative value. For example: On the HAAS lathes the reference point is in the right top corner. So just can travel in X- or Z-. G53 G00 X-100. Z-250. (values in mm) is kind of standard tool change point in our shop.
I end each block with a sub. That way you don't forget anything or key anything wrong. I've done that for 30 years.
M98 P1111
G0 X-10. Y10.
M30
G28 wants an intermediate point to go to, that's why everyone uses G91, which specifies the current position as the intermediate point and goes directly to its reference home (zero) point. You could also specify a value in absolute as the intermediate point, so in essence, you could specify G90 G28 Z8. and the machine would go to Z absolute of 8" above the part. This is useful on axes that don't have an incremental axis designation, like the B (transfer axis) on most lathes.
Personally, I like to set a transfer position zero at the face of my part (B0), so I could use G28 B6. To make sure my intermediate point is 6" away from my B reference position and everything zero returns just fine. Another way to do it is set up an incremental axis on the control and just use that with the G28 (again, talking lathe here, g code system A). Problem on a lot of machines, lathes especially, is that if the reference marker isn't lit up, the machine won't run, even though you commanded G53 B0. G53 doesn't light up the home reference marker like G28 will, even though it's the same spot most of the time.
Sage advice sending the spindle home before you perform any other moves.
Another thing to watch out for is to make sure the guy running the machine before you took it over, didn't manually put a work shift into the Z work coordinate. If you think you're going to jump up 1.0" above the part, if there is a Z-3.0" work shift in Z, you'll dive 2.0" into the stock.
You do a great job teaching Titan. With all the variables, and so many different machines and controls out there, it's up to the operator to safely prove out new programs and set ups before letting it rip.
Why all the complication? As long as the machine is in G90 (absolute), G53 is always a safe bet. G28 is a recipe for a crash even if you know what you’re doing. Additionally, G53 is non-modal so it only works on the lines you command.
As many others here have said...
.....
.....
G0 G53 Z0
G53 Y0 X....
M30
Or better yet, command a tool change to the first tool in the program in lieu of the
G53 G0 Z0
Line of code.
This will guarantee the machine goes home in z first.
Exactly, g53 is machine coordinate system. Same on all cnc's with g and m code. G28 does not always work the same from machine to machine which can cause a crash. Never use g28!!!
Disagree, you guys use your G53 as much as you want to, G28 when used correctly is a fail safe way to move your machine home.
G53 is more of a small VMC and lathe thing, to get the tool change to clear the work. Sometimes to rotate the b axis on an HMC if you don't want to send the table all the way home.
G91 G30 Z0. Will home every machine in the shop.
Forget to put it back in absolute?
G0 G90 G54 x y
Call up your work offset after every too change.
Then anyone can start at any tool without calling up the work offset in MDI.
Whats this all about, all I do in my work in the machine shop is press cycle start, use go-no-go gauge and watch the money in the bank accumulating.
We use g91g28 z0. in every program. Never had a crash because of it
Thanks! Never heard of G49 or G53. Just a side note, I've ran a few different machines before that did not use a probe or tool setter and the programs ended
G91 G28 Z0
G91 G28 Y0
and never had any problems. ALWAYS Z0 first though. I also recently started putting G90 before the M30. Good practice.
G28 g91 z0 ;
G90
M30
I use G53 X0. Z-6. To send them home.
I can't speak for using a probe, never used one. But when not using a probe...
G91 G28 Z0.
G28 Y0.
G90
M30
%
I doesn't get much simpler.
Agreed.
If you change out the G28 Y0 for a G53 X-30. Y0
Of course after the G90
You can have your table position itself differently based on where your views are... by adjusting the X
If the start of my programs always start with g90 in the saftey line do I need it at the end like you have it. Our shop does
g91 G28 z0
G91 g28 y0
M30
Frater you don’t need it. so long as g90 is at the beginning of the next program you’re fine
We use G28 for Z home in all are programs does not matter if you prob or not. Will work the same. And G53 X,Y home.
G28 will take x and y home too.
Titans older videos are so much better. More educational and less commercial
I used to combine multiple programs with a pause between to change out finished parts with raw parts, add parts to empty or completed run, to blow out 2 or more orders of different parts on more than 1 work fixture on the table. Normally they would only run 1 program start to finish at a time. Know your code, it will do pretty much everything you tell it to do. Awesome trade!👍😎🤘 I also had to work with .0002, quite snug.
Safety first people! Important stuff right here!
Nice detail!
Just be careful with the G49 if you're running a sub on a Mazak.
It's the perfect way to rapid the tool into the part.
Can you explain this g code ? Can't find it in the book
@@boru-cnc G49 is tool length offset cancel, it cancels the offset called in the G43 Txx block. It's not necessary in most modern machines as a Txx M6 will cancel the offset but many people still use it for continuity.
When running G-code sub on a Mazak mill with the parameters set to read the Mazak tool file based on the Txx call you don't need to use a G43 or a Dxx when using cutter comp, it just assumes you want to use the values assigned to the called tool number.
If you cancel the Tool length, G49, the spindle will immediately at current rapid settings move to the position the tool tip use to be in.
Maybe add some annotations or notes to help explain what you’re talking about, all the talk of g this and g that might confuse some people if you don’t show what each g code does at least once
I did in the referenced video...
TITANS of CNC: Academy Just thought it would make things simpler, although admittedly this video is aimed at advanced machinists, fair enough
programming reference up is a good way to go
👍🏻. Maybe a video on proving out a first run program. Using the 5% rapid. I like to teach feed hold when the tool is near the part and read the next lines of code to prevent an experience. Always keep a finger on feed hold. Reading the program heading (Fusion360) take note of the max Z depths. Knowing it’s ok to hit E-stop. When making an offset, do the math in your head before you punch in a number. That way if a different number appears, recheck your offset/math.
You need to back the truck up. You're playing a bit too far forward.
Damn, pure brilliance! Great tips. I thought getting Z up and out of the way first was common sense, guess not.
If you're teaching g28 then you might go into g30 too. Your doin' God's work big T!
That explains why my current shop uses g91 g28 to send everything home.
I was really confused when all their offsets where on positive values.
By most Fanuc & familiar you can create your own safety z+ Macro, by example G53.1
In this, all your safety Codes can be defined. So once done correct you will never forget something or make a typing error. You also can fix that in your PP, if you programming with a cam.
I'm not sure why everyone makes it so complicated: (all numbers in metric)
T1M6 (First Tool OR if you got only a 1 Tool Program, then)
G0 Z100(any value that you are comfortable with, to shorten the distance to the workpiece)
G28 Y0 (back to the reference point in Y)
G54G0X0 (Reset your table to a point in X where you like it, choose G54 to G58 or extended number for your machine in case you work with multiple offsets)
M30 (done, easy and smooth, w/o any danger to any machine)
Probe or not, tool length in + or - doesn't matter as long as your G43 is in action
G53... never used it on any machine, but if you like it, do it.
TITAN your my hero bro! Knowledge is power, been CNC Programmer, Setter an operator for 11years in current job and conventional machining up until, since I started my toolmaking apprenticeship in 1995... Just need to say that I love engineering and I'm still learning every day bro.
Keep up the great content, great to see someone sharing the tricks of the trade too many ol school crew don't like to give their secrets for free and your just blowing it wide open... Love it bro you seem a proper good geezer and could do with a few more Titans out there,especially over here in the UK. God bless you n ya family.
This guy is amazing ✌️👏
Thank you
Because his job is his hobby and this is most important thing
Although we primarily use Gibbs cad/cam and never had issues it’s good to know what affects gcode has. Not a gcode expert by any means but we are pursuing the American Dream with 9 industrial cnc’s in our shop making our own parts.
I learned CNC on Fanuc /Yasnac controlled machines in 1985 - at the time work offsets were new and a option $$$$
so we all were using G91 G28 Z0 to go home, Some of us were taught G49 in there as well but not everyone used it.
Then came G54-G59 work offsets the original 6 (like the NHL) - I think Fanuc thought who would need more than 6 work offsets?
But we still went home with G91G28Z0 - force of habit and we most of use did negative airgap tool touch off. Some people picked up on G53 work coordinate system. I use both ways and its stated in the 2017 Haas Mill Work book under "two ways to go home" .
On your post processor if I can I will tweak the code so it comes out the way I like - like adding a G28Y0 at end of program. or putting a Slash in front of the M8 so I can block skip the coolant instead of chasing the button on a dry run prove out. G43 H2 Z1.0 /M8. I prefer to rapid the H line to Z1.0 as me or anyone can see if we set the tool offset correct - then rapid to Z.1 and do your thing.
I am not a fan of a 3 axis entry or exit move from or to home (like Titan says) Looks cool but ??
I was trying to use a g54 at the end of the program and it didnt do anything today. Thank you so much titan!!
The cnc manager/engineer retired so it's just me and a replacement engineer that has no machining experience. I went to NTMA years ago but was working as a manual machinist until this year when I transferred. Now I get to run a haas tl02 and a Bridgeport xv1000 mill. Hopefully soon they'll give me a computer and start doing cad.
Glad you enjoyed it!
G53 works only on Haas.
I always rapid 1 inch above my part before i send it home.
Its always good practice to add safety line before each program.
Aaaaand..... We use Zoller to preset our tools.
I use a macro to set G28 as G8 which sends everything home and G6 which only sends the spindle home helps out a lot with less thinking and operator crashes
since most the part i do programm with the zero points in the stock center i program my home position like.
G53 G0 Z0
G54 G0 X0
G53 G0 Y0
Good stuff bud... You know what's got me in trouble a few times (close catches, Lol) Is a damn G99 drilling down in deep pockets... I forgot to go back to G98 in the modal group... Boom! Lol!
Yup! set my post processor to default to G98 then I'll improve to G99 at the machine.
If your running a Gantry Router like a haas GR-712 dont use G28 use G53 and always send it to a positive number because 0 is at the tool changer level and the machine has another 4 inches in the positive direction of Z travel granted this is only needed when using longer tools and taller parts. Currently the post codes in fusion 360 don't support Haas Gantry Routers in this area (Z0 being to low in some cases) but you can manually set your G53 height for the start of the program but once a tool change happens it goes back to your x,y location before going back to z4. or where ever you need it to be so manually adding in G53 Z4. after tool changes is a temp solution unless you know how to fix that in the post code :P
If you're in there typing code you might as well just re-call the programs first tool at the end. M06 will put the Z safe plus grabbing the tool ahead that's two things you'll need when restarting your program anyway.
Then bring Y home and M30.
my mori seiki will alarm if the machine is not at the z home before reading the m06. my hardinge was the same way. my okuma will send itself to the predetermined tool change height. my point is that all machines are different.
Setting tools on top of the part is the best in my opinion.
Thank you for sharing your experiences God job
I would use
G0 G28 G91 Z0.;
G28 X0. Y0.;
G91 and what ever X or Y you want to use;
G90;
m30;
In Heidenhain, we use G91 as as machine park position, so Zmax, Xtablecentre, Ytable forward.
So the end of the program would be:
Z0 M91
X0 Y0 M91
M30
Is there not something similar for Fanuc?
Alternatively TCALL 0 would at least lift the spindle to Z max.
Very good to know this topic.
Another awesome blog
Love ya titan , but I think I would only teach G53 for all safety . I know there is many ways but the machine zero is BOOM !!
i use a zoller tool setter a g49 will crash every time just add a m6 before your m30 or m2. G28 z0 will also crash when using a tool setter in less you have your offset on the same line like g54 or h01 or e1 offsets
I just use
G53 Z60;(mm)
G53 X-750 Y0;
M30;
on the HAAS UNC 750 I run and the same for other haas in the factory but with the different X- value, I use the regardless if the machine has a probe or not.
I just manually bring the table to where I want it for the end of the cycle and then put the corridinates after the G32 and before the M30.. super easy or some times I use G28 X0. Y0.
I tend to as well but it isn’t the fastest efficient way. For us it doesn’t matter we’re not racing to get it done at super speeds but a lot of shops are especially job shops they don’t make money unless they optimize.
Always enjoy the home position 4 Xtra safety, but was is better 100 percent approach ( after DRY RUN )
To start the wicked program that you created & let those chips fly
300K a just deserve for a FREE info on modern engineering
Hey titan i understand it completely ive just got a random question you use alot of face mills and solid carbides, do you ever machine with tip cutter likes 25mm and below or once you get to that size you only use solid carbide. We use alot of tipped cutters at work small ones just wondering how you run yours if you use them thanks
Thanks Titan Congratulaions you're a teacher!!
I appreciate it!
Hey titan You’re forgetting one thing bud There is also two different CNC machines as far as Gcode I think it’s Conversational example monarch mill( old machines) might confuse vs new Gcode example haas okk
Both use g and m codes however conversational machine ask what you want to do.
nice vlog do more manual programming !!!
Will do
yuuuuuuup, more of these videos please :)
Great explaining technique 👍 Nice & Good job my friend ☺
Why not eliminate G49 all together? In all the machines I’ve ran, we’ve never used G49 at the end of an operation.
Z1. M09
G00 G91 G28 Z0 M05
M30
Have never had an issue with that at the end of my program whether there’s a + or - height off set.
Your next tool will call out G43 and cancel out the precious H offset. Which eliminates the need for a G49 at the end of each tool’s operation.
I only have a G49 in the safety line at the beginning of my program.
Oh yeah , I once crashed my machine, because if m91 in heidenhain , got quite a long program that I needed to check and change before starting from someones else machine and didnt notice that m91 at the end , my machine went to home position Z0 , that means straight to the table .. scared the shit out of me ..
Hey Titan i had a discussion with one of my class mates about where you set the Z offset i said that i always if it is possible set it in Top of the stock so all my pockets and bores would be -Z, and he said that he always puts Z 0 on top of the jaws where his part is clamped in.
What do you suggest when where and why do you set your Z offset?
Greets from Germany
You were right. No one doing it like your friend except your friend 😁
@@boru-cnc I no lol the friend gives us a bad name
I think i used g53 which is machine home on a haas at least which i do g53 z0.0 which sends the head to its machine home position
Good explanation
Mr.Boom which controller version , the machine used
You need to cancel G43, tool length offset with a G49 also for maximum security.
Rule number 1 in CNC programming: If you turn it on, turn it back off. G43 offsets are modal, always turn them off.
This is how the G53 block should look.
G0G53G49Z0.;
Guaranteed it goes home then. You should always cancel tool length offset. Not a fan of G28 G91 at all. Mainly because you have changed to incremental positioning and now you have to remember to change back to absolute positioning with a G90 AND you will need a G90 at the beginning of every tool, instead of just on the default block at the beginning of the program.
G53 keeps you in absolute at all times and you only switch to incremental when you ACTUALLY need it. Just make sure your G49 is in the same block or the Z axis will be going somewhere you don't want it to.
Also, this is only for milling machines. Lathe programming is a different style of coding...
Swiss (citizen) machining you can utilize G53. Guarantees your z start position is always correct, especially if you multi chuck parts longer than the axis stroke.
Hello my friend, excellent all your materials. I have cnc kiwa kh-4100kai and I have couple errors.
E3018.3: spindle tool is empty
E3060.3: please reset NC
Thanks for any help
I manually measure heights but I undestand how to use the G54 Z offset, I allways have it zeroed
how many shops get g code made manually? Where I work, I design it, then toolpath it and then the CNC operator will look it over and change feeds and speeds, and sometimes change paths, then he will post and set up the machine. I don't think anyone has ever done manual modification of gcode at my work.
Want to know what else will crash your machine if you're using probing and you do a separate probe of z and then do a probe of XY and then realize you have the same z starting point for all of your parts so you want to skip the z probing, so you put the forward slash in front of everything on the z-probe.... And guess what happens?? It plunges your probe right into your part and breaks everything!
Enjoying the breakdown, one thing I would like to suggest is doing simulation type of view when explaining. It's not the imagining part that gets me it just sometimes some machines we don't use but I love to take the approach or same concept on others. Which the sub programming I'm getting more familiar but with DMG machines like Sprint 32 or CTV250. But don't change anything just add some more insight please and thank you
I guess Im pretty randomly asking but do anyone know of a good website to watch new series online ?
@Thomas Damian lately I have been using Flixzone. You can find it by googling =)
@Armando Ameer yea, I've been watching on Flixzone for since april myself =)
@Armando Ameer Thank you, I went there and it seems like a nice service :D I really appreciate it !
@Thomas Damian No problem :)
Why You wrote G00 at G28 line? there is no point because:
-You are already in G00 (modal group 1)
-G28 does not use modal group 1
I use G0 G28 V0 U0 and W0 on mill turns
As I wrote below that video, I use Heidenhain as main controller.
The only thing I still don't understand that why G43 and G49 still exist on Fanuc based controllers. In my opinion these codes have to be included when changeing the tool in the spindle. This little code can cause a lot of trouble for a lot of people. On HH with Tool Call you have the lenght and radius correction with the working plain instantly.
Does anyone have any idea about this?
Ive worked with Haas machines for about 8 years and ive never had a practical use of not using G43 and calling out H and D of the tools. As a matter of fact it not beeing used caused broken tools, broken probes and broken parts. Theres even an optional alarm message you can use that shows up when your H and T numbers dont match.
How do you run a gcode program in the air? I'm taking a CNC class, ironically, they just make us look at the manual but being the first time working with gcode...I would rather do an air run first. Would be a great video!
Misiu Kowalski easiest way is to just put a positive Z number in global offset. Will raise everything
So... no peck drilling in rapid?
LOL.I started running CNC when we used punched tapes to feed the program. I think that conversational programming crashes more machines. That or overconfidence. Not sure which.
I would do
G90 Z1 F100
G0 G53 ZO
M30
G0 z-500.
@@boru-cnc and X,Y probe position.
Think you for this video.
Glad you enjoyed it!
Hey titan, is the academy going to release videos on how to CAM the chess set?
Yes, They're in the works.
TITANS of CNC: Academy awesome!!
Can you call up a macro within the prog convo ?... I used to write macros with all the relevent G's & M's within which saved time for dimensional inputs... ps been a while since i've been at a control.. old guy..
Hi. Do you have a video for g code preferably "Haas" programming a slot or pocket with roughing and finish passes?
Whats happen with G53 and positive offset?
I hear thsi title. I tink:
Z -1 R0 FMAX M91
If you forget M91 it crashes. If not, the machine will drive to Z-1 from the machine Zero Point.
Crazy- If you see it first. :D
That's Heidenhain. He is talking about DIN/ISO.
What about when you a tool pre-setter
G91 is the absolute position command right? the G28 z0 is absolute and not to go to this position first
i could so much nerd it with you Titan, you are great love your videos!
Programming for dummies right here.
The interfaces on these machines look so old. It's like handwriting vectors.
Do they have apps that make these interactions easier?
No they dont, but they are cheap
@@saweks9919 Just seems like they need to take advantage of open API's.
The reason why the language is so condensed is because of the interface. If you could use a full editor with code completion the programs would be much more universally readable.
Haas is one of the best cncs there is
@@davidcornwell6912 Which is why I'm wondering why they have not moved the interface onto external devices yet.
Best example I saw was this czcams.com/video/ye1m8Y_LmXU/video.html, and it was them just using a VNC where they cannot input any data into it.
@@icodefor Safety is one reason. I run CNC machines (lathe most of the time, with a fanuc controller), and I would flatly refuse to operate or tend a machine that had any sort of wireless controller, or initiation of programs without a key locked toggle on the panel to disable it.
I mean, I had a #4 centerdrill rammed through a finger (spindle not running, just a MPG someone pressed a step size select on. I've heard of people removing tag outs on injection molding equipment and nearly crushing others. And sadly, many, many shops disable the door switches, or make bypass keys for them, so that isn't a panacea.
I want joined titans group
Zitto voccape!!!
Always duble check yehr :D My Boss dosent want that... We have to put the tols in, write a Programm and do a Part first try, but we work whit Mazak there life is easyer.
I´m a german Trainee in CNC manufactoring and i only do Customer Parts Turning and Milling 1-20 Pices mostly.
Ill always duble check but my Boss wants me to be quiker even if i would somday crash a Maschine...
Two years one small Crash :D But if you dont Crash it in germany you are to slow cors you go the save way.. (in the most Companys)
If it would by my own Maschin, i would never risk that... just too expensive!
And when you crash without checking first ,the boss will shout : why did you not try first ?!?!?!?! Hahahahaha
@@Baard2000 yes its always the same :D
Can you use a g28 z0, when still manually setting tools?
Yes if your Z0 is a minus from machine home and all your tool lengths are positive and actual length then you can G28G91Z0
This is only if yr mold move up, on the Z
Who uses a negative in their height offset anymore? Isn't that old school logic? The number should always be positive. The length of the tool.
Actually most schools can’t afford the probe so they go old school
If you use for examle a broken tool as a tool to set the Z workpiece offset some tools will be shorter than that. I use 1 machine with laser probe and 3 without any probe or taster. I have a tool to set the Z offset and I have few negatives.
@@TITANSofCNC The probe wouldn't have anything to do with it. The machines I work with, don't have probes. Height offset is derived from the length from the Gauge line. Z0.0 is a negative offset in the controller. That's how I figured how all other machines are setup.
TITANS of CNC: Academy and what about tool presetters and height guages?
Only if the 'initial tool length setting Z value' is based on the spindle nose. Some people use for example a Haimer and when it touches they call it zero or THE zero tool - not accounting for its actual length. Hence some tools are then -ve or +ve with reference to the haimer (or what ever the Z work offset setting tool is) . If you always add the length of the zeroing tool to the G54, 55 56 etc Z work offset when setting the Z work offset, then everything is referenced back to the spindle nose and no tool will have a negative value in the tool table. I agree with you, having all positive tool length measurements makes it much easier.
Having said all that it is hard on lots of machines to touch off on the spindle nose/gauge line of the machine when first setting up the ZEROING tool due to travel limitations etc but worthwhile.
I am tool & die marker
Here's the thing i like about my machine, at the end of the program i just do G90G0Z999. Normally that would run the machine off its boarders, however my machine has built in software stops, limiting its physical move area without risk of overrunning. Though that machine also has a slightly different programming language than Haas and Mori uses, which if i recall correctly is called Fanuc. My machine uses Okuma U100-M, which is Okumas own language speceficly made for their machines, and i like it over Fanuc.
PS; yes, my machine is a dinosaur.
back in the days when i got thought how to program at the company i worked at, they only thought me how to program in mazatrol on the mazak machines. in many ways, making a simple program that is easy to read the mazatrol was king. but ofcourse at school we had a bit of manual programming before going straight for masterCAM.
but man. learning to program on only simulations.... what a boner killer.... -.-' and the guy who were in charge for all the trainee like me we had in total 4 different people through out my studie... the first one knew how to work machines, but didn't have much time for us trainee. then we had a damn electrician that didn't know a thing about machining. but atleast he had time. but on the cost of me telling him, what i need to learn.... wut?! he left so for a half year we had the third guy who didn't know machining, didn't have time at all so left on our own little shit show, as a cheap imployee. then the last year of my time as a trainee we finally got what we asked for... but man. my programming skills sucks, most material i can find is imperial here online because it's so secret a skill because of rules and regulations.... so yer
it's safe to say i don't feel well thought, nor do i feel confident programing or setting up tools other than lathe.
extra. i hit the bottom when i had to train people up for running the machines that only had 16 weeks course. while i had a whole machining education that took 4,5 year. well knowing they got twice the salary for the same job... but i was in change on they didn't screw up.
just ranting. atm i have changed course for marine engineering. to get more options down the road. but im trying to keep my skills fresh throw you guys. so thanks!
It's certain that A.I. is being developed and tested here. I must be missing it. Somebody can definitely point us to the goods. It seems all shhhhhhhh right now. Maybe I'm just deaf.
why not using a M50 ?
👍🏻
Boom
hi titan, i'm from Indonesia... how to repair machine "Alarm Spindle"...
Hi I don't know what we're talking about, however... It looks dangerous to fix if you are in experienced czcams.com/video/mVVjYkVA2SA/video.html
"Hey dude, my machine doesnt work. how to repair?"
G0 z-500.
G0 z0.
M99
That's the best solution
I only use g53 g49 z0 on “my” haas... but I rarely do manual programming... in my opinion, if you really like manual programming, or save on not buying cam software, you simply buy a mazak😂 that sh*t is awesome, does everything by itself
G50 people
If I was a machinist by everybody on the Internet🙄
No place like G91 G28 Z0 X0 Y0 AO B0
90% correct, you should have the Z on it's line by it's self.
G91 G28 Z0
G28 X0 Y0 AO B0
sir...
please try to translate in hindi language.
please.....!!!!
Get a MAZAK and use Mazatrol instead.
Titans older videos are so much better. More educational and less commercial