历史数据压缩装置和方法与流程

文档序号:17258181发布日期:2019-03-30 09:28阅读:299来源:国知局
历史数据压缩装置和方法与流程

本发明涉及工业控制领域,尤其是涉及一种工业控制领域的集散控制装置



背景技术:

随着上位机、网络技术的迅猛发展,工业控制系统的规模越来越大,实时性越来越高。在工业控制系统中大量过程量的标签点需要记录其过程值,形成历史数据,因此需要处理这些过程值的技术。在处理过程值中,需要解决数据的采集、数据的处理、数据的传输、数据的压缩、数据的组织等核心问题。



技术实现要素:

本发明所要解决的技术问题是提供一种历史数据压缩装置和方法,具有更好的时钟精度和压缩率。

本发明为解决上述技术问题而采用的技术方案是提出一种历史数据压缩装置,包括:控制器,配置为对过程量的标签点数据包添加时标;处理器,耦接所述控制器且配置为执行如下步骤:将过程量的标签点数据包拆分为一个或多个标签点,且为每一标签点添加所述时标;对所述标签点中的模拟量标签点和开关量标签点分别进行第一级压缩;对经过第一级压缩的模拟量标签点和开关量标签点分别进行第二级压缩;以及存储经过第二级压缩的模拟量标签点和开关量标签点。

在本发明的一实施例中,对所述标签点中的模拟量标签点和开关量标签点分别进行第一级压缩之后还包括:将经过第一级压缩的模拟量标签点和开关量标签点送入数据队列中,等待进行所述第二级压缩。

在本发明的一实施例中,将经过第一级压缩的模拟量标签点和开关量标签点送入同一数据队列中。

在本发明的一实施例中,所述模拟量标签点的第一级压缩与第二级压缩的方法不同。

在本发明的一实施例中,所述开关量标签点的第一级压缩与第二级压缩的压缩率不同。

在本发明的一实施例中,所述模拟量标签点的第一级压缩为游程压缩,所述模拟量标签点的第二级压缩为斜率压缩或频率压缩。

在本发明的一实施例中,所述开关量标签点的第一级压缩与第二级压缩的方法包括:合并开关量的值没有变化的标签点。

在本发明的一实施例中,所述处理器还配置为检测所述模拟量标签点的突变,且未经压缩而直接记录突变值。

在本发明的一实施例中,所述控制器设置于分布式控制设备中,所述处理器设置于上位机中。

本发明的另一方面提出一种历史数据压缩方法。包括以下步骤:对过程量的标签点数据包添加时标;将过程量的标签点数据包拆分为一个或多个标签点,且为每一标签点添加所述时标;对所述标签点中的模拟量标签点和开关量标签点分别进行第一级压缩;对经过第一级压缩的模拟量标签点和开关量标签点分别进行第二级压缩;以及存储经过第二级压缩的模拟量标签点和开关量标签点。

本发明由于采用以上技术方案,使之与现有技术相比,可以高效、可靠地实现数据的采集、压缩及后期的存储,提高了时间精度和数据压缩率,解决了数据丢失的问题。

附图说明

为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中:

图1是根据本发明一实施例的历史数据压缩装置的示意图。

图2是根据本发明一实施例的历史数据压缩装置的分布式控制设备结构示意图。

图3是根据本发明一实施例的历史数据压缩装置的上位机结构示意图。

图4是根据本发明一实施例的历史数据压缩过程示意图。

图5是根据本发明一实施例的历史数据压缩方法流程图。

图中元件标号说明:

100:历史数据压缩装置

110:分布式控制设备(distributedcontroldevice)

111:控制器

112:只读存储器(rom)

113:随机存取存储器(ram)

114:通信端口

115:采集设备

116:内部通信总线

120:上位机

121:处理器

122:只读存储器(rom)

123:随机存取存储器(ram)

123a:数据队列

123b:内存数据块

124:通信端口

125:输入/输出设备

126:硬盘

127:用户界面

128:内部通信总线

130:网络

201:标签点数据包(带时标)

211:拆分数据

212:判断是否为模拟量

213:模拟量游程压缩

214:开关量变位压缩

215:模拟量斜率压缩

216:开关量变位压缩

具体实施方式

为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。

如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。

本发明的以下实施例描述一种历史数据压缩装置。该装置有助于高效、可靠地实现数据的采集、压缩及后期的存储,提高了时间精度和数据压缩率,解决了数据丢失的问题。

图1是本发明一实施例的历史数据压缩装置的示意图。参考图1所示,该历史数据压缩装置100可包括分布式控制设备110和上位机120,二者通过网络130连接。网络130可以是各种已知的有线网络(如以太网)或者无线网络,在此不再展开。分布式控制设备110和上位机120配合以实现以下实施例所描述的装置或其变化例。分布式控制设备110中可以配备控制器、采集设备和通信端口等。上位机120中可以配备处理器、用户界面和输入输出设备等。处理器负责执行指令,用户界面可以向使用者呈现各种界面,输入输出设备可以接收或发送使用者的输入和输出。

图2是根据本发明一实施例的历史数据压缩装置的分布式控制设备结构示意图。参考图2所示,分布式控制设备110可包括控制器111、只读存储器(rom)112、随机存取存储器(ram)113、通信端口114、采集设备115以及内部通信总线116。

在一些实施例中,控制器111可以由一个或多个控制器组成。分布式控制设备110中包括不同形式的程序存储单元及数据存储单元,例如只读存储器(rom)112和随机存取存储器(ram)113。上述存储单元能够存储分布式控制设备110处理和/或通信使用的各种数据文件,以及控制器111所执行的可能的程序指令。通信端口114可以实现分布式控制设备110与其他部件(图中未示出)之间进行数据通信。在一些实施例中,分布式控制设备110可以通过通信端口114从网络130发送和接受信息及数据。采集设备115采集各种变化的物理量,可以是温度、压力和震动等,通过相应的传感器将其转换成模拟的电信号。采集设备115将这些模拟电信号转换为数字信号存储起来,并进行预处理。内部通信总线116可以实现分布式控制设备110各部件之间的数据通信。

图3是本发明一实施例的历史数据压缩装置的上位机结构示意图。参考图3所示,上位机120可包括处理器121、只读存储器(rom)122、随机存取存储器(ram)123、通信端口124、输入/输出设备125、硬盘126、用户界面127以及内部通信总线128。

处理器121耦接图2中的控制器111。在一些实施例中,处理器121可以由一个或多个处理器组成。上位机120中包括不同形式的程序存储单元及数据存储单元,例如只读存储器(rom)122、随机存取存储器(ram)123和硬盘126。上述存储单元能够存储上位机120处理和/或通信使用的各种数据文件,以及处理器121所执行的可能的程序指令。通信端口124可以实现上位机120与其他部件(图中未示出)之间进行数据通信。在一些实施例中,上位机120可以通过通信端口124从网络130发送和接受信息及数据。输入/输出设备125支持上位机120与其他部件之间的输入/输出数据流。作为举例,输入/输出设备125可以包括以下的部件的一种或多种:鼠标、轨迹球、键盘、触控组件、声音接收器等。用户界面127可以实现上位机120和用户之间的交互和信息交换。内部通信总线128可以实现上位机120各部件之间的数据通信。

可以理解,本申请的历史数据压缩装置并不限于由一个上位机实施,而是可以由多个联机的上位机协同实施。联机的上位机可以通过局域网或者广域网连接和通信。

举例来说,本申请的历史数据压缩装置100可以实施为上位机程序,保存在硬盘126中,并可记载到处理器121中执行,以实施本申请的方法。

历史数据压缩装置实施为上位机程序时,也可以存储在上位机的可读存储介质中作为制品。例如,上位机可读存储介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩盘(cd)、数字多功能盘(dvd))、智能卡和闪存设备(例如,电可擦除可编程只读存储器(eprom)、卡、棒、键驱动)。此外,本文描述的各种存储介质能代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于能存储、包含和/或承载代码和/或指令和/或数据的无线信道和各种其它介质(和/或存储介质)。

应该理解,上文所描述的实施例仅是示意。本文描述的实施例可在硬件、软件、固件、中间件、微码或者其任意组合中实现。对于硬件实现,处理单元可以在一个或者多个特定用途集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器和/或设计为执行本文所述功能的其它电子单元或者其结合内实现。

图4是根据本发明一实施例的历史数据压缩过程示意图。本实施例的装置可以在图1或者其变化的历史数据压缩装置中实施。在一些实施例中,下面的装置中的一个或多个步骤可以由人工实施。下面参考图4所示描述本实施例的历史数据压缩过程。

结合参考图2和图3所示,分布式控制设备110中的控制器111对过程量的标签点数据包添加时标。由于数据从分布式控制设备上传至上位机中需要时间,因此由分布式控制设备中的控制器为过程量标签点数据包添加时标可以使得时标中的时间更加精确。

上位机120中的处理器121耦接该控制器111,且配置为执行以下步骤:将过程量的标签点数据包(带时标)201拆分为一个或多个标签点,此过程为拆分数据211。拆分后的每一标签点为一个检测的量,例如可以是一个温度值或一个压力值。处理器121为拆分后的每一标签点添加上述控制器111中的时标。处理器121判断上述标签点是模拟量标签点还是开关量标签点,此过程为模拟量判断212。处理器121对模拟量标签点和开关量标签点分别进行第一级压缩。该处理器121对经过第一级压缩的模拟量标签点和开关量标签点分别进行第二级压缩。处理器121储存经过第二级压缩的模拟量标签点和开关量标签点。在本发明的一些实施例中,处理器121将经过第二级压缩的模拟量标签点和开关量标签点形成数据块放入内存数据块123b中,并存储到硬盘126上。

在一个示例中,由上位机中的历史数据软件将压缩后的模拟量标签点和开关量标签点的值形成数据块,并存储至计算机硬盘。其他程序可以检索该历史数据软件中的历史数据。

在本发明的一实施例中,上述历史数据压缩装置100的处理器121对上述标签点中的模拟量标签点和开关量标签点分别进行第一级压缩之后,将经过压缩的模拟量标签点和开关量标签点送入数据队列中,等待进行上述第二级压缩。该数据队列例如可以是位于图3内存ram123中的两个缓冲区,缓冲区可以起到缓冲数据的作用,避免处理器来不及处理。

在本发明的另一实施例中,上述历史数据压缩装置100的处理器121对上述标签点中的模拟量标签点和开关量标签点分别进行第一级压缩之后,将经过压缩的模拟量标签点和开关量标签点送入同一数据队列123a中,等待进行上述第二级压缩,如图4所示。

在一个示例中,该数据队列123a位于上位机120中的内存ram123中的一缓冲区中,该缓冲区的长度可以事先定义,以足够存放10秒或更长时间的所有记录值。压缩后的模拟量标签点和开关量标签点的记录值均按时间顺序采用队列方式存放。

在本发明的一实施例中,上述历史数据压缩装置100对上述模拟量标签点的第一级压缩与第二级压缩的方法不同。使用不同的压缩方法能够提高压缩率。优选地,参考图4所示,处理器121对上述模拟量标签点的第一级压缩为模拟量游程压缩213,对上述模拟量的第二级压缩为模拟量斜率压缩215。处理器121对该模拟量的第二级压缩还可以是频率压缩(图未示)。其中,对模拟量标签点的游程压缩为无损压缩,压缩的误差可以事先定义,该误差最小可以为0,通常为量程的0.1%~1%,而压缩的时间周期同样可以事先定义。对模拟量标签点进行斜率压缩并放入内存数据块123b中时,保证时间精度为50毫秒。

在本发明的一实施例中,上述历史数据压缩装置100对上述开关量标签点的第一级压缩与第二级压缩的压缩率不同。在本发明的一些实施例中,参考图4所示,处理器121对上述开关量标签点的第一级压缩为开关量变位压缩214,对上述开关量的第二级压缩为开关量变位压缩216,两次变位压缩的压缩率不同。使用不同的压缩率能够提高整体的压缩率。对开关标签点的第一级和第二级压缩的压缩类型通常为时间维度的压缩。对开关量标签点进行变位压缩并放入内存数据块123b中时,保证时间精度为1毫秒。

在一个示例中,上述历史数据压缩装置100对上述开关量标签点的第一级压缩与第二级压缩的方式包括合并开关量的值没有变化的标签点。在上述历史数据压缩装置100对开关量标签点进行第一级压缩时,仅记录有变化的开关量的值,并合并时间相同的开关量的值。如果开关量的值没有变化,则最长1-5分钟生成一个记录值。类似地,在上述历史数据压缩装置100对开关量标签点进行第二级压缩时,仅记录有变化的开关量的值,并合并时间相同的开关量的值。如果开关量的值没有变化,则记录前面的开关量的值。在开关量的值长期不变的情况下,每1小时左右记录一个开关量的值。仅对变化的开关量进行保存,可以在保证所有开关量变化值均被记录的前提下,节省其占用的内存空间,并提高处理器的处理效率。通过对长时间无变化的开关量进行特殊处理,可以进一步提高压缩率。

在本发明的一实施例中,上述历史数据压缩装置100的处理器121还配置为检测上述模拟量标签点的突变,且未经压缩而直接记录突变值。通过对模拟量标签点的突变进行特殊处理,可以保证所有的压缩结果在事先定义的误差范围内。

本发明的另一方面提出一种历史数据压缩方法。该方法有助于高效、可靠地实现数据的采集、压缩及后期的存储,提高了时间精度和数据压缩率,解决了数据丢失的问题。

本发明一实施例的历史数据压缩方法流程图如图5所示。下面参考图5对历史数据压缩方法进行说明。

步骤302,对过程量的标签点数据包添加时标。

步骤304,将过程量的标签点数据包拆分为一个或多个标签点,且为每一标签点添加所述时标。

步骤306,对所述标签点中的模拟量标签点和开关量标签点分别进行第一级压缩。

步骤308,对经过第一级压缩的模拟量标签点和开关量标签点分别进行第二级压缩。

步骤310,存储经过第二级压缩的模拟量标签点和开关量标签点。

本发明提供了一种历史数据压缩装置和方法。该装置和方法有助于高效、可靠地实现数据的采集、压缩及后期的存储,提高了时间精度和数据压缩率,解决了数据丢失的问题。

上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述发明披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。

同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。

本申请各部分操作所需的上位机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb.net、python等,常规程序化编程语言如c语言、visualbasic、fortran2003、perl、cobol2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序编码可以完全在用户上位机上运行、或作为独立的软件包在用户上位机上运行、或部分在用户上位机上运行部分在远程上位机运行、或完全在远程上位机或服务器上运行。在后种情况下,远程上位机可以通过任何网络形式与用户上位机连接,比如局域网(lan)或广域网(wan),或连接至外部上位机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。

此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个申请实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可作出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1