OPC-UA 服务器重启和订阅

Posted

技术标签:

【中文标题】OPC-UA 服务器重启和订阅【英文标题】:OPC-UA server reboot and subscriptions 【发布时间】:2017-06-12 23:56:12 【问题描述】:

一般情况下会发生什么情况:如果客户端在 OPC-UA 节点上进行了订阅,并且该节点正在运行一段时间。 OPC-UA 服务器以标准行为向客户端发布数据。然后,OPC-UA服务器因任何原因重启,OPC-UA是否存储其订阅者并在启动后恢复连接并继续发布数据?或者客户端是否需要感知服务器宕机并因此重新创建订阅?如果是这种情况,是否应该普遍使用轮询来获得更大的稳定性?

【问题讨论】:

【参考方案1】:

一般,不,服务器不存储订阅并在重启后恢复。

应该通知客户端服务器将重新启动。但是即使它不是正常关闭,在重新连接时客户端应该尝试恢复其会话,这将失败,这意味着将尝试恢复或传输其订阅,此时它将知道重新创建订阅。 (此客户端行为在规范的第 4 部分中指定为连接状态机的一部分)。

也就是说,OPC UA 1.03确实引入了持久订阅的概念,它应该能够保存状态并在重启后仍然存在,但我不知道有任何服务器实现了这一权利现在。我还感觉到,预期的目的是让订阅以非常慢的发布速度保持在可能只连接的客户端上,例如每天获取更新,而不是简单地保存状态并在重启后幸存下来,这本身有点不必要。

【讨论】:

以上是关于OPC-UA 服务器重启和订阅的主要内容,如果未能解决你的问题,请参考以下文章

OPC-UA 服务器可以覆盖连接客户端的超时和其他参数吗?

客户端和服务器之间的双工通信 open62541(OPC-UA)

opc-ua milo项目的骆驼路线

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

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

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