订阅
与永久读取信息(轮询)相比,OPC UA 提供了更优雅的功能,即所谓的订阅。UA 客户端可以订阅一系列感兴趣的节点,并让服务器监控这些项目。只有在发生变化的情况下,例如它们的值,服务器才会通知客户端这些变化。这种机制极大地减少了传输的数据量。除了减少带宽之外,这种机制还带来了更多优势,并且是推荐的从 UA 服务器“读取”信息的机制。
客户端可以订阅 OPC UA 服务器提供的不同类型的信息。订阅的目的是将这些信息源(称为监控项)组合在一起,形成一条称为通知的信息。
下图显示了客户端订阅数据更改和事件时所涉及的服务。
订阅由至少一个受监控项组成,必须在会话的上下文中创建,并且可以转移到另一个会话。要创建会话,必须在客户端和服务器之间建立安全通道。
在将监控项添加到订阅时,客户端可以订阅三种不同类型的“更改”:
订阅变量值的数据变化(变量的值属性),
订阅对象事件(对象和事件过滤器集的 EventNotifier 属性),
并订阅基于当前变量值以客户定义的时间间隔计算的聚合值。
监控项和订阅可用的设置如下图所示。