首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接到远程服务器时OPC E_FAIL

连接到远程服务器时OPC E_FAIL
EN

Stack Overflow用户
提问于 2014-09-04 09:31:40
回答 1查看 5.2K关注 0票数 3

我使用Kepware KEPServerEX 5.15作为OPC服务器,使用.NET中的OPC自动化包装器2.02进行通信。

当我的应用程序和KEPServerEX都安装在同一台机器上时,我没有问题,一切都按预期工作,但是当我将应用程序移动到另一台机器时,我在任何操作中都会收到一个HRESULT E_FAIL异常。

我还在第二台机器上安装了KEPServerEX,当指向本地时,应用程序可以工作。我还尝试从指向秒服务器的第一台计算机上运行应用程序,但仍然获得了HRESULT E_FAIL exeption。

我还禁用了这两台机器上的防火墙,使其无效,并启用了Network访问,并在本地DTC安全属性中设置了不需要身份验证。

总之,当我尝试使用远程OPC服务器时,应用程序会抛出HRESULT E_FAIL.。

在最简单的例子中,我正在做以下工作:

代码语言:javascript
复制
    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}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-04 14:23:47

OPC使用DCOM进行通信,您需要执行以下步骤来解决此问题。

  1. 通过从Windows菜单中选择Run并键入dcomcnfg.exe单击OK来运行DCOM配置实用程序。

2.在RightClick上展开组件服务、计算机和MyComputer并选择属性

  1. 选择Tab默认属性并检查“在此计算机上启用分布式COM”。默认身份验证级别应该是Connect,默认的模拟级别应该标识。注意:为参考跟踪提供额外的安全性,应不加检查。
  2. 现在选择,在访问权限部分单击,单击Add…按钮并添加用户名(新创建的用户名与服务器上的用户名完全相同)。添加新用户之后,选择它并在下面的框中选中要启用(允许)本地访问和远程访问的框。
  3. 对于最初的测试目的,包括格兰特访问列表中的每个人。
  4. 在服务器将OpcEnum.exe添加到防火墙异常列表的机器上。
  5. 在客户端计算机的防火墙上允许端口135进入

注意:对于初始测试,禁用服务器和客户端的防火墙。:)

  1. 记下运行opc服务器的windows用户帐户的用户ID和密码,并在远程计算机上创建相同的用户名和帐户(这是为了在两台计算机之间建立信任)。

之后,您应该能够远程访问OPC服务器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25661919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档