What's new
What's new

Why is my new DNM5700 so SLOWWW? G5.1?

xnewmanx

Aluminum
Joined
May 19, 2016
Let me preface this like I preface all my posts: I am a moron with no training, so please be gentle.

So I am coming from a Haas VF2SSYT. I got this new 2023 DNM5700 machine thinking it would improve my production, but it's actually a LOT slower.

It always FELT slow but my cycle times are usually pretty short so I was chalking it up to a variety of other factors. However, I ran one of my headlight housings on the new machine and the cycle time jumped from 3 hours per setup to FIVE AND A HALF hours. This is a heavily contoured part, so I expect long cycle times, but the machine just looks so damn choppy. Speeding up and slowing down a LOT. Stalling and almost stopping. Sometimes you can see it in the finish. The code is about 300,000 lines.

I used the exact same cam on both parts. Running at full rapids and same feeds and speeds. I did some research before posting... that led me here:

The only thing I can think is that either
A) the DN doesn't have the same amount of memory or lookahead as the haas
B) something is up with my smoothing settings.

Regarding A, I know in the haas I had to purchase HSM, but my dealer said the DN had the same lookahead as the upgraded haas.

Regarding B, here is a look at the smoothing settings for the operations in this setup.


SMOOTHING.PNG

Now, these are values set by INVENTOR CAM on "smoothing: auto". I think at the very least the contours should be set to something lower than 10. They're the biggest time suck, but even that first adaptive operation runs about half the speed of the haas, and they're both set to the lowest setting. In fact, just by eye, it looks like the second adaptive operation runs faster and smoother and it has a higher accuracy tolerance.

When I watched the parts run on the haas, the thing was just zipping along. Now its painfully jerky and slow.

I'm going to change the R value of those contour parts to 5 and see if that helps any (not dimensionally critical)

What else can I/should I check?
 
Couple of things:

Lookahead- is probably not relevant here at all. Code-starving was a thing many many years ago when compute power on controllers was really limited, and it took .2 seconds to process each block of code. The Haas and Fanuc controls are in the low single-digit millisecond per block range these days, if not even sub 1ms range.

Today, most every control is taking big piles of G01 code for surfacing and turning them into NURBS curves and this is what lookahead is doing. More lines of code == better visibility into the profile coming up, so better fitting of the NURBS curve.


First thing I would do?
Run the same program on both machines, but set every operation to the medium setting - On the Fanuc control, that would be G5.1 Q1 R5, and Haas is G187 P2. That will give you a 1:1 comparison of where each machine's settings are at results wise, and take the post out of the equation.

My assumption is that the Haas will still be faster, but more because Haas defaults to somewhat sloppy settings expecting their customer base to chock surface finish/accuracy issues to "Well, it is a Haas..." Just for some perspective, Haas Setting 85 is the maximum corner deviation and it comes from the factory at 0.05". On a Speedio, the fastest, most aggressive roughing setting we have only allows for 0.018" of deviation from the programmed contour.

You might wind up opening up the tolerances on the Doosan a bit so you can get more dynamic range out of the G5.1 available settings - loosen up the roughing (R1) while keeping the R10 (Finish) side tight, with a couple of steps in the middle for things like semi-finishing or actual 3D surfacing.
 
Not sure it will help but do you have AICC2 on? My DNM5700 is not at all slow unless I screw up a setting.
 
Are you sure DN even supplied you with the right features? Having the R value with the AICC is an additional feature and I don’t know if it will alarm trying to call the R if it doesn’t have it. Regardless, slow speed should mean high accuracy and surface finish should look really good when set in that range especially on a new machine. NERBS is not the way fanuc does its high speed contouring out of the box, again, another paid feature but not necessarily something you need here. Haas also doesn’t do their HSM this way so it’s irrelevant. Siemens and HH way out of the box as far as I know. Maybe brother too???? With all that being said the only thing holding you back on the DN should be its extra weight of the moving components which is mostly compensated with higher powered drive systems. Your post processor could probably use some work to get the program to output with similar performance on each machine but after that both machines should be pretty close to each other in speed as long as the dealer knew what you were trying to do and optioned the machine accordingly. Try going extreme in both directions with that r value to see if it even does anything different. It should be noticeable on a tight tool path as soon as it gets into the cut. If it’s still falling on its face you need to get your dealer involved.
 
Actually, after reviewing your post again, the cam output is probably good based on your chart. That thing should be flying if the machine and options were setup correctly from the dealer. Did you show them what you were going to be running on it before you got it?
 
Couple of things:

Lookahead- is probably not relevant here at all. Code-starving was a thing many many years ago when compute power on controllers was really limited, and it took .2 seconds to process each block of code. The Haas and Fanuc controls are in the low single-digit millisecond per block range these days, if not even sub 1ms range.

Today, most every control is taking big piles of G01 code for surfacing and turning them into NURBS curves and this is what lookahead is doing. More lines of code == better visibility into the profile coming up, so better fitting of the NURBS curve.


First thing I would do?
Run the same program on both machines, but set every operation to the medium setting - On the Fanuc control, that would be G5.1 Q1 R5, and Haas is G187 P2. That will give you a 1:1 comparison of where each machine's settings are at results wise, and take the post out of the equation.

My assumption is that the Haas will still be faster, but more because Haas defaults to somewhat sloppy settings expecting their customer base to chock surface finish/accuracy issues to "Well, it is a Haas..." Just for some perspective, Haas Setting 85 is the maximum corner deviation and it comes from the factory at 0.05". On a Speedio, the fastest, most aggressive roughing setting we have only allows for 0.018" of deviation from the programmed contour.

You might wind up opening up the tolerances on the Doosan a bit so you can get more dynamic range out of the G5.1 available settings - loosen up the roughing (R1) while keeping the R10 (Finish) side tight, with a couple of steps in the middle for things like semi-finishing or actual 3D surfacing.
listen to this guy, he knows what he's talking about.
i'm willing to bet it is your g5.1 settings. 10 is the tightest/slowest/most accurate, and the doosan will stick to that a lot better than haas. open those up and see it fly.
 
Thanks for all the replies. I think the most glaring difference is the contouring (which is the majority of the run time) is at 2 (medium) on the haas and 10 (ultra fine) on the DN. As Gkoenig said, setting them both to medium and baseline is the best thing to do. I took all the vises out of the haas, so I am going to need to do some screwing around in order to get it to work, though.

Also, I went into the postprocessor and the way "auto" smoothing works is based solely on "stock to leave", which isn't going to work for me. Inventor Cam has a "smoothing" option with a "smoothness fit tolerance" for each toolpath that is independent of the smoothing in the controller. I added some additional lines in the post processor so when the "smoothness fit tolerance" is a certain value, I can force the postprocessor to output the g5.1 that I want. For example, if I enter a smoothness tolerance of .0011, it will program a G5.1 Q1 R1. A value of .0016 will force a G5.1 Q1 R6. It lets me have some control in CAM as opposed to going in and editing the program manually, which I hate doing. It's a little bit of a kludge, but it will at least let me tinker a bit. Interestingly enough, the only time it looks at tolerance (at the top of the image below) for auto smoothing is if it is a facing operation, for some reason.

1704206914543.png
 
Last edited:
I think the most glaring difference is the contouring (which is the majority of the run time) is at 2 (medium) on the haas and 10 (ultra fine) on the DN.

Yep, you'll rarely use 10 when finishing I think I use 6 or 7 for finishing.
For dynamic roughing set it to 2 or 3, provided you're leaving enough stock to cleanup when finishing.
 
Thanks for all the replies. I think the most glaring difference is the contouring (which is the majority of the run time) is at 2 (medium) on the haas and 10 (ultra fine) on the DN. As Gkoenig said, setting them both to medium and baseline is the best thing to do. I took all the vises out of the haas, so I am going to need to do some screwing around in order to get it to work, though.

Also, I went into the postprocessor and the way "auto" smoothing works is based solely on "stock to leave", which isn't going to work for me. Inventor Cam has a "smoothing" option with a "smoothness fit tolerance" for each toolpath that is independent of the smoothing in the controller. I added some additional lines in the post processor so when the "smoothness fit tolerance" is a certain value, I can force the postprocessor to output the g5.1 that I want. For example, if I enter a smoothness tolerance of .0011, it will program a G5.1 Q1 R1. A value of .0016 will force a G5.1 Q1 R6. It lets me have some control in CAM as opposed to going in and editing the program manually, which I hate doing. It's a little bit of a kludge, but it will at least let me tinker a bit. Interestingly enough, the only time it looks at tolerance (at the top of the image below) for auto smoothing is if it is a facing operation, for some reason.

View attachment 421450

I wouldn't use Smoothing as the trigger for machining modes. A lot of Fusion/Inventor/HSM posts do this, without realizing that Smoothing is just Autodesk speak for line arc fitting. It has no impact on simple line and arc based geometry, but the moment you try to process a spline, you'll be sending sub-optimal arc fitted code to a modern control.

Tolerance can do the same triggers for you, but is not going to be changing the output method the way Smoothing will.

Arc fitting was an old-school trick implemented by CAM guys back when control compute and memory was anemic. Modern controls have dramatically faster block processing and generally prefer complex contours to be delivered as a spaghetti pile of G01 moves that the guts of the system will convert into splines which get processed into servo commands. That process becomes really difficult for control engineers to do if you send the machine choppy G01 + G02/G03 arc commands that make the math of fitting a spline exponentially more complicated.

I'm getting back into testing our High Accuracy system on Brothers, and am coming around to the idea that folks are (generally) over-tightening the machining tolerances using these systems, to the detriment of cycle times. In my experience, Fanuc G5.1 Q1 R10 values are exceptionally tight tolerance in the corners and everything slows to a crawl. In our machines, The M298 L5 finishing specification only allows for a maximum of 7 microns of deviation in corners.

Problem is - controlling the inertia of hundreds of pounds of stuff to get it all to move perfectly in sync to produce a curve path with 7 microns of deviation requires you go really slow. Does most of our geometry really require that? Probably not!

Remember - when it comes to Fanuc G5.1, Haas G187, Brother High Accuracy, Siemens Cycle 832, Okuma HiCut Pro - all of these systems tolerances only matter around corners - they have no impact on the straight line sections of code or positions that make up most of the tight tolerance features on a print. Do the outside corner rounds on a box shaped part or internal pockets really require 7 microns of accuracy? Probably not!

Same thing for 3D surfaces. Unless I am making a very high-end mold or optical stuff, does the 3D chamfer or knife blade surface profile require accuracy to within 10 microns of the model? Probably not, but everyone is automatically applying machining modes designed to give that level of accuracy while also struggling to get cycle times down.

The way I might do things? Set Tolerance in the operation to be your main driver for the R values of your machining modes - something like this:

0.002" Tolerance = R1 (Roughing)
0.001" Tolerance = R3 (SemiFinish)
0.0005" Tolerance = R6 (Finishing)
0.0001" Tolerance = R10 (Max Accuracy)

And that 0.0001" tolerance? I would only use that where really needed - such as helical boring or features where a truly exceptional tolerance is required, because it is going to run very very slowly.

Things get more complicated if you are doing a lot of 3D machining and the type of 3D machining you are doing. Having said that, I'm exploring setting things up to loosen up finishing tolerances a bit because I really do think we're pushing stuff a bit too tight, but this is all a work in progress as far as my opinions go. Need to do more testing/experimentation (as always!).
 
I wouldn't use Smoothing as the trigger for machining modes. A lot of Fusion/Inventor/HSM posts do this, without realizing that Smoothing is just Autodesk speak for line arc fitting. It has no impact on simple line and arc based geometry, but the moment you try to process a spline, you'll be sending sub-optimal arc fitted code to a modern control.

Tolerance can do the same triggers for you, but is not going to be changing the output method the way Smoothing will.

Arc fitting was an old-school trick implemented by CAM guys back when control compute and memory was anemic. Modern controls have dramatically faster block processing and generally prefer complex contours to be delivered as a spaghetti pile of G01 moves that the guts of the system will convert into splines which get processed into servo commands. That process becomes really difficult for control engineers to do if you send the machine choppy G01 + G02/G03 arc commands that make the math of fitting a spline exponentially more complicated.

I'm getting back into testing our High Accuracy system on Brothers, and am coming around to the idea that folks are (generally) over-tightening the machining tolerances using these systems, to the detriment of cycle times. In my experience, Fanuc G5.1 Q1 R10 values are exceptionally tight tolerance in the corners and everything slows to a crawl. In our machines, The M298 L5 finishing specification only allows for a maximum of 7 microns of deviation in corners.

Problem is - controlling the inertia of hundreds of pounds of stuff to get it all to move perfectly in sync to produce a curve path with 7 microns of deviation requires you go really slow. Does most of our geometry really require that? Probably not!

Remember - when it comes to Fanuc G5.1, Haas G187, Brother High Accuracy, Siemens Cycle 832, Okuma HiCut Pro - all of these systems tolerances only matter around corners - they have no impact on the straight line sections of code or positions that make up most of the tight tolerance features on a print. Do the outside corner rounds on a box shaped part or internal pockets really require 7 microns of accuracy? Probably not!

Same thing for 3D surfaces. Unless I am making a very high-end mold or optical stuff, does the 3D chamfer or knife blade surface profile require accuracy to within 10 microns of the model? Probably not, but everyone is automatically applying machining modes designed to give that level of accuracy while also struggling to get cycle times down.

The way I might do things? Set Tolerance in the operation to be your main driver for the R values of your machining modes - something like this:

0.002" Tolerance = R1 (Roughing)
0.001" Tolerance = R3 (SemiFinish)
0.0005" Tolerance = R6 (Finishing)
0.0001" Tolerance = R10 (Max Accuracy)

And that 0.0001" tolerance? I would only use that where really needed - such as helical boring or features where a truly exceptional tolerance is required, because it is going to run very very slowly.

Things get more complicated if you are doing a lot of 3D machining and the type of 3D machining you are doing. Having said that, I'm exploring setting things up to loosen up finishing tolerances a bit because I really do think we're pushing stuff a bit too tight, but this is all a work in progress as far as my opinions go. Need to do more testing/experimentation (as always!).
What a wealth of knowledge, thank you.

My thought on using the smoothing fit tolerance was that I tend to only use that when I want to deviate from the already overkill values that cam spits out. By default it's turned off in all my templates, so it was just something I could turn on for roughing.

I could easily change it to the tolerance value, though. I think your explanation makes sense. I've got a run going now using the "smoothing fit tolerance", I'll report back. I can already tell it's ripping along a lot better at R6 on the contouring than at R10.

Another thing I did note is I had all my no-contact adaptive moves set to 800ipm. The cam sends this as high feedrate, but there was also an upper limit on the max feedrate in the post, so it changed that 800ipm to the cutting feedrate, which was a lot slower.
 
Did that last bit about no-contact adaptive moves apply to the VF2SSYT or only the DN?
On the HAAS the max feedrate was set to 800, not 500. So it was passinfg 800 through, but I'm sure the haas never hit those speeds.
 
On the HAAS the max feedrate was set to 800, not 500. So it was passinfg 800 through, but I'm sure the haas never hit those speeds.
My VF2SS is 800 my DM2 is 1200 same programs loaded and the DM2 is quite faster, but rapids, tool changes, it all adds also.
 
What a wealth of knowledge, thank you.

My thought on using the smoothing fit tolerance was that I tend to only use that when I want to deviate from the already overkill values that cam spits out. By default it's turned off in all my templates, so it was just something I could turn on for roughing.

When you look at the code with Smoothing Fit Tolerance turned on, it it outputting straight G01 moves, or is it putting out a mix of G01/G02/G03?

In my experience with Brother (and this tracks with the experince my counterparts have with other controls), Adaptive roughing tool-path does best if it is a mix of arcs and line segments and not trying to output it as G01 moves like 3D toolpath. This tracks with some data from other manufacturers that sophisticated 3D machining geared systems (Fanuc Nano Smoothing, Okuma SuperNURBS, Brother Mode B) tend to oversmooth and slow down adaptive roughing paths to the point where the older systems/methods are preferable.
 
My assumption is that the Haas will still be faster, but more because Haas defaults to somewhat sloppy settings expecting their customer base to chock surface finish/accuracy issues to "Well, it is a Haas..." Just for some perspective, Haas Setting 85 is the maximum corner deviation and it comes from the factory at 0.05". On a Speedio, the fastest, most aggressive roughing setting we have only allows for 0.018" of deviation from the programmed contour.
I believe the Haas actually come from factory set to .025 max corner rounding. To my surprise, while reading the manual for our UMC-500, I noticed it stated if you're doing full simultaneous, that if setting 85 is lower than .05 "it could produce jerky movements" or something like that lol. I had never changed that setting and it was at .025. Then I went and checked a few other VF2's around the shop and they were all set to .025 as well.
For the VF2's that sounds perfectly reasonable but I found it odd Haas recommended .05 setting for the UMC but it came at .025.

great info in your posts though much appreciated. I'm always trying to learn more about the fanuc control
 
Am I understanding correctly that your post is outputting G5.1 for every operation, with only the R value changing?

If so, you need to change that, as it's not at all how it's meant to be used, and it's no wonder that it's slowing it down a lot.

If you're new to this machine and still figuring it out, then you should start from a position of having G5.1 turned off at all times, and turn it on only for the specific operations where it seems like it might need it.

Typically IME, any value over 5 is pretty aggressive about slowing down small moves, and over 7 is very aggressive. The values you actually end up using vary by machine and you have to experiment with them. Low values like 1-3 are usually pretty good for smoothing out fast jerky toolpaths.
 
Am I understanding correctly that your post is outputting G5.1 for every operation, with only the R value changing?

If so, you need to change that, as it's not at all how it's meant to be used, and it's no wonder that it's slowing it down a lot.

If you're new to this machine and still figuring it out, then you should start from a position of having G5.1 turned off at all times, and turn it on only for the specific operations where it seems like it might need it.

Typically IME, any value over 5 is pretty aggressive about slowing down small moves, and over 7 is very aggressive. The values you actually end up using vary by machine and you have to experiment with them. Low values like 1-3 are usually pretty good for smoothing out fast jerky toolpaths.
Yes, when the postprocessor has smoothing enabled, it puts some flavor of G5.1 on every operation.

When I was running it with smoothing turned OFF the machine was making so many short fast moves the whole fuckin thing was shaking so much the doors were slamming against each other. Once I turned on smoothing that fixed the problem. This machine is on a 4" pad in my home garage which probably has something to do with it. I ran a set of headlights last night and with the updated 5.1 settings I shaved 2 hours off the previous 5+ hour runtime.
 
Am I understanding correctly that your post is outputting G5.1 for every operation, with only the R value changing?

If so, you need to change that, as it's not at all how it's meant to be used, and it's no wonder that it's slowing it down a lot.

If you're new to this machine and still figuring it out, then you should start from a position of having G5.1 turned off at all times, and turn it on only for the specific operations where it seems like it might need it.

Typically IME, any value over 5 is pretty aggressive about slowing down small moves, and over 7 is very aggressive. The values you actually end up using vary by machine and you have to experiment with them. Low values like 1-3 are usually pretty good for smoothing out fast jerky toolpaths.
there is NO reason to not post G5.1 for every operation - as long as the correct R value is being used for each operation.
 
  • Like
Reactions: JMC
there is NO reason to not post G5.1 for every operation - as long as the correct R value is being used for each operation.
It won't do any harm except for where it mutually excludes other control functions*, but it will slow everything down which was the point of thread. Might not be a lot, but R1 is still slower than Q0.

*Since OP hasn't mentioned any alarms or things not working I guess his post is sufficiently well-written to not cause any conflicts, but still, why enable it when it's superfluous?
 
It won't do any harm except for where it mutually excludes other control functions*, but it will slow everything down which was the point of thread. Might not be a lot, but R1 is still slower than Q0.

*Since OP hasn't mentioned any alarms or things not working I guess his post is sufficiently well-written to not cause any conflicts, but still, why enable it when it's superfluous?
such as?
 








 
Back
Top