我们正在寻找从不同SCADA系统收集数据的解决方案。 OPC UA似乎是一个很好的方法。数据收集将通过互联网(https)从单个系统到多个SCADA系统完成。因此,我们计划开发一个可以连接到多个OPC UA服务器的OPC UA客户端。将以给定间隔收集数据。如果客户端和服务器之间的连接丢失了一段时间,系统应该能够处理。在这种情况下,我假设我们需要通过查看历史数据来获取数据。因此,我们需要一个支持HA(历史访问)的服务器。 有没有任何服务器支持这个或我们需要开发自己的服务器实现? 或者是否有比上述方法更好的方法? 对此有任何帮助或提示将不胜感激。
答案 0 :(得分:0)
您希望连接停止多长时间?
虽然依靠HA肯定是解决这个问题的一种方法,但我认为您现在很难找到市场上现在正在实施HA的产品。
幸运的是,你可以在没有HA的情况下处理这种情况。如果您创建具有丰富生命周期的订阅,并创建具有队列大小的受监视项目,基于采样间隔,可以保持足够的数据更改以跨越该生命周期,那么您在重新连接时应该接收所有数据客户端和服务器之间的连接丢失时发生的更改。
如果连接预计会停用数天/数周/月,那么在UA 1.03中引入的不支持持久订阅的情况下,这将无法正常工作,但是您再次受限于找到服务器支持持久订阅。 (持久订阅基本上只是使目标订阅的生命周期比通常允许的时间长得多的一种方式,并指示服务器期望他们将这些订阅持久保存到磁盘并在例如服务器重启的情况下恢复它们)