无纸记录仪及无纸记录仪数据存储方法

文档序号:6585679阅读:533来源:国知局
专利名称:无纸记录仪及无纸记录仪数据存储方法
技术领域
本发明涉及工业仪表领域,尤其涉及一种无纸记录仪数据存储方法及无纸记录仪。
背景技术
纵观记录仪的发展历程,大致经历了机械有纸记录仪记录仪和无纸记录仪两个发 展阶段。1995年以前,基本上是机械式有笔有纸记录仪,该种记录仪通过记录笔在记录纸 上绘制曲线,从而达到记录并保存数据的目的。由于其笔头伺服系统复杂,机械式活动部件 多,故可靠性较差。同时,机械式记录仪只能进行曲线记录,显示方式单一。并且,其后续数 据处理困难,长期运行需要定期更换记录纸和墨水,运行费用高。 1996年,浙大中控率先向市场推出了几20系列无纸记录仪。该无纸记录仪采用微 处理器、液晶显示屏和半导体存储器。其摒弃了机械式记录仪中使用的记录笔和记录纸,把 工业现场的各种需要监视记录的输入信号,通过微处理器进行数据处理, 一方面在液晶显 示屏上以多种形式的画面显示,另一方面把这些监视信号的数据存放在半导体存储器内, 以便在记录仪上直接进行数据和图形查询、翻阅以及打印等操作。并且,无纸记录仪还可带 有软磁盘驱动,用户可以对无纸记录仪记录的数据进行拷贝存档,并在上位机上重现历史 数据和历史曲线。 无纸记录仪彻底克服了机械式记录仪所存在的不足,其取代机械式记录仪已成为 不争的事实。近年来,随着通讯技术的发展,无纸记录仪的功能也日益丰富。现有无纸记录 仪不仅具有丰富的图形画面,具备实时数据、实时曲线、报警信息、历史记录、报表打印等多 种功能,还具有支持多通道、支持网络连接、支持USB设备,数据可直接采用优盘备份等优 点。另外,现有无纸记录仪广泛采用FLASH存储器,还具有掉电永不丢失数据,稳定性好的 优点。然而,随着无纸记录仪的不断发展,传统无纸记录仪的数据存储方法的缺点也日益凸 显出来,严重影响着无纸记录仪的工作效率。 现有无纸记录仪的数据存储过程为采用RAM和存储器构成一个数据循环,每个 工作周期内把所有通道的实时值存入该数据循环,数据首先存入RAM中,RAM存满后数据再 由RAM转存至存储器,存储器的存储空间存满后自动清除最早的数据,释放空间,存入新的 数据,不断以新的数据替代老数据,实现数据存储。但是,该种方法只记录最新数据的位置, 再通过数据个数计算出时间。因此,每次开机时必须对断电时间内的数据进行填充,否则数 据无法查找。通常以O或掉电前的值填充断电时间内的数据,而这部分数据是没有意义的, 造成了数据空间的浪费。并且,由于掉电和上电时系统处于不稳定的状态,对于掉电时间点 和上电时间点的数据是否需要进行记录没有明确的标准,同时,填充过程本身耗费的时间 段内的数据也要再次填充,导致每次掉电和上电时可能会多一个数据或少一个数据,而现 有方法中所有存储的数据构成一个整体,因此,反复掉电会导致整体数据的偏移,影响数据 的准确性。 另外,现有方法需要预先设定所有通道的记录周期,并且所有通道的记录周期一致。而无纸记录仪的通道很多,各个通道可能会同时记录流量、压力等变化较快的信号和温 度、液位等变化较慢的信号,各通道之间的记录周期一致会造成记录空间的浪费或者数据 丢失。并且,一旦记录周期改变,会导致已有的数据无效。

发明内容
针对上述缺陷,本发明的目的在于提供一种无纸记录仪,以解决现有技术中无纸 记录仪开机需填充数据,浪费存储空间、容易产生数据偏移,准确性差以及记录周期需一致 且记录周期不可变的技术问题。 本发明的另一 目的在于提供一种无纸记录仪数据存储方法,以解决现有技术中无 纸记录仪开机需填充数据,浪费存储空间、容易产生数据偏移,准确性差以及记录周期需一 致且记录周期不可变的技术问题。 为达到上述目的,本发明提供一种无纸记录仪,包括 —RAM,包括RAM索引区和RAM数据区,RAM索引区为每个记录通道分配大小相等 的存储空间,用以存储每一记录通道的索引;RAM数据区用以存储各记录通道的实时数据;
—存储器,与RAM连接,包括存储器索引区和存储器数据区,存储器索引区为每个 记录通道分配大小相等的存储空间,用以当RAM索引区存满后,存储RAM索引区中存储的对 应记录通道的索引;存储器数据区用以当RAM数据区存满后,存储RAM数据区中的数据,记 录历史数据;以及, —微处理器,分别与RAM和存储器连接,包括若干通道管理单元,每一通道管理单 元对应一记录通道,用以管理对应记录通道的索引和数据,其进一步包括
索引保存管理子单元用以记录RAM索引区和存储器索引区的存储空间信息,并 将索引由RAM索引区转存至储器索引区; 数据保存管理子单元用以记录RAM数据区和存储器数据区的存储空间信息,并 将数据由RAM数据区转存至储器数据区。 依照本发明较佳实施例所述的无纸记录仪,其存储器数据区包括若干数据块,每 个数据块的大小相等。 依照本发明较佳实施例所述的无纸记录仪,其微处理器还包括一数据块链接管理 单元,数据块链接管理单元与存储器连接,用以存储存储器数据区中各个数据块的关联关 系以及空闲数据块起始位置。 依照本发明较佳实施例所述的无纸记录仪,其索引用以存储数据起始时间、记录 点数、对应数据块起始位置以及记录周期信息。 依照本发明较佳实施例所述的无纸记录仪,其无纸记录仪还包括一电池,该电池 与RAM连接,用以在掉电时为RAM供电。 依照本发明较佳实施例所述的无纸记录仪,其存储器为FLASH存储器。 本发明还提供一种无纸记录仪数据存储方法,包括以下步骤 (1)开机后,对应应用到的记录通道,在RAM索引区中为每一记录通道建立一索
引,该索引存储数据起始时间、记录点数、对应数据块起始位置以及记录周期信息; (2)将各记录通道的数据存储至RAM数据区中; (3)RAM数据区存满后,将RAM数据区中存储的数据按照对应索引记录的数据块起
5始位置转存至存储器数据区中对应的数据块中,且RAM数据区继续存入新数据,存满后再 将数据转存至存储器中,直至关机,完成数据存储。 依照本发明较佳实施例所述的无纸记录仪数据存储方法,还包括, (4)RAM索引区存满后,将RAM索引区中存储的索引转存至存储器索引区。 依照本发明较佳实施例所述的无纸记录仪数据存储方法,步骤(1)记录数据块起
始位置进一步包括 Al :判断索引建立前该通道的数据是否存满一个数据块,若数据未存满一个数据 块,则记录前一个索引的结束位置为该索引的数据块起始位置;否则,若数据存满一个数据 块,进行步骤A2 ; A2:搜索空闲数据快,若搜索到空闲数据块,则记录该空闲数据块为该索引的数据 块起始位置,否则,执行释放数据块流程; A3:释放数据块完成后,重新搜索空闲数据块,找到空闲数据块后记录该空闲数据 块为该索引的数据块起始位置。 依照本发明较佳实施例所述的无纸记录仪数据存储方法,步骤(3)还包括
Bl :数据存满一个数据块后,搜索空闲数据块,若搜索到空闲数据块,则将新数据 写入该空闲数据块;否则,执行释放数据块流程; B2 :释放数据块完成后,重新搜索空闲数据块,找到空闲数据块后。将新数据写入 该空闲数据块。 依照本发明较佳实施例所述的无纸记录仪数据存储方法,步骤A2及步骤Bl中释 放数据块流程具体包括以下步骤 Cl :根据各个记录通道的当前记录周期,按照预先的计算方式计算各个记录通道 应该释放的数据块的数量; C2 :根据步骤Cl的计算结果,释放相应的数据块,并删除或修改各个记录通道管 理该些释放掉的数据块的索引,若索引控制的全部数据均被释放则删除该索引;否则,修改
索引的数据起始位置和数据数量; C3:修改数据块链接单元,记录新释放的数据块为空闲数据块,并将数据块搜索的 起始位置设置为新释放的最靠近数据区起始位置的数据块。 依照本发明较佳实施例所述的无纸记录仪数据存储方法,步骤(4)中索引的转存 以循环的方式进行保存,存储器索引区存满后自动删除最老的索引,存入新索引。
本发明引入索引对无纸记录仪的数据进行管理,每个索引记录着无纸记录仪各记 录通道在每个工作周期内数据的记录周期、对应数据块起始位置、起始时间以及数据个数 等信息。每个索引和与其对应的数据组成一个文件,记录相应的记录通道在一个工作周期 内记录的数据。本发明将每个记录通道在一个工作周期内记录的数据以文件的形式单独进 行存储,当重新上电或记录周期改变以后,会为对应记录通道新建一个索引。因此,每一段 历史数据就是一个单独的文件,历史数据通过索引进行查找,仪表重新上电后不必再填充 历史数据,有效节省了存储空间。并且,仪表掉电上电引起的数据误差只作用在一个索引 中,不会引起所有数据的偏移,准确度高。另外,每个记录通道分别建立索引,解决了现有技 术中所有记录通道的记录周期必须一致的问题,并且,记录周期改变后重新建立新的索引 即可,已有的数据仍然有效。


图1为本发明无纸记录仪的结构原理示意图; 图2为本发明实施例的FLASH存储器的结构原理示意图; 图3为本发明无纸记录仪数据存储方法的系统原理图。
具体实施例方式以下结合附图,具体说明本发明。 请参阅图l,其为本发明无纸记录仪的结构原理示意图。该无纸记录仪包括 RAMIO、 FLASH存储器20、微处理器30和电池40。其中, RAMIO包括RAM索引区IOI和RAM数据区102,RAM索引区101为每个记录通道分 配大小相等的存储空间,用以存储每一记录通道的索引。RAM数据区102用以存储各记录通 道的实时数据。 FLASH存储器20与RAMIO连接,用以存储最终的索引和历史数据。如图2所示, FLASH存储器20包括FLASH存储器索引区201和FLASH存储器数据区202。 FLASH存储器 索引区201用以当RAM索引区101存满后,存储RAM索引区101中存储的对应记录通道的 索引。FLASH存储器索引区201对应无纸记录仪的记录通道划分了多个通道,通道1、通道 2、……通道n,并且为每个记录通道分配了大小相等的存储空间,每个通道包括数量相等的 数据块,每个数据块的大小相等。FLASH存储器数据区202用以当RAM数据区102存满后, 存储RAM数据区102中的数据,记录历史数据。FLASH存储器数据区202包括多个数据块, 且每个数据块的大小相等。 在本实例中,FLASH存储器索引区201的存储空间为静态划分,为每个通道分配相 同大小的连续空间,且最小存储单位为数据块。而考虑到记录周期的不同和改变,FLASH存 储器数据区202的存储空间为动态划分,需要时动态申请,不需要时动态释放,其最小存储 单位也为数据块。 微处理器30分别与RAMIO和FLASH存储器20连接,包括若干通道管理单元301 和数据块链接管理单元302。每一通道管理单元301对应一记录通道,用以管理对应记录通 道的索引和数据,其进一步包括 索引保存管理子单元3011 :用以记录RAM索引区和储器索引区的存储空间信息, 并将索引由RAM索引区转存至储器索引区。 数据保存管理子单元3012 :用以记录RAM数据区和储器数据区的存储空间信息, 并将数据由RAM数据区转存至储器数据区。 数据块链接管理单元302与FLASH存储器20连接,用以存储FLASH存储器数据区 202中各个数据块的位置对应关系以及空闲数据块的数量。 在本实例中,为了提高数据管理效率,本发明在RAM中分别为每个记录通道的索 引和历史数据开辟了一定大小的缓存,即RAM索引区和RAM数据区,添加索引或者数据时, 先往RAM索引区和RAM数据区中添加,当RAM索引区或RAM数据区存满后,通道管理单元会 将RAM索引区或RAM数据区的数据保存至FLASH存储器索引区或FLASH存储器数据区中, 并将余下的数据复制到缓存起始位置。但是,在本实例中,需要说明的是,本发明并不限定必须在RAM中划分RAM索引区和RAM数据区,在实际应用中,RAM也可以不进行分区,索引 和历史数据直接进行存储。因此,以上采用在RAM中划分RAM索引区和RAM数据区只是一 个实例,并不用于限定本发明。 在本实例中,采用了 FLASH存储器。但是,需要说明的是,本发明并非只限于FLASH 存储器,在实际应用中,本发明的无纸记录仪可采用现有的任意一种存储器,以上采用 FLASH存储器只是一个实例,并不用于限定本发明。另外,为了使RAM中存储的数据在掉电 期间不会丢失,本发明还设置了电池为RAM供电,但是,本发明并不限定必须要为RAM配备 电池,在实际应用中,可任意设置是否为RAM配备电池,以上采用设置电池为RAM供电只是 一个实例,并不用于限定本发明。 本发明的无纸记录仪在每次上电或记录周期改变后都会建立一个新的索引,索引
的数据结构如下 Struct HisIndexSt {U32 HisChStartTime ;〃索引控制的数据的开始时间,和仪表时间的偏差值
HsChNum ;〃索引控制的记录点数U16 HisChFirstBlock 〃对应数据块的起始块的序号U16 HisChFirstOffset〃对应数据块在起始块的偏移(字节)U8 HisChCycle ; 〃索引对应的记录周期U8 HisChType ; 〃精简/复杂U16IndexCRC; 〃索弓ICRC } 由上述索引的数据结构可以看出,索引记录了数据起始时间、记录点数、对应数据 块起始位置以及记录周期等信息,其中,起始时间信息包括数据的开始时间和仪表时间的 偏差值,起始位置信息包括对应数据块的起始块的序号和数据块在起始块的偏移,每一个 索引对应一段历史数据,因此,本发明通过索引实现了以文件的形式对数据进行管理,避免 了现有无纸记录仪的各种缺陷。 本发明对应每个记录通道设置有一个相应的通道管理单元进行数据管理,每个通 道管理单元包括索引保存管理子单元和数据保存管理子单元分别管理索引的保存和数据 的保存,并且,通道管理单元还记录首索引(时间最早的索引)信息。在本发明的较佳实施 例中,索引保存管理子单元和数据保存管理子单元的结构相同。以下分别为本发明的通道 管理单元以及索引保存管理子单元与数据保存管理子单元的数据结构
通道管理单元
Struct HisChCU
{ Struct RecordSaveSt IndexCtrl ; 〃索弓l保存控制单元 Struct RecordSaveSt DataCtrl ;〃数据保存控制单元 Struct HisIndexStFirstlndexltem ;〃通道首索弓l }; 索引保存管理子单元与数据保存管理子单元
8












Struct RecordSaveSt
U32 BufSize ; 〃缓存的大小
U32 ItemSize ; 〃记录的大小
Void*pDataBuf ; 〃缓存的指针
U32 SaVeCur_Ram ;〃新记录的写入位置,也指示缓存中的记录数量 U32 SaveCur_Flash ;〃下次转存的目标FLASH页 U32 StartRecordPos_Flash ;〃记录在Flash中的起始位置 U32 RecordNum—Flash ; 〃Flash中的记录数量
U32 TotalRecordNum ; 〃记录的总数量 U8 IsRecordCopyToFlash ;〃缓存中记录是否被复制转存到Flash的标志位
通过上述的数据结构可以看出,通道管理单元分别通过索引保存管理子单元和数 据保存管理子单元记录RAM索引区和FLASH储器索引区的存储空间信息以及RAM数据区和 FLASH储器数据区的存储空间信息,并将索引和数据分别由RAM索引区和RAM数据区转存 至FLASH储器索引区和FLASH储器数据区,从而实现对索引和数据的管理。通过通道管理 单元就可以实现数据的添加、释放、查找等操作。 为了实现对FLASH存储器数据区的动态管理,微处理器还设置有数据块链接管理 单元,通过数据块链接管理单元将FLASH存储器中的数据区以块为单位关联在一起,提高 查找、释放的效率。
数据块链接管理单元
Struct FLASHCU
{








Struct FLASHLINK FlashLinkTab[BL0CKNUM];
U32 SearchFreeBlockPos ; 〃搜索空闲BLOCK (数据块)的起始位置
Struct FLASHLINK
U16 Last ; U16 Next ;
本发明通过上述的数据块链接管理单元来控制FLASH存储器数据区资源的申请 FLASH存储器数据区是以块为单位申请和释放的。该数据块链接管理单元为每个 FLASH存储器数据区的数据块分配一个4字节的空间(struct FLASHLINK),记录该数据块 的前后数据块。并且,SearchFreeBlockPos记录当前的空闲的数据块的起始位置,每申请一 个数据块,SearchFreeBlockPos就增加1,当空闲数据块被分配完后,根据通道的记录周期 大小,不同通道释放不同的数据块数目,这样可以均匀使用各个数据块,延长仪表的使用时 间。在上述数据块链接管理单元的数据结构中,当Last和Next同时为0时,表示该BLOCK空 闲;Next为0xFFFF时,表示当前BLOCK是最后的BLOCK ;Last为OxFFFF时,表示当前BLOCK
9是最早的BLOCK。 请参阅图3,本发明还提供了一种无纸记录仪数据存储方法,包括以下步骤
Sll :开机后,对应应用到的记录通道,在RAM索引区中为每一记录通道建立一索 引,该索引存储数据起始时间、记录点数、对应数据块起始位置以及记录周期信息。
该步骤中记录数据块起始位置进一步包括 Al :判断索引建立前该通道的数据是否存满一个数据块,若数据未存满一个数据 块,则记录前一个索引的结束位置为该索引的数据块起始位置;否则,若数据存满一个数据 块,进行步骤A2。 A2:搜索空闲数据快,若搜索到空闲数据块,则记录该空闲数据块为该索引的数据 块起始位置,否则,执行释放数据块流程。 A3:释放数据块完成后,重新搜索空闲数据块,找到空闲数据块后记录该空闲数据 块为该索引的数据块起始位置。 S12 :将各记录通道的数据存储至RAM数据区中。 S13 :RAM数据区存满后,将RAM数据区中存储的数据按照对应索引记录的数据块 起始位置转存至存储器数据区中对应的数据块中,且RAM数据区继续存入新数据,存满后 再将数据转存至存储器中,直至关机,完成数据存储。 在该步骤中,当数据存满一个数据块后又有新的数据写入时,需要搜索空闲数据 块,申请一个空闲数据块,以将新数据写入,具体包括 Bl :数据存满一个数据块后,搜索空闲数据块,若搜索到空闲数据块,则将新数据 写入该空闲数据块;否则,执行释放数据块流程。 B2 :释放数据块完成后,重新搜索空闲数据块,找到空闲数据块后。将新数据写入 该空闲数据块。 在上述的步骤S11和步骤S13中,在建立新索引或数据存满一个数据块又有新的 数据写入时,需要进行数据块搜索,申请空闲数据块,即步骤A2和步骤Bl,若能够搜索到空 闲的数据块,就成功的完成数据块申请,此时,数据块链接单元也要进行相应的修改,将该 空闲数据块记录为非空闲数据块。例如,一个记录通道的数据分别记录在数据块0和数据 块21中,数据块0是起始数据块,数据块0指向数据块21,数据块21指向数据块43,数据 块43是最后一个数据块,假设此时SearchFreeBlockPos指向43,那么申请一个空闲数据块 后,SearchFreeBlockPos便指向数据块44,将数据块43被记录为非空闲数据块且指向44。 若搜索不到空闲的数据块,申请空闲数据块失败时,则执行释放数据块流程,释放数据块具 体包括以下步骤 Cl :根据各个记录通道的当前记录周期,按照预先的计算方式计算各个记录通道 应该释放的数据块的数量。
本发明的数据块释放计算方式遵循以下原则
(1)释放的总数据块数量必须大于一。 (2)当前记录周期快的记录通道多释放,当前记录周期慢的通道少释放。
(3)释放结束后,每个记录通道仍应拥有至少一个数据块。 (4)当原则(1)和原则(3)冲突时,按各个记录通道占用的数据块的数量释放,占 用多的多释放,占用少的少释放。
C2 :根据步骤C1的计算结果,释放相应的数据块,并删除或修改各个记录通道管 理该些释放掉的数据块的索引,若索引控制的全部数据均被释放则删除该索引;否则,修改
索引的数据起始位置和数据数量。 C3:修改数据块链接单元,记录新释放的数据块为空闲数据块,并将数据块搜索的 起始位置设置为新释放的最靠近数据区起始位置的数据块。 在本发明的较佳实施例中,为了防止申请数据块失败的情况,本发明设置存储器 数据区始终保证留有N个空闲数据块,当空闲数据块不足N个时,就进行数据块释放。
S14:RAM索引区存满后,将RAM索引区中存储的索引转存至存储器索引区。
该步骤中,索引的转存以循环的方式进行保存,存储器索引区存满后自动删除最 老的索引,存入新索引。具体为 以每个通道设计最大存储10个数据块存储索引为例,实际共需开辟11个数据块 的存储器空间。当存满IO个数据块后,数据块1中的数据将依次过期,新的索引数据添加 到数据块11中。当数据块11也填满后,数据块1的所有索引都过期,数据块1将被擦除, 数据块2的数据将依次过期。 在上述的步骤中,为了便于说明,设定了步骤S13与步骤S14的先后顺序。但是, 需要说明的是,本发明的步骤S13与步骤S14并不存在绝对的先后顺序,在实际存储时,RAM 索引区存满或RAM数据区存满后,就进行相应的转存,因此,以上设定的步骤S13和步骤S14 的先后顺序只是一个实例,并不用于限定本发明。另外,还需要说明的是,以上的步骤适用 于RAM配备有电池,掉电后RAM中保存的数据不会丢失的情况。在没有对RAM配备电池时, 在每次掉电前不论RAM的存储是否已满,都要先将RAM中的数据存储到存储器中,并且,下 一次开机后,要先将关机时存储在存储器中的数据恢复至RAM中,再进行以上的步骤。
本发明的方法通过引入索引对无纸记录仪的数据进行管理,其可适用于各种类型 的存储器。不过,本发明的方法若借助于FLASH存储器的数据块和数据页的物理结构更能 实现更佳的效果,因此,本发明的方法应用于FLASH存储器中时效率更高。
本发明通过通道号和数据时间就能进行数据查找。查找数据时,首先根据通道号 在对应通道内找到最老的索引位置,之后遍历索引,查找与时间匹配的索引,若未能找到与 时间匹配的索引,说明该时间的数据已被新数据替换掉,不存在该数据,退出查找;若找到 与时间匹配的索引,则读取该索引记录的记录周期、数据数量等信息得到存储该索引对应 的数据的数据块的起始块序号,计算出要查找的数据的位置;之后继续判断该数据是否存 储在一个数据块内,若存储在一个数据块内,直接读出数据,完成查找;否则,先读出当前数 据块中的数据,然后通过数据块链接管理单元查找到下一块存储该数据的数据块并读出数 据,如此反复直到读完所需数据或无数据可读,完成数据查找。 在实际数据查找过程中,有时在查找到某个时间点的数据后,还需要查看该数据 附近相邻数据的情况,此时,需要进行向前或向后查找。本发明进行向前或向后查看时首先 根据查看的方向和数据数量n,将当前的定位位置向前或向后移动n个数据位置,若定位位 置移出当前数据块,则通过数据块链接单元找到下一块或上一块数据块,并读出数据,完成 数据查看;若定位位置移出至最新或最老数据块,表示该方向已经没有数据可供察看,则停 止前向或后向的查找。 本发明在进行向前或向后查找时,无需重新通过时间定位,根据需要查看的数据数量和查看的方向就可进行查找定位,查找方便。 本发明引入索引对无纸记录仪的数据进行管理,每个索引记录着无纸记录仪各记 录通道在每个工作周期内数据的记录周期、对应数据块起始位置、起始时间以及数据个数 等信息。每个索引和与其对应的数据组成一个文件,记录相应的记录通道在一个工作周期 内记录的数据。本发明将每个记录通道在一个工作周期内记录的数据以文件的形式单独进 行存储,当重新上电或记录周期改变以后,会为对应记录通道新建一个索引。因此,每一段 历史数据就是一个单独的文件,历史数据通过索引进行查找,仪表重新上电后不必再填充 历史数据,有效节省了存储空间。并且,仪表掉电上电引起的数据误差只作用在一个索引 中,不会引起所有数据的偏移,准确度高。另外,每个记录通道分别建立索引,解决了现有技 术中所有记录通道的记录周期必须一致的问题,并且,记录周期改变后重新建立新的索引 即可,已有的数据仍然有效。 以上公开的仅为本发明的几个具体实施例,但本发明并非局限于此,任何本领域 的技术人员能思之的变化,都应落在本发明的保护范围内。
权利要求
一种无纸记录仪,其特征在于,包括一RAM,包括RAM索引区和RAM数据区,所述RAM索引区为每个记录通道分配大小相等的存储空间,用以存储每一记录通道的索引;所述RAM数据区用以存储各记录通道的实时数据;一存储器,与所述RAM连接,包括存储器索引区和存储器数据区,所述存储器索引区为每个记录通道分配大小相等的存储空间,用以当RAM索引区存满后,存储RAM索引区中存储的对应记录通道的索引;所述存储器数据区用以当RAM数据区存满后,存储RAM数据区中的数据,记录历史数据;以及,一微处理器,分别与所述RAM和存储器连接,至少包括若干通道管理单元,每一通道管理单元对应一记录通道,用以管理对应记录通道的索引和数据,其进一步包括索引保存管理子单元用以记录所述RAM索引区和存储器索引区的存储空间信息,并将所述索引由所述RAM索引区转存至所述存储器索引区;数据保存管理子单元用以记录所述RAM数据区和存储器数据区的存储空间信息,并将所述数据由所述RAM数据区转存至所述储器数据区。
2. 如权利要求1所述的无纸记录仪,其特征在于,所述存储器数据区包括若干数据块, 每个数据块的大小相等。
3. 如权利要求2所述的无纸记录仪,其特征在于,所述微处理器还包括一数据块链接 管理单元,所述数据块链接管理单元与所述存储器连接,用以存储所述存储器数据区中各 个数据块的位置对应关系以及空闲数据块的起始位置。
4. 如权利要求1所述的无纸记录仪,其特征在于,所述索引用以存储数据起始时间、记 录点数、对应数据块起始位置以及记录周期信息。
5. 如权利要求1所述的无纸记录仪,其特征在于,所述无纸记录仪还包括一电池,所述 电池与所述RAM连接,用以在掉电时为所述RAM供电。
6. 如权利要求1所述的无纸记录仪,其特征在于,所述存储器为FLASH存储器。
7. —种无纸记录仪数据存储方法,其特征在于,包括以下步骤(1) 开机后,对应应用到的记录通道,在RAM索引区中为每一记录通道建立一索引,该 索引存储数据起始时间、记录点数、对应数据块起始位置以及记录周期信息;(2) 将各记录通道的数据存储至RAM数据区中;(3) RAM数据区存满后,将RAM数据区中存储的数据按照对应索引记录的数据块起始位 置转存至存储器数据区中对应的数据块中,且RAM数据区继续存入新数据,存满后再将数 据转存至存储器中,直至关机,完成数据存储。
8. 如权利要求7所述的无纸记录仪数据存储方法,其特征在于,还包括,(4) RAM索引区存满后,将RAM索引区中存储的索引转存至存储器索引区。
9. 如权利要求7所述的无纸记录仪数据存储方法,其特征在于,步骤(1)记录数据块起 始位置进一步包括Al :判断索引建立前该通道的数据是否存满一个数据块,若数据未存满一个数据块,则 记录前一个索引的结束位置为该索引的数据块起始位置;否则,若数据存满一个数据块,进 行步骤A2 ;A2 :搜索空闲数据快,若搜索到空闲数据块,则记录该空闲数据块为该索引的数据块起始位置,否则,执行释放数据块流程;A3 :释放数据块完成后,重新搜索空闲数据块,找到空闲数据块后记录该空闲数据块为 该索引的数据块起始位置。
10. 如权利要求7所述的无纸记录仪数据存储方法,其特征在于,步骤(3)还包括Bl :数据存满一个数据块后,搜索空闲数据块,若搜索到空闲数据块,则将新数据写入 该空闲数据块;否则,执行释放数据块流程;B2 :释放数据块完成后,重新搜索空闲数据块,找到空闲数据块后。将新数据写入该空 闲数据块。
11. 如权利要求9或10所述的无纸记录仪数据存储方法,其特征在于,步骤A2及步骤 Bl中释放数据块流程具体包括以下步骤Cl :根据各个记录通道的当前记录周期,按照预先的计算方式计算各个记录通道应该 释放的数据块的数量;C2 :根据步骤C1的计算结果,释放相应的数据块,并删除或修改各个记录通道管理该 些释放掉的数据块的索引,若索引控制的全部数据均被释放则删除该索引;否则,修改索引 的数据起始位置和数据数量;C3 :修改数据块链接单元,记录新释放的数据块为空闲数据块,并将数据块搜索的起始 位置设置为新释放的最靠近数据区起始位置的数据块。
12. 如权利要求8所述的无纸记录仪数据存储方法,其特征在于,步骤(4)中索引的转 存以循环的方式进行保存,存储器索引区存满后自动删除最老的索引,存入新索引。
全文摘要
一种无纸记录仪及无纸记录仪数据存储方法,该方法包括以下步骤首先,开机后,对应应用到的记录通道,在RAM索引区中为每一记录通道建立一索引,该索引存储数据起始时间、记录点数、对应数据块起始位置以及记录周期信息;然后将各记录通道的数据存储至RAM数据区中;当RAM数据区存满后,再将RAM数据区中存储的数据按照对应索引记录的数据块起始位置转存至存储器数据区中对应的数据块中,且RAM数据区继续存入新数据,存满后再将数据转存至存储器中,直至关机,完成数据存储。本发明有效解决了现有无纸记录仪上电需填充历史数据、数据偏移大、记录周期必须一致且记录周期改变后已有数据无效的问题。
文档编号G06F12/06GK101794255SQ20091024778
公开日2010年8月4日 申请日期2009年12月31日 优先权日2009年12月31日
发明者王为民, 王自北, 胡燕新, 阮麟, 陆丽敏 申请人:浙江中控自动化仪表有限公司;中控科技集团有限公司;浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1