Adding Rewind Logic to Doosan 3/5-axis VMC Post

Adding Rewind Logic to Doosan 3/5-axis VMC Post

Collin_Korver
Advocate Advocate
1,983 Views
15 Replies
Message 1 of 16

Adding Rewind Logic to Doosan 3/5-axis VMC Post

Collin_Korver
Advocate
Advocate

 I am running into issues with requiring rewind for my multi axis Doosan.

"Error: REWIND: Rewind of machine is required for simultaneous multi-axis toolpath and has been disabled."

 

I looked into the post and it has

function onRewindMachine() {} with nothing inside the brackets.

 

I was wondering anyone has added rewind logic to the Doosan 3/5-axis VMC (FANUC) Post. I can copy the rewind logic from the haas UMC750 post, but I dont want to risk anything. 

 

0 Likes
Accepted solutions (1)
1,984 Views
15 Replies
Replies (15)
Message 2 of 16

bob.schultz
Alumni
Alumni
Accepted solution

Thanks for bringing this to our attention, we will add the rewind logic to the stock Doosan VMC post.  If you need this modification before the New Year, feel free to copy it from another post into your post.  I would suggest using a post with a Fanuc control, such as the CR Onsrud Fanuc 31i post.

 

This logic is pretty much plug-and-play, so you can copy it directly to your post and visually check the output where the rewind occurs to verify it is correct on your machine.  The procedure and ramification for copying it into a post is detailed in section 7.5 Rewinding of the Rotary Axes when Limits are Reached in the Post Processor Training Guide.



Bob Schultz
Sr. Post Processor Developer

0 Likes
Message 3 of 16

Collin_Korver
Advocate
Advocate

Quick question 

 

0 Likes
Message 4 of 16

bob.schultz
Alumni
Alumni

The Mill/Turn posts are specifically designed to run a turning machine with milling capabilities and do not translate to a multi-axis Mill, so you should not use this as a base post.  The Doosan 3/5-axis VMC post is the preferred post to use.

 

Machine configurations are still in Preview mode in Fusion and are not yet fully functional.  In order to use a machine configuration, the post processor must be defined to accept the machine configuration and create the proper output.  Post processors with a built-in configuration will not use the setup defined in a machine configuration, while the generic post processors, such as the Fanuc and Haas post processors should accept a machine configuration, but do not support all of the features of a machine configuration as of now, for example inverse time feed rates, rewind and reconfigure, etc.

 

The post processor kernel is currently being updated so that the multi-axis requirements will be made available to all post processors and at this time machine configurations should be usable.



Bob Schultz
Sr. Post Processor Developer

0 Likes
Message 5 of 16

andrew.todd1
Advocate
Advocate

Hi Colin

 

I was looking around the forum and came across this post.

 

Did you ever get a working post for your Doosan DVF 5000?

 

Andrew

Message 6 of 16

sedwardsC74QH
Participant
Participant

Hi Bob,

 

I'm having trouble posting a file to use with our Denford mill with a 4th axis fixture.  I've attached the original CPS and a modified CPS I found online that enables the 4th axis but I'm still getting the rewind error message.  I tried your original fix without luck.

 

"Error: REWIND: Rewind of machine is required for simultaneous multi-axis toolpath and has been disabled."

 

Hope you can help? Thank you.

 

0 Likes
Message 7 of 16

bob.schultz
Alumni
Alumni

The following code is what enables the rotary table in this post.

  if(true) {
    var aAxis = createAxis({coordinate:0, table:true, axis:[1, 0, 0], range:[0,360], preference:0});
    machineConfiguration = new MachineConfiguration(aAxis);
    setMachineConfiguration(machineConfiguration);
    optimizeMachineAngles2(0);
  }

You will notice that the range of the axis is set to 0,360.  This means that a contouring toolpath that moves the table more than 360 degrees will require the A-axis to rewind.  A simple fix would be to make this a cyclic axis so that it does not have limits.  Leaving the range as it is now (0,360) will output values between 0-360 degrees without a directional sign (-+).  If your machine expects unlimited A-axis values (-999999, 999999), then remove the range property from the definition.

    var aAxis = createAxis({coordinate:0, table:true, axis:[1, 0, 0], range:[0,360], cyclic:true, preference:0}); // <<< ADD 'cyclic:true'
                           or
    var aAxis = createAxis({coordinate:0, table:true, axis:[1, 0, 0], preference:0}); // <<< REMOVE THE range FOR A LINEAR SCALE

I would suggest that you move this code into the current library version of the post, since the one you downloaded is quite old.  You will probably have issues with feedrates also, since this post just outputs the programmed feedrate and does not support DPM/Inverse-time feedrates.

 

You can look at the RS-274 Multi-axis post to see the recommended code for implementing rotary axis support in a post processor and refer to Chapter 7 Multi-Axis Post Processors  in the Post Processor Training Guide for documentation on the various aspects of supporting multi-axis machines in the post processor.



Bob Schultz
Sr. Post Processor Developer

Message 8 of 16

sedwardsC74QH
Participant
Participant

Thanks Bob, 

 

This worked a treat!  I have another question....

 

This one is relating to general rotary machining.  I've made a simple part and brought it into the manufacturing environment.  I've set up the rotary axis through the middle of the part and generated the paths, which look good on the simulation. 

 

However, when I try and machining the part, the tool cuts past the axis and then moves through the axis, and into the tailstock of the machine.  I've attached an image of the simulation here.  I've noticed that the z value goes down to about -20mm but on the simulation, it looks like the tool never goes lower than the axis itself, which should be at Z0?  I'm sure I've made a mistake setting up my WCS in the setup or axis definitions in the rotary operation but I can't work out where. Can you help? Sorry for my dodgy annotation in the last picture - I hope it clarifies my issue! SetupSetupToolpaths showing axesToolpaths showing axesSimulation showing Z travelling below axis?Simulation showing Z travelling below axis?

0 Likes
Message 9 of 16

sedwardsC74QH
Participant
Participant

... Another angle....

 

I've just noticed that as the simulation moves along x to cut the long, straight section, Z is constantly changing.  Actually, a,y and z values are all changing.  I would expect only x to be changing as it spirals down the x axis?  I've definitely set something up incorrectly. Please help???Capture.PNG

 

 

0 Likes
Message 10 of 16

bob.schultz
Alumni
Alumni

It looks like you have TCP enabled.  The following call is used to calculate the rotary angles AND adjust the points for the rotary axis.  A value of 0 outputs the tool end points in the part system (TCP), while a value of OPTIMIZE_TABLES will adjust the points for the rotations of the A-axis and output the XYZ-coordinates in the machine system.

 

  optimizeMachineAngles2(OPTMIZE_TABLES);


Bob Schultz
Sr. Post Processor Developer

0 Likes
Message 11 of 16

sedwardsC74QH
Participant
Participant

Thanks Bob,

 

I really appreciate you help - I'm well out of my comfort zone with this! 

 

I made the following changes to the code:

 

Capture3.PNG

 

I am getting this error message:

 

Capture.PNG

 

 

addition - This is a snip of the code enabling TCP (I think)

 

Capture2.PNG

 

0 Likes
Message 12 of 16

bob.schultz
Alumni
Alumni

Sorry, I seem to have misspelled it.  It should be OPTIMIZE_TABLES.  You can also set the value to 2, it is the same as OPTIMIZE_TABLES.  In the second snippet of code, you will want to set tcp to false.  This section handles 3+2 operations.



Bob Schultz
Sr. Post Processor Developer

0 Likes
Message 13 of 16

sedwardsC74QH
Participant
Participant

Thanks Bob!!!  I got a working code and the machine is currently running!! Thank you so much!! 

 

New problems now, if you wouldn't mind helping me some more?   

 

The machine seems to be very jittery when traversing down the x-axis.  It's almost like it is moving in Z, pause, moving in A, pause, moving in z, pause... etc.  When it reaches the end of it's rotation, the machine moves over by the given step over and starts again.  I tried moving the rotary type to spiral but this seemed to make things worse, with the machine moving to each X, Z and A almost one after the other, rather than stepping smoothly.

 

Is this a limitation of our machine, or is it something that can be resolved in the post?  I have attached a video of the issue to this message, with the operation in in circular rotary mode.  The rotary axis isn't in the center of the workpiece - This is because the billet is supplied with a pre-drilled, off-center hole.

 

Thanks again Bob!! 

 

 

0 Likes
Message 14 of 16

bob.schultz
Alumni
Alumni

It looks to me like the A-axis is clamping/unclamping with each iteration.  You can enable  the output of the clamp/unclamp codes in the post by making the following changes.

 

First, add the proper clamp/unclamp codes in the onCommand function.  This code uses M10/M11, you will need to change it to the codes for your controller.

 

  case COMMAND_LOCK_MULTI_AXIS:
    writeBlock(mFormat.format(10)); // <<< ADD THIS LINE WITH THE PROPER CLAMP CODE
    return;
  case COMMAND_UNLOCK_MULTI_AXIS:
    writeBlock(mFormat.format(11)); // <<< ADD THIS LINE WITH THE PROPER UNCLAMP CODE
    return;

 

You will also want to disable the clamping code for multi-axis operations, by adding a IF-block around the call to lock the axis.

 

  if (!currentSection.isMultiAxis()) { // <<< ADD THIS LINE
    onCommand(COMMAND_LOCK_MULTI_AXIS);
  } // <<< ADD THIS LINE

 



Bob Schultz
Sr. Post Processor Developer

0 Likes
Message 15 of 16

HASSAN.ALI48H8K
Participant
Participant

sir i need help.

DVF 5000.JPG

my machine is doosan dvf 5000 when is on g code M10 it is stop it not given any alarm.  

0 Likes
Message 16 of 16

bob.schultz
Alumni
Alumni

Hello @HASSAN.ALI48H8K, it looks like your control may not use M10 for clamping the rotary axis.  You will need to find out the proper M-codes for clamping/unclamping the rotary axes and place these codes as described in the previous message.



Bob Schultz
Sr. Post Processor Developer

0 Likes