Your simulator is responding an order of magnitude slower than mine.
Looks like the average response time to a Write Single Register request is ~30ms, you're doing ~500 of them because of the non-contiguous registers, that's ~15 seconds.
Your simulator is responding an order of magnitude slower than mine.
Looks like the average response time to a Write Single Register request is ~30ms, you're doing ~500 of them because of the non-contiguous registers, that's ~15 seconds.
How can I set up a simulator as efficient as yours ?
Even using some random Modbus server like this one is fast: modbus-tcp-server¡PyPI
I'm not sure how/why your setup is so slow to be honest.
Are you testing over a WAN?
His capture showed 127.0.0.1, but his response time is more in line with VPN over WAN...
try Modbus Slave from Witte?
I have good experience with it
I was wrong about this... it's multiple orders of magnitude
vs
(note the unit on the Y axis)
It's a slow day here...
wait i now see you're already using modbus slave...and your writes are still that slow? i wonder if there's something funky on the firewall side on your box. try just sending a single packet over loopback and wiresharking it?
Never mind, I found the issue.
I was not writing any values to some HR registers within the specified range. That was stopping Ignition to write using Modbus function 16 even though I enabled Force Multiple Register Writes Ignition was writing one by one.
For example:
HR 1 - Write
HR 2 - Pass
HR 3 - Write
HR 4 - Pass
...
Now I'm writing to all registers, and it takes 400ms to write 1000 UDT instances.
Thank you so much to everyone!
This doesnât force writes over non-contiguous registers, it effectively disables the use of the write single register function.