I’m trying to setup communication over Modbus TCP via a Gateway to Modbus RTU.
I have the communication setup ok through a PC running Modbus Poll software and can read and write from and to the appropriate addresses using FC 03 and FC 16. (these are the only permitted FC on the device)
My problem is when I setup the Robot as Client using the same configuration.
i, Only see the values if I use Register Output (FC 16) If I try to use Register Input (FC 03) I get an Error EB (Not listed in the Modbus manual)
ii If I try to write a value to any writable address I get an Error EB (Not listed in the Modbus manual)
Thanks in advance for any help
Hi @m.hammerton ,
I guess the error for EB is what it says in the link below.
As for the FC16 you mentioned, if you are using the “Register output” in the modbus client page of robot, actually it is using two FC codes which are 0x03 and 0x06 like the description below according to the user manual. Perhaps, your device does not accept the FC 0x06 based on your description.
I can’t see how it can be this error!
If I set the same address twice once as Register input and once as Register output.
the Register input will display EB value while the Register output will display the expected value.
If what your saying is that, FC16 uses FC3 surely the output register would also display the same EB Fault?
I can understand it displaying a fault if when trying to write, it is using FC06 as the device is fixed to only FC03 and FC16.
And why then is FC16 Register write even an option on the Robot?
also If I connect via a PC (using Modbus poll software) over the same network It works perfectly.
FC3 displays the correct value.
As i know, UR robot does not support FC16 so where do you see it supports?
Another thing you might need to pay attention is the addressing mapping. Please be sure your system is 0-base or 1-base.