System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及电能表领域,具体而言,涉及一种电能表数据同步方法、装置、电能表及存储介质。
技术介绍
1、电能表采用计量芯和管理芯的双芯模式,双芯电表的法制计量功能与非计量功能相互独立,管理芯作为非计量部分的功能升级,不影响计量芯作为法制计量部分的准确性和稳定性。
2、目前,升级电能表内核时,需对电能表管理芯中的带电可擦可编程只读存储器(electrically erasable programmable read only memory,简称eeprom)和快闪存储器(flash)进行先擦除后烧录新程序的操作。eeprom数据被擦除后,会出现表地址显示异常的现象,电能表只能显示程序默认的表地址,与实际表地址不符。在升级程序时,需重新手动设置每一只电能表的表地址,以使得电能表显示的表地址与实际表地址一致,出错率较高,极大的降低了程序升级效率。
3、因此,在升级电能表内核时,如何自动化实现电能表地址的正常显示是目前亟需解决的问题。
技术实现思路
1、本申请的目的在于,针对上述现有技术中的不足,提供一种电能表数据同步方法、装置、电能表及存储介质,以解决现有技术中升级电能表内核时出现表地址显示异常的实际需要的问题。
2、为实现上述目的,本申请实施例采用的技术方案如下:
3、第一方面,本申请实施例提供一种电能表数据同步方法,应用于电能表中的管理芯,所述电能表包括计量芯和所述管理芯,所述方法包括:
4、在所述电能表上电启动时,确定所述管理
5、若是,则执行数据同步操作,所述数据同步操作包括:从所述计量芯中读取所述电能表的实际表地址,并将所述实际表地址存储至所述电能表的目标缓存区中,以使得所述带电可擦可编程只读存储器从所述目标缓存区中读取所述实际表地址,并将所述带电可擦可编程只读存储器的初始化程序中的表地址替换为所述实际表地址。
6、作为一种可选的实现方式,所述确定所述管理芯的带电可擦可编程只读存储器中存储的程序是否为初始化程序,包括:
7、读取同步标志的当前值;
8、确定所述同步标志的当前值是否为预设的第一值;
9、若是,则确定所述管理芯的带电可擦可编程只读存储器中存储的程序为初始化程序,并且,将所述同步标志的当前值修改为预设的第二值。
10、作为一种可选的实现方式,所述从所述计量芯中读取所述电能表的实际表地址,并将所述实际表地址存储至所述电能表的目标缓存区中,包括:
11、将所述表地址对应的同步标志的值修改为预设的第三值;
12、在所述同步标志的值为所述第三值时,从所述计量芯中读取所述电能表的实际表地址,并将所述实际表地址存储至所述电能表的目标缓存区。
13、作为一种可选的实现方式,所述将所述表地址对应的同步标志的值修改为预设的第三值,包括:
14、遍历同步标志结构体,所述同步标志结构体用于存储多个需要同步的参数项的标识以及所述参数项的同步标志的值;
15、若当前遍历到的所述同步标志结构体中的当前参数项的标识为所述表地址,则将所述当前参数项的同步标志的值修改为所述第三值。
16、作为一种可选的实现方式,所述方法还包括:
17、若当前遍历到的所述同步结构体中的当前参数项的标识为所述表地址之外的目标参数项的标识,则将所述当前参数项的同步标志的值修改为所述目标参数项对应的预设的第四值。
18、作为一种可选的实现方式,所述方法还包括:
19、确定所述带电可擦可编程只读存储器的初始化程序中的表地址是否成功替换为所述实际表地址;
20、若否,则将所述同步标志的当前值修改为所述第一值,并重新从所述计量芯中读取所述电能表的实际表地址,并将所述实际表地址存储至所述电能表的目标缓存区中,以使得所述带电可擦可编程只读存储器从所述目标缓存区中读取所述实际表地址,并将所述带电可擦可编程只读存储器的初始化程序中的表地址替换为所述实际表地址。
21、作为一种可选的实现方式,所述执行数据同步操作,包括:
22、执行预设次数的数据同步操作,所述预设次数大于1。
23、第二方面,本申请实施例提供一种电能表数据同步装置,所述装置包括:
24、确定模块,用于在所述电能表上电启动时,确定所述管理芯的带电可擦可编程只读存储器中存储的程序是否为初始化程序,其中,在所述初始化程序中,所述电能表的表地址为默认地址;
25、同步模块,用于若是,则执行数据同步操作,所述数据同步操作包括:从所述计量芯中读取所述电能表的实际表地址,并将所述实际表地址存储至所述电能表的目标缓存区中,以使得所述带电可擦可编程只读存储器从所述目标缓存区中读取所述实际表地址,并将所述带电可擦可编程只读存储器的初始化程序中的表地址替换为所述实际表地址。
26、作为一种可选的实现方式,所述确定模块具体用于:
27、读取同步标志的当前值;
28、确定所述同步标志的当前值是否为预设的第一值;
29、若是,则确定所述管理芯的带电可擦可编程只读存储器中存储的程序为初始化程序,并且,将所述同步标志的当前值修改为预设的第二值。
30、作为一种可选的实现方式,所述同步模块具体用于:
31、将所述表地址对应的同步标志的值修改为预设的第三值;
32、在所述同步标志的值为所述第三值时,从所述计量芯中读取所述电能表的实际表地址,并将所述实际表地址存储至所述电能表的目标缓存区。
33、作为一种可选的实现方式,所述同步模块具体用于:
34、遍历同步标志结构体,所述同步标志结构体用于存储多个需要同步的参数项的标识以及所述参数项的同步标志的值;
35、若当前遍历到的所述同步标志结构体中的当前参数项的标识为所述表地址,则将所述当前参数项的同步标志的值修改为所述第三值。
36、作为一种可选的实现方式,所述同步模块还用于:
37、若当前遍历到的所述同步结构体中的当前参数项的标识为所述表地址之外的目标参数项的标识,则将所述当前参数项的同步标志的值修改为所述目标参数项对应的预设的第四值。
38、作为一种可选的实现方式,所述同步模块还用于:
39、确定所述带电可擦可编程只读存储器的初始化程序中的表地址是否成功替换为所述实际表地址;
40、若否,则将所述同步标志的当前值修改为所述第一值,并重新从所述计量芯中读取所述电能表的实际表地址,并将所述实际表地址存储至所述电能表的目标缓存区中,以使得所述带电可擦可编程只读存储器从所述目标缓存区中读取所述实际表地址,并将所述带电可擦可编程只读存储器的初始化程序中的表地址替换为所述实际表地址。
41、作为一种本文档来自技高网...
【技术保护点】
1.一种电能表数据同步方法,其特征在于,应用于电能表中的管理芯,所述电能表包括计量芯和所述管理芯,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述确定所述管理芯的带电可擦可编程只读存储器中存储的程序是否为初始化程序,包括:
3.根据权利要求1所述的方法,其特征在于,所述从所述计量芯中读取所述电能表的实际表地址,并将所述实际表地址存储至所述电能表的目标缓存区中,包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述表地址对应的同步标志的值修改为预设的第三值,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述执行数据同步操作,包括:
8.一种电能表数据同步装置,其特征在于,所述装置包括:
9.一种电能表,其特征在于,包括管理芯和计量芯,所述管理芯中包括处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的电能表数据同步方法的步骤。
...【技术特征摘要】
1.一种电能表数据同步方法,其特征在于,应用于电能表中的管理芯,所述电能表包括计量芯和所述管理芯,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述确定所述管理芯的带电可擦可编程只读存储器中存储的程序是否为初始化程序,包括:
3.根据权利要求1所述的方法,其特征在于,所述从所述计量芯中读取所述电能表的实际表地址,并将所述实际表地址存储至所述电能表的目标缓存区中,包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述表地址对应的同步标志的值修改为预设的第三值,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求2所述...
【专利技术属性】
技术研发人员:王子豪,丁小燕,黄顺双,周炜,卢健航,
申请(专利权)人:宁波三星智能电气有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。