CN113345497B - 一种微型逆变器的eeprom数据存储方法及系统 - Google Patents
一种微型逆变器的eeprom数据存储方法及系统 Download PDFInfo
- Publication number
- CN113345497B CN113345497B CN202110889073.0A CN202110889073A CN113345497B CN 113345497 B CN113345497 B CN 113345497B CN 202110889073 A CN202110889073 A CN 202110889073A CN 113345497 B CN113345497 B CN 113345497B
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- serial number
- unit
- storage unit
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
Landscapes
- Power Sources (AREA)
- Charge And Discharge Circuits For Batteries Or The Like (AREA)
- Inverter Devices (AREA)
Abstract
本发明公开了一种微型逆变器的EEPROM数据存储方法,包括:将在EEPROM中的存储区域划分为N个存储单元,将每一次获取的发电量数据依次循环存储至存储单元,并将每一次存储所对应的存储序号存储至存储单元;当微型逆变器掉电重启后,读取所有的存储序号,若存在M个连续的有效存储序号,获取最大有效存储序号作为最近一次存储的有效存储序号,该序号对应的发电量数据为最近一次存储的数据;将最近一次存储的存储单元的下一个存储单元为当前次存储单元,将当前次发电量数据存储至当前次存储单元中,将最近一次存储的有效存储序号加一得到当前次存储单元所对应的当前次存储序号,存储至当前次存储单元。通过本发明确保了EEPROM数据读取的有效性和正确性。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种微型逆变器的EEPROM数据存储方法及系统。
背景技术
在光伏技术领域中,微型逆变器需要获取各个光伏组件端口的发电量数据。微型逆变器的处理器是由光伏电池板供电的,当在夜晚或光照极弱条件下处理器会出现掉电而导致失联的情况,因此微型逆变器需要经常性地对各个光伏组件端口的发电量进行存储。在嵌入式控制系统中,一般使用EEPROM作为数据的存储芯片,其具有掉电后数据不丢失的特点。一般EEPROM的擦写寿命为100万次,超过擦写寿命次数后数据将变得容易丢失。微型逆变器中通常将一些系统和并网参数存入EEPROM中,往往留给光伏组件端口的发电量数据的存储空间就会有限,为提高精度需要短时间内多次对发电量数据进行擦写,并且在断电一段时间后(往往是一夜晚),微型逆变器重启时能够准确地读出历史发电量数据,并作为新的发电量起始计数值。因此微型逆变器的EEPROM中,发电量数据存储需求的擦写次数往往会超过EEPROM的极限寿命,从而使发电量数据变得容易丢失。
现有微型逆变器的发电量数据存储方案为:将EEPROM中分配给一个光伏组件端口发电量数据的存储区域分为两个区,一个为地址区,一个为数据区。数据区分为多个数据单元。地址区仅一个地址单元,用来存储数据区指定的单元地址。其数据存储过程为:先读取地址单元内存储数据单元1的地址1,然后将发电量数据存储到对应地址1的数据单元1内,最后存储完成后再读出发电量数据以验证存储的结果,以此类推进行发电量数据存储和验证的循环操作,直到验证结果出现错误,将发电量数据的存储地址跳至数据单元2对应的地址2,存储至数据单元2,重复上述步骤,依次循环,直至最后的数据单元N。该技术方案需要将数据存储后再读出进行验证,验证正确后则继续使用数据单元,若错误则判定该数据单元失效,使用下一个数据单元进行数据存储。由于EEPROM的常见失效方式为写入后的断电保持时间减少。微型逆变器由于夜晚断电,断电时间一般为8~12小时不等,当EEPROM 中被反复擦写的区域数据的保持时间下降至断电时间内时,比如小于8小时,发生数据失效的概率就会大大增加,并随着擦写次数的增多失效概率会继续增加,因此会出现发电量数据写入后验证正确而断电重启后读出数据错误的问题,导致发电量存储数据失效。
发明内容
本发明的目的在于提供一种微型逆变器中微型逆变器的EEPROM数据存储方法及系统,确保了EEPROM数据读取的有效性和正确性。
为实现上述目的,本发明提供了一种微型逆变器的EEPROM数据存储方法,所述方法包括步骤:
S1、在EEPROM中分配一用以存储一光伏组件端口发电量数据的存储区域,将所述存储区域划分为N个存储单元;
S2、将每一次获取的所述光伏组件端口的发电量数据依次循环存储至对应的存储单元,并将每一次存储所对应的存储序号存储至所述存储单元,存储序号按照存储次数依次连续递增,并建立存储序号和存储单元的对应关系;
S3、当微型逆变器掉电重启后,读取所述N个存储单元中所有的存储序号,若存在M个连续的有效存储序号,则在M个有效存储序号中,获取最大有效存储序号作为最近一次存储的有效存储序号;
S4、根据所述最近一次存储的有效存储序号得到对应的最近一次存储的存储单元,将所述最近一次存储的存储单元中存储的发电量数据作为历史发电量数据,并将获取的所述光伏组件端口的最新发电量数据和历史发电量数据进行累加得到要存储的当前次发电量数据;
S5、将所述最近一次存储的存储单元所对应的下一个存储单元作为要存储的当前次存储单元,将所述当前次发电量数据存储至所述当前次存储单元中,将所述最近一次存储的有效存储序号加一得到当前次存储单元所对应的当前次存储序号,并存储至所述当前次存储单元。
优选的,所述步骤S1包括:每一个存储单元包括序号单元和数据单元,所述序号单元用以保存存储序号,所述数据单元用以存储光伏组件端口的发电量数据。
优选的,所述步骤S2包括:
当微型逆变器第一次上电时,将第一次获取的光伏组件端口的发电量数据存储至第一个存储单元的数据单元中,并将第一次存储所对应的第一个存储序号写入到第一个存储单元的序号单元;
在一存储间隔之后,将第二次获取的光伏组件端口的发电量数据存储至第二个存储单元的数据单元中,并将第二次存储所对应的第二个存储序号写入到第二个存储单元的序号单元;
依次类推,将第N次获取的光伏组件端口的发电量数据存储至第N个存储单元的数据单元中,并将第N次存储所对应的第N个存储序号写入到第N个存储单元的序号单元中。
优选的,所述步骤S2还包括:
将第N+1次获取的光伏组件端口的发电量数据存储至第1个存储单元的数据单元中,覆盖原有的发电量数据,并将第N+1次存储所对应的第N+1个存储序号写入到第1个存储单元的序号单元中,覆盖原有的存储序号,以实现光伏组件端口的发电量数据的循环存储。
优选的,所述步骤S2还包括:
当每一次获取的光伏组件端口的发电量数据存储至对应存储单元的数据单元中,以及该次存储所对应的存储序号写入到对应存储单元的序号单元中后,对每一次存储的光伏组件端口的发电量数据进行读取并进行检验,若读取的发电量数据正确,则对应的存储单元正确,若读取的发电量数据不正确,则对应的存储单元失效,将该次的光伏组件端口的发电量数据存储至下一个存储单元,以及该次存储所对应的存储序号写入到下一个存储单元。
优选的,所述步骤S2还包括:构建存储单元与存储地址的一一对应关系,所述存储地址用以标识存储单元。
优选的,所述步骤S3包括有效存储序号的判定步骤,该判定步骤包括以下步骤:
S301、设置一计数值i,i的初始值为0;
S302、将读取的N个存储单元中的所有的存储序号从小到大依次排列,构建一个存储序号队列;
S303、从所述存储序号队列中选取最大存储序号;
S304、在所述存储序号队列中查看所述最大存储序号的前一个存储序号是否为所述最大存储序号减一,若是,则执行步骤S305,若不是,则执行步骤S306;
S305、判定所述最大存储序号为有效存储序号,并设置计数值i=i+1,并执行步骤S307;
S306、判定所述最大存储序号为无效存储序号,从所述存储序号队列中选取所述最大存储序号的前一个存储序号,重新执行步骤S304;
S307、判断计数值i是否大于等于一预设数值M,若不是则执行步骤S308,若是则执行步骤S309;
S308、从所述存储序号队列中选取所述最大存储序号的前一个存储序号,对前一个存储序号重新执行步骤S304;
S309、当计数值i大于等于M时,得到M个连续的有效存储序号,在所述M个有效存储序号中,获取最大的有效存储序号作为最近一次存储的有效存储序号。
优选的,所述步骤S4包括:
根据所述最近一次存储的有效存储序号得到对应的最近一次存储的存储单元,将获取的所述最近一次存储的存储单元中数据单元存储的发电量数据作为历史发电量数据;
若当前时间达到存储间隔的时间点时,获取所述光伏组件端口的最新发电量数据,并将所述最新发电量数据和历史发电量数据进行累加得到要存储的当前次发电量数据;
若当前时间没有达到存储间隔的时间点时,则不执行存储动作。
优选的,所述步骤S5包括:
将所述最近一次存储的存储单元所对应的下一个存储单元作为要存储的当前次存储单元;
将所述当前次发电量数据存储至所述当前次存储单元中的数据单元;
将所述最近一次存储的有效存储序号加一得到当前次存储单元所对应的当前次存储序号,并存储至所述当前次存储单元中的序号单元;
从所述当前次存储单元中读取存储序号和发电量数据,将读取的存储序号和发电量数据与所述当前次存储序号和当前次发电量数据进行比较;
若不一致,则将所述当前次存储序号和当前次发电量数据存储至当前次存储单元所对应的下一个存储单元;
若一致,则不执行动作。
为实现上述目的,本发明提供了一种微型逆变器的EEPROM数据存储系统,所述系统包括:
存储区域模块,用以在EEPROM中分配一用以存储一光伏组件端口发电量数据的存储区域,将所述存储区域划分为N个存储单元;
存储模块,用以将每一次获取的所述光伏组件端口的发电量数据依次循环存储至对应的存储单元,并将每一次存储所对应的存储序号存储至所述存储单元,存储序号按照存储次数依次连续递增,并建立存储序号和存储单元的对应关系;
判断模块,用以当微型逆变器掉电重启后,读取所述N个存储单元中所有的存储序号,若存在M个连续的有效存储序号,则在M个有效存储序号中,获取最大有效存储序号作为最近一次存储的有效存储序号;
计算模块,用以根据所述最近一次存储的有效存储序号得到对应的最近一次存储的存储单元,将所述最近一次存储的存储单元中存储的发电量数据作为历史发电量数据,并将获取的所述光伏组件端口的最新发电量数据和历史发电量数据进行累加得到要存储的当前次发电量数据;
数据更新存储模块,将所述最近一次存储的存储单元所对应的下一个存储单元作为要存储的当前次存储单元,将所述当前次发电量数据存储至所述当前次存储单元中,将所述最近一次存储的有效存储序号加一得到当前次存储单元所对应的当前次存储序号,并存储至所述当前次存储单元。
与现有技术相比,本发明一种微型逆变器的EEPROM数据存储方法及系统,所带来的有益效果为:在EEPROM失效的情况下,通过判定存储序号的有效性来鉴别光伏组件端口发电量数据的有效性,避免了当EEPROM的存储单元的保持时间大于存储后读取的间隔时间并且又不超过微型逆变器掉电时间时,出现存储写入后读取校验正确而断电后重启时读出的发电量数据错误的技术问题,解决了发电量存储失效的问题,确保微型逆变器掉电重启后获取正确的发电量数据,确保了发电量数据的有效性;提高了EEPROM的使用寿命。
附图说明
图1是根据本发明的一个实施例中微型逆变器的EEPROM数据存储方法的流程示意图。
图2是根据本发明的一个实施例中存储序号有效判断的流程示意图。
图3是根据本发明的一个实施例中微型逆变器的EEPROM数据存储系统的系统示意图。
具体实施方式
以下将结合附图所示的具体实施方式对本发明进行详细描述,但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
如图1所示的本发明一实施例中,本发明提供一种微型逆变器的EEPROM数据存储方法,所述方法包括步骤:
S1、在EEPROM中分配一用以存储一光伏组件端口发电量数据的存储区域,将所述存储区域划分为N个存储单元;
S2、将每一次获取的所述光伏组件端口的发电量数据依次循环存储至对应的存储单元,并将每一次存储所对应的存储序号存储至所述存储单元,存储序号按照存储次数依次连续递增,并建立存储序号和存储单元的对应关系;
S3、当微型逆变器掉电重启后,读取所述N个存储单元中所有的存储序号,若存在M个连续的有效存储序号,则在M个有效存储序号中,获取最大有效存储序号作为最近一次存储的有效存储序号;
S4、根据所述最近一次存储的有效存储序号得到对应的最近一次存储的存储单元,将所述最近一次存储的存储单元中存储的发电量数据作为历史发电量数据,并将获取的所述光伏组件端口的最新发电量数据和历史发电量数据进行累加得到要存储的当前次发电量数据;
S5、将所述最近一次存储的存储单元所对应的下一个存储单元作为要存储的当前次存储单元,将所述当前次发电量数据存储至所述当前次存储单元中,将所述最近一次存储的有效存储序号加一得到当前次存储单元所对应的当前次存储序号,并存储至所述当前次存储单元。
在EEPROM中分配一用以存储一光伏组件端口发电量数据的存储区域,将所述存储区域划分为N个存储单元,每一个存储单元包括序号单元和数据单元。在EEPROM中设置多个存储区域,每一个存储区域用来存储一个光伏组件端口的发电量数据。对应每一个光伏组件端口发电量数据的存储区域,将该存储区域划分为N个存储单元,每一个存储单元包括序号单元和数据单元。序号单元用来写入存储序号的,数据单元用来存储每一次获取的发电量数据。
将每一次获取的所述光伏组件端口的发电量数据依次循环存储至对应的数据单元,并将每一次存储所对应的存储序号存储至对应的序号单元,存储序号按照存储次数依次连续递增,并建立存储序号和存储单元的对应关系。微型逆变器采集各个光伏组件端口的发电量数据,将采集的发电量数据存储在EEPROM中,即存储在各个光伏组件端口所对应的存储区域。每一个存储区域划分为N个存储单元,将每次获取的光伏组件端口的发电量数据存储到对应的数据单元中。当微型逆变器第一次上电时,将第一次获取的光伏组件端口的发电量数据存储至第一个存储单元的数据单元中,并将第一次存储所对应的第一个存储序号写入到第一个存储单元的序号单元中,并在一存储间隔之后,将第二次获取的光伏组件端口的发电量数据存储至第二个存储单元的数据单元中,并将第二次存储所对应的第二个存储序号写入到第二个存储单元的序号单元中,依次类推,将第N次获取的光伏组件端口的发电量数据存储至第N个存储单元的数据单元中,并将第N次存储所对应的第N个存储序号写入到第N个存储单元的序号单元中;将第N+1次获取的光伏组件端口的发电量数据存储至第1个存储单元的数据单元中,覆盖原有的发电量数据,并将第N+1次存储所对应的第N+1个存储序号写入到第1个存储单元的序号单元中,覆盖原有的存储序号,以实现光伏组件端口的发电量数据的循环存储。当微型逆变器掉电后,新的发电量数据存储在最后存储的存储单元的下一个存储单元,继续上述循环存储过程。将每一次获取的光伏组件端口的发电量数据存储至对应存储单元的数据单元中,以及该次存储所对应的存储序号写入到对应存储单元的序号单元中后,对每一次存储的光伏组件端口的发电量数据进行读取并进行检验,若读取的发电量数据正确,则对应的存储单元正确,若读取的发电量数据不正确,则对应的存储单元失效。将存储的光伏组件端口的发电量数据读取并进行验证,以验证该存储单元是否失效,若失效则将该次的光伏组件端口的发电量数据存储至下一个存储单元,以及该次存储所对应的存储序号写入到下一个存储单元。本步骤中对写入存储单元的数据进行读取验证,一方面验证存入的数据是否正确,另一方面判断存储单元是否已经失效。
根据本发明的一具体实施例,构建存储单元与存储地址的链接关系,每一个存储单元对应一个存储地址,用存储地址来标识各个存储单元。比如,地址1表示存储单元,地址2表示存储单元2。比如,在EEPROM中为一个光伏组件端口的发电量数据分配一个存储区域,将该存储区域分为32个存储单元,每一个存储单元中写入存储序号和发电量数据,存储序号设为32bit位,数据单元设为32bit位,一个存储单元为64bit位。
当微型逆变器掉电重启后,读取所述N个存储单元中所有的存储序号,若存在M个连续的有效存储序号,则在M个有效存储序号中,获取最大有效存储序号作为最近一次存储的有效存储序号。比如,设置N为32。当微型逆变器掉电重启后,需要获取最后存储的光伏组件端口发电量数据。当EEPROM 中的存储区域没有失效时,通过获取最后存储的存储单元中的存储序号,就可以得到对应的最后存储的光伏组件发电量数据。但是当EEPROM 中有的存储区域的数据保持时间小于微型逆变器的断电时间时,如果通过获取最后存储的存储单元中的发电量数据,该发电量数据会存在数据错误问题,因此需要对存储单元中的发电量数据进行有效性判断。
当微型逆变器掉电重启后,依次读取所述N个存储单元中的所有的光伏组件端口发电量数据和存储序号,通过鉴别断电前最后存储的存储序号,并根据存储单元、存储序号以及存储数据之间的对应关系,能够获取最后存储的光伏组件端口的发电量数据。基于存储序号是连续递增的,因此正常的存储序号之间的关系是连续的,掉电前最后一次存储的存储序号为最大。如图2所示的本发明的一具体实施例,步骤S3包括有效存储序号的判定步骤,有效存储序号的判定步骤包括以下步骤:
S301、设置一计数值i,i的初始值为0;
S302、将读取的N个存储单元中的所有的存储序号从小到大依次排列,构建一个存储序号队列;
S303、从所述存储序号队列中选取最大存储序号;
S304、在所述存储序号队列中查看所述最大存储序号的前一个存储序号是否为所述最大存储序号减一,若是,则执行步骤S305,若不是,则执行步骤S306;
S305、判定所述最大存储序号为有效存储序号,并设置计数值i=i+1,并执行步骤S307;
S306、判定所述最大存储序号为无效存储序号,从所述存储序号队列中选取所述最大存储序号的前一个存储序号,重新执行步骤S304,无效存储序号所对应的存储单元的光伏组件端口发电量数据是无效的;
S307、判断计数值i是否大于等于一预设数值M,若不是则执行步骤S308,若是则执行步骤S309;
S308、从所述存储序号队列中选取所述最大存储序号的前一个存储序号,对前一个存储序号重新执行步骤S304;
S309、当计数值i大于等于M时,得到M个连续的有效存储序号,在所述M个有效存储序号中,获取最大的有效存储序号作为最近一次存储的有效存储序号,即为断电前存储的有效存储序号,该有效存储序号所对应的存储单元中的光伏组件端口发电量数据为最后存储的有效发电量数据。
根据所述最近一次存储的有效存储序号得到对应的最近一次存储的存储单元,将获取的所述最近一次存储的存储单元中存储的发电量数据作为历史发电量数据,若当前时间达到存储间隔的时间点时,获取所述光伏组件端口的最新发电量数据,并将所述最新发电量数据和历史发电量数据进行累加得到要存储的当前次发电量数据,将所述最近一次存储的存储单元所对应的下一个存储单元作为要存储的当前次存储单元,将所述当前次发电量数据存储至所述当前次存储单元的数据单元中,并将所述最近一次存储的有效存储序号加一得到当前次存储单元所对应的当前次存储序号,将所述当前次存储序号存储至当前次存储单元的序号单元中;若当前时间没有达到存储间隔的时间点时,则不执行存储动作。从所述当前次存储单元中存储序号和发电量数据,将读取的存储序号和发电量数据与所述当前次存储序号和当前次发电量数据进行比较,若不一致,则将所述当前次存储序号和当前次发电量数据存储至当前次存储单元所对应的下一个存储单元,当出现不一致的时候,则表明当前次存储单元已经失效,需要将发电量数据存储至下一个存储单元中,若一致,则表明当前次存储单元是有效的。存储间隔为相邻两次存储动作的间隔时间,一般设置为10分钟。在EEPROM存储单元失效的情况下,通过判断存储序号的有效性来鉴别光伏组件端口发电量数据的有效性。避免了当存储单元的保持时间大于存储间隔时间并且有不超过微型逆变器断电时间时,会出现存储时检验正确但是掉电重启后读出数据错误的问题。
如图3所示的本发明一实施例中,本发明提供一种微型逆变器的EEPROM数据存储系统,所述系统包括:
存储区域模块30,用以在EEPROM中分配一用以存储一光伏组件端口发电量数据的存储区域,将所述存储区域划分为N个存储单元;
存储模块31,用以将每一次获取的所述光伏组件端口的发电量数据依次循环存储至对应的存储单元,并将每一次存储所对应的存储序号存储至所述存储单元,存储序号按照存储次数依次连续递增,并建立存储序号和存储单元的对应关系;
判断模块32,用以当微型逆变器掉电重启后,读取所述N个存储单元中所有的存储序号,若存在M个连续的有效存储序号,则在M个有效存储序号中,获取最大有效存储序号作为最近一次存储的有效存储序号;
计算模块33,用以根据所述最近一次存储的有效存储序号得到对应的最近一次存储的存储单元,将所述最近一次存储的存储单元中存储的发电量数据作为历史发电量数据,并将获取的所述光伏组件端口的最新发电量数据和历史发电量数据进行累加得到要存储的当前次发电量数据;
数据更新存储模块34,将所述最近一次存储的存储单元所对应的下一个存储单元作为要存储的当前次存储单元,将所述当前次发电量数据存储至所述当前次存储单元中,将所述最近一次存储的有效存储序号加一得到当前次存储单元所对应的当前次存储序号,并存储至所述当前次存储单元。
存储区域模块在EEPROM中分配一用以存储一光伏组件端口发电量数据的存储区域,将所述存储区域划分为N个存储单元,每一个存储单元包括序号单元和数据单元。序号单元用来写入存储序号的,数据单元用来存储每一次获取的发电量数据。
存储模块将每一次获取的所述光伏组件端口的发电量数据依次循环存储至对应的存储单元中的数据单元中,并将每一次存储所对应的存储序号存储至所述存储单元的序号单元中,存储序号按照存储次数依次连续递增,并建立存储序号和存储单元的对应关系。将每一次存储的光伏组件端口的发电量数据和存储序号读取并进行验证,以验证该存储单元是否失效,若失效则将该次的光伏组件端口的发电量数据存储至下一个存储单元。
当微型逆变器掉电重启后,判断模块读取所述N个存储单元中所有的存储序号,若存在M个连续的有效存储序号,则在M个有效存储序号中,获取最大有效存储序号作为最近一次存储的有效存储序号,即为断电前存储的有效存储序号,该有效存储序号所对应的存储单元中的光伏组件端口发电量数据为最后存储的有效发电量数据。
计算模块根据所述最近一次存储的有效存储序号得到对应的最近一次存储的存储单元,将获取的所述最近一次存储的存储单元中存储的发电量数据作为历史发电量数据,并将所述最新发电量数据和历史发电量数据进行累加得到要存储的当前次发电量数据,将所述最近一次存储的存储单元所对应的下一个存储单元作为要存储的当前次存储单元。
数据更新存储模块将所述当前次发电量数据存储至所述当前次存储单元的数据单元中,并将所述最近一次存储的有效存储序号加一得到当前次存储单元所对应的当前次存储序号,将所述当前次存储序号存储至当前次存储单元的序号单元中。从所述当前次存储单元中存储序号和发电量数据,将读取的存储序号和发电量数据与所述当前次存储序号和当前次发电量数据进行比较,若不一致,则将所述当前次存储序号和当前次发电量数据存储至当前次存储单元所对应的下一个存储单元,当出现不一致的时候,则表明当前次存储单元已经失效,需要将发电量数据存储至下一个存储单元中,若一致,则表明当前次存储单元是有效的。
尽管为示例目的,已经公开了本发明的优选实施方式,但是本领域的普通技术人员将意识到,在不脱离由所附的权利要求书公开的本发明的范围和精神的情况下,各种改进、增加以及取代是可能的。
Claims (9)
1.一种微型逆变器的EEPROM数据存储方法,其特征在于,所述方法包括步骤:
S1、在EEPROM中分配一用以存储一光伏组件端口发电量数据的存储区域,将所述存储区域划分为N个存储单元;
S2、将每一次获取的所述光伏组件端口的发电量数据依次循环存储至对应的存储单元,并将每一次存储所对应的存储序号存储至所述存储单元,存储序号按照存储次数依次连续递增,并建立存储序号和存储单元的对应关系;
S3、当微型逆变器掉电重启后,读取所述N个存储单元中所有的存储序号,若存在M个连续的有效存储序号,则在M个有效存储序号中,获取最大有效存储序号作为最近一次存储的有效存储序号;
S4、根据所述最近一次存储的有效存储序号得到对应的最近一次存储的存储单元,将所述最近一次存储的存储单元中存储的发电量数据作为历史发电量数据,并将获取的所述光伏组件端口的最新发电量数据和历史发电量数据进行累加得到要存储的当前次发电量数据;
S5、将所述最近一次存储的存储单元所对应的下一个存储单元作为要存储的当前次存储单元,将所述当前次发电量数据存储至所述当前次存储单元中,将所述最近一次存储的有效存储序号加一得到当前次存储单元所对应的当前次存储序号,并存储至所述当前次存储单元;
所述步骤S1包括:
每一个存储单元包括序号单元和数据单元,所述序号单元用以保存存储序号,所述数据单元用以存储光伏组件端口的发电量数据。
2.如权利要求1所述的微型逆变器的EEPROM数据存储方法,其特征在于,所述步骤S2包括:
当微型逆变器第一次上电时,将第一次获取的光伏组件端口的发电量数据存储至第一个存储单元的数据单元中,并将第一次存储所对应的第一个存储序号写入到第一个存储单元的序号单元;
在一存储间隔之后,将第二次获取的光伏组件端口的发电量数据存储至第二个存储单元的数据单元中,并将第二次存储所对应的第二个存储序号写入到第二个存储单元的序号单元;
依次类推,将第N次获取的光伏组件端口的发电量数据存储至第N个存储单元的数据单元中,并将第N次存储所对应的第N个存储序号写入到第N个存储单元的序号单元中。
3.如权利要求2所述的微型逆变器的EEPROM数据存储方法,其特征在于,所述步骤S2还包括:
将第N+1次获取的光伏组件端口的发电量数据存储至第1个存储单元的数据单元中,覆盖原有的发电量数据,并将第N+1次存储所对应的第N+1个存储序号写入到第1个存储单元的序号单元中,覆盖原有的存储序号,以实现光伏组件端口的发电量数据的循环存储。
4.如权利要求3所述的微型逆变器的EEPROM数据存储方法,其特征在于,所述步骤S2还包括:
当每一次获取的光伏组件端口的发电量数据存储至对应存储单元的数据单元中,以及该次存储所对应的存储序号写入到对应存储单元的序号单元中后,对每一次存储的光伏组件端口的发电量数据进行读取并进行检验,若读取的发电量数据正确,则对应的存储单元正确,若读取的发电量数据不正确,则对应的存储单元失效,将该次的光伏组件端口的发电量数据存储至下一个存储单元,以及该次存储所对应的存储序号写入到下一个存储单元。
5.如权利要求3所述的微型逆变器的EEPROM数据存储方法,其特征在于,所述步骤S2包括:
构建存储单元与存储地址的一一对应关系,所述存储地址用以标识存储单元。
6.如权利要求5所述的微型逆变器的EEPROM数据存储方法,其特征在于,所述步骤S3包括有效存储序号的判定步骤,所述判定步骤包括以下步骤:
S301、设置一计数值i,i的初始值为0;
S302、将读取的N个存储单元中的所有的存储序号从小到大依次排列,构建一个存储序号队列;
S303、从所述存储序号队列中选取最大存储序号;
S304、在所述存储序号队列中查看所述最大存储序号的前一个存储序号是否为所述最大存储序号减一,若是,则执行步骤S305,若不是,则执行步骤S306;
S305、判定所述最大存储序号为有效存储序号,并设置计数值i=i+1,并执行步骤S307;
S306、判定所述最大存储序号为无效存储序号,从所述存储序号队列中选取所述最大存储序号的前一个存储序号,重新执行步骤S304;
S307、判断计数值i是否大于等于一预设数值M,若不是则执行步骤S308,若是则执行步骤S309;
S308、从所述存储序号队列中选取所述最大存储序号的前一个存储序号,对前一个存储序号重新执行步骤S304;
S309、当计数值i大于等于M时,得到M个连续的有效存储序号,在所述M个有效存储序号中,获取最大的有效存储序号作为最近一次存储的有效存储序号。
7.如权利要求6所述的微型逆变器的EEPROM数据存储方法,其特征在于,所述步骤S4包括:
根据所述最近一次存储的有效存储序号得到对应的最近一次存储的存储单元,将获取的所述最近一次存储的存储单元中数据单元存储的发电量数据作为历史发电量数据;
若当前时间达到存储间隔的时间点时,获取所述光伏组件端口的最新发电量数据,并将所述最新发电量数据和历史发电量数据进行累加得到要存储的当前次发电量数据;
若当前时间没有达到存储间隔的时间点时,则不执行存储动作。
8.如权利要求7所述的微型逆变器的EEPROM数据存储方法,其特征在于,所述步骤S5包括:
将所述最近一次存储的存储单元所对应的下一个存储单元作为要存储的当前次存储单元;
将所述当前次发电量数据存储至所述当前次存储单元中的数据单元;
将所述最近一次存储的有效存储序号加一得到当前次存储单元所对应的当前次存储序号,并存储至所述当前次存储单元中的序号单元;
从所述当前次存储单元中读取存储序号和发电量数据,将读取的存储序号和发电量数据与所述当前次存储序号和当前次发电量数据进行比较;
若不一致,则将所述当前次存储序号和当前次发电量数据存储至当前次存储单元所对应的下一个存储单元;
若一致,则不执行动作。
9.一种微型逆变器的EEPROM数据存储系统,其特征在于,所述系统包括:
存储区域模块,用以在EEPROM中分配一用以存储一光伏组件端口发电量数据的存储区域,将所述存储区域划分为N个存储单元,每一个存储单元包括序号单元和数据单元,所述序号单元用以保存存储序号,所述数据单元用以存储光伏组件端口的发电量数据;
存储模块,用以将每一次获取的所述光伏组件端口的发电量数据依次循环存储至对应的存储单元,并将每一次存储所对应的存储序号存储至所述存储单元,存储序号按照存储次数依次连续递增,并建立存储序号和存储单元的对应关系;
判断模块,用以当微型逆变器掉电重启后,读取所述N个存储单元中所有的存储序号,若存在M个连续的有效存储序号,则在M个有效存储序号中,获取最大有效存储序号作为最近一次存储的有效存储序号;
计算模块,用以根据所述最近一次存储的有效存储序号得到对应的最近一次存储的存储单元,将所述最近一次存储的存储单元中存储的发电量数据作为历史发电量数据,并将获取的所述光伏组件端口的最新发电量数据和历史发电量数据进行累加得到要存储的当前次发电量数据;
数据更新存储模块,将所述最近一次存储的存储单元所对应的下一个存储单元作为要存储的当前次存储单元,将所述当前次发电量数据存储至所述当前次存储单元中,将所述最近一次存储的有效存储序号加一得到当前次存储单元所对应的当前次存储序号,并存储至所述当前次存储单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110889073.0A CN113345497B (zh) | 2021-08-04 | 2021-08-04 | 一种微型逆变器的eeprom数据存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110889073.0A CN113345497B (zh) | 2021-08-04 | 2021-08-04 | 一种微型逆变器的eeprom数据存储方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113345497A CN113345497A (zh) | 2021-09-03 |
CN113345497B true CN113345497B (zh) | 2021-11-02 |
Family
ID=77480546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110889073.0A Active CN113345497B (zh) | 2021-08-04 | 2021-08-04 | 一种微型逆变器的eeprom数据存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113345497B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101303577B (zh) * | 2008-06-26 | 2012-04-11 | 天津七所高科技有限公司 | 一种电阻焊控制器的数据存储方法 |
CN102662852B (zh) * | 2012-03-20 | 2015-05-27 | 山东省科学院自动化研究所 | 一种利用MCU内部数据Flash存储非易失性数据的方法 |
CN112863582B (zh) * | 2021-02-23 | 2022-10-11 | 广东申菱环境系统股份有限公司 | 一种数据掉电保持方法、装置、计算机设备和存储介质 |
-
2021
- 2021-08-04 CN CN202110889073.0A patent/CN113345497B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113345497A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102194527B (zh) | 半导体存储器装置 | |
US7843732B2 (en) | Methods of operating multi-bit flash memory devices and related systems | |
US7089349B2 (en) | Internal maintenance schedule request for non-volatile memory system | |
CN103853582B (zh) | 闪存更新方法 | |
CN108847267B (zh) | 一种基于错误模式的闪存寿命测试方法 | |
US9329992B2 (en) | Data storage device and flash memory control method | |
CN107918588A (zh) | 数据储存装置及其数据写入方法 | |
EP3173933A1 (en) | Memory control method and memory control apparatus | |
CN109426441B (zh) | 数据储存装置以及其操作方法 | |
US9047186B2 (en) | Allocation method and apparatus of moderate memory | |
CN101751348A (zh) | 存储器控制器和操作电可变非易失性存储装置的方法 | |
CN102024502A (zh) | 闪存器件测试方法、装置及板卡和网络设备 | |
CN102736932B (zh) | 镜像文件、镜像文件的制作方法及多系统的启动引导方法 | |
CN108717385A (zh) | 一种用于闪存的数据恢复方法及系统 | |
CN110795270A (zh) | 固态储存装置及其读取重试方法 | |
JP2017054204A (ja) | ストレージ制御装置、制御方法、および制御プログラム | |
US8706990B2 (en) | Adaptive internal table backup for non-volatile memory system | |
CN113345497B (zh) | 一种微型逆变器的eeprom数据存储方法及系统 | |
CN103106148B (zh) | 区块管理方法、存储器控制器与存储器存储装置 | |
CN107678977B (zh) | 一种计数器的读写方法及装置 | |
CN110377538B (zh) | 存储器管理方法以及存储控制器 | |
CN113421605B (zh) | 一种电能表存储器寿命测试方法及装置 | |
US9880926B1 (en) | Log structured reserved zone for a data storage device | |
CN114300026A (zh) | 一种单调计数器、计数方法、电子设备及存储介质 | |
US20200394510A1 (en) | Method of training artificial intelligence to estimate lifetime of storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |