open62541:同时获取订阅的所有变更监控项

Posted

技术标签:

【中文标题】open62541:同时获取订阅的所有变更监控项【英文标题】:open62541: get all changed monitored items of subscription at the same time 【发布时间】:2019-11-30 17:42:32 【问题描述】:

据我从 OPC-UA 规范中可以看出,在每个发布间隔,OPC-UA 服务器都会发送一个 NotificationMessage,其中包含它在队列中采样的所有更改的所有通知(我正在监视变量值)。

但正如我在 open62541 文档中发现的那样,它的订阅方法 UA_Client_MonitoredItems_createDataChangeUA_Client_MonitoredItems_createDataChanges 在“每个受监控项目的回调”基础上工作。逐项。

有没有办法批量获取一个发布区间的所有监控项变化?

1-st 发布间隔:更改项目 1、2、3 的值

第 2 次发布间隔:更改了第 2、4、5 项的值

等等……

【问题讨论】:

【参考方案1】:

据我所知,这取决于您使用的软件堆栈。 (例如 Softing、Microsoft .NET Standard)。 NotificationMessage 包含您添加到订阅的 MonitoredItem 的所有更改。但软件堆栈的 API 为您提供更改的方式略有不同。

【讨论】:

以上是关于open62541:同时获取订阅的所有变更监控项的主要内容,如果未能解决你的问题,请参考以下文章

基于open62541的OPC UA服务器建立

在 Windows 中使用 open62541 构建一个简单的服务器

open62541 浏览节点和使用它的方法

open62541 windows VS client/server 实例

open62541 windows VS client/server 实例

open62541:构建 PubSub 示例时出错