首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用OPCDA.NET工具远程访问OPC服务器

使用OPCDA.NET工具远程访问OPC服务器
EN

Stack Overflow用户
提问于 2011-05-12 21:30:30
回答 3查看 5.1K关注 0票数 4

我在windows C#下开发OPC客户端。我已经开发了关于采样和基于事件(OnDataChange)的代码和读取OPC项目。当我在本地机器上工作时,我的代码与采样和OnDataChange都工作得很好,但当我试图从远程OPC Server读取数据时,采样工作得很好,但我不能在基于事件的过程中获取数据。我能够连接到OPC服务器,但当我向它添加订阅时,我得到了错误。

HRESULT : 0x80040202。

代码语言:javascript
运行
复制
       group1.DataChanged += new DataChangeEventHandler(this.DataChangeHandler);
               group1.AdviseIOPCDataCallback();//exception HRESULT : 0x80040202.

OPC服务器已连接&然后还注册了组,但在读取数据时出现异常。

EN

回答 3

Stack Overflow用户

发布于 2011-05-18 07:43:00

问题通常是,当您使用Advise()时,服务器将与客户端建立一个DCOM连接(标准DCOM连接点)。客户端需要正确设置才能允许这种情况发生(即,正确的安全设置允许服务器在客户端上执行代码)。

你应该阅读这个页面:http://www.softwaretoolbox.com/xpsp2/,它涵盖了很多关于如何正确设置DCOM以使用OPC的建议。这里有很多安全问题。Software Toolbox网站有很多很棒的信息(还有视频)。如果您仍然无法让它工作,我建议您投资一个OPC隧道产品,它将允许您进行远程OPC,而不必跳过所有的DCOM循环。

你不一定要使用OPCDA.NET来解决同样的问题。你可以使用任何一个OPC客户端,让它首先在你的远程服务器上工作,然后专注于弄清楚如何在OPCDA.NET中把它连接起来。

票数 3
EN

Stack Overflow用户

发布于 2017-02-28 02:38:39

你实际遇到的问题是回调。换句话说,让您失败的不是通知调用,而是来自OPC服务器的回调(通知触发器)。此错误通常是由用户身份验证问题(即两台计算机上的用户帐户不匹配)引起的。检查远程计算机上的OPC服务器的用户帐户。如果它不存在于您的本地计算机上,那么您发现了问题所在!

有一个自动化的应用程序可以帮助你解决你的问题。我建议你下载OPC Expert (Google it)。这是一个免费的应用程序,不需要安装,也不会更改Windows注册表。它救了我很多次。此外,供应商(OPCTI)非常有帮助,所以请查看它们。

票数 1
EN

Stack Overflow用户

发布于 2016-06-12 01:44:23

这个问题是因为当您连接到服务器时,您可能会使用第一个连接函数,即server.connect();

相反,请尝试:

代码语言:javascript
运行
复制
server.connect(new Opc.ConnectData(new System.Net.NetworkCredential()));

这对我很有效。希望它能有所帮助:)

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

https://stackoverflow.com/questions/5978721

复制
相关文章

相似问题

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