Has anyone tested a large number of slave devices (40+) connected to a single instance of OpenPLC?

Is the polling of slave devices done synchronously or asynchronously?  I have a project consisting of a large number (possibly 50) of custom (ESP32 Based) POE modbus sensors and actuators (fairly simple, 3 - 4 registers each) in an experimental greenhouse.

Anything I should keep in mind, or any reason this wouldn't be possible?
Quote 0 0
The polling is done asynchronously, so it shouldn't interfere with your main task loop. The answer to your question is more related to the quality of your network than anything else. It might be possible that you will have to slow down the polling interval of the slave devices to accommodate all your wireless traffic in the bandwidth. Also, OpenPLC follows the Modbus standard to poll devices, which is not very efficient. You basically need to send 4 requests to read a single device (digital inputs, digital outputs, analog inputs, analog outputs). I'm planning to create a custom Modbus message that would read/write all the data in a single request, making the polling virtually 4x faster. This will not be in accordance with the standard, but will be far more efficient and will also be backwards compatible with regular Modbus devices.
Quote 0 0