-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Hey there,
I'm trying to use the RWS part of this repo to command an ABB IRB6620 robot (Through IRC5).
All the RAPID modules and Configurations are correct as I can move the robot using a simple python code:
import abb_motion_program_exec as abb
# Define the home position (all joint angles set to zero)
home_position = abb.jointtarget([20, 0, 0, 0, 0, 0], [0]*6)
# Define the tool data (same as in the original program)
my_tool = abb.tooldata(True, abb.pose([0, 0, 0.1], [1, 0, 0, 0]), abb.loaddata(0.001, [0, 0, 0.001], [1, 0, 0, 0], 0, 0, 0))
# Create a motion program
mp = abb.MotionProgram(tool=my_tool)
mp.MoveAbsJ(home_position, abb.v500, abb.fine)
mp.WaitTime(1.0)
# Print out RAPID module of motion program for debugging
# print(mp.get_program_rapid())
# Execute the motion program on the robot
# Change base_url to the robot IP address
client = abb.MotionProgramExecClient(base_url="http://192.168.1.4:80")
log_results = client.execute_motion_program(mp, wait= False)
The issue comes up when I'm trying to run this code more than 3 times in a row (I'm doing it just for testing purposes, so I set the joint 1 value to 20, run it once, then -20 and running it again and it continues). Once I'm doing this, I'll get an error on my Flexpendant saying that "RMQ Error - Full Queue" which is the movement that the pointer is at line 670 of motion_program_exec module.
To make the robot work again, I have to change it to manual mode, then to automated mode and turn the motors on again. Once I hit the play bottun, the latest RAPID command I sent will get executed (It seems that it gets stocked in the Queue and by acknowledging the "RMQ Error" and playing the RAPID module, it gets executed.
I'm not sure if my way of running the same code back to back caused this issue or the RAPID code itself is having a problem caused this issue.
Thanks for your help.