Communicating between a PC and UR5 Universal Robotics Robot Arm using TCP/IP LabVIEW

3.2k views Asked by At

enter image description hereI have a UR5 Universal Robotics Robot Arm and PC connected via ethernet that I am attempting to have talk to each other via LabVIEW (just send strings back and forth). I have already managed to read communication from the robot to the PC using the TCP Listen VI and the TCP Read function. However, I am unable to write to the robot using TCP Write, or even initialize a connection with the robot using TCP Open connection. I have tried TCP Write after the robot had already established a connection with my computer via TCP Listen but 0 bytes were sent. How do I send strings to the robot from my PC using LabVIEW TCP/IP? If anyone has any experience using TCP/IP in LabVIEW help would be greatly appreciated.

2

There are 2 answers

0
Charlie On BEST ANSWER

A couple of points:

  1. Did you get the provided desktop GUI working? That's always the first step.

  2. The pic is helpful, but we need to know what you are trying to send (i.e. the data).

What you are trying to send should be a command from what I called the "spec" which is here.

  1. Furthermore, when the manual doesn't give "example" programs I would always look for a user example like this one.

So I would trying sending something like in the example such as "(0.1,0.4,0.4,0.01,3.14,0.01)” to move the robot somewhere or find some other command that you know should work.

  1. I would send it and then listen for an error from the robot (I didn't see anything about error codes in the manual, but maybe there's a help file for the Desktop GUI that's explains them).

  2. I wouldn't worry about LabVIEW saying that "0 bytes were written." If you think that problem is with LabVIEW or your network - I would just run a second VI that simply listens on a random port and trys writing commands to it. E.g. VI1 sends "command 1" on port 5876 and VI2 listens on 5876 and should read "command 1."

Hope that helps.

0
rachelmarie On

I managed to fix the problem. I put each step in a frame in a stacked sequence and put the writing function before the reading function. I also looped the code in the robot that was receiving the data. It turned out to be the connection was timing out, just as Charlie was saying. Thanks for the help :)