WinCC到底可以存多长时间的历史数据 您所在的位置:网站首页 wincc归档设置 WinCC到底可以存多长时间的历史数据

WinCC到底可以存多长时间的历史数据

2024-01-25 02:47| 来源: 网络整理| 查看: 265

WinCC可以存多长时间的历史数据呢?可能有很多工程师都有这样的疑惑。因为生产中的历史数据可以提供生产后期的分析或者生产过程的追溯这是众所周知的,所以越多的历史数据存储就越能够提供更好的数据来支撑数据的分析。那我们今天就来说说历史数据存储的这个问题。

 如果对 WinCC的变量记录和报警记录组态很了解的话,应该就能得到这个问题答案了。如果不是十分熟悉的,也不卖关子了,直接说答案:如果您的硬盘足够大,WinCC就可以存储无限时长的历史数据。即便是若干年后,仍然可以通过 WinCC查询到若干年前的历史数据(表格形式还是曲线形式任选)。

接下来尽量简单解释一下 WinCC变量记录和报警记录的组态(两种记录的组态完全一样,只选其一进行解释),希望能够说明白。

 WinCC报警记录归档组态的界面相信大多数工程师都很熟悉,不熟的看看下图:

这里面通常需要工程师进行组态配置,这个组态配置也就决定了 WinCC能够存储多长时间的历史数据。首先关注“归档大小”,只要理解了所有分段和单个分段的含义也就可以根据自身的情况进行组态配置了。按照上图的组态配置,当 WinCC激活运行之后,就会存在一个大的容器,总装载量和装载时长就固定了,也就是总共能装 1000兆字节或者一周(7天)的历史数据。同时,在这个大容器中就会存在 7个小容器,实际历史数据是装载到这些小容器当中的。同理,每个小容器最多只能装载 100兆字节或者 1天的历史数据。实际装载量和装载时长是同时起作用的,哪个条件先满足就按哪个条件来进行装载了。为了便于说明,同时也是建议的配置方式,通常建议把分段的尺寸稍设大一点,使得历史数据的装载尽量按时间来分段。

看图说话,运行第一天结束:

数据量不达到单个分段的最大尺寸,第一个容器装不满。

运行第二天结束:

数据量也不达到单个分段的最大尺寸,第二个容器也装不满。

中间过程省略,直到第七天:

这个时候,7个实际装载历史数据的容器就已经全部装载完成了。那运行到第 8天,WinCC就会重新往第 1个容器中装载历史数据,这个时候容器 1中原来已经存储的历史数据将会被覆盖。

所以在这种组态配置的情况下的结论就是:WinCC只能存储 7天的历史数据。这也是一些初用 WinCC的工程师常常会问到的一个问题:为什么我只能查到 7天内的历史数据呢?这个时候答案应该明了了。

但是回过头来仔细考虑一下,那是不是为了能够存储尽可能长时间的历史数据,就把分段尺寸设定得巨大,分段时长也设置个 10年 8年来满足长期保留历史数据的要求呢。这种做法肯定是不可取的。原因有两点:1.当尺寸设置得非常大,那么意味着当 WinCC运行激活时,SQLServer就需要去加载巨大尺寸的数据库片段文件,可想而知这是非常影响 WinCC的激活速度以及 SQLServer的性能的。2.所有分段设置得越长,又意味着单个分段有可能越多。同样当 WinCC运行激活时,SQLServer就需要加载越多的数据库片段文件。

说到这插播分享一个遇到过最多的问题给大家:一些用户的项目在运行初期都很正常,而当运行半年多之后,WinCC的激活速度就明显变慢。经过项目组态的检查就发现了问题所在,用户设置了所有分段时间为 1年,而单个分段时间为 1天。那么就意味着最终将会有 365个数据库片段,所以也就会出现项目运行半年之后 WinCC激活变慢。

那单个片段的尺寸和片段的时长以什么为界呢?经过测试比较,SQL数据库所能连接的归档片断最大可行的数量为200个。归档片断个数不能过多地超过这个数量,否则会影响Microsoft SQL server运行性能。这反过来会导致数据管理错误。上面讲的激活慢的例子就是因为 365个片段已经超过了这个限制导致了性能受到影响。

同时WinCC V7.5 SP1中单个归档片断大小不应该超过2G。

详细信息可以参考:

https://support.industry.siemens.com/cs/cn/zh/view/34473263

那如果按照这个设置,历史数据的存储时长就会受限了。其实不然,这个时候就需要充分利用 WinCC归档的自动备份功能了。

可以在 WinCC归档组态中启用归档备份功能,如下图所示:  

激活备份功能之后,所有归档文件在单个归档分段文件完成15分钟后或达到分段最大尺寸之后都会被自动复制到备份归档目标路径下。其中备份路径可以是本地路径,也可以是网络路径。如果勾选了“备份到两个路径”选项,那么会同时在两个路径下保存备份归档。

看到这应该就明白了,只要启用了备份功能。那么无论之前的归档片段如何设置,在最早的单个片段被覆盖之前,原始片段文件都已经被复制到指定的备份路径了。所以只要硬盘足够大,历史数据永远不会被覆盖丢失。

最后的问题就是,虽然保证了归档数据库片段可以一直存储下来。那 WinCC运行系统中是不是就可以直接查询到所有的历史数据呢?答案是否定的,WinCC运行系统中,缺省情况下只能查询到归档组态中设置的所有分段时间范围内的历史数据。要想查询到更早的历史数据,就需要将所要查询时间范围内的备份数据库片段重新加载到 SQLServer,WinCC中也就能查询到更早的历史数据了。如何重新加载已备份的数据库



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有