AfwDsOpcSurrogate Module stopped working
Monitor memory usage of AfwDsOPCSurrogate.exe over time.
Does it grow until 2 GB and then crash?
Check if the OPC client is using some inappropriate method (e.g. perpetual calls to AddItem, AddGroup, etc. without ever removing them, etc.).
Google "ABB AKS OPC Communicator Statistics" - there should be some articles where I have explained how to use a debugging tool called AfwApplogViewer.exe to extract information from the system, e.g. OPC statistics from the OPC Surrogate Server.
Best subscription method is active groups with active items and Advise(callback) based asynchronous subscription. OPC client can then passively wait for data while OPC server and system will post callbacks when there is a change.
See attached document.