我使用Kepware KEPServerEX 5.15作为OPC服务器,使用.NET中的OPC自动化包装器2.02进行通信。
当我的应用程序和KEPServerEX都安装在同一台机器上时,我没有问题,一切都按预期工作,但是当我将应用程序移动到另一台机器时,我在任何操作中都会收到一个HRESULT E_FAIL异常。
我还在第二台机器上安装了KEPServerEX,当指向本地时,应用程序可以工作。我还尝试从指向秒服务器的第一台计算机上运行应用程序,但仍然获得了HRESULT E_FAIL exeption。
我还禁用了这两台机器上的防火墙,使其无效,并启用了Network访问,并在本地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}
发布于 2014-09-04 14:23:47
OPC使用DCOM进行通信,您需要执行以下步骤来解决此问题。
2.在RightClick上展开组件服务、计算机和MyComputer并选择属性
注意:对于初始测试,禁用服务器和客户端的防火墙。:)
之后,您应该能够远程访问OPC服务器。
https://stackoverflow.com/questions/25661919
复制相似问题