Modbus/TCP Driver Performance Improvement
a
andrew.primiano
As discussed with ignition support, I have had a problem with modbus communications to a Schneider M580 PLC being extremely slow. There are 2 possible solutions that can improve performance drastically, which the driver does not yet support (although functionality can be hacked by creating multiple device driver instances for the same device).
- Support for multiple socket connections to the slave device to distribute the load across multiple sockets. This allows multiple concurrent requests to be sent at the same time. The M580 can support up to 32 socket connections, and responds to multiple (up to 60 or so, depending on model) requests per scan cycle (total). However, current driver implementation only allows 1 request per PLC scan cycle because each socket waits for a response before sending the next request, which results in the PLC starting its next cycle after sending a single request, resulting in poor performance (1 request per scan cycle). I have had to create 15 devices in my project all pointing to the same PLC to get the same functionality to achieve a reasonable throughput. Now I have to change 15 IP addresses and make sure that all of my configurations are exactly the same across 15 devices which is not ideal.
- Support for sending >1 (tunable amount) message requests before receiving a response, instead of waiting for a response before sending the next request. This would help drastically with devices that process requests in batches, the way the M580 does.
Log In
B
Bruno Nunes
Hello, this is still a valid point. Is multiple socket in the horizon? Unfortunately we still have a few M580 on our site.