Looking for simple 2 axis + live tooling postprocessor for Siemens 840D SL

Looking for simple 2 axis + live tooling postprocessor for Siemens 840D SL

alex.neretin
Enthusiast Enthusiast
1,367 Views
7 Replies
Message 1 of 8

Looking for simple 2 axis + live tooling postprocessor for Siemens 840D SL

alex.neretin
Enthusiast
Enthusiast

Hello,

I´m looking for a simple 2 axis postprocessor for our Spinner TC400 lathe.

It has live tools and no Y-axis.

I tried using the generic siemens postprocessor, but when changing the variable

" var forceXZCMode = true; // forces XZC output, activated by Action:useXZCMode" from false to true,

I got SPOS values instead of Y values and only for the first job.

With the second job, it switched back to Y values.

I need C1 values instead of SPOS.

How do I change SPOS to C1 or does someone have a running PP?

 

Best regards

 

0 Likes
Accepted solutions (1)
1,368 Views
7 Replies
Replies (7)
Message 2 of 8

serge.quiblier
Autodesk
Autodesk

Hi @alex.neretin 

 

As we very clearly say in the long description of the post, this is a generic post.

Which means, it can be use as a base post, but it will need tuning for a specific machine.

longDescription = "Generic Siemens mill-turn post. This post must be customized for the particular capabilities of your lathe before use. This post requires careful testing when used.";

 

A standard Siemens machine is accepting SPOS by default, but when tweaked by a specific machine tool builder, the settings, especially on a Siemens controler can radically change it's behavior.

 

Regarding the SPOS/C1 "problem",

from the top of the post search for the following text:

 

// AKCS - Änderung --> mainSpindleAxisName --> SP1 --> SPOS
var mainSpindleAxisName = ["SPOS", 1]; // axis name, axis number (number is used for eg. SETMS(VALUE));
var subSpindleAxisName = ["SP3", 3]; // axis name, axis number (number is used for eg. SETMS(VALUE));
var liveToolSpindleAxisName = ["SP2", 2]; // axis name, axis number (number is used for eg. SETMS(VALUE));

 

 

If you need to use C1 then change the text to :

 

// AKCS - Änderung --> mainSpindleAxisName --> SP1 --> SPOS
var mainSpindleAxisName = ["C1", 1]; // axis name, axis number (number is used for eg. SETMS(VALUE));
var subSpindleAxisName = ["SP3", 3]; // axis name, axis number (number is used for eg. SETMS(VALUE));
var liveToolSpindleAxisName = ["SP2", 2]; // axis name, axis number (number is used for eg. SETMS(VALUE));

 

 

As the post have been edited, and is an old version, it may need to be changed at other locations also.

(Try to search the string spos when editing with vscode, or a text editor)

 

Regarding the XY, vs XC be aware that turn mill machine may be limited in the X- direction.

So, you need to check or eventually modify the limits to suit your machine:

 

var gotYAxis = false;	// RP 31-05-2022
var yAxisMinimum = toPreciseUnit(gotYAxis ? -100 : 0, MM); // specifies the minimum range for the Y-axis
var yAxisMaximum = toPreciseUnit(gotYAxis ? 100 : 0, MM); // specifies the maximum range for the Y-axis
var xAxisMinimum = toPreciseUnit(0, MM); // specifies the maximum range for the X-axis (RADIUS MODE VALUE)

 

 

The system will now be able to more correctly define if the toolpath fit in the range, and select between polar, and xy mode.

 

Regards.


______________________________________________________________

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

 



Serge.Q
Technical Consultant
cam.autodesk.com
Message 3 of 8

alex.neretin
Enthusiast
Enthusiast

Hello Serge,

 

thank you very much. Still testing, the first posts look promising.

Could you help me with another thing.

 

The part catcher uses the m-code M98=85 to move out and M98=95 to retract.

 

case "PART_CATCHER_ON":
return mFormat.format(98=85); I can´t get the equal to post

case "PART_CATCHER_OFF":
return mFormat.format(98=95);

 

Best regards

 

0 Likes
Message 4 of 8

alex.neretin
Enthusiast
Enthusiast

Hello Serge,

 

I got it to work with,

 

case "PART_CATCHER_ON":
return mFormat.format(98)+'=85';

 

Another thing while testing came up.

When using the option parametric feed the controll doesn't like the three digits which are posted.

 

N190 LIMS[1]=5000
N200 R100=0.1 ; Cutting
N210 M98=85 ; PART CATCHER ON
N220 D5
N230 M7
N240 G0
N250 Z9 X60
N260 SETMS(1)
N270 G96 S1=150 M1=4
N280 Z-8.5
N300 G1 G42 X34.4 F=R100

 

A single digit would be fine.

I think, it should be in  this lines but I can't figure out where to change it.

 

if (getProperty("useParametricFeed") &&
hasParameter("operation-strategy") &&
(getParameter("operation-strategy") != "drill") && // legacy
!(currentSection.hasAnyCycle && currentSection.hasAnyCycle())) {
if (!insertToolCall &&
activeMovements &&
(getCurrentSectionId() > 0) &&
((getPreviousSection().getPatternId() == currentSection.getPatternId()) && (currentSection.getPatternId() != 0))) {
// use the current feeds
} else {
initializeActiveFeeds();
}
} else {
activeMovements = undefined;
}

 

Best regards,

0 Likes
Message 5 of 8

serge.quiblier
Autodesk
Autodesk
Accepted solution

Hi @alex.neretin 

 

the base number for the feedrate is taken from a variable defined in the post:

 

// fixed settings
var firstFeedParameter = 100;

 

Check a free range of consecutive variables on your machine, then edit this variable firstFeedParameter. To start, for example at 64, then the line will be

var firstFeedParameter = 64;

 

Regards.


______________________________________________________________

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



Serge.Q
Technical Consultant
cam.autodesk.com
0 Likes
Message 6 of 8

alex.neretin
Enthusiast
Enthusiast

Hello Serge,

 

that did the job.

Thank you.

 

Best regards

0 Likes
Message 7 of 8

materialeimportante
Contributor
Contributor

Good morning!
I liked to this post because i think is one solution for me to, but i don t undertand how i do that. I don t have Y axis... and the code have many position with "Y"... that means errors for me. How to stop having Y in my program

I don t want Y

....

N33 X-14.956 Y-0.8
N34 Z5
N35 G1 Z1 F500
N36 Z-30.2
N37 G2 X-14.156 Y-0.8 Z-31 CR=0.8
N38 G1 X-13.356 F2000
N39 G3 X-12.556 Y0 Z-31 CR=0.8
N40 G2 X-11.879 Y2.525 Z-31 CR=5.05 F600
N41 G1 X-8.126 Y9.025
N42 G2 X-3.753 Y11.55 Z-31 CR=5.05
N43 G1 X3.753
N44 G2 X8.126 Y9.025 Z-31 CR=5.05
N45 G1 X11.879 Y2.525

....

0 Likes
Message 8 of 8

scottmoyse
Mentor
Mentor

@materialeimportante You should probably start a new forum post instead of replying to this one which has been solved. 


Scott Moyse
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


RevOps Strategy Manager at Toolpath. New Zealand based.

Co-founder of the Grumpy Sloth full aluminium billet mechanical keyboard project

0 Likes