Number of OPC Handlers - OPC DA Surrogate
We know that there are several factors that influence OPC DA communication, including data read and/or write operations on the 800xA through OPC Surrogate. afwapplogviewer is an important ally in diagnosing and understanding how communication works. And there're several posts here about OPC Surrogate.
I'd like to know if there is any recommendation regarding the number of connections (OPC Handlers) within the same OPC Surrogate process. I have contact with systems that have 30, 40 connections (mainly from advanced process control softwares) and it is quite common for them to have performance problems in OPC communication from time to time - a single software, a single OPC Surrogate process and several OPC handlers (connections).
Thanks in advance.
Voted best answer
The surrogate is in some terms a single threaded process where concurrent work posted by one connection (=handler) may cause disruptions for other connections. This is mostly concentrated to applications working in the synchronous domain where each call will suspend all other OPC actions until it has completed. Avoid using synchronous code/clients if at all possible.
The registry key MultipleUse can be reset to zero (0) to force a unique surrogate per connection, more processes and higher total memory footprint will be a likely result.
The surrogate actually "convert" synchronous calls to asynchronous before forwarding them to the true endpoint, often a DA Connector but is also true for "direct" aspects like General Properties, Lock Properties, Alarm Properties, etc.