我正在使用Kepware KEPServerEX 5.15作为我的OPC服务器,并使用.NET中的OPC DA Automation Wrapper 2.02进行通信。
当我的应用程序和KEPServerEX都安装在同一台机器上时,一切正常,但是当我将应用程序移动到另一台机器上时,任何操作都会收到HRESULT E_FAIL异常。
我还在第二台机器上安装了KEPServerEX,当本地指向它时,应用程序可以工作。我还尝试从第一台机器运行应用程序,指向第二个服务器,仍然收到HRESULT E_FAIL异常。
我还禁用了两台机器上的防火墙,没有效果,并启用了网络DTC访问,并在本地DTC安全属性中设置不需要身份验证。
总之,当我尝试使用远程OPC服务器时,应用程序会抛出HRESULT E_FAIL异常。
在最简单的示例中,我正在执行以下操作:
Dim opcServer As New OPCAutomation.OPCServer
Dim opcServerEnum As IEnumerable = CType(opcServer.GetOPCServers(hostAddress), IEnumerable)
编辑: 在系统事件日志中找到了以下内容:
当尝试激活服务器时,DCOM从计算机10.24.7.28收到错误代码为“2147944122”的错误: {13486D51-4821-11D2-A494-3CB306C10000}