CN103399520B - 用于可编程逻辑控制器系统的掉电数据存取方法及装置 - Google Patents

用于可编程逻辑控制器系统的掉电数据存取方法及装置 Download PDF

Info

Publication number
CN103399520B
CN103399520B CN201310309751.7A CN201310309751A CN103399520B CN 103399520 B CN103399520 B CN 103399520B CN 201310309751 A CN201310309751 A CN 201310309751A CN 103399520 B CN103399520 B CN 103399520B
Authority
CN
China
Prior art keywords
power failure
data
failure data
power down
programmable logic
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
Application number
CN201310309751.7A
Other languages
English (en)
Other versions
CN103399520A (zh
Inventor
孙盼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inovance Technology Co Ltd
Shenzhen Inovance Technology Co Ltd
Original Assignee
Suzhou Inovance Technology Co Ltd
Shenzhen Inovance Technology Co Ltd
Shenzhen Inovance Control Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inovance Technology Co Ltd, Shenzhen Inovance Technology Co Ltd, Shenzhen Inovance Control Technology Co Ltd filed Critical Suzhou Inovance Technology Co Ltd
Priority to CN201310309751.7A priority Critical patent/CN103399520B/zh
Publication of CN103399520A publication Critical patent/CN103399520A/zh
Application granted granted Critical
Publication of CN103399520B publication Critical patent/CN103399520B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例公开了一种用于PLC系统的掉电数据存取方法及装置,其中,掉电数据存储方法包括:PLC系统掉电后,释放超级电容中存储的电能供电;判断需要存储的掉电数据的数据量是否大于预设的数据量阈值;若判断为是,则将所述掉电数据存储至外插的高容量安全数码卡中;若判断为否,则将所述掉电数据存储至PLC系统内置的闪存中。既可满足用户所需要的掉电数据的数据量,又可适当降低成本。

Description

用于可编程逻辑控制器系统的掉电数据存取方法及装置
技术领域
本发明涉及可编程逻辑控制器(ProgrammableLogicController,简称PLC)系统,尤其涉及一种用于PLC系统的掉电数据存取方法及装置。
背景技术
对于PLC系统,有一些系统变量或用户变量需要掉电保存属性,当PLC系统电源关闭时,PLC检测到掉电信号,会在PLC系统的掉电数据维持电源供电下把设置了掉电保存属性的系统变量或用户变量写到掉电存储介质中。
常见的PLC系统中,通常在掉电后,采用电池电源供电,将掉电数据存储至静态随机存储器(StaticRandomAccessMemory,简称SRAM)中。
但是SRAM通常价格比较昂贵,会增加硬件成本。另外,电池通常具有较高的损耗性,需要对电池进行维护和更新,这无疑会增加维护成本。
发明内容
本发明实施例所要解决的技术问题在于,针对现有技术中PLC系统掉电数据保存方案成本较高的缺陷,提供一种成本较低且能满足用户需求的用于PLC系统的掉电数据存取方法及装置。
为了解决上述技术问题,本发明实施例提供了一种用于可编程逻辑控制器系统的掉电数据存储方法,包括:
可编程逻辑控制器系统掉电后,释放超级电容中存储的电能供电;
判断需要存储的掉电数据的数据量是否大于预设的数据量阈值;
若判断为是,将所述掉电数据存储至外插的高容量安全数码卡中;
若判断为否,则将所述掉电数据存储至可编程逻辑控制器系统内置的闪存中。
在本发明所述的用于可编程逻辑控制器系统的掉电数据存储方法中,所述将所述掉电数据存储至可编程逻辑控制器系统内置的闪存中的步骤包括:
将所述可编程逻辑控制器系统内置的闪存划分为掉电存储区和掉电存储备份区;
将所述掉电数据分别存储至所述掉电存储区和所述掉电存储备份区中。
另外,本发明还提供了一种用于可编程逻辑控制器系统的掉电数据读取方法,包括:
可编程逻辑控制器系统上电后,判断需要读取的掉电数据的数据量是否大于预设的数据量阈值;
若判断为是,则从外插的高容量安全数码卡中读取所述掉电数据;
若判断为否,则从可编程逻辑控制器系统内置的闪存中读取所述掉电数据。
在本发明所述的用于可编程逻辑控制器系统的掉电数据读取方法中,所述可编程逻辑控制器系统中内置的闪存被预先划分为掉电存储区和掉电存储备份区,所述从可编程逻辑控制器系统内置的闪存中读取所述掉电数据的步骤包括:
从所述掉电存储区中读取所述掉电数据;
若从掉电存储区中读取掉电数据的操作失败,则从所述掉电存储备份区中读取所述掉电数据。
在本发明所述的用于可编程逻辑控制器系统的掉电数据读取方法中,所述方法还包括:
若从掉电存储区中读取掉电数据的操作失败,则格式化所述掉电存储区,并拷贝所述掉电存储备份区中的掉电数据至所述掉电存储区中。
相应地,本发明还提供了一种用于可编程逻辑控制器系统的掉电数据存储装置,包括内置于可编程逻辑控制器系统中的闪存和外插的高容量安全数码卡,所述装置还包括:
超级电容,用于在可编程逻辑控制器系统上电时存储电能,并在可编程逻辑控制器系统掉电后释放所存储的电能供电;
第一数据量判断模块,用于判断需要存储的掉电数据的数据量是否大于预设的数据量阈值;
存储管理模块,用于在所述数据量判断模块的判断结果为是时,将所述掉电数据存储至所述高容量安全数码卡中,在所述数据量判断模块的判断结果为否时,将所述掉电数据存储至所述闪存中。
在本发明所述的用于可编程逻辑控制器系统的掉电数据存储装置中,所述存储管理模块包括:
闪存区域划分模块,用于将所述闪存划分为掉电存储区和掉电存储备份区;
数据写入模块,用于将所述掉电数据分别存储至所述掉电存储区和所述掉电存储备份区中。
相应地,本发明还提供了一种用于可编程逻辑控制器系统的掉电数据读取装置,包括内置于可编程逻辑控制器系统中的闪存和外插的高容量安全数码卡,其中所述闪存中存储有数据量不大于预设的数据量阈值的掉电数据,所述高容量安全数码卡中存储有数据量大于预设的数据量阈值的掉电数据,所述掉电数据读取装置还包括:
第二数据量判断模块,用于在可编程逻辑控制器系统上电后,判断需要读取的掉电数据的数据量是否大于预设的数据量阈值;
读取管理模块,用于在所述第二数据量判断模块的判断结果为是时,从所述高容量安全数码卡中读取所述掉电数据,在所述第二数据量判断模块的判断结果为否时,从所述闪存中读取所述掉电数据。
在本发明所述的用于可编程逻辑控制器系统的掉电数据读取装置中,所述闪存被预先划分为掉电存储区和掉电存储备份区,所述读取管理模块包括:
存储区读取模块,用于从所述掉电存储区中读取所述掉电数据;
备份区读取模块,用于在所述存储区读取模块从掉电存储区中读取掉电数据的操作失败时,从所述掉电存储备份区中读取所述掉电数据。
在本发明所述的用于可编程逻辑控制器系统的掉电数据读取装置中,所述装置还包括:
存储区修复模块,用在所述存储区读取模块从掉电存储区中读取掉电数据的操作失败时,格式化所述掉电存储区,并拷贝所述掉电存储备份区中的掉电数据至所述掉电存储区中。
实施本发明实施例,具有如下有益效果:通过判断掉电数据的数据量,动态地选择掉电存储介质,不仅能存储大容量的掉电数据,同时还能节省硬件成本和维护成本;通过利用超级电容作为系统掉电后的电源,可避免因电池损耗而增加维护更新成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的用于PLC系统的掉电数据存储方法的第一实施例流程图;
图2是本发明提供的用于PLC系统的掉电数据存储方法的第二实施例流程图;
图3是本发明提供的用于PLC系统的掉电数据读取方法的第一实施例流程图;
图4是本发明提供的用于PLC系统的掉电数据读取方法的第二实施例流程图;
图5是本发明提供的用于PLC系统的掉电数据读取方法的第三实施例流程图;
图6是本发明提供的用于PLC系统的掉电数据存储装置的结构示意图;
图7是本发明提供的用于PLC系统的掉电数据读取装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,是本发明提供的用于PLC系统的掉电数据存储方法的第一实施例流程图,该方法包括:
S101、PLC系统掉电后,释放超级电容中存储的电能供电。具体地,可以通过检测是否有掉电信号的方式来判断系统是否掉电,当中断检测到掉电信号,表示系统掉电。在PLC系统上电后正常运行时,由外接电源供电,同时该外接电源还给超级电容充电。当外接电源断电后,即PLC系统掉电后,超级电容依靠其存储的电量来维持PLC系统运行一定的时间,以便PLC系统进行相关的掉电操作及掉电数据保存。例如,可以在AM600中型PLC中,使用容量为15000μF的超级电容,在PLC系统掉电后可以为其提供1.8秒的时间保存掉电数据。
S102、判断需要存储的掉电数据的数据量是否大于预设的数据量阈值。具体地,可以通过用户设置的数据属性来确定掉电数据。例如,对于本文所指的掉电数据,其数据属性一般设置为掉电保存属性。另外,可以设置掉电量标识POC,用以表征掉电数据的数据量大小。只需读取掉电量标识POC,即可确定掉电数据的数据量大小。例如,当POC=1时,表示掉电数据的数据量大于预设的数据量阈值,当POC=0时,表示掉电数据的数据量不大于预设的数据量阈值。
若步骤S102的判断结果判断为是,则执行步骤S103。S103、将所述掉电数据存储至外插的高速高容量安全数码卡(SecureDigitalHighCapacity,简称SDHC)中。一般来说,高速SDHC的擦写速度很快,例如CLASS10的高速SDHC,其擦写速度可达10MB/S。
若步骤S102的判断结果为否,则执行步骤S104。S104、将所述掉电数据存储至PLC系统内置的闪存(flash)中。通常在PLC系统的主板中即自带有flash,因此无需增加额外的硬件成本。flash又可分为NANDflash和NORflash,以NANDflash为例,标准的NANDflash的擦除时间为2ms/128KB~3ms/128KB,写入时间为200~700us/2KB,则其擦写1MB数据的时间下限为16+102.4=118.4ms,时间上限为24+358.4=382.4ms,即在单板的情况下擦写1MB数据需要118.4ms~382.4ms。
在具体应用中,掉电时超级电容的供电时间一般可以维持1秒,根据上述NANDflash和高速SDHC的擦写速度,可以将数据量阈值设置为1MB。即,若掉电数据的数据量小于或等于1MB,则把掉电数据写到主板自带的NANDflash中;若掉电数据的数据量大于1MB,则在检测到掉电信号时,将掉电数据写到外插的SDHC中。通常,当掉电数据量大于1MB且小于8MB时,都可以采用CLASS10以上的高速SDHC。
本发明提供的用于PLC系统的掉电数据存储方法,通过判断掉电数据的数据量,动态地选择掉电存储介质,相比于直接默认将掉电数据存储至flash中的方案,不会受到超级电容容量有限以及flash擦写速度较慢的影响,能够存储大容量的掉电数据;而相比于直接默认将掉电数据存储至SDHC中的方案,又不会因有时掉电数据的数据量太小而浪费SDHC的容量,因此可以节省硬件成本和维护成本。另外,本发明提供的用于PLC系统的掉电数据存储方法,通过利用超级电容作为系统掉电后的电源,可避免因电池损耗而增加维护更新成本。
请参见图2,是本发明提供的用于PLC系统的掉电数据存储方法的第二实施例流程图,该方法包括:
S201、PLC系统掉电后,释放超级电容中存储的电能供电。具体地,可以通过检测是否有掉电信号的方式来判断系统是否掉电,当中断检测到掉电信号,表示系统掉电。
S202、判断需要存储的掉电数据的数据量是否大于预设的数据量阈值。具体地,可以通过用户设置的数据属性来确定掉电数据。例如,对于本文所指的掉电数据,其数据属性一般设置为掉电保存属性。另外,可以设置掉电量标识POC,用以表征掉电数据的数据量大小。只需读取掉电量标识POC,即可确定掉电数据的数据量大小。例如,当POC=1时,表示掉电数据的数据量大于预设的数据量阈值,当POC=0时,表示掉电数据的数据量不大于预设的数据量阈值。
若步骤S202的判断结果判断为是,则执行步骤S203。S203、将所述掉电数据存储至外插的SDHC中。
若步骤S202的判断结果为否,则执行步骤S204。S204、将所述PLC系统内置的flash划分为掉电存储区和掉电存储备份区。接下来执行步骤S205。
S205、将所述掉电数据分别存储至所述掉电存储区和所述掉电存储备份区中。
当掉电数据的数据量小于或等于1MB时,把掉电数据保存到主板上的NANDflash中,由于NANDflash自身结构导致容易出现位交换现象,从而导致所存储的数据发生错误,因此在图2所示的实施例中对存储于NANDflash上的掉电数据采取备份措施,将NANDflash划分为掉电存储区和掉电存储备份区,在掉电时将掉电数据存储至掉电存储区,同时备份至掉电存储备份区。可以使存储于flash中的掉电数据具有自诊断修复功能。
请参见图3,是本发明提供的用于PLC系统的掉电数据读取方法的第一实施例流程图,该方法包括:
S301、PLC系统上电后,判断需要读取的掉电数据的数据量是否大于预设的数据量阈值。其中,需要读取的掉电数据的数据量可以由用户来配置。PLC系统对应有提供给用户编写用户程序的后台软件,掉电数据的数据量是在PLC的后台中由用户配置的,并把此数据量值下载到PLC中,PLC上电运行时,读取此值。掉电数据通常保存在一个文件中,上电后PLC会全部读取此文件,然后根据设置的数据量从掉电文件中抽取相应的数据。若最近一次保存的掉电数据的数据量(即所保存的文件中的数据量)大于用户设置的需要读取的数据量,则从所保存的文件中抽取用户设置的数据量大小的掉电数据,若最近一次保存的掉电数据的数据量(即所保存的文件中的数据量)小于用户设置的需要读取的数据量,则无法读取的掉电数据取其定义时的默认值。可以设置掉电量标识POC,用以表征掉电数据的数据量大小。只需读取掉电量标识POC,即可确定掉电数据的数据量大小。例如,当POC=1时,表示掉电数据的数据量大于预设的数据量阈值,当POC=0时,表示掉电数据的数据量不大于预设的数据量阈值。
若步骤S301的判断结果为是,则执行步骤S302。S302、从外插的SDHC中读取所述掉电数据。通常,SDHC中只保存最近一次的掉电数据,之前的掉电数据都会被擦掉。一般来说,高速SDHC的擦写速度很快,例如CLASS10的高速SDHC,其擦写速度可达10MB/S。
若步骤S301的判断结果为否,则执行步骤S303。S303、从PLC系统内置的flash中读取所述掉电数据。通常,flash中只保存最近一次的掉电数据,之前的掉电数据都会被擦掉。在PLC系统的主板中通常自带有flash,因此无需增加额外的硬件成本。flash又可分为NANDflash和NORflash,以NANDflash为例,标准的NANDflash的擦除时间为2ms/128KB~3ms/128KB,写入时间为200~700us/2KB,则其擦写1MB数据的时间下限为16+102.4=118.4ms,时间上限为24+358.4=382.4ms,即在单板的情况下擦写1MB数据需要118.4ms~382.4ms。
在具体应用中,掉电时超级电容的供电时间一般可以维持1秒,根据上述NANDflash和高速SDHC的擦写速度,可以将数据量阈值设置为1MB。即,若掉电数据的数据量小于或等于1MB,从主板自带的NANDflash中读取掉电数据;若掉电数据的数据量大于1MB,则从外插的SDHC中读取掉电数据。
本发明提供的用于PLC系统的掉电数据读取方法,通过判断掉电数据的数据量,动态地选择掉电存储介质,与图1所示的掉电数据存储方法相配合,相比于直接默认从flash中读取掉电数据的方案,不会受到超级电容容量有限以及flash擦写速度较慢的影响,能够存储大容量的掉电数据;而相比于直接默认从SDHC中读取掉电数据的方案,又不会因有时掉电数据的数据量太小而浪费SDHC的容量,因此可以节省硬件成本和维护成本。
请参见图4,是本发明提供的用于PLC系统的掉电数据读取方法的第二实施例流程图,其中,PLC系统的主板上内置的flash被预先划分为掉电存储区和掉电存储备份区,该方法包括:
S401、PLC系统上电后,判断需要读取的掉电数据的数据量是否大于预设的数据量阈值。其中,需要读取的掉电数据的数据量可以由用户来配置。例如,可以设置掉电量标识POC,用以表征掉电数据的数据量大小。只需读取掉电量标识POC,即可确定掉电数据的数据量大小。例如,当POC=1时,表示掉电数据的数据量大于预设的数据量阈值,当POC=0时,表示掉电数据的数据量不大于预设的数据量阈值。
若步骤S401的判断结果为是,则执行步骤S402。S402、从外插的SDHC中读取所述掉电数据。
若步骤S401的判断结果为否,则执行步骤S403。S403、从所述掉电存储区中读取所述掉电数据。通常,掉电数据保存在flash的文件系统分区中,当加载此分区的文件系统失败时,操作系统会返回加载失败的程序值,以此判断读取操作是否成功。
若步骤S403操作失败,则执行步骤S404。S404、从所述掉电存储备份区中读取所述掉电数据。本方法流程结束。
若步骤S403操作成功,则本方法流程结束。
当需要读取的掉电数据的数据量小于或等于1MB时,需要从主板上的NANDflash中读取掉电数据。由于NANDflash自身结构导致容易出现位交换现象,从而导致所存储的数据发生错误,因此在图2所示的掉电数据存储方法中对存储于NANDflash上的掉电数据采取备份措施,将NANDflash划分为掉电存储区和掉电存储备份区,在掉电时将掉电数据存储至掉电存储区,同时备份至掉电存储备份区。相应地,在图4所示的掉电数据读取方法中,若存储于掉电存储区的掉电数据发生错误,则从掉电存储备份区中读取掉电数据,可使存储于flash中的掉电数据具有自诊断修复功能。
请参见图5,是本发明提供的用于PLC系统的掉电数据读取方法的第三实施例流程图,其中,PLC系统的主板上内置的flash被预先划分为掉电存储区和掉电存储备份区,该方法包括:
S501、PLC系统上电后,判断需要读取的掉电数据的数据量是否大于预设的数据量阈值。其中,需要读取的掉电数据的数据量可以由用户来配置。例如,可以设置掉电量标识POC,用以表征掉电数据的数据量大小。只需读取掉电量标识POC,即可确定掉电数据的数据量大小。例如,当POC=1时,表示掉电数据的数据量大于预设的数据量阈值,当POC=0时,表示掉电数据的数据量不大于预设的数据量阈值。
若步骤S501的判断结果为是,则执行步骤S502。S502、从外插的SDHC中读取所述掉电数据。
若步骤S501的判断结果为否,则执行步骤S503。S503、从所述掉电存储区中读取所述掉电数据。
若步骤S503操作失败,则执行步骤S504。S504、从所述掉电存储备份区中读取所述掉电数据,格式化所述掉电存储区,并拷贝所述掉电存储备份区中的掉电数据至所述掉电存储区中。更进一步地,步骤S504之后,可以卸载掉电存储备份区,这样可以避免PLC在受干扰的情况下错误地直接读取掉电存储备份区中的数据,从而可以增加数据安全性。
若步骤S503操作成功,则本方法流程结束。
请参见图6,是本发明提供的用于PLC系统的掉电数据存储装置的结构示意图。掉电数据存储装置600包括内置的flash610和外插的SDHC620。一般来说,高速SDHC的擦写速度很快,例如CLASS10的高速SDHC,其擦写速度可达10MB/S。通常在PLC系统的主板中即自带有flash,因此无需增加额外的硬件成本。flash又可分为NANDflash和NORflash,以NANDflash为例,标准的NANDflash的擦除时间为2ms/128KB~3ms/128KB,写入时间为200~700us/2KB,则其擦写1MB数据的时间下限为16+102.4=118.4ms,时间上限为24+358.4=382.4ms,即在单板的情况下擦写1MB数据需要118.4ms~382.4ms。
装置600还包括超级电容630、第一数据量判断模块640和存储管理模块650。
超级电容630,用于在PLC系统上电时存储电能,并在系统掉电后释放所存储的电能供电。例如,可以在AM600中型PLC中,使用容量为15000μF的超级电容,在PLC系统掉电后可以为其提供1.8秒的时间保存掉电数据。
第一数据量判断模块640,用于判断需要存储的掉电数据的数据量是否大于预设的数据量阈值。具体地,第一数据量判断模块640可以通过用户设置的数据属性来确定掉电数据。例如,对于本文所指的掉电数据,其数据属性一般设置为掉电保存属性。另外,可以设置掉电量标识POC,用以表征掉电数据的数据量大小。第一数据量判断模块640只需读取掉电量标识POC,即可确定掉电数据的数据量大小。例如,当POC=1时,表示掉电数据的数据量大于预设的数据量阈值,当POC=0时,表示掉电数据的数据量不大于预设的数据量阈值。
存储管理模块650,用于在所述数据量判断模块640的判断结果为是时,将所述掉电数据存储至所述SDHC620中,在所述数据量判断模块640的判断结果为否时,将所述掉电数据存储至所述flash610中。
在具体应用中,掉电时超级电容的供电时间一般可以维持1秒,根据上述NANDflash和高速SDHC的擦写速度,可以将数据量阈值设置为1MB。即,若第一数据量判断模块640确定掉电数据的数据量小于或等于1MB,则存储管理模块650把掉电数据写到主板自带的NANDflash中;若第一数据量判断模块640确定掉电数据的数据量大于1MB,则存储管理模块650将掉电数据写到外插的SDHC中。通常,当掉电数据量大于1MB且小于8MB时,都可以采用CLASS10以上的高速SDHC。
本发明提供的用于PLC系统的掉电数据存储装置,通过判断掉电数据的数据量,动态地选择掉电存储介质,相比于直接默认将掉电数据存储至flash中的装置,不会受到超级电容容量有限以及flash擦写速度较慢的影响,能够存储大容量的掉电数据;而相比于直接默认将掉电数据存储至SDHC中的装置,又不会因有时掉电数据的数据量太小而浪费SDHC的容量,因此可以节省硬件成本和维护成本。另外,本发明提供的用于PLC系统的掉电数据存储装置,通过利用超级电容作为系统掉电后的电源,可避免因电池损耗而增加维护更新成本。
优选地,存储管理模块650可以包括:flash区域划分模块,用于将所述flash划分为掉电存储区和掉电存储备份区;数据写入模块,用于将所述掉电数据分别存储至所述掉电存储区和所述掉电存储备份区中。当掉电数据的数据量小于或等于1MB时,把掉电数据保存到主板上的NANDflash中,由于NANDflash自身结构导致容易出现位交换现象,从而导致所存储的数据发生错误,因此在图6所示的实施例中对存储于NANDflash上的掉电数据采取备份措施,将NANDflash划分为掉电存储区和掉电存储备份区,在掉电时将掉电数据存储至掉电存储区,同时备份至掉电存储备份区。可以使存储于flash中的掉电数据具有自诊断修复功能。
请参见图7,是本发明提供的用于PLC系统的掉电数据读取装置的结构示意图。掉电数据读取装置700包括PLC系统内置的flash710和外插的SDHC720,其中所述flash710中存储有数据量不大于预设的数据量阈值的掉电数据,所述SDHC720中存储有数据量大于预设的数据量阈值的掉电数据。一般来说,高速SDHC的擦写速度很快,例如CLASS10的高速SDHC,其擦写速度可达10MB/S。通常在PLC系统的主板中即自带有flash,因此无需增加额外的硬件成本。flash又可分为NANDflash和NORflash,以NANDflash为例,标准的NANDflash的擦除时间为2ms/128KB~3ms/128KB,写入时间为200~700us/2KB,则其擦写1MB数据的时间下限为16+102.4=118.4ms,时间上限为24+358.4=382.4ms,即在单板的情况下擦写1MB数据需要118.4ms~382.4ms。
掉电数据读取装置700还包括第二数据量判断模块730和读取管理模块740。
第二数据量判断模块730,用于判断需要读取的掉电数据的数据量是否大于预设的数据量阈值。其中,需要读取的掉电数据的数据量可以由用户来配置。PLC系统对应有提供给用户编写用户程序的后台软件,掉电数据的数据量是在PLC的后台中由用户配置的,并把此数据量值下载到PLC中,PLC上电运行时,读取此值。掉电数据通常保存在一个文件中,上电后PLC会全部读取此文件,然后根据设置的数据量从掉电文件中抽取相应的数据。若最近一次保存的掉电数据的数据量(即所保存的文件中的数据量)大于用户设置的需要读取的数据量,则读取管理模块740从所保存的文件中抽取用户设置的数据量大小的掉电数据,若最近一次保存的掉电数据的数据量(即所保存的文件中的数据量)小于用户设置的需要读取的数据量,则对于无法读取的掉电数据,读取管理模块740取其定义时的默认值。例如,可以设置掉电量标识POC,用以表征掉电数据的数据量大小。第二数据量判断模块730只需读取掉电量标识POC,即可确定掉电数据的数据量大小。例如,当POC=1时,表示掉电数据的数据量大于预设的数据量阈值,当POC=0时,表示掉电数据的数据量不大于预设的数据量阈值。
读取管理模块740,用于在所述第二数据量判断模块730的判断结果为是时,从所述SDHC720中读取所述掉电数据,在所述第二数据量判断模块730的判断结果为否时,从所述flash710中读取所述掉电数据。一般来说,高速SDHC的擦写速度很快,例如CLASS10的高速SDHC,其擦写速度可达10MB/S。通常,SDHC中只保存最近一次的掉电数据,之前的掉电数据都会被擦掉。在PLC系统的主板中通常自带有flash,因此无需增加额外的硬件成本。flash又可分为NANDflash和NORflash,以NANDflash为例,标准的NANDflash的擦除时间为2ms/128KB~3ms/128KB,写入时间为200~700us/2KB,则其擦写1MB数据的时间下限为16+102.4=118.4ms,时间上限为24+358.4=382.4ms,即在单板的情况下擦写1MB数据需要118.4ms~382.4ms。
在具体应用中,掉电时超级电容的供电时间一般可以维持1秒,根据上述NANDflash和高速SDHC的擦写速度,可以将数据量阈值设置为1MB。即,若第二数据量判断模块730确定需要读取的掉电数据的数据量小于或等于1MB,则读取管理模块740从主板自带的NANDflash710中读取掉电数据;若第二数据量判断模块730确定需要读取的掉电数据的数据量大于1MB,则读取管理模块740从外插的SDHC720中读取掉电数据。flash710和flash610指代同一个内置存储器,SDHC720和SDHC620指代同一个外插存储器。
本发明提供的用于PLC系统的掉电数据读取装置,在上电后需要读取掉电数据时,通过判断掉电数据的数据量,动态地选择掉电存储介质,与图6所示的掉电数据存储装置相配合,相比于直接默认从flash中读取掉电数据的方案,不会受到超级电容容量有限以及flash擦写速度较慢的影响,能够存储大容量的掉电数据;而相比于直接默认从SDHC中读取掉电数据的方案,又不会因有时掉电数据的数据量太小而浪费SDHC的容量,因此可以节省硬件成本和维护成本。,而且,图6所示的掉电数据存储装置和图7所示的掉电数据读取装置通常集成为一个掉电数据存取装置。
优选地,flash710被预先划分为掉电存储区和掉电存储备份区。此时,读取管理模块740包括:存储区读取模块,用于从所述掉电存储区中读取所述掉电数据;备份区读取模块,用于在所述存储区读取模块从掉电存储区中读取掉电数据的操作失败时,从所述掉电存储备份区中读取所述掉电数据。通常,掉电数据保存在flash的文件系统分区中,当加载此分区的文件系统失败时,操作系统会返回加载失败的程序值,读取管理模块740以此判断读取操作是否成功。
当需要读取的掉电数据的数据量小于或等于1MB时,需要从主板上的NANDflash中读取掉电数据。由于NANDflash自身结构导致容易出现位交换现象,从而导致所存储的数据发生错误,因此可以在图6所示的掉电数据存储装置中对存储于NANDflash上的掉电数据采取备份措施,将NANDflash划分为掉电存储区和掉电存储备份区,在掉电时将掉电数据存储至掉电存储区,同时备份至掉电存储备份区。相应地,在图7所示的掉电数据读取装置中,若存储于掉电存储区的掉电数据发生错误,则备份区读取模块从掉电存储备份区中读取掉电数据,可使存储于flash中的掉电数据具有自诊断修复功能。
更加优选地,掉电数据读取装置700还可以包括:存储区修复模块,用在所述存储区读取模块从掉电存储区中读取掉电数据的操作失败时,格式化所述掉电存储区,并拷贝所述掉电存储备份区中的掉电数据至所述掉电存储区中。更进一步地,将掉电存储备份区的掉电数据拷贝至掉电存储区之后,存储区修复模块可以卸载掉电存储备份区,这样可以避免PLC在受干扰的情况下错误地直接读取掉电存储备份区中的数据,从而可以增加数据安全性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (10)

1.一种用于可编程逻辑控制器系统的掉电数据存储方法,包括:可编程逻辑控制器系统掉电后,释放超级电容中存储的电能供电;其特征在于,该方法还包括:
判断需要存储的掉电数据的数据量是否大于预设的数据量阈值;
若判断为是,将所述掉电数据存储至外插的高容量安全数码卡中;
若判断为否,则将所述掉电数据存储至可编程逻辑控制器系统内置的闪存中。
2.如权利要求1所述的用于可编程逻辑控制器系统的掉电数据存储方法,其特征在于,所述将所述掉电数据存储至可编程逻辑控制器系统内置的闪存中的步骤包括:
将所述可编程逻辑控制器系统内置的闪存划分为掉电存储区和掉电存储备份区;
将所述掉电数据分别存储至所述掉电存储区和所述掉电存储备份区中。
3.一种用于可编程逻辑控制器系统的掉电数据读取方法,其特征在于,包括:
可编程逻辑控制器系统上电后,判断需要读取的掉电数据的数据量是否大于预设的数据量阈值;
若判断为是,则从外插的高容量安全数码卡中读取所述掉电数据;
若判断为否,则从可编程逻辑控制器系统内置的闪存中读取所述掉电数据。
4.如权利要求3所述的用于可编程逻辑控制器系统的掉电数据读取方法,其特征在于,所述可编程逻辑控制器系统中内置的闪存被预先划分为掉电存储区和掉电存储备份区,所述从可编程逻辑控制器系统内置的闪存中读取所述掉电数据的步骤包括:
从所述掉电存储区中读取所述掉电数据;
若从掉电存储区中读取掉电数据的操作失败,则从所述掉电存储备份区中读取所述掉电数据。
5.如权利要求4所述的用于可编程逻辑控制器系统的掉电数据读取方法,其特征在于,所述方法还包括:
若从掉电存储区中读取掉电数据的操作失败,则格式化所述掉电存储区,并拷贝所述掉电存储备份区中的掉电数据至所述掉电存储区中。
6.一种用于可编程逻辑控制器系统的掉电数据存储装置,包括内置于可编程逻辑控制器系统中的闪存和外插的高容量安全数码卡以及超级电容,该超级电容用于在可编程逻辑控制器系统上电时存储电能,并在可编程逻辑控制器系统掉电后释放所存储的电能供电;其特征在于,所述装置还包括:
第一数据量判断模块,用于判断需要存储的掉电数据的数据量是否大于预设的数据量阈值;
存储管理模块,用于在所述数据量判断模块的判断结果为是时,将所述掉电数据存储至所述高容量安全数码卡中,在所述数据量判断模块的判断结果为否时,将所述掉电数据存储至所述闪存中。
7.如权利要求6所述的用于可编程逻辑控制器系统的掉电数据存储装置,其特征在于,所述存储管理模块包括:
闪存区域划分模块,用于将所述闪存划分为掉电存储区和掉电存储备份区;
数据写入模块,用于将所述掉电数据分别存储至所述掉电存储区和所述掉电存储备份区中。
8.一种用于可编程逻辑控制器系统的掉电数据读取装置,包括内置于可编程逻辑控制器系统中的闪存和外插的高容量安全数码卡,其特征在于,所述闪存中存储有数据量不大于预设的数据量阈值的掉电数据,所述高容量安全数码卡中存储有数据量大于预设的数据量阈值的掉电数据,所述掉电数据读取装置还包括:
第二数据量判断模块,用于在可编程逻辑控制器系统上电后,判断需要读取的掉电数据的数据量是否大于预设的数据量阈值;
读取管理模块,用于在所述第二数据量判断模块的判断结果为是时,从所述高容量安全数码卡中读取所述掉电数据,在所述第二数据量判断模块的判断结果为否时,从所述闪存中读取所述掉电数据。
9.如权利要求8所述的用于可编程逻辑控制器系统的掉电数据读取装置,其特征在于,所述闪存被预先划分为掉电存储区和掉电存储备份区,所述读取管理模块包括:
存储区读取模块,用于从所述掉电存储区中读取所述掉电数据;
备份区读取模块,用于在所述存储区读取模块从掉电存储区中读取掉电数据的操作失败时,从所述掉电存储备份区中读取所述掉电数据。
10.如权利要求9所述的用于可编程逻辑控制器系统的掉电数据读取装置,其特征在于,所述装置还包括:
存储区修复模块,用在所述存储区读取模块从掉电存储区中读取掉电数据的操作失败时,格式化所述掉电存储区,并拷贝所述掉电存储备份区中的掉电数据至所述掉电存储区中。
CN201310309751.7A 2013-07-22 2013-07-22 用于可编程逻辑控制器系统的掉电数据存取方法及装置 Active CN103399520B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310309751.7A CN103399520B (zh) 2013-07-22 2013-07-22 用于可编程逻辑控制器系统的掉电数据存取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310309751.7A CN103399520B (zh) 2013-07-22 2013-07-22 用于可编程逻辑控制器系统的掉电数据存取方法及装置

Publications (2)

Publication Number Publication Date
CN103399520A CN103399520A (zh) 2013-11-20
CN103399520B true CN103399520B (zh) 2015-12-23

Family

ID=49563163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310309751.7A Active CN103399520B (zh) 2013-07-22 2013-07-22 用于可编程逻辑控制器系统的掉电数据存取方法及装置

Country Status (1)

Country Link
CN (1) CN103399520B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881249B (zh) * 2015-05-13 2018-07-31 深圳芯邦科技股份有限公司 一种eMMC的读写方法及装置
KR101778375B1 (ko) * 2015-10-20 2017-09-14 엘에스산전 주식회사 Plc 시스템
CN107908571B (zh) * 2017-10-31 2021-04-20 成都华为技术有限公司 一种数据写入方法、闪存装置及存储设备
CN107861851A (zh) * 2017-12-08 2018-03-30 国网冀北电力有限公司电力科学研究院 基于电能表掉电数据存储的仿真方法及系统
CN111475114A (zh) * 2020-04-03 2020-07-31 苏州浪潮智能科技有限公司 一种数据下刷系统、方法及计算机可读存储介质
CN113626257B (zh) * 2021-07-20 2024-01-30 烽火通信科技股份有限公司 物联终端掉电下业务保护和恢复的方法、装置及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5841938A (en) * 1994-09-05 1998-11-24 Sony Corporation Data reproducing method and data reproducing apparatus
CN2862137Y (zh) * 2006-01-06 2007-01-24 莱芜钢铁集团有限公司 全数字智能位置控制器
CN102033826A (zh) * 2010-12-03 2011-04-27 创新科存储技术有限公司 内存掉电数据保护的装置和方法
CN102945177A (zh) * 2012-11-16 2013-02-27 深圳市汇川控制技术有限公司 Plc固件升级系统及方法
CN102945209A (zh) * 2012-07-18 2013-02-27 杭州汇坤控制技术有限公司 具有断电保护功能的数据存储系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040076043A1 (en) * 2002-10-21 2004-04-22 Phoenix Technologies Ltd. Reliable and secure updating and recovery of firmware from a mass storage device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5841938A (en) * 1994-09-05 1998-11-24 Sony Corporation Data reproducing method and data reproducing apparatus
CN2862137Y (zh) * 2006-01-06 2007-01-24 莱芜钢铁集团有限公司 全数字智能位置控制器
CN102033826A (zh) * 2010-12-03 2011-04-27 创新科存储技术有限公司 内存掉电数据保护的装置和方法
CN102945209A (zh) * 2012-07-18 2013-02-27 杭州汇坤控制技术有限公司 具有断电保护功能的数据存储系统及方法
CN102945177A (zh) * 2012-11-16 2013-02-27 深圳市汇川控制技术有限公司 Plc固件升级系统及方法

Also Published As

Publication number Publication date
CN103399520A (zh) 2013-11-20

Similar Documents

Publication Publication Date Title
CN103399520B (zh) 用于可编程逻辑控制器系统的掉电数据存取方法及装置
CN105556416B (zh) 数据存储设备/系统中利用低功率状态的停电保护和恢复
CN101710253B (zh) 嵌入式系统的深度休眠方法
CN101477482B (zh) 一种嵌入式Linux系统中的断电时恢复闪存数据的方法
CN102375788B (zh) 为具有非易失性存储器的系统动态地分配功率预算的方法及装置
EP2889773B1 (en) Method for backing up data during memory system power-down, and memory system controller
CN103345189B (zh) 一种控制器和一种掉电保护方法
CN102436419A (zh) 非易失性存储器系统及管理其电源的方法
CN101826060A (zh) 固态硬盘掉电数据保护方法及装置
CN102004706B (zh) 一种基于ftl的闪存擦写掉电保护方法
CN104881375B (zh) 存储系统掉电数据保护方法和装置
CN108733537A (zh) 用于智能备用电容器管理的方法和装置
CN105630405B (zh) 一种存储系统及采用该存储系统的读写方法
CN103942160A (zh) 存储系统、存储设备及数据存储方法
CN105608016B (zh) Dram与mram结合的固态硬盘及使用mram的存储卡
CN103455449A (zh) 非易失性存储介质访问方法、数据更新方法及设备
CN104317671A (zh) 一种提升非易失存储使用寿命的掉电数据保存恢复算法
CN110781029A (zh) 断电保护方法及系统
CN102722389A (zh) 一种电子设备及其开机系统
CN104123208A (zh) 一种系统异常的修复方法、装置和移动终端
CN102147587A (zh) 一种成像盒芯片的复位方法及成像盒芯片
CN103984645B (zh) 一种基于双控的缓存一致性数据刷写方法
CN104598844A (zh) 一种防止固态硬盘系统文件损坏的掉电保护方法及装置
CN109325373B (zh) 一种元数据的保存方法、装置、设备及可读存储介质
CN108228387A (zh) 一种启动控制方法、电子设备以及计算机可读存储介质

Legal Events

Date Code Title Description
C06 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
TR01 Transfer of patent right

Effective date of registration: 20221128

Address after: 518000 Huichuan technology headquarters building, Guanlan high tech Industrial Park, Longhua New District, Shenzhen City, Guangdong Province

Patentee after: SHENZHEN INOVANCE TECHNOLOGY Co.,Ltd.

Patentee after: SUZHOU INOVANCE TECHNOLOGY Co.,Ltd.

Address before: 518000 room 306, 3rd floor, building 16, Shangsha innovation and Technology Park, Binhe Road, Futian District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen Inovance Control Technology Co.,Ltd.

Patentee before: SHENZHEN INOVANCE TECHNOLOGY Co.,Ltd.

Patentee before: SUZHOU INOVANCE TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right