Write Multiple OPC tags - Slow Response

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...

1 Like

try Modbus Slave from Witte?

I have good experience with it

I was wrong about this... it's multiple orders of magnitude :upside_down_face:

vs

(note the unit on the Y axis)

It's a slow day here...

1 Like

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.