Home Programming


Left ArrowBack to discussions page
John_AMEJohn_AME Posts: 2 Recruit
Hello Everyone! I am working on a project in my company where we are introducing a UR10 robot in between 2 machines for material handling. We have integrated UR10 with Modbus TCP which will communicate with Machine#2 (a measurement instrument) which is operating on Java.

Modbus TCP has 2 Input Registers and 8 Output Registers all working on the same Slave address and same IP Address. Each time Machine#2 starts & stops, it send a signal to Input Register #1, as a 1 & 0 respectively. Machine#2 decides Pass/Fail of the component and sends a signal as 1 or 2 to Input Register#2.

The Issue I am currently having is:

1) Somehow nothing gets written to Input Register#2, while Input Register#1 works perfectly fine, 1 & 0 gets written to it at the correct time. The java code which handles sending of signal, is simple and correct. No added loops, proper wait times to complete the 1st process, before starting the next. Also, after writing a value to Modbus, the Java code reads back from Input Register#2, it receives the value as 65536, which nobody knows what it means. The UR robot program, is suppose to act as per the Input Register#2, but since it does not get any value, it just skips everything and returns to Home. Is there something on the Modbus setup that i might be doing wrong? what could be a solution for this? I am using Register# (133-134) for inputs and (135-142) for outputs, which are general purpose registers.

I would really appreciate any insight and suggestions from the community. I have always followed the discussions, and questions and have gained good confidence for working with UR Robots through the solutions seen here.

Thanks to everyone in advance.


  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,267 Handy
    I’m a little confused, are each of the machines connected to the robot via Modbus independently or is there only one actual connection?
  • John_AMEJohn_AME Posts: 2 Recruit
    Thanks for the prompt reply, Matthew. So, only Machine#2 is connected to the robot via Modbus. Machine#1 has nothing to do with anything, it's just spitting out parts to the end of a conveyor and the robot gets a Digital Signal that "there's a part ready to be picked up".
Sign In or Register to comment.
Left ArrowBack to discussions page