Universal Robots Forum

MiR and UR Communications - Modbus TCP

We’ve been working on setting up a demo at our company linking a MiR500 and UR5e to share a task. We decided to use Modbus TCP to do so and set up the UR as the client and the MiR as the server. Doing so was not difficult and we found good support from documentation share by a distributor (Allied Automation out of Indianapolis).


The trick came in determining what address should be used on the UR for the PLC register addresses in the MiR. In the MiR control panel, the PLC registers for integers are listed as 41001/41002 through 41199/41200 (each has two 16-bit words, so 2 “addresses”). To configure these within the UR with Modbus Client Register Input/Output, the leading 4 should be moved. Therefore:

MiR PLC Register 1 (32-bit integer) = MiR 41001/41002 = UR Modbus Client Register 1001 and 1002
(it seems that the UR can only recognize 16-bits at a time)

This isn’t a major reveal to Modbus veterans, but would have been helpful info to those of us just starting out with this kind of integration. Does anyone else has other getting-started hints that could help us others?

Hey @torrey.bievenour,

Sounds interesting! MiR have a URCap that does assist with the sync of the two systems: GitHub - mir-robots/MiR-URCaps-integration: URCaps project for integration with MiR robots


@Ebbe ,

Thanks for the link. We found one at the link below (MiRintegration-1.0.3.urcap) that may be the same, but not sure.

Unfortunately, when we tried to put it into a program as a node, it seemed to lock up with UR (to the point of needing to force shutdown the robot). Lock up actually came during program creation, not even when trying to run the program. If we could get it to work, it would probably be much easier than messing with Modbus.


UR+ | MIR / UR synchronisation URCap (universal-robots.com)


It is the same, but the source is available on Github.

Ok, so the program node freezes when you open the view?

Where you able to establish connection to the MiR?



Yes, if you add the node and view it, the whole system was freezing up. We were never able to tell if it connected.

We were able to connect through Modbus though, so we know we had the IP address correct.


I experienced the same issue with MiR URcap. Since the URcap only read and wrote to the PLC registers, I decided to use the native UR Modbus read and write.