使用C#读取OPC UA数据

问题描述 投票:0回答:2

我想使用C#和.NETFramework技术制作一个报告程序。我们有 PLC,我们的 PLC 标签将进入 Kepware 的 OPC 服务器。

根据我的研究,使用OPC UA似乎是合理的,但我找不到任何有用的(不复杂的)文档。我只想从OPC服务器获取树列表并将其传输到treeview,这是一个.NETFramework组件。

后来,我想记录我通过每分钟读取 1 次确定的标签。非常详细的样品对我来说太重了。

是否有像 GetStructors() 这样的方法或简单的示例来获取树结构并读取标签?请帮忙。

c# .net opc-ua .net-4.8 opc
2个回答
1
投票

如果有一个简单的方法,每个人都会这样做,但它仍然不那么难做到。当您查看 opc 社区以了解您应该在此处使用什么时,社区声明最后更新和长期支持是在 opc ua 协议上。

如果你使用c#,你可以检查opc Foundations opc ua库c#简单的opc ua客户端

创建opc ua客户端时需要考虑以下几点:

  • 您的 opc 服务器具有 opc ua 端点(在 kepserverex 中,其位于管理工具 -> OPC UA 配置中)
  • 你应该创建证书带有证书的简单客户端

如果你不想进行身份验证,你应该去 kepserverex 配置-> 项目 -> opc ua -> 允许匿名登录 = yes

利用这些信息和资源,您可以为自己创建一个 opc 客户端。

注意:客户端如何工作:

首先要创建一个Session,然后通过这个Session创建订阅对象。您应该将 IO 创建为受监控项并将它们添加到您的订阅对象中。那么您将需要从您的订阅对象创建一个数据更改事件,并且您的客户端已准备就绪。服务器值发生变化的数据将通过此 datachange 对象发布,您可以自由地对这些对象执行任何您想要的操作。


0
投票

我测试了这个库 https://opcua.traeger.de/en/?gclid=Cj0KCQjw06-oBhC6ARIsAGuzdw0UUXP91GOsMQoEc7VyLiicmRhQL6S9reTC0YcTXbSN-qh5npPanFwaAockEALw_wcB 我能够创建一个简单的程序,从 OPC 服务器读取一些标签,但它很昂贵,我只能运行 5 分钟,因为它是一个试用版

© www.soinside.com 2019 - 2024. All rights reserved.