Are PLC writes prioritized over PLC reads?

I am still noticing odd behavior in terms of Tag read/writes and scan classes.
I have noticed that sometimes clicking a button to write to a tag instantly writes to the PLC, but sometimes there is a considerable delay (1-4s).
I have played around with different scan classes (direct and leased) and there doesn’t seem to be a true correlation yet, it seems pretty random.

My questions is:
Does Ignitions OPC Server ensure tag writes are sent to the PLC instantly, regardless of scan rate?
If so, what might be causing a delay between Ignition and the PLC?

I have looked at the System Console -> Execution and all of my scan classes seem to be executing with reasonable durations.

I am using Ignition 7.8.3 on a Debian server with ~ 18000 tags on the Omron driver (v1.8.3) connected to an Omron NJ501 PLC.

I just had a look at how it works in the Omron driver and the answer is… yes and no…

Write requests get scheduled to run immediately, but all that means is they get put into the queue of requests. This queue does no prioritization.

If everything is running on schedule, this means the write is effectively immediate because the queue won’t be backed up.

However, if you’ve got the device overloaded, the request will end up at the back of the queue at the time its scheduled. It’s still scheduled immediately, but all the requests sitting in the queue at that point are late, so they end up running first.

Ah ok thats good to know. Are the Allen-Bradley/Logix drivers set up in the same fashion?

Is there a way i can look at what is being scheduled, and see where that kind of backlog might be occurring?

All i can really see at the moment is how many tags i have in each scan class, and how long they are taking to execute.