我使用 Milo 项目启动了一个 OPC UA 项目,以创建一个 OPC UA 客户端。我对 OPC UA 还是很陌生。现在,我一直在寻找在一个特定节点的数据更改后从多个节点读取值的最佳实践。
信息模型如下所示: RfidSensorType
在我的服务器上,我将拥有这个 RfidSensorType 的几个对象。客户端在 CurrentAtTag 节点上创建订阅以侦听数据更改。
我的问题:当 CurrentAtTag 的值发生更改时,将在我的客户端中调用一个回调函数,其中包含 UaMonitoredItem 和 CurrentAtTag 的 DataValue。在我的应用程序中,我还需要处理(同时)Station、IOLPort 和 CurrentValue 的值,这些值也在那个时候发生了变化。如何从 CurrentAtTag 的回调中访问这些值?
我唯一的解决方案是:在该回调中使用同步读取请求->这是一种合法的方法吗?
我的研究: 1)TriggeringService 我已经看到存在一个TriggerigService,它监控项目只会在一个特定节点更改它的值时发送报告。问题:这将调用几个回调,而只调用一个..我需要同时所有信息来进一步处理它们..
2) 事件监控 在事件监控中,可以选择“事件字段”,每个事件通知都会返回。我不确定是否可以选择 CurrentAtTag、Station、IOLPort 和 CurrentValue...