Universal Robots Forum

Testing setup for RS485 at Tool I/O

I have been on the struggle bus for a long time trying to figure out the RS485 communications system. I have read this. I have read this.

If someone could write a UR RS485 for Dummies system test setup, I think it would help me and maybe many more people. Something like this combined with an RS485 URCap like this that includes an explanation of how to install the URCap would be a great foundation to write a Test Setup for Dummies.

Where I am getting lost now is the specifics of how I can send a message during the runtime of a UR program and see that message on a laptop running Windows.

For example, a program where the robot moves from Waypoint_1 to Waypoint_2 and then waits for 1 second and then somehow sends a message that says “Hello World.” through the TCI to be displayed somehow on a Windows computer. Then from the Windows computer, a message would be sent back to the robot that would change the value of a variable “Var_1.” from 0 to 3.

What is also needed is a wiring and component plan. The UR manual recommends this cable but it is not easily available. Technically, the company Lumberg was bought by Beldon who changed the part number to 700000863 with a description as RKMV 8-354. If you go to a Beldon distributor with the part number given in the UR Manual, it is very unlikely that they will find the part number in the system. An alternate cable can be purchased online.

The jury is still out on what the proper pinout wiring at the Tool I/O. The UR manual lists the 8 wires in the following order:

WHITE - AI2 / RS485+
BROWN - AI3 / RS485-

This table can be confusing. It is not referring to pin numbers by the order in the table. It is referring to the Lumberg RKMV 8-354 cable. Not all cables will have the same color-coding, but most brands will follow DIN 47100. The order of the colors is far different from the order in the UR manual.

  1. WH
  2. BN
  3. GN
  4. YE
  5. GY
  6. PK
  7. BU
  8. RD

I found this RS485 to USB adapter that can possibly be used to connect the robot to a laptop for viewing messages. I think the adapter has a two-wire RS485 terminal block on one side that can be connected to the Pin-1-WH and Pin-2-BN wires on the cable and the other side is a USB male that will go into a laptop.

I hope some Super Genius will reply to this topic so that there can be World Peace, or at least we can communicate with devices over RS485.

My first question is why RS485?

If you want to communicate with a windows PC this would be far easier to use socket over TCP/IP
The Robot has Ethernet RJ54 port available and Communication over ethernet is far more reliable than serial.

I’d recommend reading this Universal Robots - Script manual - e-Series - SW 5.7

hope this helps

Thank you for your reply. I agree it would be far easier but the only Tool I/O output without external wiring that I see is RS485. I think I’m stuck with RS485. It actually is not too bad. I get having only two wires and resistance to interference made it easier for UR to incorporate but I think when advertising RS485 communications to the Tool I/O, they should have enabled it rather than the user having to program a solution. There should also be an RS485 jack in the controller as well.

The next challenging problem is going to be connecting two robots when there is no RS485 jack on the controller. In order for a motor_tool_1 on one arm to synchronize rotation with a motor tool on another, it will have to send a message on RS485 down to Controller_1 and then Modbus to Controller_2 and then RS485 to motor_tool_2.

I hope some Super Genius will find this thread. I still can’t send “Hello world” through the TCI to my computer.

@christian.mackin the RS485 on the Tool I/O is specifically for the tool flange connector. I have worked with a seventh axis that used a USB to RS485 from the controller box, but that was not very robust.

Like @m.hammerton alluded to, why would you be using RS485 as an interface for communication to a PC or other robots? The client interfaces for networked devices are through TCPIP on specific ports.

Can you describe what you are trying to accomplish? In my application the robot is communicating to LabVIEW running on a PC over TCPIP using the dashboard server, port 29999

Hi @christian.mackin,

So your plan is to build an end effector than doesn’t need external wiring, and as a first test you’re trying to connect your computer to the tool flange IO connector via USB to RS485 adapter and and receive a message that you send from the UR controller… is that correct?

You can’t directly access the TCI from Polyscope (or a running UR program)… you’d need to pipe it through a python daemon (using XMLRPC, sockets, or RTDE) running on the command line on the controller.

For your initial test you should be able to simply echo a string through the port on the controller command line once you’ve enabled the TCI:

echo “hello world” > /dev/ttyTool

and on your PC connected to the tool use “cat” command under linux to monitor what’s coming in on the port associated with your USB RS485 adapter, or perhaps putty if you’re using windows.

Your comment above about your next challenging problem is also correct, you’d need to use something ethernet based to communicate between two robot controllers rather than having the two RS485 busses connected together.