一种plc设备数据掉电保持的方法

文档序号:6520905阅读:1894来源:国知局
一种plc设备数据掉电保持的方法
【专利摘要】本发明提出了一种应用于PLC的掉电数据保持方法。其保持方法是由微处理器对掉电保持存储空间进行预擦除,掉电时向预擦除存储空间写入经过打包的保持数据。上电后对数据更新情况进行比对,再行选用,保持掉电数据的状态最新和可用性。有效地解决了工业现场在受限的单板硬件设计中掉电数据保存不可靠或缺失的现象。可在不更改原硬件设备的情况下,对PLC掉电数据保持性能进行优化,满足工业现场掉电数据保存需求。
【专利说明】一种PLC设备数据掉电保持的方法
【技术领域】
[0001]本发明涉及一种用于PLC设备的掉电数据保持方法,属于工业控制【技术领域】。
【背景技术】
[0002]PLC (Programmable Logic Controller),可编程逻辑控制器,一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一种可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与计算操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程,是工业控制的核心部分。
[0003]随着工业生产环境的日益复杂化,工业自动化产品对于生产环境遇到突发事件后的数据可恢复性要求越来越高,甚至要求在外部突发停电情况下,PLC可以把设备(如:继电器等)的工作状态或者尚未完成输出的数据保存起来,便于再次上电时,能够快速恢复。
[0004]为了在掉电瞬间保证数据的正确性,必须给数据存储过程提供足够的时间,现有技术提供了若干方式。一种是业内普遍采用的硬件实现方式,即在供电电路的后极添加储能电容,以构成掉电数据保持电路。专利CN201220171318.2提供了一种掉电保持电路,方便在电源断开后的一定时间内,将数据及时写入flash(闪存),由于没有应用预擦除的方法,而且这种做法仅延长了掉电保持时间,无法完全保证掉电数据的正确性,但却大大增加了硬件设计成本。专利CN200710198446提供了一种掉电数据软件修复方法,虽然已经有校验码的概念,但对存储数据缺乏时间序列性要求,难以保证工业现场数据保护的实时性和准确性。

【发明内容】

[0005]本发明的要解决的技术问题是在不改变原有空间和单板硬件设计的情况下,提供一种实时性和准确性均较高的掉电数据软件修复方法。
[0006]为了解决上述技术问题,本发明的技术方案是提供了一种PLC设备数据掉电保持的方法,该PLC设备至少包括一个PLC、一个可擦写的掉电保持存储空间、一个掉电保持触发器,且应有保证设备原有电平不会直接失电的基本掉电保持设计,以确保掉电数据有2?5s存储时间,其特征在于,步骤为:
[0007]步骤1、PLC设备正常运行时,擦除掉电保持存储空间的一个未使用扇区作为PLC设备下一次异常掉电的备份扇区;
[0008]步骤2、PLC设备异常掉电后,将当前的更新序号加I后将掉电数据打包处理成掉电数据包并存入步骤I得到的备份扇区,存有掉电数据包的备份扇区变为保持扇区,该掉电数据包至少包括保持数据、更新序号、保持扇区信息和CRC校验码;
[0009]步骤3、PLC设备上电恢复后,读取掉电保持存储空间的数据,利用CRC校验码逐个校验各保持扇区内是否存在正确数据,若不存在正确数据,则判定为第一次启动,作掉电保持存储空间初始化处理,若存在正确数据,则PLC设备启动时加载更新序号最大的保持扇区内的掉电数据包作为恢复数据,并将该更新序号作为当前的更新序号,返回步骤I重新执行。
[0010]优选地,步骤3中所述作掉电保持存储空间初始化处理是指:对掉电保持存储空间进行预擦除,确保其清零。
[0011]优选地,在步骤3中,利用CRC校验码逐个校验各保持扇区内存在正确数据时:若仅有一个保持扇区存在正确数据,则PLC设备启动时直接加载该保持扇区内的掉电数据包作为恢复数据,并将该保持扇区所对应的更新序号作为当前的更新序号;若有至少2个保持扇区都存在正确数据,则获取各个保持扇区所对应的更新序号,选取最大更新序号所对应的保持扇区,PLC设备启动时加载该保持扇区内的掉电数据包作为恢复数据,并将该保持扇区所对应的更新序号作为当前的更新序号。
[0012]优选地,在有至少3个保持扇区都存在正确数据的情况下,若有至少2个保持扇区所对应的更新序号相同其均为最大,则PLC设备启动时加载第一个保持扇区内的掉电数据包作为恢复数据,并将该保持扇区所对应的更新序号作为当前的更新序号。
[0013]与现有技术相比,本发明有如下有益效果:在不改变原有硬件电路设计的基础上,相对于其他方法,采用本发明后,不需要大量的二次硬件设计,可以降低产品成本;通过对存储器的预擦除步骤,增加了存储空间,加快了存储速度。同时操作方便、实用性强。
【专利附图】

【附图说明】
[0014]图1为本发明提供的一种PLC设备数据掉电保持的方法的流程图。 【具体实施方式】
[0015]为使本发明更明显易懂,兹以优选实施例,并配合附图作详细说明如下。
[0016]结合图1,本发明提供了一种PLC设备数据掉电保持的方法,该PLC设备至少包括一个PLC、一个可擦写的掉电保持存储空间、一个掉电保持触发器,且应有保证设备原有电平不会直接失电的基本掉电保持设计,以确保掉电数据有2~5s存储时间,其具体步骤为:
[0017]步骤1、PLC设备正常运行时,擦除掉电保持存储空间的一个未使用扇区作为PLC设备下一次异常掉电的备份扇区;
[0018]步骤2、在PLC设备异常掉电时,将当前的更新序号加I后将掉电数据打包处理成掉电数据包并存入步骤I得到的备份扇区,存有掉电数据包的备份扇区变为保持扇区,该掉电数据包至少包括保持数据、更新序号、保持扇区信息和CRC校验码;
[0019]PLC设备在掉电后的数据保持步骤为:
[0020]步骤101、开始;
[0021]步骤102、PLC设备第一次上电,PLC器读取掉电保持存储空间的数据;
[0022]步骤201、读取掉电保持的数据占用空间的预分块信息(保持扇区A、保持扇区B、保持扇区C…保持扇区N)并进行CRC校验,若不存在正确数据,则进入步骤202,若存在正确数据,进入步骤301 ;
[0023]步骤202、判定为第一次正常启动,将更新序号清零;
[0024]步骤203、对掉电保持存储空间进行预擦除,确保其清零;
[0025]步骤301、读取保持扇区A、保持扇区B、保持扇区C…保持扇区N中的数据进行CRC校验,如果只有一个保持扇区校验正确,则运行步骤3 I I,若存在多个校验正确的保持扇区,则运行步骤321 ;
[0026]步骤311、只有一个保持扇区校验正确;
[0027]步骤312、PLC设备启动时从校验正确的保持扇区恢复数据;
[0028]步骤313、获取校验正确的保持扇区所对应的更新序号,并将其作为当前的更新序号,然后运行步骤401 ;
[0029]步骤321、存在多个校验正确的保持扇区;
[0030]步骤322、比对各个保持扇区所对应的更新序号;
[0031]步骤323、PLC设备启动时从最大更新序号最大所对应的保持扇区恢复数据,若有多个相同最大更新序号,则从第一个保持扇区恢复数据;
[0032]步骤324、选取最大更新序号作为当前的更新序号,然后运行步骤401 ;
[0033]步骤401、对执行步骤311至步骤313或执行步骤321至步骤324后未选取的其中一个保持扇区进行预擦除作为备份扇区,为下次写入数据做好准备;
[0034]步骤402、当掉电信号再次触发,更新序号+1并打包所有数据写入步骤401得到的备份扇区,结束此次掉电保护
[0035]步骤403、上电恢复数据,重新运行步骤102-步骤402。
[0036]上述流程仅描述了本发明的最佳状态,在实际运行过程中,还可包含其他的存储介质、预擦除方式及程序,如:SD卡外设、硬盘等外部访问设备,因此,本发明并不仅限于上述状态,因其过程类似,此不再赘述。
[0037]虽然上述实例描述了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,均在本发明保护权利要求的保护范围。
【权利要求】
1.一种PLC设备数据掉电保持的方法,该PLC设备至少包括一个PLC、一个可擦写的掉电保持存储空间、一个掉电保持触发器,且应有保证设备原有电平不会直接失电的基本掉电保持设计,以确保掉电数据有2?5s存储时间,其特征在于,步骤为: 步骤1、PLC设备正常运行时,擦除掉电保持存储空间的一个未使用扇区作为PLC设备下一次异常掉电的备份扇区; 步骤2、PLC设备异常掉电后,将当前的更新序号加I后将掉电数据打包处理成掉电数据包并存入步骤I得到的备份扇区,存有掉电数据包的备份扇区变为保持扇区,该掉电数据包至少包括保持数据、更新序号、保持扇区信息和CRC校验码; 步骤3、PLC设备上电恢复后,读取掉电保持存储空间的数据,利用CRC校验码逐个校验各保持扇区内是否存在正确数据,若不存在正确数据,则判定为第一次启动,作掉电保持存储空间初始化处理,若存在正确数据,则PLC设备启动时加载更新序号最大的保持扇区内的掉电数据包作为恢复数据,并将该更新序号作为当前的更新序号,返回步骤I重新执行。
2.如权利要求1所述的一种PLC设备数据掉电保持的方法,其特征在于,步骤3中所述作掉电保持存储空间初始化处理是指:对掉电保持存储空间进行预擦除,确保其清零。
3.如权利要求1所述的一种PLC设备数据掉电保持的方法,其特征在于,在步骤3中,利用CRC校验码逐个校验各保持扇区内存在正确数据时:若仅有一个保持扇区存在正确数据,则PLC设备启动时直接加载该保持扇区内的掉电数据包作为恢复数据,并将该保持扇区所对应的更新序号作为当前的更新序号;若有至少2个保持扇区都存在正确数据,则获取各个保持扇区所对应的更新序号,选取最大更新序号所对应的保持扇区,PLC设备启动时加载该保持扇区内的掉电数据包作为恢复数据,并将该保持扇区所对应的更新序号作为当前的更新序号。
4.如权利要求3所述的一种PLC设备数据掉电保持的方法,其特征在于,在有至少3个保持扇区都存在正确数据的情况下,若有至少2个保持扇区所对应的更新序号相同其均为最大,则PLC设备启动时加载第一个保持扇区内的掉电数据包作为恢复数据,并将该保持扇区所对应的更新序号作为当前的更新序号。
【文档编号】G06F11/14GK103631677SQ201310613194
【公开日】2014年3月12日 申请日期:2013年11月27日 优先权日:2013年11月27日
【发明者】琚长江, 侯金华, 滕宇, 侯斌, 应成 申请人:上海电器科学研究院, 上海电器科学研究所(集团)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1