Anyone,
We're making connections to the OPC server from a third-party client. After the connection is no longer needed, the client disconnects. However, when we check diagnostics/OPC subsystem, we're seeing a connection still showing up. Additionally, when the software creates another connection, both show up. This appears to continue ad infinitum. Can anyone tell me how to trigger DeltaV to close the connection on it's end to kill the stale client connections?
Thank you in advance,
James
In reply to Gaetano Caputo:
In reply to Lun.Raznik:
Gaetano, After poking around I remembered that the provided OPC Automation wrapper by DeltaV and/or OPC Foundation does not play nice with .NET languages. This has to do with RCW (.Net Runtime Callable Wrapper) that automatically wraps opcdaauto.dll. There are certain patterns that RCW assumes but unfortunately does not work well with OPCDAAuto.dll. The issue is mainly around OPCGroups class/object that is automatically generated by RCW. RCW assumes (rightfully) that OPCGroups object from ObjOPCServer is a distinct COM object but under the hood OPCServer and OPCGroup are one and the same. So the reference counting used by RCW is not going to work! OPC Foundation created OPC .NET API to help with this issue. I have created a very simple OPC DA Console in github that you can use as a reference, see github.com/.../DaConsoleVB.