用于存储数据的方法

文档序号:6547027阅读:243来源:国知局
用于存储数据的方法
【专利摘要】本发明公开一种用于存储数据的方法,所述方法包括:通过CPU模块收集源数据以及RTC(实时时钟)值,并且将所述源数据以及所述RTC值存储于数据记录模块的公用RAM(随机存取存储器)中,通过所述数据记录模块的MPU(微处理器)转换所述源数据的类型,以及将所述RTC值和索引值与转换的值相加以生成数据列,并且通过所述数据记录模块的压缩单元来压缩所生成的数据列,并且将所生成的压缩数据列存储于存储器卡中。
【专利说明】用于存储数据的方法

【技术领域】
[0001 ] 本公开涉及一种用于存储数据的方法。

【背景技术】
[0002]在传统工业界的自动化工具包括诸如继电器等的机械设备。每次替换在自动化工具中的内部电路的布线以改变配置有机械设备的自动化工具的功能很困难。
[0003]为了解决难题,通常利用可编程逻辑控制器(PLC)。PLC包括多个模拟和数字输入和至少多个数字输出。也就是,PCL —般包括基本模块和宽泛的各种扩展模块。主要以无人方式控制PLC,并且于是,如果发生异常操作,必须采取追溯既往的措施来解决该异常操作。可以监控一连串的操作或可以存储过去历史的记录数据以检查是否以及如何发生了异常操作。
[0004]为此,PLC系统的CPU (中央处理器)模块响应于预定参数和存储条件而收集源数据。由CPU模块收集的源数据被数据记录模块转换为预定类型的数据以通过将RTC(实时时钟)值和索引值相加来生成数据列,由此将所生成的数据列存储于存储器卡中。
[0005]然而,数据记录模块遭受的缺点在于数据列按原样被存储于存储器卡中,并且因此在有限容量的存储器卡中存储大量数据列受到限制。


【发明内容】

[0006]已经做出了本发明以解决现有技术的上述问题,并且因此本发明的一些实施例的目的是提供一种用于存储数据的方法(下文中称为“数据存储方法”或更简单地称为“方法”),当数据记录模块将数据列存储于存储器中时,该存储数据的方法配置为通过将数据列压缩和存储于存储器中而在有限存储器中存储大量的数据列。
[0007]另一个目的是提供一种数据存储方法,其配置为通过压缩和缩减数据列来提高数据列的存储速度。
[0008]在本公开的一个总体方案中,提供一种数据存储方法,所述方法包括:
[0009]通过CPU (中央处理器)模块来收集源数据以及RTC (实时时钟)值,并且将所述源数据以及所述RTC值存储于数据记录模块的公用RAM(随机存取存储器)中;
[0010]通过所述数据记录模块的MPU(微处理器)转换所述源数据的类型,并且将所述RTC值和索引值与所转换的值相加以生成数据列;以及
[0011]通过所述数据记录模块的压缩单元来压缩所生成的数据列,并且将所生成的压缩数据列存储于存储器卡中。
[0012]优选地,但是非必要地,所述数据存储方法可以进一步包括通过输入单元输入梯形图程序(ladder program)并且在将数据记录模块的公用RAM中存储之前设定参数和存储条件,其中所述CPU模块在数据记录模块的公用RAM中存储的步骤中收集满足所述参数和所述存储条件的源数据和RTC值。
[0013]优选地,但是非必要地,将所生成的压缩数据列存储于所述存储器卡中的步骤可包括:将所生成的数据列存储于缓冲器中,以及通过允许所述压缩单元压缩存储于缓冲器中的数据列而将其存储于存储器卡中。
[0014]优选地,但是非必要地,所述方法可以进一步包括在数据记录模块的公用RAM中存储的步骤之前通过输入单元设定是否压缩,其中在所述存储器卡中存储的步骤中所述压缩单元判定是否压缩的设定,并且当压缩被设定时,通过压缩所述数据列而存储于存储器卡中。
[0015]优选地,但是非必要地,存储于存储器卡的步骤可以包括:根据霍夫曼编码方法(Huffman coding method)使用所述数据列生成霍夫曼树(Huffman Tree),通过选择性地将O或I提供给生成的霍夫曼树的左支和右支而生成压缩编码,并且将压缩编码存储在所述存储器卡中。
[0016]优选地,但是非必要地,生成所述霍夫曼树的步骤可以包括:基于所述数据列来检查各数据列的频率数并且作为检查的结果计算概率值,比较计算的数据列的样本的概率值,以及重复通过将新生成的节点的概率值和在剩余数据列中的样本的概率值进行比较并且作为比较的结果将在大小上两个最小的概率值相加而生成新节点的过程。
[0017]有益效果
[0018]根据本公开的数据存储方法的有益效果在于,当所述数据列被存储于所述存储器卡中时,基于压缩设定来执行所述存储器卡中压缩数据列的存储,由此,能够将大量数据列存储于有限容量的存储器卡中,并且能够通过数据列的压缩来提高数据列的存储速度。

【专利附图】

【附图说明】
[0019]图1是示出了根据现有技术的数据存储方法的框图。
[0020]图2是示出了根据现有技术的数据存储方法的操作的信号流程图。
[0021]图3是示出了根据本公开的数据存储方法的框图。
[0022]图4是示出了根据本公开的数据存储方法的操作的信号流程图。
[0023]图5是示出了在根据本公开的数据存储方法中霍夫曼编码技术的示意图,其配置为压缩数据列。
[0024]图6是示出了在根据本公开的数据存储方法中通过霍夫曼编码技术压缩的数据列的压缩编码的图表。

【具体实施方式】
[0025]在下文中,将会参照附图更全面地描述各种示例性实施例,其中显示了一些示例性实施例。然而,本发明构思可以以许多不同形式实施,并且不应该被解释为限于在此提出的例证实施例。更确切的,描述的方案有意于包括全部这些落于本公开的范围和新颖构思之内的改变、修改以及变化。
[0026]在下文中,将会参照附图详细描述本发明的示例性实施例。
[0027]图1是示出了根据现有技术的数据存储方法的框图,其中附图标记100是输入单元,其配置为输入梯形图程序。通过举例的方法,输入单元100通过XG5000程序输入梯形图程序,并且输入单元100通过输入包括用于存储记录数据的类型、文件名称和索引名称的参数以及记录数据的数据存储条件来设定。
[0028]附图标记110是CPU (中央处理器)模块。CPU模块110以源数据的形式收集满足通过输入单元100输入的梯形图程序、设定的参数以及存储条件的记录数据,并且将所收集的源数据连同RTC(实时时钟)值一起提供给数据记录模块120。
[0029]数据记录模块120配置为通过转换由CPU模块110提供的源数据的类型而生成数据列,数据记录模块120可以包括公用RAM122,MPU(微处理器)124以及缓冲器126。
[0030]公用RAM122临时地存储由CPU模块110提供的源数据以及RTC值。MPU124转换存储于公用RAM122中的源数据的类型,并且通过将索引值和存储于公用RAM中的RTC值与经类型转换的数据相加而生成数据列。缓冲器126存储由MPU124生成的数据列。
[0031]附图标记130是存储器卡。存储器卡130可以使用SD(安全数字)存储器卡或CF(紧凑式闪存)存储器卡,并且例如,存储器卡可以以CSV(逗号分隔值)格式文件存储有存储于缓冲器126中的数据列。
[0032]图2是示出了根据现有技术的数据存储方法的操作的信号流程图。
[0033]参照图2,操作者通过准备梯形图程序而经过输入单元100输入(S200),并且例如,通过使用XG5000程序而执行梯形图程序的输入。
[0034]此外,通过输入包括用于记录数据的类型、文件名称和索引名称的参数以及记录数据的存储条件而进行设定,同时通过XG5000程序输入梯形图程序(S202)。
[0035]在此条件下,CPU模块110响应于梯形图程序、参数和存储条件而收集源数据,并且在数据记录模块120的公用RAM122中存储收集的源数据以及RTC值(S204)。将存储于公用RAM122中的源数据输入到MPU124并且将其转换为预设型的数据,并且通过与索引值和存储于公用RAM122中的RTC值相加而转换为数据列(S206)。
[0036]将转换的数据列存储于缓冲器126中(S208),并且将存储于缓冲器126中的数据列以CSV文件的形式存储于存储器卡中(S210)。
[0037]在传统的数据存储方法中,不对存储于缓冲器126中的数据列进行压缩,并且存储于缓冲器126中的数据列以CSV文件的形式按原样存储于存储器卡130中,使得具有有限存储容量的存储器卡在存储大量数据时遭遇到困难。
[0038]图3是示出了根据本公开的数据存储方法的框图,其中附图标记300是输入单元,其配置为输入梯形图程序。通过举例的方法,例如,输入单元300通过XG5000程序输入梯形图程序。此外,通过输入包括用于存储记录数据的类型、文件名称、索引名称、记录数据的存储条件以及待存储数据的压缩的参数来进行设定。
[0039]附图标记310是CPU模块。CPU模块310以源数据的形式收集满足通过输入单元300输入的梯形图程序、设定的参数以及存储条件的记录数据,并且将收集的源数据连同RTC (实时时钟)值一起提供给数据记录模块320。
[0040]数据记录模块220配置为通过转换由CPU模块310提供的源数据的类型而生成数据列,数据记录模块220可以包括公用RAM322、MPU (微处理器)324、缓冲器326以及压缩单元328。
[0041]公用RAM322临时地存储由CPU模块310提供的源数据以及RTC值。MPU324转换存储于公用RAM122中的源数据的类型,并且通过将索引值和存储于公用RAM322中的RTC值与经类型转换的数据相加而生成数据列。缓冲器326临时地存储由MPU324生成的数据列。
[0042]压缩单元328通过收集存储于缓冲器326中的数据列来判定是否压缩,并且当压缩被设定时执行收集的数据列的压缩,并且当压缩未被设定时不执行收集的数据列的压缩。
[0043]附图标记330是存储器卡。存储器卡330可以使用SD(安全数字)存储器卡或CF(紧凑式闪存)存储器卡,并且例如,以CSV(逗号分隔值)格式文件存储通过压缩单元328压缩或没有压缩的数据列。
[0044]图4是示出了根据本公开的数据存储方法的操作的信号流程图。
[0045]参照图4,操作者通过准备梯形图程序而经过输入单元300输入(S400),并且例如,通过使用XG5000程序来执行梯形图程序的输入。
[0046]此外,通过输入包括用于存储记录数据的类型、文件名称和索引名称的参数、记录数据的存储条件以及数据的压缩来进行设定,同时通过XG5000程序输入梯形图程序(S402)。
[0047]在此条件下,CPU模块310响应于梯形图程序、参数、存储条件以及数据的压缩而收集源数据,并且将收集的源数据连同RTC值一起存储在数据记录模块320的公用RAM322中(S404)。将存储于公用RAM322中的源数据输入到MPU324并且将其转换为预设型数据,并且通过与索引值和存储于公用RAM322中的RTC值相加而转换为数据列(S406)。
[0048]将转换的数据列存储于缓冲器326中(S408),并且将存储于缓冲器326中的数据列输入到压缩单元328。压缩单元328收集存储于缓冲器326中的数据列以判定是否压缩收集的数据列(S410)。
[0049]作为判定的结果,如果数据列的压缩被设定,则压缩单元328压缩收集的数据列(S412),并且将压缩的数据列存储于存储器卡330中(S414)。作为判定的结果,如果数据列的压缩未被设定,则压缩单元328不压缩收集的数据列(S412),并且将收集的数据列按原样存储于存储器卡330中(S414)。
[0050]现在,将会详细描述通过压缩单元328压缩数据列的操作。根据本公开的压缩单元328通过应用如图5所示的霍夫曼编码技术,例如,通过使用存储于缓冲器326中的数据列生成压缩编码,经过多个步骤执行压缩。
[0051]在第一步骤,基于最初存储于缓冲器326中的数据列来检查各数据列的频率数,并且根据检查的结果来计算概率值。参照图5,设定数据列的样本“D”,“A”,“T”,“I”,“L”,“0”,“G”和“S”,并且计算数据列的设定样本的概率值。
[0052]在第二步骤,比较数据列中的样本的计算概率值,并且作为比较的结果,通过将两个最小概率值相加而生成新节点。
[0053]在第三步骤、第四步骤和第五步骤,通过重复生成新节点的过程而生成霍夫曼树,新节点通过比较新生成的节点的概率值和在剩余数据列中的样本的概率值并且作为比较的结果将在大小上两个最小的概率值相加而生成。
[0054]当在第五步骤中仅剩概率值为I的节点时,结束霍夫曼树的生成过程并且为各节点分配位(bit)。作为最后的过程,来自霍夫曼树的最高节点的左支被分配“O”位,并且右支被分配“ I ”位以产生压缩编码。
[0055]图6是示出了在根据本公开的数据存储方法中通过霍夫曼编码技术而压缩的数据列的压缩编码的图表,其中,将图5中设定的与数据列的样本“D”,“A”,“T”,“I”,“L”,“O”,“G”和“S”相关的ASCII编码和通过本公开生成的压缩编码进行比较。
[0056]作为比较结果,如果将数据列的样本“D”,“A”,“T”,“I”,“L”,“0”,“G”和“S”存储于ASCII编码中,则需要64位。然而,如果根据本发明通过压缩来存储数据列的样本“D”,“A”,“T”,“I”,“L”,“0”,“G”和“S”,则仅需要33位。虽然本公开已经说明并且示出了根据霍夫曼编码技术在存储器卡中压缩和存储数据列,但是本公开不限于此,并且可以使用各种其它技术来存储在存储器卡中压缩和存储数据列。
[0057]虽然已经参照许多本公开的说明性实施例描述了本公开,但是应该被理解的是许多其它能够被本领域的技术人员想出的修改和实施例将落于本公开的原理的精神和范围之中。
【权利要求】
1.一种使用数据记录模块在存储器中存储数据的方法,所述方法包括: 通过CPU (中央处理器)模块收集源数据以及RTC (实时时钟)值,并且将所述源数据以及所述RTC值存储于数据记录模块的公用RAM(随机存取存储器)中; 通过所述数据记录模块的MPU (微处理器)转换所述源数据的类型,并且将所述RTC值和索引值与转换的值相加以生成数据列;以及 通过所述数据记录模块的压缩单元来压缩所生成的数据列,并且将所生成的压缩数据列存储于存储器卡中。
2.如权利要求1所述的方法,进一步包括通过输入单元输入梯形图程序以及在所述数据记录模块的所述公用RAM中存储之前设定参数和存储条件,其中在所述数据记录模块的所述公用RAM中存储的步骤中所述CPU模块收集满足所述参数和所述存储条件的源数据和RTC 值。
3.如权利要求1所述的方法,其中将所生成的压缩数据列存储于所述存储器卡中的步骤包括:将所生成的数据列存储于缓冲器中,以及通过允许所述压缩单元对存储于缓冲器中的数据列进行压缩而将其存储于所述存储器卡中。
4.如权利要求1所述的方法,进一步包括在所述数据记录模块的所述公用RAM中存储的步骤之前通过所述输入单元来设定是否压缩,其中在所述存储器卡中存储的步骤中所述压缩单元判定是否压缩的设定,并且当压缩被设定时,通过压缩所述数据列而将其存储于所述存储器卡中。
5.如权利要求1所述的方法,其中存储于所述存储器卡中的步骤包括:根据霍夫曼编码方法使用所述数据列生成霍夫曼树,通过选择性地将O或I提供给所生成的霍夫曼树的左支和右支而生成压缩编码,并且将压缩编码存储在所述存储器卡中。
6.如权利要求5所述的方法,其中生成所述霍夫曼树的步骤包括:基于所述数据列来检查各数据列的频率数并且作为检查结果计算概率值,比较计算的数据列的样本的概率值,以及重复通过将新生成的节点的概率值与在剩余数据列中的样本的概率值进行比较并且作为比较的结果将在大小上两个最小的概率值相加而生成新节点的过程。
【文档编号】G06F3/06GK104182178SQ201410213997
【公开日】2014年12月3日 申请日期:2014年5月20日 优先权日:2013年5月20日
【发明者】金枡锺 申请人:Ls产电株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1