一种电池管理系统初始化的方法和装置
技术领域
本发明涉及电池管理系统技术领域,尤其涉及一种电池管理系统初始化的方法和装置。
背景技术
在储能软件行业中,往往需要成百上千个不同的参数来确保系统的正常运行并与外界进行交互;而这些参数都有不同的属性和属性值(以系统电压为例,对于不同规模的项目,电压的正常范围不同,显示的单位不同,有的项目使用V,有的项目使用mV;显示时的精度也不相同,有的项目使用3位有效小数,也有的项目要求4位有效小数)。对于上述参数的变化,当参数较少时可以轻松的在软件编码时进行修改;但当参数过多时,在软件编码中进行修改的工作量十分庞大,且应用在不同的项目中要对代码进行不同的适应性修改,每次修改过后需要重新编译,费时费力,不利于软件维护,也不利于软件的模块复用。
发明内容
本发明的目的在于提出一种电池管理系统初始化的方法和装置,能够将系统参数的配置从系统开发中独立出来,根据不同的项目需求进行配置,方便系统的维护,实现电池管理系统安全、高效的初始化。
为达此目的,本发明采用以下技术方案:
一方面,提供一种电池管理系统初始化的方法,包括:
设置系统参数的配置文件;
调用所述配置文件,载入所述配置文件的系统参数进行系统初始化。
其中,所述设置系统参数的配置文件包括:
为多个系统参数设置相同的属性;
为多个系统参数的每个属性设置属性值。
其中,所述设置系统参数的配置文件之后,所述调用所述配置文件,载入所述配置文件的系统参数进行系统初始化之前,还包括:
设置所述配置文件的版本信息;
将包含所述版本信息和所述系统参数的配置文件转换为二进制文件。
其中,所述获取所述配置文件,载入所述配置文件的系统参数进行系统初始化,包括:
获取并解析所述二进制文件,得到所述配置文件的版本信息;
若所述版本信息与所述电池管理系统的版本信息一致,则载入所述配置文件的系统参数进行系统初始化。
其中,所述载入所述配置文件的系统参数进行系统初始化,包括:
解析所述二进制文件,得到所述配置文件的系统参数并根据所述系统参数在电池管理系统的内存中建立虚拟参数表;
将所述电池管理系统的系统参数的属性值更改为所述虚拟参数表中相应的值。
另一方面,提供一种电池管理系统初始化的装置,包括:
配置文件设置模块,用于设置系统参数的配置文件;
系统初始化模块,用于调用所述配置文件,载入所述配置文件的系统参数进行系统初始化。
其中,配置文件设置模块设置系统参数的配置文件具体用于:
为多个系统参数设置相同的属性;为多个系统参数的每个属性设置属性值。
其中,配置文件设置模块设置系统参数的配置文件之后,还用于:
设置所述配置文件的版本信息;将包含所述版本信息和所述系统参数的配置文件转换为二进制文件。
其中,系统初始化模块调用所述配置文件,载入所述配置文件的系统参数进行系统初始化,具体用于:
获取并解析所述二进制文件,得到所述配置文件的版本信息;若所述版本信息与所述电池管理系统的版本信息一致,则载入所述配置文件的系统参数进行系统初始化。
其中,系统初始化模块载入所述配置文件的系统参数进行系统初始化,具体用于:
解析所述二进制文件,得到所述配置文件的系统参数并根据所述系统参数在电池管理系统的内存中建立虚拟参数表;将所述电池管理系统的系统参数的属性值更改为所述虚拟参数表中相应的值。
本发明的有益效果为:
本发明通过设置系统参数的配置文件,将系统参数的配置从系统开发中独立出来,所述电池管理系统通过调用所述配置文件来使用系统参数,开发者和维护者通过修改所述配置文件,就能达到修改系统中的系统参数的目的,如此更有利于系统的维护,且便于对不同的项目做适应性修改,减少系统开发的工作量。同时,经过配置的系统参数的数据格式更符合系统的要求,减少了系统因无效值或非法值而报错的情况。
附图说明
图1是本发明实施例一提供的电池管理系统初始化的方法的流程图。
图2是本发明实施例二提供的电池管理系统初始化的方法的流程图。
图3是本发明实施例三提供的电池管理系统初始化的装置的示意图。
具体实施方式
为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例一
图1是本发明实施例一提供的电池管理系统初始化的方法的流程图。如图1所示,一种电池管理系统初始化的方法,由一种电池管理系统初始化的装置来执行,该装置可以采用软件和/或硬件的方式实现,一般集成于终端内部。所述方法包括如下步骤:
S101,设置系统参数的配置文件。
所述系统参数指电池管理系统中使用的各种参数,例如电压、电流、剩余电量、温度等;为每个系统参数设置相同的属性,例如最大值、最小值、默认值、计量单位、显示单位、由计量单位转换到显示单位的转换比例等。计量单位为电池管理系统运算时各参数的单位,显示单位即项目中需要电池管理系统实际显示的数值的单位。
如表1所示,所示配置文件以表格的形式存储各系统参数的属性值,根据项目的不同,各属性的精度要求也可在设置配置文件时表示出来。表中系统参数、属性、数值仅作为示例,不限制本实施例的保护范围。
表1
S102,调用所述配置文件,载入所述配置文件的系统参数进行系统初始化。
系统初始化时,调用所述配置文件,将所述配置文件的系统参数载入内存中形成虚拟参数表,将所述电池管理系统中相应的系统参数的属性值更改为所述虚拟参数表中的值。
所述电池管理系统运行过程中,采集到的数值与虚拟参数表中的值进行比对,对无效值和非法值进行差错处理:如过滤无效值、将非法值的数据格式转换为规范的数据格式。所述无效值,即数值范围不在系统参数的最大值与最小值限定范围内的值;所述非法值,即数值范围符合要求,但数值精度或单位等不符合要求的值。
本实施例通过设置系统参数的配置文件,将系统参数的配置从系统开发中独立出来,所述电池管理系统通过调用所述配置文件来使用系统参数,开发者和维护者通过修改所述配置文件,就能达到修改系统中的系统参数的目的,如此更有利于系统的维护,且便于对不同的项目做适应性修改,减少系统开发的工作量。同时,参照配置文件中系统参数的数据格式,对系统采集或生成的非法值或无效值进行差错处理,减少系统因无效值或非法值而报错的情况。
实施例二
图2是本发明实施例二提供的电池管理系统初始化的方法的流程图。如图2所示,本实施例在实施例一的基础上,增加了版本信息校验,并将配置文件转换为二进制文件,进一步保证系统运行的安全。具体步骤如下:
S201,为多个系统参数设置相同的属性。
S202,为多个系统参数的每个属性设置属性值。
如步骤S101所述,为每个系统参数设置相同的属性,为每个属性设置属性值,所述属性值符合项目的精度和显示单位的要求。
S203,设置所述配置文件的版本信息。
所述版本信息说明了所述配置文件适用于哪个版本的电池管理系统。
S204,将包含所述版本信息和所述系统参数的配置文件转换为二进制文件。
使用特定的脚本程序(如VB、Python等语言编写的脚本程序)将配置文件转换为二进制文件,其中,所述版本信息封装在二进制文件的文件头。
S205,获取并解析所述二进制文件,得到所述配置文件的版本信息。
使用相应的解析程序,将所述二进制文件解析出来,首先得到封装在文件头中的版本信息。
S206,判断所述版本信息与所述电池管理系统的版本信息是否一致,若是,执行步骤S207,否则执行步骤S209。
系统初始化时,获取所述电池管理系统的版本信息,与步骤S205中解析出来的所述版本信息进行比对,若比对结果一致,可进行下一步的初始化操作;若比对结果不一致,则初始化失败。
S207,解析所述二进制文件,得到所述配置文件的系统参数并根据所述系统参数在电池管理系统的内存中建立虚拟参数表。
步骤S206比对结果一致之后,继续进行后续的解析,将二进制文件解析出来,得到转换前所述配置文件的系统参数,并根据所述系统参数在内存中建立虚拟参数表。
S208,将所述电池管理系统的系统参数的属性值更改为所述虚拟参数表中相应的值。
从内存中读取所述虚拟参数表中的值,对所述电池管理系统中相应的系统参数的属性值进行修改,用于在系统运行中,对采集到的数据或生成的数据进行过滤,减少系统报错的处理量。
S209,初始化失败。
对于版本信息与所述电池管理系统的版本不一致的配置文件,不予加载到系统内存中,提示用户初始化失败,应更换正确版本的配置文件再重新进行初始化。
本实施例为所述配置文件添加了版本信息,在所述电池管理系统初始化时进行版本校验,校验结果有利于及时发现版本不符合要求的配置文件,尽早更换,避免系统运行出错才发现配置文件不符导致的时间和经济损失;且将所述配置文件转换成二进制文件再放入系统中使用,利用二进制文件的特点保证配置文件中的系统参数的信息安全;再者,将解析后的二进制文件载入系统该内存形成虚拟参数表,系统运行时直接从内存读取所述系统参数,与每次都读取二进制文件相比,速度更快。
实施例三
图3是本发明实施例三提供的电池管理系统初始化的装置的示意图。如图3所示,一种电池管理系统初始化的装置,用于执行上述实施例所述的电池管理系统初始化的方法,实现相同的目的,达到同样的有益效果。所述装置包括:配置文件设置模块10和系统初始化模块20。
配置文件设置模块10,用于设置系统参数的配置文件。
系统初始化模块20,用于调用所述配置文件,载入所述配置文件的系统参数进行系统初始化。
其中,配置文件设置模块10设置系统参数的配置文件具体用于:
为多个系统参数设置相同的属性;为多个系统参数的每个属性设置属性值。
其中,配置文件设置模块10设置系统参数的配置文件之后,还用于:
设置所述配置文件的版本信息;将包含所述版本信息和所述系统参数的配置文件转换为二进制文件。
其中,系统初始化模块20调用所述配置文件具体用于:
获取并解析所述二进制文件,得到所述配置文件的版本信息;若所述版本信息与所述电池管理系统的版本信息一致,则载入所述配置文件的系统参数进行系统初始化。
其中,系统初始化模块20载入所述配置文件的系统参数进行系统初始化,具体用于:
解析所述二进制文件,得到所述配置文件的系统参数并根据所述系统参数在电池管理系统的内存中建立虚拟参数表;将所述电池管理系统的系统参数的属性值更改为所述虚拟参数表中相应的值。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。