issue with 3d parallel on sinumerik 808D vmc

issue with 3d parallel on sinumerik 808D vmc

baker99
Explorer Explorer
3,393 Views
15 Replies
Message 1 of 16

issue with 3d parallel on sinumerik 808D vmc

baker99
Explorer
Explorer

Hi everyone,

 

I couldn't find similar subject in other threads, so here it is:

 

I have problem with 3d parallel strategy when milling cavities with ball mills. In simulation everything is ok, but in actual milling it goes as shown on attached image. it plunges into the wall instead of following programmed toolpath.

 

I use sinumerik 808D control, but 840D post, because.. well.. it worked just fine till this part.

cps file and generated mpf in attachment.

 

In siemens control tool is set as ball mill but I suppose it doesn't matter in case when I use cam.

 

I would be grateful for any suggestions.

 

Piotr.

 

 

 

 

 

0 Likes
3,394 Views
15 Replies
Replies (15)
Message 2 of 16

HughesTooling
Consultant
Consultant

I have not used your control but I have a question, how does your control deal with arcs in the XZ and YZ planes, should it be using G18\19. I just posted your code using the generic 820 and 840 posts and the 820 uses G17/18/19 but they're missing from the 840 code.

 

Below 840 left 820 right. I have a Heidenhain control that doesn't use G17/18/19 for arc planes it just uses the coordinate on the arc line but you can only have 2 cords on a G2/3 line, you have 3, at the top of the code here you have X61.779 that seems unnesisery.

Capture.PNG

 

 

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


0 Likes
Message 3 of 16

baker99
Explorer
Explorer

Hello,

 

Thank you for quick reply.

 

What I can tell you for now is that when I post using generic 820 control goes all red with errors on arcs. When I post with 840 it works flawlessly with all 3d strategies except for milling cavities with 3d parallel.

 

When I use 3d parallel on extrenal shapes it works just fine. No problem with morphed spiral, 3d countour and others too.

 

I checked these two posts with 808d control simulator from siemens before buying machine. And it only worked with 840D post.

 

Only other problem with 840d post was when I run program from current tool in the spindle it spitted error with Z axis. To overcome this when I want to run it from the tool in the spindle I just select "search block" then "go to countour" and select line 21 which selects G54 and it goes from there. So I can live with that.

 

To be honest I can't even drill a hole with control alone :). I only use Fusion.

 

The only thing I do on control is setting work offsets and measuring tools.

 

And to this day I made dozens of simple and more complicated parts and everything worked superb. Thanks to Fusion I can do all the work myself without even being CNC operator.

 

I only crashed a few tools in almost 8 months. Problem is I trust Fusion cam simulation in 100% and when it shows no crashes I run program and just go do other thing.

 

Now it scared me a bit. I don't care about breaking tools. But when I work like 0.5mm from holder to workpiece I don't want to crash the spindle into the vice.

 

Anyway, maybe I can set ball mill in control as end mill. It seems like control try to go sideways instead of going straight in parallel fasion. As i said, I only use control for setting things up.

 

 

Piotr

 

0 Likes
Message 4 of 16

HughesTooling
Consultant
Consultant

The problem you're seeing is very much like you'd get if the machine is using the XY plane (G17) when it should be using ZX or YZ (G18/19), the other parallel finish in the file is not across the arc but along the arc so just a straight line, the linking moves have some arcs but they might be small enough that you don't see the problem.

 

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


0 Likes
Message 5 of 16

chris_IgniteDigi
Advocate
Advocate
Hi Mark,

I have exactly the same problem, with a CNC using the 808d controller. Did you find a solution? I to am posting using a slightly modified 840 post.

When I tried using the 828 post I would just get errors all the time about arcs for the vertical lead in on all took paths.

The 840 post work fine for contour finishing but not parallel, on external surfaces it gouges as well with that strategy.

Cheers

Chris
0 Likes
Message 6 of 16

HughesTooling
Consultant
Consultant

Can you hand code a simple toolpath along the X axis with an arc in the XZ plane to see what your control wants, or try the attached file. It has a simple trace toolpath with one arc try and see if you can figure out what the control needs.

 

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


0 Likes
Message 7 of 16

chris_IgniteDigi
Advocate
Advocate

Thanks Mark,

 

This is the code that is posted from the trace tool path. When I run this it performs the arc in the horizontal plane not the vertical plane.

 

; %_N_1002CIP_MPF
N10 ; T2 D=6 CR=3 - ZMIN=-27.781 - ball end mill
N11 G90 G94
N12 G71
N13 G64
N14 G17
N15 G0 SUPA Z0 D0 M9

N16 ; Trace1
N17 M9
N18 T2 D1
N19 M6
N20 S8000 M3
N21 G57
N22 G0 X-29.777 Y-20.65
N23 G0 Z15
N24 M8
N25 G0 Z5
N26 G1 Z-27.753 F1440
N27 G1 X-12.75 Z-6.401
N28 G17
N29 G3 X14.15 Y-20.65 Z-6.811 CR=17
N30 G1 X29.852 Z-27.781
N31 G1 Z5
N32 G0 Z15

N34 G0 SUPA Z0 D0
N35 G0 SUPA X-200 Y-5 D0
N36 M30

 

Line N29 of the code generates the curve in the XY plane, not in the XZ plane as shown in the fusion simulation or toolpath. If  I manually change line N28 to G18 for the XZ plane, then the controller throws an error "Radius to small" or similar

 

 

 

0 Likes
Message 8 of 16

HughesTooling
Consultant
Consultant

Hi Chris,

Try removing the Y-20.65 as I don't think that's needed, edited code below. Try with and without G18 as well.

 

; %_N_1002CIP_MPF
N10 ; T2 D=6 CR=3 - ZMIN=-27.781 - ball end mill
N11 G90 G94
N12 G71
N13 G64
N14 G17
N15 G0 SUPA Z0 D0 M9
N16 ; Trace1
N17 M9
N18 T2 D1
N19 M6
N20 S8000 M3
N21 G57
N22 G0 X-29.777 Y-20.65
N23 G0 Z15
N24 M8
N25 G0 Z5
N26 G1 Z-27.753 F1440
N27 G1 X-12.75 Z-6.401
N28 G17
N29 G3 X14.15 Z-6.811 CR=17
N30 G1 X29.852 Z-27.781
N31 G1 Z5
N32 G0 Z15
N34 G0 SUPA Z0 D0
N35 G0 SUPA X-200 Y-5 D0
N36 M30

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


0 Likes
Message 9 of 16

chris_IgniteDigi
Advocate
Advocate

Hi Mark,

 

I tried that code directly, and it traced the expected tool path, visually matched what the simulation showed. Now how do I get the post processor to output this?? any ideas?

 

Cheers

0 Likes
Message 10 of 16

chris_IgniteDigi
Advocate
Advocate

Here are the results of trying to run the parallel tool path, it shows a nice arc being traced in the wrong plane.

0 Likes
Message 11 of 16

chris_IgniteDigi
Advocate
Advocate

And here is the fusion file and code.

0 Likes
Message 12 of 16

HughesTooling
Consultant
Consultant

Here's an edited version of the 840 post, use with care. I've made it output only 2 coordinates on all G02/03 move, this will mean helical moves will be linearize. Were you able to do helical cuts in the XY plane with the standard post, if you were I can make another change so G02/03 moves work as before for XY.

 

If you just want to modify your post this is the new code, just search for "use radius mode" be careful with the brackets there should be one after this bit of code to end the onCircular function..

  } else { // use radius mode
    if (isHelical()) {
      linearize(tolerance);
      return;
    }
    var r = getCircularRadius();
    if (toDeg(getCircularSweep()) > (180 + 1e-9)) {
      r = -r; // allow up to <360 deg arcs
    }
    switch (getCircularPlane()) {
    case PLANE_XY:
      forceXYZ();
      writeBlock(gMotionModal.format(clockwise ? 2 : 3), xOutput.format(x), yOutput.format(y), "CR=" + xyzFormat.format(r), getFeed(feed));
      break;
    case PLANE_ZX:
      forceXYZ();
      writeBlock(gMotionModal.format(clockwise ? 2 : 3), xOutput.format(x), zOutput.format(z), "CR=" + xyzFormat.format(r), getFeed(feed));
      break;
    case PLANE_YZ:
      forceXYZ();
      writeBlock(gMotionModal.format(clockwise ? 2 : 3), yOutput.format(y), zOutput.format(z), "CR=" + xyzFormat.format(r), getFeed(feed));
      break;
    default:
      linearize(tolerance);
    }
  }

 

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


0 Likes
Message 13 of 16

chris_IgniteDigi
Advocate
Advocate

Hi Mark,

 

I have been using helical moves in the xy plane, for helical ramping into the material at the beginning of a cut and for helical boring operations.

 

I have my post open and see where you have made the changes,  I will try this change on a test part.

 

What should I do differently to keep helical moves in the XY plane ? Add back in the zOutput.format(z) for the first case statement?

 

Thanks

 

Chris

0 Likes
Message 14 of 16

HughesTooling
Consultant
Consultant

Not just that the helical check at the start will grab helical move before it gets that far. Try this.

  } else { // use radius mode
    var r = getCircularRadius();
    if (toDeg(getCircularSweep()) > (180 + 1e-9)) {
      r = -r; // allow up to <360 deg arcs
    }
	switch (getCircularPlane()) {
	case PLANE_XY:
	  forceXYZ();
	  writeBlock(gMotionModal.format(clockwise ? 2 : 3), xOutput.format(x), yOutput.format(y), zOutput.format(z), "CR=" + xyzFormat.format(r), getFeed(feed));
	  break;
	case PLANE_ZX:
	  if (isHelical()) {
		linearize(tolerance);
		return;
	  }
	  forceXYZ();
	  writeBlock(gMotionModal.format(clockwise ? 2 : 3), xOutput.format(x), zOutput.format(z), "CR=" + xyzFormat.format(r), getFeed(feed));
	  break;
	case PLANE_YZ:
	  if (isHelical()) {
		linearize(tolerance);
		return;
	  }
	  forceXYZ();
	  writeBlock(gMotionModal.format(clockwise ? 2 : 3), yOutput.format(y), zOutput.format(z), "CR=" + xyzFormat.format(r), getFeed(feed));
	  break;
	default:
	  linearize(tolerance);
	}
  }

 

Mark 

 

Edit Update the code block, I'd missed a bit.

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


Message 15 of 16

chris_IgniteDigi
Advocate
Advocate

Thanks Mark, I have updated my post processor with these changes, and will run it in the morning and report back.

 

thanks

0 Likes
Message 16 of 16

chris_IgniteDigi
Advocate
Advocate

Hey Mark,

 

Looks like this worked, I just ran parallel toolpath, in 0, 45 and 90 directions, and it cut as I was expecting it to.

 

Thanks for the help, greatly appreciated!!

 

Thanks

0 Likes