# MiR and UR Communications - Modbus TCP

**URL:** <https://forum.universal-robots.com/t/mir-and-ur-communications-modbus-tcp/16800>\
**Category:** Robot Communication\
**Created:** [September 30, 2021, 5:33pm UTC](https://forum.universal-robots.com/t/mir-and-ur-communications-modbus-tcp/16800 "2021-09-30T17:33:52Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![torrey.bievenour](https://avatars.discourse-cdn.com/v4/letter/t/90db22/32.png) [@torrey.bievenour](https://forum.universal-robots.com/u/torrey.bievenour)\
**Post date:** [September 30, 2021, 5:33pm UTC](https://forum.universal-robots.com/t/mir-and-ur-communications-modbus-tcp/16800/1 "2021-09-30T17:33:53Z")

</div>

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).

[https://www.universal-robots.com/articles/ur/interface-communication/using-the-modbus-tcpip-client-interface-of-the-ur-robot/](https://www.universal-robots.com/articles/ur/interface-communication/using-the-modbus-tcpip-client-interface-of-the-ur-robot/)  
[https://www.mobile-industrial-robots.com/media/3477/mir-robot-interface-20-reference-guide-v15-en.pdf](https://www.mobile-industrial-robots.com/media/3477/mir-robot-interface-20-reference-guide-v15-en.pdf)

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?

---

<div class="post-metadata">

**Author:** ![Ebbe](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/ebbe/32/1413_2.png) [@Ebbe](https://forum.universal-robots.com/u/Ebbe)\
**Post date:** [October 4, 2021, 8:15am UTC](https://forum.universal-robots.com/t/mir-and-ur-communications-modbus-tcp/16800/2 "2021-10-04T08:15:59Z")

</div>

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](https://github.com/mir-robots/MiR-URCaps-integration)

Ebbe

---

<div class="post-metadata">

**Author:** ![torrey.bievenour](https://avatars.discourse-cdn.com/v4/letter/t/90db22/32.png) [@torrey.bievenour](https://forum.universal-robots.com/u/torrey.bievenour)\
**Post date:** [October 4, 2021, 12:41pm UTC](https://forum.universal-robots.com/t/mir-and-ur-communications-modbus-tcp/16800/3 "2021-10-04T12:41:59Z")

</div>

@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.

Thanks,  
Torrey

[UR+ | MIR / UR synchronisation URCap (universal-robots.com)](https://www.universal-robots.com/plus/products/universal-robots/mir-ur-synchronisation-urcap/)

---

<div class="post-metadata">

**Author:** ![Ebbe](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/ebbe/32/1413_2.png) [@Ebbe](https://forum.universal-robots.com/u/Ebbe)\
**Post date:** [October 6, 2021, 12:18pm UTC](https://forum.universal-robots.com/t/mir-and-ur-communications-modbus-tcp/16800/4 "2021-10-06T12:18:32Z")

</div>

@torrey.bievenour

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?

Ebbe

---

<div class="post-metadata">

**Author:** ![torrey.bievenour](https://avatars.discourse-cdn.com/v4/letter/t/90db22/32.png) [@torrey.bievenour](https://forum.universal-robots.com/u/torrey.bievenour)\
**Post date:** [October 6, 2021, 12:44pm UTC](https://forum.universal-robots.com/t/mir-and-ur-communications-modbus-tcp/16800/5 "2021-10-06T12:44:19Z")

</div>

@Ebbe

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.

Thanks,  
Torrey

---

<div class="post-metadata">

**Author:** ![anon38577717](https://avatars.discourse-cdn.com/v4/letter/a/bbce88/32.png) [@anon38577717](https://forum.universal-robots.com/u/anon38577717)\
**Post date:** [October 20, 2021, 8:33pm UTC](https://forum.universal-robots.com/t/mir-and-ur-communications-modbus-tcp/16800/6 "2021-10-20T20:33:41Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![tszhang](https://avatars.discourse-cdn.com/v4/letter/t/59ef9b/32.png) [@tszhang](https://forum.universal-robots.com/u/tszhang)\
**Post date:** [May 19, 2022, 5:21am UTC](https://forum.universal-robots.com/t/mir-and-ur-communications-modbus-tcp/16800/7 "2022-05-19T05:21:13Z")

</div>

Hi,  
I also use the native ur modbus to communicate with MIR,but sometime ur will pop up an error ‘modbus signal disconnect with the device’,I must refresh the ur modbus button and can run the program.And i set the refresh frequency 1Hz.The problem still appears.Do you have the same problem?

---

<div class="post-metadata">

**Author:** ![torrey.bievenour](https://avatars.discourse-cdn.com/v4/letter/t/90db22/32.png) [@torrey.bievenour](https://forum.universal-robots.com/u/torrey.bievenour)\
**Post date:** [May 19, 2022, 12:26pm UTC](https://forum.universal-robots.com/t/mir-and-ur-communications-modbus-tcp/16800/8 "2022-05-19T12:26:04Z")

</div>

@tszhang Our application was only for a short period and is no longer active. I do not recall ever getting that error though. Sorry to not be able to offer more.

Thanks,  
Torrey

---

<div class="post-metadata">

**Author:** ![bba](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/bba/32/555_2.png) [@bba](https://forum.universal-robots.com/u/bba)\
**Post date:** [August 3, 2022, 7:31pm UTC](https://forum.universal-robots.com/t/mir-and-ur-communications-modbus-tcp/16800/9 "2022-08-03T19:31:05Z")

</div>

When using the UR robot modbus/tcp client interface you should always enable ‘‘sequential mode’’ to make the communications more robust. This is done within the advanced settings of the driver. Sequential mode is not enabled by default.

---

<div class="post-metadata">

**Author:** ![eric.feldmann](https://avatars.discourse-cdn.com/v4/letter/e/94ad74/32.png) [@eric.feldmann](https://forum.universal-robots.com/u/eric.feldmann)\
**Post date:** [August 3, 2022, 9:23pm UTC](https://forum.universal-robots.com/t/mir-and-ur-communications-modbus-tcp/16800/10 "2022-08-03T21:23:10Z")

</div>

> you should always enable ‘‘sequential mode’’

> Sequential mode is not enabled by default.

Seems like an easy quality of life fix for your users to default it to that mode if it should always be that way, right?
