Post Processor Doosan Puma 280LM Fanuc i Series

Post Processor Doosan Puma 280LM Fanuc i Series

tony3W49B
Advocate Advocate
2,226 Views
12 Replies
Message 1 of 13

Post Processor Doosan Puma 280LM Fanuc i Series

tony3W49B
Advocate
Advocate

Hi guys,

I have an issue with a machine I am trying to post to.

The machine is Doosan Puma 280LM, with Fanuc i Series control on it. It has X,Z & C axis on the machine( no Y axis)

I have tried to use the Doosan Mill/Turn with Fanuc 0i/31i post, from the Fusion library to post out a program. This was the nearest I could find to the machine spec. However, I have had to manually change the outputted program significantly to get it to perform the actions I required. Some of the errors were unassigned/ incorrect M codes to turn on the driven tooling etc.

Does anyone have a post that would work on my machine configuration, or could anyone please point me in the right direction for another post that might be more suitable. I have, in the past used this forum for answers, and you guys have been ultra helpful.

Based on the info, I have received from previous posts, I have done minor edits to posts to get them to work. But by no means am I proficient at this. This was part of a simple face drilling application that was posted as an example.

Below is an example of the program, issues I believe are as follows:-

 

 Is calling G17 plane, surely this should be different?

No calling of RPM to be relevant to driven tool rather than main spindle? In short I assume there's an M code for driven tooling activation.

 

 

G0 G28 U0. V0.
G28 W0.
M90
G54
G98 G17 M35
G0 G28 H0.
T0303
M8
G97 S1989 M3 P12
G0 Z15.
X100. Y0. C150.

 

 

 

 

 

 

Any help, as always, is very much appreciated.

Thanks

0 Likes
2,227 Views
12 Replies
Replies (12)
Message 2 of 13

seth.madore
Community Manager
Community Manager

You're using the correct post, but based on the vintage of the machine, there may be some edits required. For driven versus main/sub spindle, that is triggered by the "P" value; P11=main, P12=live, P13=sub


Seth Madore
Customer Advocacy Manager - Manufacturing


0 Likes
Message 3 of 13

tony3W49B
Advocate
Advocate

Hi @seth.madore ,

Thanks for your speedy response, I will look at the advised changes.

However, the main problem I'm having with that post, in specific, is when I post out any milling paths the program is wanting to assign y axis movements, instead of c axis. The machine doesn't have a y axis, its only got x,z & c along with a tailstock. Can you advise anything else, please?

 

0 Likes
Message 4 of 13

seth.madore
Community Manager
Community Manager

You'll have to modify the post:

 

2023-01-12_14h36_26.png

 


Seth Madore
Customer Advocacy Manager - Manufacturing


Message 5 of 13

Laurens-3DTechDraw
Mentor
Mentor

And there is a Post Processor Property that lets you select if it used P-Codes for spindle selection or M-Codes.

It's called: "Use P-codes for spindle selection" by default it's true, but set it to false and you get M-codes.

Laurens Wijnschenk
3DTechDraw

AutoDesk CAM user & Post editor.
Found out the hard way is the best way to win.


Message 6 of 13

tony3W49B
Advocate
Advocate

Hi @seth.madore ,

Thank you for your help.

I am assuming that you are meaning me to change true to false on the y axis?

I selected the post from the Fusion library, and this I believe is the section you are referring to:-

 

function writeCommentSeqno(text) {
writeln(formatSequenceNumber() + formatComment(text));
}

function defineMachine() {
gotSecondarySpindle = getProperty("gotSecondarySpindle");
gotMultiTurret = getProperty("gotMultiTurret");
turret1GotYAxis = false;
turret2GotYAxis = false;
if (getProperty("machineModel") == "PUMA") {
modelType = "Puma";
turret1GotYAxis = true;
yAxisMinimum = toPreciseUnit(-50, MM); // specifies the minimum range for the Y-axis
yAxisMaximum = toPreciseUnit(50, MM); // specifies the maximum range for the Y-axis
xAxisMinimum = getProperty("xAxisMinimum"); // specifies the maximum range for the X-axis (RADIUS MODE VALUE)
gotBAxis = false; // B-axis always requires customization to match the machine specific functions for doing rotations
bAxisIsManual = true; // B-axis is manually set and not programmable
gotPolarInterpolation = true; // specifies if the machine has XY polar interpolation capabilities
gotDoorControl = false;
useCAxisSelectWithTurning = true;
setProperty("useG400", false);
useMultiAxisFeatures = true;
useExtendedOffsets = getProperty("useExtendedOffsets") == "default" ? "false" : getProperty("useExtendedOffsets");
} else if ((getProperty("machineModel") == "LYNX") || (getPro

 

As you can see, it is already set to false for the y axis.

Apologies, If i am not understanding your response fully.

 

0 Likes
Message 7 of 13

Laurens-3DTechDraw
Mentor
Mentor

Hi,
There is still one line on true. And that's the line you need to change.

modelType = "Puma";
turret1GotYAxis = true;

to:

modelType = "Puma";
turret1GotYAxis = false;

Laurens Wijnschenk
3DTechDraw

AutoDesk CAM user & Post editor.
Found out the hard way is the best way to win.


0 Likes
Message 8 of 13

tony3W49B
Advocate
Advocate

@Laurens-3DTechDraw ,

Thank you for your reply.

I noticed that after posting and changed it.

Am I being completely numb here, or should I be seeing c movements in the code for the machine.

I posted out a milling cycle to produce a keyway. I am using a Ø6mm endmill, to produce a 7.9mm keyway in a shaft. Shown in the snapshot below:-

tony3W49B_0-1673875734975.png

The code being generated is:-

O6666
G0 G18 G21 G40 G54 G80 G99
M24

N1(ROUGH KEYWAY SECTION A-A)
G0 G28 U0.
G28 W0.
G54
G98 G18 M35
M90
G0 G28 H0.
M89
T0404
(UM-4E-D6.0 KMG405)
G97 S6000 M33
M90
G0 C0.
M89
G0 Z4.482
X80.8
X60.8
G1 X52.8 F1500.
X26.338
G3 X25.138 I0. J-0.6 F600.
G19 G3 Z3.882 J0. K-0.6
G1 Z-83.356
G3 Z-84.098 J0.856 K0.
Z-83.356 J-0.428 K0.741
G1 Z3.745
Z3.882
G3 Z4.482 J-0.6 K0.
G18 G3 X26.338 I0.6 J0.
G0 X80.8
M35

M25
G28 U0.
G28 W0.
M90
G0 G28 H0.
M89
M34
G54

M30

 

I was expecting to see 'C' movements whilst cutting?

 

 

 

0 Likes
Message 9 of 13

Laurens-3DTechDraw
Mentor
Mentor

That should have thrown an error.

As you cannot machine that on a machine without Y-axis.
Without Y-Axis you will not get a flat bottom, nor the sidewalls as drawn.

Laurens Wijnschenk
3DTechDraw

AutoDesk CAM user & Post editor.
Found out the hard way is the best way to win.


Message 10 of 13

tony3W49B
Advocate
Advocate

@Laurens-3DTechDraw 

You are correct.

However, I've not actually put into the machine yet, I was just editing the post to get something out that looked correct in the code. I know what, from the pre-edited post, which code was originally causing the issue for the machine to error out on some code it didn't recognise. I was just trying to eliminate those initial errors. Which I have done. What I was trying to ascertain was, that when using 'C' to mill (in the absence of a 'Y' axis) there should be some 'C' movements output. Maybe the key way was not the best example. However, with yours and @seth.madore suggestions it looks like I have managed to make the changes in the post to get what I needed originally running.

Thanks very much.

Below is how I will be machining the slot:-

tony3W49B_0-1673878867115.png

 

 

0 Likes
Message 11 of 13

tony3W49B
Advocate
Advocate

@Laurens-3DTechDraw @seth.madore 

 

Thank you both for your input. It's been of great assistance.

See below, is there something in the post that I can get it to output G0 G28 C0. instead of G0 G28 H0. as the machine doesn't like this?

 

N1(2D ADAPTIVE1)
G0 G28 U0.
G28 W0.
G54
G98 G18 M35
M90
G0 G28 H0.

 

Thanks in advance.

0 Likes
Message 12 of 13

Laurens-3DTechDraw
Mentor
Mentor

That's weird, I only know of Doosan machine's that need G28 H0 after turning the C-axis on.
Usually doing C0 will mean it can go wrong in C-axis angles at times when you do Milling, Turning, and then Milling again.

But if your machine does need this you could change this:

function unwindCAxis() {
  writeBlock(gMotionModal.format(0), gFormat.format(28), "H" + abcFormat.format(0));
}

To:

function unwindCAxis() {
  writeBlock(gMotionModal.format(0), gFormat.format(28), "C" + abcFormat.format(0));
}

As with all post-processor changes. Test carefully. 

Laurens Wijnschenk
3DTechDraw

AutoDesk CAM user & Post editor.
Found out the hard way is the best way to win.


0 Likes
Message 13 of 13

tony3W49B
Advocate
Advocate

@Laurens-3DTechDraw 

That's great.

Thanks for your input.

You've been very helpful, along with @seth.madore 

 

 

 

0 Likes