Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

Doosan Mill / Turn Post 'M1' question

info5APCW
Contributor

Doosan Mill / Turn Post 'M1' question

info5APCW
Contributor
Contributor

Hi,

 

Been searching this post processor to find where it outputs the M1 code before the next tool change.  

 

What I'm trying to do is change the output from M1 to M01.  This may or may not be possible due to the logic they use to output these codes.

 

Reason for this is with the new Doosan interface, when you search through a program in edit mode, there is no easy way to jump from tool change to tool change with a press of a single button.  I have found that if I change the M1 to M01, I can search the M01 (which it remembers every time you go into edit), and this quickly jumps to the beginning of each tool change.  Plus you can quickly search up and down.  Makes jumping through a program very quick.

 

Can't use the M1 code because of the M110 codes that it stops on as well.  But M01 works great. 

 

Thanks!

 

 

0 Likes
Reply
Accepted solutions (1)
391 Views
6 Replies
Replies (6)

hyperbolicindustries
Advocate
Advocate

That should be easy if you attach your actual (*.cps) post.

0 Likes

seth.madore
Community Manager
Community Manager
Accepted solution

This can be changed to output M01, but that additional zero will be present on ther other Mx codes as well, such as M03, M08, M09. 

To make that modification, turn this:

 

var mFormat = createFormat({prefix:"M", decimals:0});

 

into this:

 

var mFormat = createFormat({prefix:"M", decimals:0, zeropad:true, width:2});

 

 


Seth Madore
Customer Advocacy Manager - Manufacturing
1 Like

info5APCW
Contributor
Contributor

Thank You.  this worked great, and the added '0' in the other single digit M codes is completely acceptable.

 

I had one more question on this same post processor.   

 

The M110 is output at the end of a toolpath (right before the next N number or tool change)

 

I'm not sure what the reasoning behind this is besides maybe being able to do a tool change outside the normal turret home position.

 

Problem is, there really needs to be an M110 right after a tool change at the beginning of the toolpath.

 

Many times while getting a part running smoothly, you need to restart the program at a specific N number to redo a finish pass, etc...  Though if you forget to go to MDI and manually input an M110, chances are you will have an interference alarm (at least I do).

 

I currently manually insert an M110 after ever tool change.  A bit tedious, but necessary.

 

Any way to get the Doosan Mill Turn post to do this. 

 

Thanks again.

0 Likes

seth.madore
Community Manager
Community Manager

Yep, I've got a Lynx LSY in my shop, I added the same thing, as well as mist collector ON at the beginning of every tool. I lost track of how many times I smacked that reset button.....

 

For the M110, it should be around line 1678 (give or take a bit, mine is a modded post). You want to add this line:

writeBlock(mInterferModal.format(getCode("INTERFERENCE_CHECK_OFF", getSpindle(PART)))); <-Line Added 
  // invert axes for secondary spindle
  if (getSpindle(PART) == SPINDLE_SUB) {
    invertAxes(true, false); // polar mode has not been enabled yet
  }

For the mist collector (if you want), this would go around block 1688:

// Position all axes at home
  if (insertToolCall && !machineState.stockTransferIsActive) {
    moveSubSpindle(HOME, 0, 0, true, "SUB SPINDLE RETURN", false);
    goHome();
    writeBlock(mFormat.format(132),("(MIST COLLECTOR ON)")); <--THIS LINE

Seth Madore
Customer Advocacy Manager - Manufacturing
1 Like

info5APCW
Contributor
Contributor

Hi,

 

Thanks for the info.  I added that line in the location you suggested.  It worked for the first tool change of the program by adding an M110 right after N1.

 

Though it did not add an M110 after any of the other 'N' line numbers.

 

Here is a snip of what my post looks like in that area.  Thanks for the help.

 

 

  // Output the operation description
  writeln("");
  if (hasParameter("operation-comment")) {
    var comment = getParameter("operation-comment");
    if (comment) {
      if (insertToolCall && getProperty("sequenceNumberToolOnly")) {
        writeCommentSeqno(comment);
      } else {
        writeComment(comment);
      }
    }
  }

   // Add M110 after tool change
    writeBlock(mInterferModal.format(getCode("INTERFERENCE_CHECK_OFF", getSpindle(PART))));

  // invert axes for secondary spindle
  if (getSpindle(PART) == SPINDLE_SUB) {
    invertAxes(true, false); // polar mode has not been enabled yet
  }

  // Position all axes at home
  if (insertToolCall && !machineState.stockTransferIsActive) {
    moveSubSpindle(HOME, 0, 0, true, "SUB SPINDLE RETURN", false);

 

 

 

0 Likes

info5APCW
Contributor
Contributor

I played around with the debugger a bit and figured out the problem.

 

You need to add the line above.  This worked perfect.

    mInterferModal.reset();
     writeBlock(mInterferModal.format(getCode("INTERFERENCE_CHECK_OFF", getSpindle(PART))));
 
I also moved this code right after it outputs the tool number and comment.   Otherwise it outputs an M110 after every operation, even if it is the same tool number.  I'll try it like this and see how it works out.
 
 
 
 
0 Likes