CN103631677B - 一种plc设备数据掉电保持的方法 - Google Patents
一种plc设备数据掉电保持的方法 Download PDFInfo
- Publication number
- CN103631677B CN103631677B CN201310613194.8A CN201310613194A CN103631677B CN 103631677 B CN103631677 B CN 103631677B CN 201310613194 A CN201310613194 A CN 201310613194A CN 103631677 B CN103631677 B CN 103631677B
- Authority
- CN
- China
- Prior art keywords
- power
- data
- sector
- holding
- sequence number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Safety Devices In Control Systems (AREA)
- Programmable Controllers (AREA)
Abstract
本发明提出了一种应用于PLC的掉电数据保持方法。其保持方法是由微处理器对掉电保持存储空间进行预擦除,掉电时向预擦除存储空间写入经过打包的保持数据。上电后对数据更新情况进行比对,再行选用,保持掉电数据的状态最新和可用性。有效地解决了工业现场在受限的单板硬件设计中掉电数据保存不可靠或缺失的现象。可在不更改原硬件设备的情况下,对PLC掉电数据保持性能进行优化,满足工业现场掉电数据保存需求。
Description
技术领域
本发明涉及一种用于PLC设备的掉电数据保持方法,属于工业控制技术领域。
背景技术
PLC(ProgrammableLogicController),可编程逻辑控制器,一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一种可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与计算操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程,是工业控制的核心部分。
随着工业生产环境的日益复杂化,工业自动化产品对于生产环境遇到突发事件后的数据可恢复性要求越来越高,甚至要求在外部突发停电情况下,PLC可以把设备(如:继电器等)的工作状态或者尚未完成输出的数据保存起来,便于再次上电时,能够快速恢复。
为了在掉电瞬间保证数据的正确性,必须给数据存储过程提供足够的时间,现有技术提供了若干方式。一种是业内普遍采用的硬件实现方式,即在供电电路的后极添加储能电容,以构成掉电数据保持电路。专利CN201220171318.2提供了一种掉电保持电路,方便在电源断开后的一定时间内,将数据及时写入flash(闪存),由于没有应用预擦除的方法,而且这种做法仅延长了掉电保持时间,无法完全保证掉电数据的正确性,但却大大增加了硬件设计成本。专利CN200710198446提供了一种掉电数据软件修复方法,虽然已经有校验码的概念,但对存储数据缺乏时间序列性要求,难以保证工业现场数据保护的实时性和准确性。
发明内容
本发明的要解决的技术问题是在不改变原有空间和单板硬件设计的情况下,提供一种实时性和准确性均较高的掉电数据软件修复方法。
为了解决上述技术问题,本发明的技术方案是提供了一种PLC设备数据掉电保持的方法,该PLC设备至少包括一个PLC、一个可擦写的掉电保持存储空间、一个掉电保持触发器,且应有保证设备原有电平不会直接失电的基本掉电保持设计,以确保掉电数据有2~5s存储时间,其特征在于,步骤为:
步骤1、PLC设备正常运行时,擦除掉电保持存储空间的一个未使用扇区作为PLC设备下一次异常掉电的备份扇区;
步骤2、PLC设备异常掉电后,将当前的更新序号加1后将掉电数据打包处理成掉电数据包并存入步骤1得到的备份扇区,存有掉电数据包的备份扇区变为保持扇区,该掉电数据包至少包括保持数据、更新序号、保持扇区信息和CRC校验码;
步骤3、PLC设备上电恢复后,读取掉电保持存储空间的数据,利用CRC校验码逐个校验各保持扇区内是否存在正确数据,若不存在正确数据,则判定为第一次启动,作掉电保持存储空间初始化处理,若存在正确数据,则PLC设备启动时加载更新序号最大的保持扇区内的掉电数据包作为恢复数据,并将该更新序号作为当前的更新序号,返回步骤1重新执行。
优选地,步骤3中所述作掉电保持存储空间初始化处理是指:对掉电保持存储空间进行预擦除,确保其清零。
优选地,在步骤3中,利用CRC校验码逐个校验各保持扇区内存在正确数据时:若仅有一个保持扇区存在正确数据,则PLC设备启动时直接加载该保持扇区内的掉电数据包作为恢复数据,并将该保持扇区所对应的更新序号作为当前的更新序号;若有至少2个保持扇区都存在正确数据,则获取各个保持扇区所对应的更新序号,选取最大更新序号所对应的保持扇区,PLC设备启动时加载该保持扇区内的掉电数据包作为恢复数据,并将该保持扇区所对应的更新序号作为当前的更新序号。
优选地,在有至少3个保持扇区都存在正确数据的情况下,若有至少2个保持扇区所对应的更新序号相同其均为最大,则PLC设备启动时加载第一个保持扇区内的掉电数据包作为恢复数据,并将该保持扇区所对应的更新序号作为当前的更新序号。
与现有技术相比,本发明有如下有益效果:在不改变原有硬件电路设计的基础上,相对于其他方法,采用本发明后,不需要大量的二次硬件设计,可以降低产品成本;通过对存储器的预擦除步骤,增加了存储空间,加快了存储速度。同时操作方便、实用性强。
附图说明
图1为本发明提供的一种PLC设备数据掉电保持的方法的流程图。
具体实施方式
为使本发明更明显易懂,兹以优选实施例,并配合附图作详细说明如下。
结合图1,本发明提供了一种PLC设备数据掉电保持的方法,该PLC设备至少包括一个PLC、一个可擦写的掉电保持存储空间、一个掉电保持触发器,且应有保证设备原有电平不会直接失电的基本掉电保持设计,以确保掉电数据有2~5s存储时间,其具体步骤为:
步骤1、PLC设备正常运行时,擦除掉电保持存储空间的一个未使用扇区作为PLC设备下一次异常掉电的备份扇区;
步骤2、在PLC设备异常掉电时,将当前的更新序号加1后将掉电数据打包处理成掉电数据包并存入步骤1得到的备份扇区,存有掉电数据包的备份扇区变为保持扇区,该掉电数据包至少包括保持数据、更新序号、保持扇区信息和CRC校验码;
PLC设备在掉电后的数据保持步骤为:
步骤101、开始;
步骤102、PLC设备第一次上电,PLC器读取掉电保持存储空间的数据;
步骤201、读取掉电保持的数据占用空间的预分块信息(保持扇区A、保持扇区B、保持扇区C…保持扇区N)并进行CRC校验,若不存在正确数据,则进入步骤202,若存在正确数据,进入步骤301;
步骤202、判定为第一次正常启动,将更新序号清零;
步骤203、对掉电保持存储空间进行预擦除,确保其清零;
步骤301、读取保持扇区A、保持扇区B、保持扇区C…保持扇区N中的数据进行CRC校验,如果只有一个保持扇区校验正确,则运行步骤311,若存在多个校验正确的保持扇区,则运行步骤321;
步骤311、只有一个保持扇区校验正确;
步骤312、PLC设备启动时从校验正确的保持扇区恢复数据;
步骤313、获取校验正确的保持扇区所对应的更新序号,并将其作为当前的更新序号,然后运行步骤401;
步骤321、存在多个校验正确的保持扇区;
步骤322、比对各个保持扇区所对应的更新序号;
步骤323、PLC设备启动时从最大更新序号最大所对应的保持扇区恢复数据,若有多个相同最大更新序号,则从第一个保持扇区恢复数据;
步骤324、选取最大更新序号作为当前的更新序号,然后运行步骤401;
步骤401、对执行步骤311至步骤313或执行步骤321至步骤324后未选取的其中一个保持扇区进行预擦除作为备份扇区,为下次写入数据做好准备;
步骤402、当掉电信号再次触发,更新序号+1并打包所有数据写入步骤401得到的备份扇区,结束此次掉电保护
步骤403、上电恢复数据,重新运行步骤102-步骤402。
上述流程仅描述了本发明的最佳状态,在实际运行过程中,还可包含其他的存储介质、预擦除方式及程序,如:SD卡外设、硬盘等外部访问设备,因此,本发明并不仅限于上述状态,因其过程类似,此不再赘述。
虽然上述实例描述了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,均在本发明保护权利要求的保护范围。
Claims (4)
1.一种PLC设备数据掉电保持的方法,该PLC设备至少包括一个PLC、一个可擦写的掉电保持存储空间、一个掉电保持触发器,且应有保证设备原有电平不会直接失电的基本掉电保持设计,以确保掉电数据有2~5s存储时间,其特征在于,步骤为:
步骤1、PLC设备正常运行时,擦除掉电保持存储空间的一个未使用扇区作为PLC设备下一次异常掉电的备份扇区;
步骤2、PLC设备异常掉电后,将当前的更新序号加1后将掉电数据打包处理成掉电数据包并存入步骤1得到的备份扇区,存有掉电数据包的备份扇区变为保持扇区,该掉电数据包至少包括保持数据、更新序号、保持扇区信息和CRC校验码;
步骤3、PLC设备上电恢复后,读取掉电保持存储空间的数据,利用CRC校验码逐个校验各保持扇区内是否存在正确数据,若不存在正确数据,则判定为第一次启动,作掉电保持存储空间初始化处理,若存在正确数据,则PLC设备启动时加载更新序号最大的保持扇区内的掉电数据包作为恢复数据,并将该更新序号作为当前的更新序号,返回步骤1重新执行。
2.如权利要求1所述的一种PLC设备数据掉电保持的方法,其特征在于,步骤3中所述作掉电保持存储空间初始化处理是指:对掉电保持存储空间进行预擦除,确保其清零。
3.如权利要求1所述的一种PLC设备数据掉电保持的方法,其特征在于,在步骤3中,利用CRC校验码逐个校验各保持扇区内是否存在正确数据时:若仅有一个保持扇区存在正确数据,则PLC设备启动时直接加载该保持扇区内的掉电数据包作为恢复数据,并将该保持扇区所对应的更新序号作为当前的更新序号;若有至少2个保持扇区都存在正确数据,则获取各个保持扇区所对应的更新序号,选取最大更新序号所对应的保持扇区,PLC设备启动时加载该保持扇区内的掉电数据包作为恢复数据,并将该保持扇区所对应的更新序号作为当前的更新序号。
4.如权利要求3所述的一种PLC设备数据掉电保持的方法,其特征在于,在有至少3个保持扇区都存在正确数据的情况下,若有至少2个保持扇区所对应的更新序号相同其均为最大,则PLC设备启动时加载第一个保持扇区内的掉电数据包作为恢复数据,并将该保持扇区所对应的更新序号作为当前的更新序号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310613194.8A CN103631677B (zh) | 2013-11-27 | 2013-11-27 | 一种plc设备数据掉电保持的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310613194.8A CN103631677B (zh) | 2013-11-27 | 2013-11-27 | 一种plc设备数据掉电保持的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103631677A CN103631677A (zh) | 2014-03-12 |
CN103631677B true CN103631677B (zh) | 2016-07-06 |
Family
ID=50212764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310613194.8A Active CN103631677B (zh) | 2013-11-27 | 2013-11-27 | 一种plc设备数据掉电保持的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103631677B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107064777B (zh) * | 2017-04-28 | 2019-09-27 | 郑州云海信息技术有限公司 | 一种单板测试装置及方法 |
CN108762669B (zh) * | 2018-05-18 | 2021-03-05 | 深圳忆联信息系统有限公司 | 提升掉电时数据写入速度的方法、装置及计算机设备 |
CN112882656A (zh) * | 2021-02-03 | 2021-06-01 | 深圳市麦格米特控制技术有限公司 | 一种掉电数据存储方法和掉电数据存储电路 |
CN113138653B (zh) * | 2021-04-14 | 2021-10-15 | 福州富昌维控电子科技有限公司 | 掉电数据保护方法及终端 |
CN117149513A (zh) * | 2022-05-24 | 2023-12-01 | 上海江波龙数字技术有限公司 | 一种存储装置的数据备份方法、系统、电子设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6239513B1 (en) * | 2000-02-24 | 2001-05-29 | Design Power Solutions International | Emergency supplemental power supply for outage protection of critical electric loads |
CN1725179A (zh) * | 2005-05-19 | 2006-01-25 | 杭州华为三康技术有限公司 | 系统安全启动的方法及其装置 |
CN2836116Y (zh) * | 2005-12-07 | 2006-11-08 | 成都卫士通信息产业股份有限公司 | 具有掉电保护的税控收款机 |
CN201336019Y (zh) * | 2009-01-22 | 2009-10-28 | 无锡市中远工业自动化有限公司 | 可编程序控制器的掉电保护电路 |
CN202014221U (zh) * | 2011-03-30 | 2011-10-19 | 上海军远通信设备有限公司 | 一种plc控制的变频拖动系统的掉电处理电路 |
CN202696263U (zh) * | 2012-04-20 | 2013-01-23 | 中兴通讯股份有限公司 | 一种掉电保持电路及主控设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7464219B2 (en) * | 2005-08-01 | 2008-12-09 | International Business Machines Corporation | Apparatus, system, and storage medium for data protection by a storage device |
-
2013
- 2013-11-27 CN CN201310613194.8A patent/CN103631677B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6239513B1 (en) * | 2000-02-24 | 2001-05-29 | Design Power Solutions International | Emergency supplemental power supply for outage protection of critical electric loads |
CN1725179A (zh) * | 2005-05-19 | 2006-01-25 | 杭州华为三康技术有限公司 | 系统安全启动的方法及其装置 |
CN2836116Y (zh) * | 2005-12-07 | 2006-11-08 | 成都卫士通信息产业股份有限公司 | 具有掉电保护的税控收款机 |
CN201336019Y (zh) * | 2009-01-22 | 2009-10-28 | 无锡市中远工业自动化有限公司 | 可编程序控制器的掉电保护电路 |
CN202014221U (zh) * | 2011-03-30 | 2011-10-19 | 上海军远通信设备有限公司 | 一种plc控制的变频拖动系统的掉电处理电路 |
CN202696263U (zh) * | 2012-04-20 | 2013-01-23 | 中兴通讯股份有限公司 | 一种掉电保持电路及主控设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103631677A (zh) | 2014-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103631677B (zh) | 一种plc设备数据掉电保持的方法 | |
US8832530B2 (en) | Techniques associated with a read and write window budget for a two level memory system | |
US10120751B2 (en) | Techniques to recover data using exclusive OR (XOR) parity information | |
CN103257880B (zh) | 一种基于dsp的远程应用程序在线更新方法 | |
CN104021093A (zh) | 一种基于nvdimm的存储设备的掉电保护方法 | |
CN104123167B (zh) | 具有配置字自检功能的mcu上电启动方法及其自检方法 | |
WO2016003559A1 (en) | Techniques to communicate with a controller for a non-volatile dual in-line memory module | |
CN104424044A (zh) | 伺服器系统 | |
CN105759679B (zh) | 掉电保护控制器及其掉电保持方法 | |
CN101770404B (zh) | 可保存状态的看门狗电路及其保存重启状态方法 | |
CN103425549A (zh) | 嵌入式控制器的固件管理方法及系统 | |
US10261720B2 (en) | Method for optimizing the use of a non-volatile memory in a motor vehicle computer for monitoring a functional member | |
CN102279757A (zh) | 一种系统程序启动的方法及装置 | |
CN104570821B (zh) | 集成电路及其运作方法 | |
CN103514063A (zh) | 一种flash数据处理方法以及装置 | |
CN107657153B (zh) | 一种芯片内flash区的代码保护方法及装置 | |
CN103890713A (zh) | 用于管理处理系统内的寄存器信息的装置及方法 | |
CN106843764B (zh) | 软独立冗余磁盘阵列创建方法及系统 | |
CN108664409B (zh) | 坏块管理方法及系统 | |
US20130321944A1 (en) | Server and method for preventing the server from vibration damage | |
CN103684688A (zh) | 一种星载软件内存单粒子实时防护方法 | |
CN104575605B (zh) | 存储器装置及使用非易失性存储器对系统进行开机的方法 | |
US20170147450A1 (en) | Information processing device, information processing method, and program recording medium | |
CN105573924A (zh) | 仿真系统 | |
CN111159057A (zh) | 一种无电池情况下记录任务机累积上电次数的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |