We have our own implementation of Modbus specification written in Java. Using our stack we want to read the data like UR state, TCP information, etc. which are by default exposed by UR’s Modbus server. I want to run my application over our modbus stack as a daemon process in the controller.
Can I run a java based daemon process?
Yes, you can run a Java based daemon.
But you could also consider to just start the Java runnable as a new Thread from the Activator, and provide a nice way to stop it from the stop method in the Activator.
Great!!! Thanks for your response.
So, the java based daemon process can establish a TCP communication with the Modbus server running inside the UR controller. There won’t be any system-wide restriction inside the UR controller for this kind of inter-process communication.
Yes, you can connect to the internal Modbus server from a daemon process on the controller.
However my general recommendation might be to use something like the RTDE interface instead of Modbus, as it is a more modern interface with a good support for multiple clients as well. It generally contains the same information as the Modbus server, but also quite some more information and keeps getting expanded.
I will spend some time to understand the RTDE interface.
In the meantime, I was polling the Modbus Server using our stack. Do we need to swap the order of bytes after getting the response from Modbus registers?