使用 UA-.NET 调用 OPC-UA 方法

Posted

技术标签:

【中文标题】使用 UA-.NET 调用 OPC-UA 方法【英文标题】:Call OPC-UA method with UA-.NET 【发布时间】:2016-10-07 01:20:05 【问题描述】:

我正在尝试通过在https://github.com/OPCFoundation/UA-.NET 上使用 Open OPC-UA.NET 实现从 SINUMERIK 840d 调用 OPC-UA 方法“ReadVar”

我对如何使用此堆栈实现的知识有限,想知道是否有人提供了一个轻量级示例,说明如何使用它连接到 OPC-UA 服务器并从 C# 代码调用该方法?

我已经尝试使用统一自动化试用二进制客户端来测试调用此方法,它运行良好。我还想知道购买商业 OPC-UA SDK 而不是使用上述开源版本的主要好处是什么(除了明显的支持等)。

【问题讨论】:

OPC Foundation 的实现主要是堆栈 + 顶部的示例 SDK 库。它是最初的参考实现,但不再积极开发,除了堆栈层。 Unified Architecture SDK 是 SDK 接口的“第 2 版”,并带有改进的设计、文档和支持。 【参考方案1】:

您必须知道方法的节点 ID、方法的“对象”的节点 ID 及其参数。使用 OPC-UA .Net 中提供的示例,您可以执行经典的“hello world”:-)

IList<object> val = session.Call(  
  // I know that this node holds the method I like to use
  new NodeId("Methods", 2), 
  // and I know this node is "hello" method 
  new NodeId("Methods_Hello", 2), 
  "world");

Console.WriteLine(val[0]);

【讨论】:

你是我的英雄! ;)

以上是关于使用 UA-.NET 调用 OPC-UA 方法的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 open62541 一次使用 OPC-UA 编写多个节点?

如何将 OPC-UA 数据与 Kafka 连接?

OPC-UA 服务器重启和订阅

替代 OPC-UA [关闭]

opc-ua milo项目的骆驼路线

OPC-UA从客户端启动后如何动态添加新变量