OPC-UA 服务器重启和订阅

OPC-UA server reboot and subscriptions

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

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

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

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