Post Processor will not start sub spindle.

Post Processor will not start sub spindle.

Anonymous
Not applicable
785 Views
7 Replies
Message 1 of 8

Post Processor will not start sub spindle.

Anonymous
Not applicable

Hi there.

 

We have been editing a post for a Doosan 2500sy with FANUC 18i control for a few days now. The final speedbump is the secondary spindle operation. The post will only spit out an M3, M4 or M5 even when secondary spindle is selected within Fusion setup.

 

Would be great if anyone could have a look at the modified post and point us in the right direction.

 

Much Appreciated

 

Joe

0 Likes
786 Views
7 Replies
Replies (7)
Message 2 of 8

andrew.millardCYPQ9
Autodesk
Autodesk

Hi Joe,

 

You just need to add a bit more code in to differentiate between main and sub for the spindle start.

If you change line 2817 from :-

 

spindleDir = mFormat.format(tool.clockwise ? getCode("START_SPINDLE_CW", getSpindle(false)) : getCode("START_SPINDLE_CCW", getSpindle(false)));


To:-

 

if (getSpindle() == SPINDLE_SUB) {
spindleDir = mFormat.format(tool.clockwise ? getCode("START_SUB_SPINDLE_CW", getSpindle(false)) : getCode("START_SUB_SPINDLE_CCW", getSpindle(false)));
} else {
spindleDir = mFormat.format(tool.clockwise ? getCode("START_SPINDLE_CW", getSpindle(false)) : getCode("START_SPINDLE_CCW", getSpindle(false)));
}

 

That should then give you the correct M code.


Andy

If my post answers your question, please click the 'Accept Solution' button. This helps everyone find answers more quickly!



Andy Millard

Product Support Specialist


Message 3 of 8

Anonymous
Not applicable

Thanks very much for your reply Andy.

 

The solution works perfectly for producing M103 and M104 codes. It doesn't seem to be generating an M105 at the end of a block however; it is still posting an M05.

 

Do you have any pointers for solving this?

 

Regards

 

Joe

0 Likes
Message 4 of 8

andrew.millardCYPQ9
Autodesk
Autodesk

Hi Joe,

 

It's probably better if we do the spindle start/stops a little different then in that case (I have seen M5 work stopping all spindles on a Puma (albeit an older revision)).

So, if you do the following, then this should give you the correct starts / stops for milling and turning :-

 

Revert 2817 back to :-

 

spindleDir = mFormat.format(tool.clockwise ? getCode("START_SPINDLE_CW", getSpindle(false)) : getCode("START_SPINDLE_CCW", getSpindle(false)));

 


Replace lines 2736 - 2740 from :-

 

if (getSpindle() == SPINDLE_SUB) {
spindleDir = tool.clockwise ? getCode("START_SUB_SPINDLE_CW") : getCode("START_SUB_SPINDLE_CCW");
} else {
spindleDir = tool.clockwise ? getCode("START_SPINDLE_CW") : getCode("START_SPINDLE_CCW");
}

 

To :-


spindleDir = tool.clockwise ? getCode("START_SPINDLE_CW") : getCode("START_SPINDLE_CCW");

 


Replace lines 283 -> 294 from -

 

case "STOP_SPINDLE":
return 5;
case "ORIENT_SPINDLE":
return (spindle == SPINDLE_MAIN) ? 19 : 119;
case "START_SPINDLE_CW":
return 3;
case "START_SUB_SPINDLE_CW":
return 103;
case "START_SPINDLE_CCW":
return 4;
case "START_SUB_SPINDLE_CCW":
return 104;

 

To-

 

case "STOP_SPINDLE":
switch (spindle) {
case SPINDLE_MAIN:
machineState.mainSpindleIsActive = true;
return 5;
case SPINDLE_SUB:
machineState.subSpindleIsActive = true;
return 105;
case SPINDLE_LIVE:
machineState.liveToolIsActive = true;
return 5;
}
case "ORIENT_SPINDLE":
return (spindle == SPINDLE_MAIN) ? 19 : 119;
case "START_SPINDLE_CW":
switch (spindle) {
case SPINDLE_MAIN:
machineState.mainSpindleIsActive = true;
return 3;
case SPINDLE_SUB:
machineState.subSpindleIsActive = true;
return 103;
case SPINDLE_LIVE:
machineState.liveToolIsActive = true;
return 3;
}
case "START_SPINDLE_CCW":
switch (spindle) {
case SPINDLE_MAIN:
machineState.mainSpindleIsActive = true;
return 4;
case SPINDLE_SUB:
machineState.subSpindleIsActive = true;
return 104;
case SPINDLE_LIVE:
machineState.liveToolIsActive = true;
return 4;
}

 

This will give you the correct startup/cancellation codes per spindle then.

Hope  this helps!


Andy

 

 

If my post answers your question, please click the 'Accept Solution' button. This helps everyone find answers more quickly!



Andy Millard

Product Support Specialist


Message 5 of 8

Anonymous
Not applicable

Hi Andy

 

This solution works perfectly. Thank you for your help.

 

I have subsequently run into an issue this morning where a drilling operation on the sub spindle produces the error: "Direction is not supported by the machine configuration".

 

Is this also an issue related to the post or can this be resolved within the Fusion CAM client?

 

Regards

 

Joe

0 Likes
Message 6 of 8

andrew.millardCYPQ9
Autodesk
Autodesk

Hi Joe,

 

I've just posted a couple of holes on the sub spindle (one on centreline, one at a random point in XC) and get code :-

 

N700(DRILL2)
G55 M83
G98 G17 M135
G0 G28 H0.
M189
G30 U0.0 W0.0
T0808
G97 S5820 M3
M190
G0 C0.
M189
G0 Z15.
X0. Y0.
G0 Z5.
G83 Z-103.646 R-20. F728. M189
G80
G0 Z15.

(DRILL3)
G0 X82.908 C-59.973 Z15.
G0 Z5.
G83 C-59.973 Z-15. R0. F728. M189
G80
G0 Z15.
M5

 

Presumably then this is something in the Fusion project?  If you can attach an F3D here, I can take a look? (File -> Export).

 

Andy

If my post answers your question, please click the 'Accept Solution' button. This helps everyone find answers more quickly!



Andy Millard

Product Support Specialist


0 Likes
Message 7 of 8

Anonymous
Not applicable

Hi Andy

 

Please find attached the F3D files for the project I am having an issue with. Any additional advice would also be greatly appreciated.

 

Joe

0 Likes
Message 8 of 8

andrew.millardCYPQ9
Autodesk
Autodesk

I think it's because of the direction of the workplane for the sub spindle operations.  You will need to invert the Z/Y/C axes in the post for sub spindle work and reverse the workplane so Z is pointing outwards in Fusion. I think the tool orientation will cause an issue if pointing inwards like you have this.

 

If you look at the library post for doosan turn/mill's, you should see how this is done in there....

https://cam.autodesk.com/hsmposts?p=doosan_mill-turn_fanuc

 

If my post answers your question, please click the 'Accept Solution' button. This helps everyone find answers more quickly!



Andy Millard

Product Support Specialist


0 Likes