Hello,
I am trying to communicate the UR robot with an Omron NJ series PLC using the UR robot as the modbus client.
I can read values from the holding registers and coils of the PLC but I can not send any registers or coils to it.
I followed the steps in this article: Modbus TCP Client Setup - 16363
The article is talking about register IDs. I couldn’t find the register IDs of the PLC I am using.
Normally, the PLC I use does not have modbus feature but I am using a modbus library which was developed using socket communication feature of the PLC and the datasheet of the library doesn’t include a register table like the one in this article.
I typed “0” in the register ID textfield when I was trying to read from the PLC and it worked.
But it didn’t work when I typed “0” or “30001” when I was trying to write to the holding register of the PLC.
I tried my own URCAP using this command to add a modbus signal: modbus_add_signal(IP, slave_number, signal_address, signal_type, signal_name, sequential_mode=False) Again, I was successful at reading the values from the PLC but couldn’t write to it.
Also, I can write to the holding registers of the PLC using C# code that I wrote via my PC.
In the C# code, I specify the registers like from the register 0 to 20. Then it writes the data I sent to all those register.
What should the register ID be? I reckon the signal address and the register ID are the same thing here? If not what should the signal adress be as well?
Thank you,
MB