Help with programming/posting and G codes
I am wondering if there is any way to adjust a post or program to allow our 1997 VF1 move the table back to starting position while the Z is executing tool change? It always waits until tool change is complete before moving XY. Not sure if that is just the lazy software with no lookahead or if there is a way around it.
I always have my tool change at the very end of the program, that way it allows me to start changing the parts while the tool changer gets back to the first tool.
G91 G28 Z0 M9
G28 X0 Y0
Lookahead got nothing to do with this.
If your toolchange and the Y-move is in separate blocks, then you'll get a sequential execution no matter what. In fact it would be a very bad day indeed if they were consecutive.
If the toolchange and the Y move is on the same block, you must know that by rule all M-codes execute AFTER all other codes are complete on a HAAS.
G00 G53 Y0 M06
would move the table to Y-home and only then will the M06 be executed.
Now, to help with your issue, make your toolchange as follows:
G00 G49 G53 Y0 Z0
Originally Posted by SeymourDumore
You can also put a X value in there to make sure the table is in a handy place to load and unload.
What we are looking for is simultaneous motion of XY coordinates with the M6. The way I read your code, it would execute the YZ moves then go through M6. Before or after would make no difference for us, we are simply wanting to shave some time by allowing the table to return to start position for the next tool while it is doing TC. Is this possible?
Originally Posted by SeymourDumore
I guess my understanding of your code is that it will not execute the M6 until completion of the line before it. If they are on the same line, will it work as we hope?
The only control i know of that will execute table movement and tc at same time is seimens.
you can have an G0 X,Y,A,B and M5 M9 M6 H0 all on the same line and it will happen sequintialy. I havnt figured out why Haas and Fanuc havnt caught up to that yet. otherwise your stuck with moving the table to a part change loc then execute a m6 comand so the tool changes while you prep for a part change. Just watch your head for swinging tools. on those smaller machines the tool in the arm tends to open up the scalp "found that out the hard way once" Damn those Data Flute mills are sharp.
Viper, I'm not sure how much time you'd be saving, but no, it still executes the same way.
There is no way you can toolchange before Z gets to home anyway and unless you get ultra big parts the Z is the one traveling the most, meaning X and Y would already be in position and waiting for Z to get there.
Are you sending the machine home between toolchanges? If yes, then Why?
I think it's a safety thing. Perhaps the control wants to make sure that all things are in the programmed position before toolchange occurs. Possible that a 4th axis is in the way of the carousel or the toolchanger arm and unless the programmed position is achieved you should not be changing tools.
On the lathes, Haas has a G200 command which is index on the fly. I guess it indexes while the head is traveling, though have not seen it in action.
I think I get the just that the Haas will not move like I wished. Basically, what we are doing is working multiple parts from left to right. When We get done at the right side of the table, It does the TC and then jogs all the way back to the left side again. Not that big of a deal with our smaller machine but I like to optimize things if possible. If it was able to walk the table back to left "while" doing TC, it would be ready to drop the Z in the hole and go.
Like I say, just trying to optimize here.
Ok, let's assume it's a VF1-3. Your Z travel is 12", while the table is 30 max in X.
Last fixture is at max X, first fixture is at min X. This makes the center point somewhere at X-16.
How'bout this kind of toolchange:
G00 G49 G53 X-16. Z0
G00 G43 Hx Dx
G00 Xn.n Yn.n Z1.
This way the X is no more than half way to the first fixture by the time Z is at home. It can't travel during toolchange, which IMHO is not a bad idea.
So, makes the toolchange and then travels in all 3 axes to the first fixture.
Yes, you've lost the toolchange time, but that's all you've lost.
That is why chip to chip toolchange time is a major selling point nowadays.
If it was able to walk the table back to left "while" doing TC, it would be ready to drop the Z in the hole and go.
G91 G00 Z-10.
takes exactly the same amount of time as:
G91 G00 X-10. Y-10. Z-10.
Sure looks buisier, but same time nonetheless.
As always SD has great advise.
You could always sequence your way back through the parts in the opposite direction with the next tool. This is something I do when production programming. Anything I can do to eliminate covering the same ground without cutting metal.
Then the last thing you do is park the table for load unload.
One thing that I do when programming for flat out running is to call the tool change right after the last line of working code.
The machine will automatically shut off the spindle and coolant to change tools. This usually saves a couple of nanoseconds.
One of the things that I have always disliked it that I can't rapid and start the spindle at the same time. I would love for the spindle to be winding up while it is moving down to the part. The dumb thing is that it will do it while feeding.:rolleyes:
Nothing like programming balls to the wall.
I think you'll like tha Fanuc in that regard, as you can use M1003 after the toolchange. The M1003 is identical to M03 except that it won't wait for the spindle to statisfy the commanded speed. It starts to spin it up and then moves onto the next block.
Haas has that too, except it isn't programmable, rather settable in parameters under Spindle Nowait. Problem is that it's an all or nothing, and sometimes you do want that thing to be spinning at the expected RPM when you reach the material, otherwise it's a CNC broach or a punch.