据我从OPC-UA规范可以看到的,在每个发布间隔,OPC-UA服务器都会发送一个NotificationMessage,其中包含在队列中采样的所有更改的所有Notifications(我正在监视变量值)。
但是,正如我在open62541文档中发现的那样,其订阅方法UA_Client_MonitoredItems_createDataChange
和UA_Client_MonitoredItems_createDataChanges
基于“每个受监视项目的回调”工作。逐项
有没有一种方法可以批量获取一个发布间隔内所有受监视的项目更改?
第1次发布时间间隔:更改项目1、2、3的值
第二发布间隔:更改项目2、4、5的值
等等...
最佳答案
据我所知,这取决于您使用的软件堆栈。 (例如,Softing,Microsoft .NET Standard)。 NotificationMessage包含添加到Subscription的MonitoredItem的所有更改。但是软件堆栈的API如何为您提供更改会略有不同。
关于c++ - open62541:同时获取所有已更改的受监视的订阅项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57151244/