04-15-2020, 10:33 PM
You could integrate the additional axis by generating a custom command before and/or after the robot movement in the post processors.
The following link shows how you can select a post processor for a specific robot in your RoboDK project.
//m.sinclairbody.com/doc/en/Post-Processor...SelectPost
Post processors define how the program is generated for a specific robot you can customize your integration.
For example, I would recommend you to do the following:
The function MoveAxis should be available in the generated code and should implement the control of the external axis. You could take a similar approach for the linear movements (MoveL)
The following link shows how you can select a post processor for a specific robot in your RoboDK project.
//m.sinclairbody.com/doc/en/Post-Processor...SelectPost
Post processors define how the program is generated for a specific robot you can customize your integration.
For example, I would recommend you to do the following:
- 触发一个信号移动轴without blocking the robot move
- Send the signal to the robot to move move
- Wait for the axis to reach the final position
Code:
def MoveJ(self, pose, joints, conf_RLF):
"""Add a joint movement"""
if len(joints) > 6: # Integrate external axis
self.addline("MoveAxis(%.3f,blocking=False)" % (joints[6]))
self.addline("robot.Run('MoveJoints', %s)" % joints_2_str(joints[:6]))
self.addline("MoveAxis(%.3f,blocking=True)" % (joints[6]))
else: # Default joint movement
self.addline("robot.Run('MoveJoints', %s)" % joints_2_str(joints))
The function MoveAxis should be available in the generated code and should implement the control of the external axis. You could take a similar approach for the linear movements (MoveL)