Allen Posted July 24, 2018 Posted July 24, 2018 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
steve.milici Posted July 24, 2018 Posted July 24, 2018 This application note may provide what you are looking for: http://www.deltatau.com/Common/technotes/PVT%20Contouring.pdf
Allen Posted July 25, 2018 Author Posted July 25, 2018 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
Alex Anikstein Posted July 26, 2018 Posted July 26, 2018 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.
Allen Posted July 26, 2018 Author Posted July 26, 2018 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.
Recommended Posts