Post Processor Edit Syntec Drilling Unit

Post Processor Edit Syntec Drilling Unit

dcsDHNS6
Enthusiast Enthusiast
2,917 Views
14 Replies
Message 1 of 15

Post Processor Edit Syntec Drilling Unit

dcsDHNS6
Enthusiast
Enthusiast

Good morning, i've searched the forum, but have not found what i'm searching for.

 

I use a 2130 Router with an ATC Spindle and a sepparate Drilling Unit with 17Drills, Horizontal and Vertical (for woodworking). 

 

This Drilling Unit Uses M33( Drilling Unit Start), M35(Drilling Unit Stop) codes.

 

Is there any way to modify a Post processor so that when it is drilling, that it uses these codes instead of M3 and M5? 

 

The Drilling Tools are from T 21 upwards.

 

If the Drilling operation as a whole can not be modified, maybe an If clause, like when calling T21 -T37, instead of M3 it uses M33?

 

Here is a modified Post Processor, where side drilling/milling is already activated.

 

Thank you for your time

0 Likes
Accepted solutions (3)
2,918 Views
14 Replies
Replies (14)
Message 2 of 15

serge.quiblier
Autodesk
Autodesk
Accepted solution

Hello @dcsDHNS6 

 

if you want to use a different spindle code for drilling you can edit your post, and make the following changes.

Search for this block of code, inside the onSection function:

    if (spindleSpeed > 99999) {
      warning(localize("Spindle speed exceeds maximum value."));
    }
    skipBlock = !outputSpindleSpeed;
    writeBlock(
      sOutput.format(spindleSpeed), mFormat.format(tool.clockwise ? 3 : 4)
    );
    onCommand(COMMAND_START_CHIP_TRANSPORT);
    if (forceMultiAxisIndexing || !is3D() || machineConfiguration.isMultiAxisConfiguration()) {

 

And change it to this new code:

    skipBlock = !outputSpindleSpeed;
    var spCmd;
    if (isDrillingCycle()) {
      spCmd = tool.clockwise ? 33 : 34;
    } else {
      spCmd = tool.clockwise ? 3 : 4;
    }
    writeBlock(
      sOutput.format(spindleSpeed), mFormat.format(spCmd)
    );
    onCommand(COMMAND_START_CHIP_TRANSPORT);

 

This will take care of the spindle on function.

 

Next is the support for spindle off.

Again, let's search for a piece of code in the onSection function:

  if (insertToolCall || newWorkOffset || newWorkPlane) {
    
    // stop spindle before retract during tool change
    if (insertToolCall && !isFirstSection()) {
      onCommand(COMMAND_STOP_SPINDLE);
    }

    // retract to safe plane

 

And change into the new code :

  if (insertToolCall || newWorkOffset || newWorkPlane) {
    
    // stop spindle before retract during tool change
    if (insertToolCall && !isFirstSection()) {
      if (isDrillingCycle(getPreviousSection())) {
        writeBlock(mFormat.format(5));
      } else {
        onCommand(COMMAND_STOP_SPINDLE);
      }
    }

 

Hope it helps,

 

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 3 of 15

dcsDHNS6
Enthusiast
Enthusiast

Great, thank you!!

 

I'll test it right away.

 

Another Question, instead of putting an IF - clause on the Drilling Cycle itself, would it be possible to put an If clause on the Tool Number? So that only if T21, T22, T23, T24, T25, T26, T27, T28,... is called, that it uses M33 and M35?

if (isDrillingCycle()) {

 

I'm afraid that if ever someone drills with a T1, that the Tool won't spin and break it.

 

 

0 Likes
Message 4 of 15

dcsDHNS6
Enthusiast
Enthusiast
if (insertToolCall || newWorkOffset || newWorkPlane) {
    
    // stop spindle before retract during tool change
    if (insertToolCall && !isFirstSection()) {
      if (isDrillingCycle(getPreviousSection())) {
        writeBlock(mFormat.format(5));
      } else {
        onCommand(COMMAND_STOP_SPINDLE);
      }
    }

 i Tried it and had to input after mFormat.format(5)); instead of 5 the number 35. but it worked great.

0 Likes
Message 5 of 15

serge.quiblier
Autodesk
Autodesk
Accepted solution

Hi @dcsDHNS6 

 

when switching the spindle on, if you want to use the tool number instead you can change the code.

The test can be replaced by this line, to allow tool 21 to 37 to use M3x

 

if ((tool.number > 20) && (tool.number < 38)) {

 

But we can't do the same thing for the spindle stop, as we would have to interrogate the previous tool number, and not the actual.

This line

if (isDrillingCycle(getPreviousSection())) {

will become

var tn = getPreviousSection().getTool().number;
if ((tn > 20) && (tn <38)) {

 

Regards

 



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

dcsDHNS6
Enthusiast
Enthusiast

I understand, but the line you wrote, works right?

 

var tn = getPreviousSection().getTool().number;
if ((tn > 20) && (tn <38)) {

 

If not then, we could use M05 and M35 both always. Because what ever Tool is on, wether it's a spindle or the Drilling Unit. When the Moment of M05 comes, all Motors usually are turned off. So simply using always both codes would't create a problem

 

Thank you very much for your Solution

0 Likes
Message 7 of 15

dcsDHNS6
Enthusiast
Enthusiast

is there any possibility to change the M5 or M35 to Output only at the End of the Drilling Cycle? Because if i have a Gang drill, the Same motor rotates all drills. Starting and Stopping the Motor between every different hole would not be very ideal. 

 

So that the Code that now looks like this:

 

(DRILL4)
N265 M01
N270 T21 M06
N275 S5000 M33
N280 G54
N285 G00
N290 G00 X33.032 Y132.314
N295 G43 Z15. H21
N300 G00 Z5.
N305 G98 G81 X33.032 Y132.314 Z-5. R5. F2000.
N310 G80
N315 Z15.
N320 M35 ---- So that this will not be output except at the end of the Drilling Cycle?
N325 G49
N330 G28 G91 Z0.
N335 G90

(DRILL5)
N340 M01
N345 T22 M06
N350 S5000 M33
N355 G54
N360 G00
N365 M08
N370 G00 X130. Y60.
N375 G43 Z15. H22
N380 G00 Z5.
N385 G81 X130. Y60. Z-5. R5. F1000.
N390 G80
N395 Z15.
N400 M09
N405 M35 ---- in this case here.
N410 G49
N415 G28 G91 Z0.
N420 G90

 

(2D CONTOUR4)
N425 M01
N430 T1 M06
N435 S18000 M03

 

0 Likes
Message 8 of 15

serge.quiblier
Autodesk
Autodesk
Accepted solution

Hi @dcsDHNS6 

 

we can certainly apply some logic like this one:

if (getPreviousSection().checkGroup(STRATEGY_DRILLING) && currentSection.checkGroup(STRATEGY_DRILLING)) {
// Do not turn off spindle
}

 

Cheers

 


______________________________________________________________

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 9 of 15

dcsDHNS6
Enthusiast
Enthusiast

Thank you very much for your time and help. Managed to combine both. Works.

 

Have a great weekend

0 Likes
Message 10 of 15

pt
Explorer
Explorer

can you share final version of updated postprocessor ?

0 Likes
Message 11 of 15

dcsDHNS6
Enthusiast
Enthusiast

I could, but it would not help you. It has other custom features enabled also.

 

But the steps explain above, are tried and work perfectly. Just follow the steps serge.quiblier mentioned.

 

Have a great week ahead.

0 Likes
Message 12 of 15

FusionManufacturingMublio
Contributor
Contributor

Great that you got this to work! We're considering buying a machine with the same setup and controller. Did you manage to find a way to get multiple drills in the drilling block to actuate at the same time? I'm wondering if anyone managed to write a post processor where correctly spaced holes are recognised by the post processor, and outputted as code for the drilling block to be drilled in a single movement with mutiple drills.

 

0 Likes
Message 13 of 15

to3dornottobe
Advocate
Advocate

Would you mind sharing your post anyway? I can't get the spindle of the drilling head to continue to run, using the code suggested by Serge (since it's using toolnumbers rather than the 'drilling strategy'.

0 Likes
Message 14 of 15

to3dornottobe
Advocate
Advocate

Would you mind sharing your post anyway? Would be greatly appreciated. Thanks in advance for your response. 

0 Likes
Message 15 of 15

CNC_Lee
Collaborator
Collaborator

@FusionManufacturingMublio @to3dornottobe 

I offer post processor development services and happy to work out a solution for your machine! Please message me if further assistance is needed.

If my post answers your question, please use Accept as Solution.

CNC Lee
Autodesk CAM Post Processor Expert
0 Likes