Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

2-Axis Positioner with UR Robot

#1
Is there an example on how to configure a Universal Robot with a 2-axis Positioner controlled via PLC?

Since the robot and positioner cannot synchronize the movements together. I would need to move them one after another but I want to make the positioner stay at a fixed position. In RoboDK itself I can set the weights in the Optimize External Axes panel to be 100,000 for the positioners to not move. But how would I export or modify the post processor for the script for the robot to use. Where the robot talks to the PLC to tell the positioner to rotate to it's angles then the robot continues with it's movement?

An example of the scripts flow would be like:

Code:
START
Rotate Positioner Axis 1
Rotate Positioner Axis 2
Robot Movement
..
Robot Movement
END
#2
You need to create the positioner as a separate mechanism consisting of linked axes, and do not synchronize it with the robot.

You will be able to create separate programs to control the positioner. You can then call these programs as subroutines within the main robot control program.

You can also assign specific names to these programs and identify them by these names in the postprocessor’s RunCode function. This will allow you to generate the code needed to control the axes using a PLC.

Most examples in our library that use gripping mechanisms operate on this principle.

This approach works well for applications where the positioner needs to move between index positions. For more complex tasks, such as welding circumferential seams using external axes, the robot controller must support operation with external axes in interpolation mode.
#3
How can I create a program call to a single script that rotates the Positioner to specific angles? I have multiple programs that are orientated at different positioner angles on both axes. But it seems like I can only call the python script by name when I want to pass in the angles as parameters to the script. Would I need to create multiple sub-scripts/programs just to rotate the positioner separately for each program?
#4
Yes, with this approach, you will need to use a set of programs, where each program specifies one of the positioner's operating positions.

You can use the Joints() function directly in the post-processor to read the positioner's axis values:
https://robodk.com/doc/en/PythonAPI/robo...tem.Joints
  




Users browsing this thread:
1 Guest(s)