Community
HSM Post Processor Forum
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Sinumerik 840d multiple WCS offset issue

4 REPLIES 4
Reply
Message 1 of 5
ivan_lesinaD4QPW
244 Views, 4 Replies

Sinumerik 840d multiple WCS offset issue

Hi,

 

i have noticed that if i use multiple WCS offsets (each has a different C axis position/rotation on round table in machine) and I use same tool on them where i order it by operation (to reduce the number of rotation (example B-45 C0 i want that he makes milling on all 3 WCS offsets g54,55,56 in that rotation and then turn C90 and do it again on all three WCS)) PP will not output cycle 800 or G0 B? C? for other WCS offsets then first (g54). How can i fix this to force him to call rotation for every WCS separetly?

 

TIA

4 REPLIES 4
Message 2 of 5

Hi @ivan_lesinaD4QPW 

We are working on a fix for siemens post this will get fixed there but time being to fix this issues you can make changes to the setWCS function to resolve this problem
Edit the post in any editor and find for following code

function setWCS(section) {
  if (section.workOffset != currentWorkOffset) {
    writeBlock(section.wcs);
    currentWorkOffset = section.workOffset;
  }
}

 

And modify it like below

function setWCS(section) {
  if (section.workOffset != currentWorkOffset) {
    if (!is3D() && useMultiAxisFeatures &&  !section.getId() == 0 && !isToolChangeNeeded(getProperty("toolAsName") ? "description" : "number")) {
      writeBlock("CYCLE800()");
      forceWorkPlane();
    }
    writeBlock(section.wcs);
    currentWorkOffset = section.workOffset;
  }
}

save the post and test it. you should able to get the expected output


Boopathi Sivakumar
Senior Technology Consultant

Message 3 of 5

Hi,

 

it posts now NC code correctly if I use cycle 800. If not he is not calling B0 C0 on other offset then first (I have 2m table in X with C round table D800. So i sometimes work only with coordinate rotation on fix part of table.) I am not sure will the machine read it correctly with cycle 800 ticked. I need to test it tomorrow on machine.

 

Thanks

 

 

Message 4 of 5

Screenshot 2024-03-08 170947.png

 

Hi,

 

I managed to finally test it. Given solution works perfectly with cycle 800. Thanks a lot for that input.

 

On the other hand when I want to work only with coordinate rotation on machine, no cycle 800 active

(when it is active machine does not use coordinate rotation) and multiple WCS with same tool it does not output G0 B0 C0 after WCS call for any other WCS then first. See picture above.

Message 5 of 5

Hi @ivan_lesinaD4QPW 

Modify the setWCS logic to something like this

function setWCS(section) {
  if (section.workOffset != currentWorkOffset) {
    if (!is3D() && !section.getId() == 0 && !isToolChangeNeeded(getProperty("toolAsName") ? "description" : "number")) {
      if (useMultiAxisFeatures) {
        writeBlock("CYCLE800()");
      }
      forceWorkPlane();
    }
    writeBlock(section.wcs);
    currentWorkOffset = section.workOffset;
  }
}

 


Boopathi Sivakumar
Senior Technology Consultant

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Technology Administrators


Autodesk Design & Make Report