What's new
What's new

Fanuc G43.4 expected behavior.

cellis8200

Plastic
Joined
Oct 16, 2018
Hey guys. I've lurked for a while and gotten a lot of good information from here. Today the search function is failing me(or I am failing it) so I'm hoping I can get some help.

I've been tasked with a problem to solve and I'm having trouble narrowing down my options due to some question of how tool center point control behaves on a Fanuc 31i. The machine is a Matsuura MAM72. I spent some time on the phone with applications at Matsuura, but our connection was crappy so I don't think he quite understood what I was trying to ask. I'll try to keep this simple.

Currently we program our parts from centerline of rotation of the C axis. Those offsets are set in the common, and G54 is set to all zeroes. You will see why this is important in a minute.

The problem:
We're machining castings with compound curves on a 5 axis table/table machine. We're trying to machine as close to the casting floor as possible without gouging it. We have a +.05"/-.00" tolerance where the floor meets the wall.

Casting variance is such that batch and queue doesn't make sense, nor can we really just pick a height and run. The parts are consistent to themselves, but not to each other, if that makes sense. These are production run parts, so it makes sense to invest the time into automating as much as possible.

My solution:
I wrote a probe routine that probes X amount of points along the surface that can't be touched with a cutter and dump the difference between nominal and actual into macro variables. I then found the average of that deviation from nominal and added .020". I dumped that number into G54 "Z".

Now my plan is to take that average variation +.020, insert it before the tool path starts, run the tool path, and then take the variation out so I don't affect any other geometry. I can control this all inside NX so that is not a problem. There will be no hand editing.

The probe routine does what is expected, the code to do all the offset shifts works great. Where there is some question is what is going to happen if I raise G54 Z when G43.4 is active.

I expect that it will just run the same exact 3D tool path a little higher or lower. Which, if I am not mistaken, was what I saw on the Mazak table/table machines I used to program and run. They all used G43.4 and G68.2. I've never had to do what I'm being asked to do now though.

My co-worker disagrees. He is using probe routines that probe the part, and choose a program to run based on material condition(deviation from nominal). While this is a great solution to a very challenging problem, he is leaving the company and I'd like to simplify it if possible. I am not as good of a programmer as he is, and I was having a little trouble following his logic.

The other issue with his solution is that you only have as many options to handle casting variance as he's programmed. With mine you would have infinite options.

I'm trying to get some machine time to do some R&D, but in the meantime I thought I'd bounce it off the collective knowledge of this forum and see what I come up with.

Thanks in advance!
 
So I'm not 100% clear on what you're exactly asking for help on, but I'll make an attempt.

Sounds like your concerned about shifting the Z with G43.4 and having the part position properly afterwards. That will mostly depend on which variation of tool center point control (G43.4) you're using. I teach this for Mazaks but it should be identical on a Fanuc. There are 2 variants, workpiece coordinates and table coordinates. In workpiece coordinates definition, XYZ don't rotate as the table rotates in C. This means you most know the exact location of the part relative to the rotary centerlines to have it track properly. This is how most people program 5 axis machines, but it is not ideal for the exact type of situation you are facing.

What I use/preach instead on most machines is the table coordinates system. In this definition, as you rotate the C axis XYZ will rotate along with it. Why is this beneficial? Because it means the machine automatically tracks where the part is in space, WITHOUT the part having to be on centerline. A lot of people will accomplish this with Dynamic work offsets (G54.2) or Workpiece setup error correction (G54.4), but the nature of the table coordinates system for G43.4 means it does all that automatically.

So when I setup a trunnion machine I don't need to tram it to the center of the table or worry about where the center of my tilt is. The part can be offset a couple inches from center at any height, I let the machine figure it out. So I just probe G54 or whatever offset I want and go. As long as you have clearance you don't have to worry about it.

It should also be mentioned that tilted working plane (G68.2) does the exact same internal calculations for 3+2 work. So again, you don't have to worry where the part is EXACTLY in the machine when you program it. You pick up your offset just like a 3 axis VMC and go. The machine will do the work of figuring out where to move.

So back to your problem, step one would be figuring out what your machine has for 5 axis options, what they the parameters are set for, and how your CAM software is set. All 3 need to be in alignment. If the machining environment is already set for table coordinates G43.4 you can just probe your casting and shift the Z however you like. If it's not you'll need to do a little extra work, but you are on the right track.
 
I think you're leading me down the right track. I appreciate your response. I'm headed out to the machine to check parameters.

I'm new at the company and there's not a whole lot of documentation on these things. How would it affect previously proven programs if I have to switch from workpiece to table coordinates?
 
I think you're leading me down the right track. I appreciate your response. I'm headed out to the machine to check parameters.

I'm new at the company and there's not a whole lot of documentation on these things. How would it affect previously proven programs if I have to switch from workpiece to table coordinates?

Previously proven programs will no longer be proven :)

The actual G code output between the 2 methods is different. That's why you have to make sure the CAM system post processor, program itself AND the machine are set the same way. If they aren't it's gonna break stuff. That's always step one for me in a new system/machine.

NX posts processors (in my experience at least) usually have a "switch" in the header code to go between workpiece and table coordinates for output.

I would definitely try to get back in touch with Matsuura apps support again. I'm an AE myself and we do this stuff all the time, so we can guide you down the right path. Now you know some more terminology so that should help the conversation quite a bit. I imagine given Matsuura's product line most/all of their AE's will be pretty well versed in 5X programming particulars.

Also here is a good video illustrating this stuff, in NX no less:
YouTube
 
CNC Hacker is correct and his explanation is one of the best I have heard. This is how I also do it and makes programming and running so much easier. Parameter #19696.5 will switch the machine to table coordinates. Of course, your machine kinematics need to be accurate also.

Paul
 
CNC Hacker is correct and his explanation is one of the best I have heard. This is how I also do it and makes programming and running so much easier. Parameter #19696.5 will switch the machine to table coordinates. Of course, your machine kinematics need to be accurate also.

Paul

Can you tell this isn't the first time I've had this conversation with people? :D
 
Can you tell this isn't the first time I've had this conversation with people? :D

Of course, same here. I'm an applications engineer too and the hardest part is with people buying their first 5 axis machine. Most of it goes in one ear and out the other because they have heard all these wonderful things that a 5 axis can do from sales people.

It sounds as if you might work for Mazak or a reseller for them.


Paul
 
Of course, same here. I'm an applications engineer too and the hardest part is with people buying their first 5 axis machine. Most of it goes in one ear and out the other because they have heard all these wonderful things that a 5 axis can do from sales people.

It sounds as if you might work for Mazak or a reseller for them.


Paul

That's correct. I preach the gospel of TCP/TWP all the time. Sadly it usually falls on deaf ears and people still want to run everything from the pivot point in inverse time. :angry:

I'm lazy, my motto is make the machine do the hard work!
 
That's correct. I preach the gospel of TCP/TWP all the time. Sadly it usually falls on deaf ears and people still want to run everything from the pivot point in inverse time. :angry:

I'm lazy, my motto is make the machine do the hard work!

Bingo!

Let the machine worry about where the bloody part is. That way 1 program covers it all, and no pissing around for the operator. THATS when mistakes happen.
 
You guys are the best. TCP/TWP is how the mazaks were setup at my previous employer. This is the direction I'd like to take us since I'm the one handling the post.
 
Its amazing how many people in "high end" shops dont understand the significance of fully utilizing tcp and twp modes.
Shocking, actually.

When we got the a51nx optioned with intention of adding a koma 5th down the road, I pushed HARD for tcp\twp. And got it.

Then nobody ever used it, didnt want to understand it.... instead loading offsets into the cam software to ensure things were machined properly. :nono:
 
Hello, in the code below we are experiencing a crash into the part on our
Mazak Variaxis i700 trunnion that does not show up in our Powermill or Vericut simulation. It seems like it may have something to do with the G68.2 bieng used along with the G43.4 but I am not sure. Does anyone have any suggestions on what this could be? We have already sent in a support file to Autodesk and to Mazak to see what they come back with but I found this thread in a search and figured I would post it here too.

Thanks, Mike

( TOOLPATH START)
( )
G00 G53 Z0.0
G00 G53 X0.0 Y0.0
G00 A0.0 C0.0
G01 A17.52288 C7.15583 F1500.0
G68.2 X2.29008 Y1.17229 Z13.87545 I7.15583 J17.52288 K0.0
G53.1
X0.0 Y0.0 F1500.0
G69
G90 X2.29008 Y1.17229
G43.4 Z13.87545 H11
X2.29008 Y1.17229 Z13.87545
M828( FINISHING)
G61.1
M43
M46
M08
Z13.37545 F1500.0
Z8.29547 F80.0
X2.27133 Y1.32166 Z7.81867
X2.27177 Y1.32302 Z7.81081
X2.27232 Y1.323 Z7.8026
X2.27298 Y1.32152 Z7.7944
X2.2737 Y1.3186 Z7.78659
X2.27446 Y1.31442 Z7.77954
X2.27522 Y1.30925 Z7.77351
X2.27594 Y1.30388 Z7.76823 A17.47183 C7.15468
X2.27683 Y1.296 Z7.76111 A17.39855 C7.15713
X2.27842 Y1.28126 Z7.74894 A17.26435 C7.16356
 
Check 2 parameters first.

F86 bit 6 = 1
Selection of rotary axis reference position for tool tip point control
0: Position during the start of tool tip point control
1: Position with the rotary axis at 0 degrees


F144 bit 1 = 1
Selection of table rotary axis reference position for inclined-surface machining
0: Table rotary axis start position as the reference
1: Table rotary axis 0-degree position as the reference

If these are set to 0,the C zero is taken from the incremental staring position NOT your actual C zero in the work offset. So like in your case were you have the C at 7-ish degrees when it invokes G68.2, it may rotate it again. First thing I would check.

Next is F85 bit 2:
Sets the type of coordinate system for controlling the tool tip point.
0: The table coordinate system that rotates according to the particular
rotation of the C-axis is defined as the programming coordinate
system.
1: The work coordinate system is defined as the programming coordinate
system.

Make sure the machine is set to match powermill and to match vericut. If the 3 are not in agreement you will cause weird things to happen.
 
We looked into the parameters and the settings are as follows

F86 bit 6= 1

F144 bit 1 = 0

F85 bit 2 = 0


Would you happen to know where in the post processor and the vericut control that I can look to check these settings or do I need to contact each of them?

Thanks for the information on this,
Mike B
 
Ok, thanks again for your help on this. We are going to try this in the morning when the current part is finished.

Mike B
 
Hello, in the code below we are experiencing a crash into the part on our
Mazak Variaxis i700 trunnion that does not show up in our Powermill or Vericut simulation. It seems like it may have something to do with the G68.2 bieng used along with the G43.4 but I am not sure. Does anyone have any suggestions on what this could be? We have already sent in a support file to Autodesk and to Mazak to see what they come back with but I found this thread in a search and figured I would post it here too.

Thanks, Mike

( TOOLPATH START)
( )
G00 G53 Z0.0
G00 G53 X0.0 Y0.0
G00 A0.0 C0.0
G01 A17.52288 C7.15583 F1500.0
G68.2 X2.29008 Y1.17229 Z13.87545 I7.15583 J17.52288 K0.0
G53.1
X0.0 Y0.0 F1500.0
G69
G90 X2.29008 Y1.17229
G43.4 Z13.87545 H11
X2.29008 Y1.17229 Z13.87545
M828( FINISHING)
G61.1
M43
M46
M08
Z13.37545 F1500.0
Z8.29547 F80.0
X2.27133 Y1.32166 Z7.81867
X2.27177 Y1.32302 Z7.81081
X2.27232 Y1.323 Z7.8026
X2.27298 Y1.32152 Z7.7944
X2.2737 Y1.3186 Z7.78659
X2.27446 Y1.31442 Z7.77954
X2.27522 Y1.30925 Z7.77351
X2.27594 Y1.30388 Z7.76823 A17.47183 C7.15468
X2.27683 Y1.296 Z7.76111 A17.39855 C7.15713
X2.27842 Y1.28126 Z7.74894 A17.26435 C7.16356

First, TWP is turned off before TCP is turned on. Totally legal and this is my preferred way of starting a 5 axis toolpath. TWP before TCP is considered a safety move. It gets the tool safely out over the part after rotation and is then turned off. All of my posts do this. This avoids ramping the tool down towards the part with TCP turned on and avoids unpredictable approaches. Another thing, simulating in your CAM system is no guarantee of safe approaches and retracts once the code is in the machine.

Paul
 
Sorry to hijack the thread, but I see that there are some knowledgeable peeps in 5-axis machining here :)

We use G43.4 TCP (table coordinate system) for 4/5-axis simultaneous machining and a master/slave work offset macro for 3+2 machining on a 5-axis table-table VMC. (Master work offset is set in a fixed position of B- and C-axis (usually B0 C0) and a slave work offset is calculated for any orientation other than this.

The machine runs production series of parts with tight true position tolerances.

One problem we run into is that as the machine axes drift from temperature changes, the machine kinematics stored in parameters #19700-#19705 are no longer accurate. The Y-axis in the machine grows about 0.02 mm (0,000787 in) over 12-hours of machining, and the stored kinematics are only accurate while the machine temperature is the same as when kinematics were measured. 0.02 mm may not be a lot, but when you are trying to hold 0.1 mm true position this eats up much of the tolerance in Y-axis drift alone.

I am curious about how other shops that does 5-axis machining deal with this? We are able to hold closer tolerances when we don't use functions like TCP/TWP because of this.

The machine is a Mori Seiki NMV with a Fanuc F31iA5 control.
 
Sorry to hijack the thread, but I see that there are some knowledgeable peeps in 5-axis machining here :)

We use G43.4 TCP (table coordinate system) for 4/5-axis simultaneous machining and a master/slave work offset macro for 3+2 machining on a 5-axis table-table VMC. (Master work offset is set in a fixed position of B- and C-axis (usually B0 C0) and a slave work offset is calculated for any orientation other than this.

The machine runs production series of parts with tight true position tolerances.

One problem we run into is that as the machine axes drift from temperature changes, the machine kinematics stored in parameters #19700-#19705 are no longer accurate. The Y-axis in the machine grows about 0.02 mm (0,000787 in) over 12-hours of machining, and the stored kinematics are only accurate while the machine temperature is the same as when kinematics were measured. 0.02 mm may not be a lot, but when you are trying to hold 0.1 mm true position this eats up much of the tolerance in Y-axis drift alone.

I am curious about how other shops that does 5-axis machining deal with this? We are able to hold closer tolerances when we don't use functions like TCP/TWP because of this.

The machine is a Mori Seiki NMV with a Fanuc F31iA5 control.

What I see a lot of shops do is to do a kinematics check periodically throughout the day or after certain operations like roughing. As the machine warms up, yes, the kinematics are no longer totally valid. Depends on your part tolerances, height of part from center of rotation and a host of other factors. I tell people that kinematics maintenance is part of every day machine maintenance. Most don't listen. 5 axis is a whole new ball game and nothing close to 3 axis milling. Order of magnitude harder to keep tabs on everything. All of this should become part of periodic maintenance or in process maintenance.
Mori should have a routine in the machine for running a kinematics check and to update the parameters after. Our machines do and I know the newer Moir's do also. If you haven't learned about that, I suggest you ask about it.


Paul
 
What I see a lot of shops do is to do a kinematics check periodically throughout the day or after certain operations like roughing. As the machine warms up, yes, the kinematics are no longer totally valid. Depends on your part tolerances, height of part from center of rotation and a host of other factors. I tell people that kinematics maintenance is part of every day machine maintenance. Most don't listen. 5 axis is a whole new ball game and nothing close to 3 axis milling. Order of magnitude harder to keep tabs on everything. All of this should become part of periodic maintenance or in process maintenance.
Mori should have a routine in the machine for running a kinematics check and to update the parameters after. Our machines do and I know the newer Moir's do also. If you haven't learned about that, I suggest you ask about it.


Paul

Thanks for your reply, great info. The machine has two routines for measuring the kinematics actually, Mori Seikis own and Renishaw Axi-Set. We measure the kinematics once in a while, but have never done it periodically through the day. Maybe we have to dedicate one of the pallets to the measuring ball used in the kinematic measurement so the operators can run it easily by themselves.

Are other controls (Heidenhain, Siemens etc.) better at this than Fanuc? I have been told that these have better volumetric 3D thermal compensation features which should make them more accurate at different machine temperatures.
 








 
Back
Top