Jump to content
OMRON Forums

PVT Programming


Allen

Recommended Posts

Hi

I do have a toolpath points data that generated from multibody dynamics application. These points have a specific coordinating system and dynamic data such as X, Z Coordination data, Spindle angular velocity, acceleration, velocity and time. These points are part of free-form surfaces that need to be machined using Diamond Turning with delta tau controller. I came across the fabrication point of view and found that PVT mode is suitable for this purpose as it can manipulate a non-linear (arbitrary) trajectory for precision machining.

How can I write a program in PVT mode based on these data? I do not require to include the motion equations in the programming.

 

Example of the data: as attached

 

Many Thanks for your assistance in advance.

Allen

1575464896_FreeformSurfacedata.PNG.0449f761129cbb3fe1e58c80087a13bc.PNG

Link to comment
Share on other sites

  • Replies 4
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

This application note may provide what you are looking for:

http://www.deltatau.com/Common/technotes/PVT%20Contouring.pdf

 

Hi Steave

Thanks for attachment but this is the theory that has been used for generating the data. The question is how to implement those data via PVT mode Programming. I appreciate if I can see a sample of PVT mode programming based on the data that I have shared. I presume that for each motion the user should specify the associated data in the code in PVT mode?

I am trying to find out how I should write this code in the PVT mode.

 

Many Thanks

Link to comment
Share on other sites

Allen,

 

I'm not sure if your X and Y Distances are absolute or incremental, so I will assume those are absolute positions. In that case, the first two moves of your code would look something like:

 

ABS //As opposed to Incremental

RAPID //Simple point to point move

X15.5 Z10.00593659 //Go to start point

INC //Future commands will be issued incrementally--could be left absolute

PVT 100 //Switch into PVT mode, with each segment having 100 ms

X -0.01:1 Z 0.03117989:-4.43579 //Move X 0.01mm incrementally backwards with a velocity of 1 mm/ms, move Z 0.03 units forwards with a final velocity of -4.43 mm/sec

X -0.01:1 Z 0.06277107:-8.56177 //Move X 0.01mm incrementally backwards with a velocity of 1 mm/ms, move Z 0.06 units forwards with a final velocity of -8.56 mm/sec

 

I would note that your signs seem off--you move positive when your velocity is negative and vice versa. Because you command the velocity at the endpoint with a PVT move, you can command a move like that, but it likely is not what you want. Your system would need to overshoot drastically, then reverse direction and travel through the desired point at the desired time with the desired (backwards) velocity in order to satisfy the move.

Link to comment
Share on other sites

Allen,

 

I'm not sure if your X and Y Distances are absolute or incremental, so I will assume those are absolute positions. In that case, the first two moves of your code would look something like:

 

ABS //As opposed to Incremental

RAPID //Simple point to point move

X15.5 Z10.00593659 //Go to start point

INC //Future commands will be issued incrementally--could be left absolute

PVT 100 //Switch into PVT mode, with each segment having 100 ms

X -0.01:1 Z 0.03117989:-4.43579 //Move X 0.01mm incrementally backwards with a velocity of 1 mm/ms, move Z 0.03 units forwards with a final velocity of -4.43 mm/sec

X -0.01:1 Z 0.06277107:-8.56177 //Move X 0.01mm incrementally backwards with a velocity of 1 mm/ms, move Z 0.06 units forwards with a final velocity of -8.56 mm/sec

 

I would note that your signs seem off--you move positive when your velocity is negative and vice versa. Because you command the velocity at the endpoint with a PVT move, you can command a move like that, but it likely is not what you want. Your system would need to overshoot drastically, then reverse direction and travel through the desired point at the desired time with the desired (backwards) velocity in order to satisfy the move.

 

AAnikstein,

 

Actually my algorithm is writen based on the new toolpath generation in SLow Tool Servo for free form surfaces. The points coordination are currently generated as Incremental but they can be absolut from and toward the centre of spindle. It is three axis diamond turning. X axis has a constant linear speed of 1mm/s, Z axis points are generated besed on tangetinal vectors between the cutting tool and freeform surface according to spindle angular velocity of 100RPM.

As you pointed out, the velocity is vary in Z Axis, that is why I could not use the linear motion interpolation. I thought that PVT is the best method for fabrication, possibly Spline motion or RTIF.

 

Thanks for your explanation on PVT programing. I also need to include the spindle rotaional data into the programming as they are also dependant and synchronised with X an Z direction . Because the spindle speed is constant, I only need to make sure that the spindle position are registered at the fist point of liear motion so in the run the spindle and liear motors will start together and simultaneously.

 

This is my main concern I think. I appeeciate your advise mate. Quite invaluable.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...