gpt4 book ai didi

.net - OPC HRESULT E_FAIL 当连接到远程服务器时

转载 作者:行者123 更新时间:2023-12-05 05:26:29 25 4
gpt4 key购买 nike

我使用 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 got error "2147944122" from the computer 10.24.7.28 when attempting to activate the server: {13486D51-4821-11D2-A494-3CB306C10000}

最佳答案

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

  1. 从 Windows“开始”菜单中选择“运行”并键入 dcomcnfg.exe 以运行 DCOM 配置实用程序,然后单击“确定”。

2.展开组件服务、计算机并右键单击我的电脑并选择属性

  1. 选择选项卡默认属性并选中“在此计算机上启用分布式 COM”。默认身份验证级别应为连接,默认模拟级别应为识别。注意:应取消选中为引用跟踪提供额外的安全性。

  2. 现在选择“COM 安全”选项卡,在“访问权限”部分下单击“编辑默认值”按钮,单击“添加...”按钮并添加用户名(新创建的用户名与用户名完全相同服务器上的名称)。添加新用户后选择它并在下面的框中选中复选框以启用(允许)本地访问和远程访问。

  3. 出于初始测试目的,将 Everyone 添加到 Grant Access 列表中。

  4. 在服务器所在的机器上将 OpcEnum.exe 添加到防火墙异常(exception)列表

  5. 在客户端机器的防火墙上允许端口 135 传入连接

注意:对于初始测试,请在服务器和客户端上禁用防火墙.. :)

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

在此之后您应该能够远程访问 OPC 服务器

关于.net - OPC HRESULT E_FAIL 当连接到远程服务器时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25661919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com