Our OPC-UA servers range from 250K items to 700K items. When reconnecting after maintenance it takes up to 15 minutes sometimes to pull all the data back into Ignition. I have been looking through the docs to figure out a way to potentially speed up this process. I have played around with the 'Max Per Operation" but to be completely honest just not sure what the best practice is for adjusting these settings. Does anyone know of best practices published somewhere or just give me pointers on how to adjust the OPC settings on Ignition and server side?
Are you connected to third party servers or Ignition's own OPC UA server?
Most of the time spent after reconnecting is re-establishing the Subscriptions and Monitored Items, and some servers are simply slower than others in their implementation of this (e.g. Kepware). There's very little room for tweaking settings that will help, at least on the Ignition side. Increasing Max Per Operation, assuming the server supports larger and larger values, will eventually result in the entire CreateMonitoredItemRequest timing out and just compound your reconnection issues.
It might help to split things into more Tag Groups, because each Tag Group ends up being its own Subscription on a given OPC UA server, but whether that actually helps would be an implementation detail of that server.
Thanks! That is helpful information. We are using Autosol OPC-UA server. These are pretty much the extent of the OPC-UA settings on the Autosol ACM side.
You could try increasing that "Maximum Monitored Items Per Call" setting... 5000? 10000? Ignition should pick it up and use it automatically if the server properly advertises it in the address space.
I'm not optimistic it will make much difference. The server probably takes X
time to process the creation of N
Monitored Items. Assuming you're lucky enough that the complexity is just O(N * X)
, doing 4 calls at 2500 versus 1 call at 10000 should be hardly any different because the overhead in the service calls is negligible at this point.