如何使用历史数据 点击:513 | 回复:1



工控大亨

    
  • 精华:13帖
  • 求助:5帖
  • 帖子:851帖 | 1682回
  • 年度积分:0
  • 历史总积分:5491
  • 注册:2006年1月03日
发表于:2007-08-31 17:07:00
楼主
   历史数据

    在工业控制中,常常要从一些数据的历史趋势分析问题和发现问题,保存历史数据就显得十分重要。紫金桥实时数据库支持历史数据的快速保存和检索,它按照一定的条件把数据保存到历史库中,用户需要时可随时从历史数据库中访问历史数据。

    历史数据是位号在某一时刻的瞬时值,是与时间有关的数据,每一个历史数据记录上都有一个事件戳,记录历史数据的采样时间。位号是否保存历史数据,历史数据的保存条件都由用户进行数据组态时决定。实时数据库按照用户指定的采样条件在库中进行采样,如果采样的条件满足,就将采样数据加上时间戳,记入历史库中。

    历史数据库是磁盘文件,为了防止频繁的写磁盘,紫金桥实时数据库在内存中开辟了历史数据缓冲区。历史数据从实时数据库中采集以后,首先放在内存缓冲区中,当存盘时间到达或缓冲区已满时一次性的写入磁盘历史库文件。用户访问历史数据时,系统首先检查历史数据缓冲区中是否有用户需要的历史数据,如果没有然后在检查历史数据库文件中是否有用户需要的历史数据。历史数据缓冲区的设立大大加快了历史数据的存取速度。

    

    历史数据保存

    紫金桥实时数据库采用两种方式来保存历史数据,即定时保存和变化率保存。定时保存是指不管数据的变化情况如何,数据库只是按照一定的时间间隔,周期性的采样数据存入历史库,这种保存方式容易造成较大的误差。变化率保存方式可以让用户指定一个变化的精度,当数据发生变化时,如果系统发现当前数据和上次采样数据之差和数据量程之比在用户指定的变化精度之内,那么就忽略本次变化不予存盘,只有超过了用户指定的变化率之后,系统才认为数据真的发生了变化,保存历史。这种保存方式保存的历史数据的误差在用户的控制之内,而且还有效的压缩了数据,是最常用的一种保存方式。

    紫金桥实时数据库对历史数据库可以进行插入历史操作,这种功能主要是针对历史数据采集滞后的情况设立的。比如一些仪表可以保存一定的历史纪录,当从仪表中把这些历史纪录采集出来时,必须利用插入历史操作把数据插入历史库中。紫金桥系统针对历史的插入操作进行了大量的优化处理,仍然能够迅速的完成。

    用户在访问历史数据时,紫金桥实时数据库自动对压缩的历史数据进行展开,因此,历史数据的压缩对用户是透明的。历史数据展开时,不进行插值处理,用在历史库中从当前时间向前搜索到的第一个历史数据作为当前的历史数据。

    

    退出时保存数据作为下次启动初始值

    在应用过程中,有时不希望每次启动时位号的值初始化为0,而是希望启动时的初始值是上一次退出时的采集值。针对于这种情况,紫金桥实时数据库提供了对应的选项,可以在系统退出时,把该位号的当前值保存入历史库,而当系统重新启动时,再次把历史库中该位号的历史值取出重新赋值给该位号。



ZK88

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 103回
  • 年度积分:0
  • 历史总积分:1030
  • 注册:2005年9月15日
发表于:2007-09-01 21:29:00
1楼
用检索全部历史数据组件时发现有个别丢失,像是自动压缩后产生.请解问如何决?

热门招聘
相关主题

官方公众号

智造工程师