CN111273895B - 一种电池管理系统模块开发软件集成方法 - Google Patents

一种电池管理系统模块开发软件集成方法 Download PDF

Info

Publication number
CN111273895B
CN111273895B CN201911076250.2A CN201911076250A CN111273895B CN 111273895 B CN111273895 B CN 111273895B CN 201911076250 A CN201911076250 A CN 201911076250A CN 111273895 B CN111273895 B CN 111273895B
Authority
CN
China
Prior art keywords
data
module
software
modules
defining
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
CN201911076250.2A
Other languages
English (en)
Other versions
CN111273895A (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.)
Zhejiang Zero Run Technology Co Ltd
Original Assignee
Zhejiang Zero Run 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 Zhejiang Zero Run Technology Co Ltd filed Critical Zhejiang Zero Run Technology Co Ltd
Priority to CN201911076250.2A priority Critical patent/CN111273895B/zh
Publication of CN111273895A publication Critical patent/CN111273895A/zh
Application granted granted Critical
Publication of CN111273895B publication Critical patent/CN111273895B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种电池管理系统模块开发软件集成方法。为了克服现有技术软件开发耦合、功能扩展困难问题;本发明包括以下步骤:S1:对BMS的软件进行分层、分模块管理;定义数据管理层DIL,用于负责模块的数据管理和模块之间的数据交互;S2:模块之间接口的统一,定义DIL的接口函数和模块的接口函数名;S3:调用模块接口,进行数据交互;使用统一的接口函数,获取和释放定义在DIL的数据。本发明将软件模块化管理,解除软件之间的耦合关系,能够协调研发团队同步开发,独立运行和调试各功能模块,最后进行集成功能集成测试。模块之间由DIL连接,只需保持模块之间的接口定义,就能够允许不同人以不同方法实现相同的功能,提高兼容性和功能的扩展性。

Description

一种电池管理系统模块开发软件集成方法
技术领域
本发明涉及一种软件开发和集成领域,尤其涉及一种电池管理系统模块开发软件集成方法。
背景技术
随着电动汽车的发展,对电动汽车的核心部件电池要求越来越高,同时随着行业对功能安全的越来越重视,作为电池的管理系统控制也越来越复杂,软件控制复杂度越来越高,软件代码量也越来越大。研发团队的重心落在电池应用层面的研究,开发和测试。而目前的BMS软件架构采用的是面向过程的应用执行体系,往往是一个人开发一个项目的所用软件,从而导致代码复用率低,模块相互之间耦合度高,软件代码的移植性差,软件单元测试困难,软件错误率高的问题。
有在其他领域的软件模块化开发集成的方法,例如,一种在中国专利文献上公开的“针对电能表软件的模块化设计方法”,其公告号“CN 109271146A”,包括电能表软件分层设计、电能表软件模块定义、模块交互定义、软件模块配置管理和电能表软件最小系统;电能表软件分层设计用于将电能表软件分层设计并定义各层级的内容和调用规则;电能表软件模块定义用于建立统一的软件功能模块模型;模块交互定义用于定义各个软件模块之间的数据交互规则;软件模块配置管理用于对软件模块进行功能配置选项的宏定义;电能表软件最小系统用于定义电能表软件的最小配置方案。该方法虽然对软件进行模块化区分,但是模块之间直接进行数据交互,在开发时对不同人员以不同开发方式开发的兼容性和扩展性差。
发明内容
本发明主要解决现有技术软件开发耦合、功能扩展困难问题;提供一种电池管理系统模块开发软件集成方法,使各模块进行解耦合独立运行,同时能方便模块的集成、扩展。
本发明的上述技术问题主要是通过下述技术方案得以解决的:
本发明包括以下步骤:
S1:对动力电池管理系统(BMS)的软件进行分层、分模块管理;定义数据管理层(DIL),用于负责模块的数据管理和模块之间的数据交互;
S2:模块之间接口的统一,定义数据管理层(DIL)的接口函数和模块的接口函数名;
S3:调用模块接口,进行数据交互;使用统一的接口函数,获取和释放定义在DIL的数据。
使用分层模式架构,再将每层的软件模块化管理,各模块之间解耦合独立运行,协调研发团队同步开发,独立运行和调试各功能模块,最后进行集成功能集成测试。方便功能的软件模块的开发和集成。各单元模块有明确的接口定义,提高模块的可测性。模块与模块之间由数据管理层(DIL)连接,只需保持模块与模块之间的接口定义,就能够允许不同人以不同方法实现相同的功能。
作为优选,所述的步骤S1包括以下步骤:
S11:采用分层模式软件架构,将BMS系统构架划分为底层和应用层;
S12:根据功能的不同,将底层和应用层划分为若干个功能模块;
S13:定义数据管理层(DIL),用于负责模块的数据管理和各模块的数据交互。
先采用分层模式软件架构将软件分层,再将每层的软件按功能划分为不用的模块,将软件模块化管理,可协调研发团队同步开发,独立运行和调试各功能模块,最后进行集成功能集成测试。定义数据管理层(DIL)来管理数据和模块间的数据交互,只需保持模块的接口定义,允许不同人以不同方法实现相同的功能,提高兼容性和功能扩展能力。
作为优选,以基础软件和应用软件为区别进行分层,基础软件划分为底层,包括ECU的驱动模块、通讯模块、服务模块、系统调度模块;应用软件划分为应用层,包括完成项目需求的功能逻辑和算法。将软件分层管理,便于进一步的将软件模块化,解除软件之间的耦合关系,提高软件的复用能力。
作为优选,所述的DIL接口函数的定义包括在DIL中定义所有交互信号获取的接口函数GET和释放的接口函数SET;所述的模块接口函数名的定义包括定义各模块信号变量的获取和释放的接口函数名。数据管理层(DIL)用于管理数据和模块之间的数据交互。定义数据管理层(DIL)的获取和释放的接口函数,且定义各模块交互数据信号变量的获取和释放函数名。各个模块有明确的接口定义,模块的可测性得到提高。使用统一的接口函数,数据管理层(DIL)能够获取模块释放的交互数据,也能通过释放接口函数向模块释放数据。模块与模块之间由数据管理层连接,只需保持模块与模块之间的接口定义,就能允许不同人以不同方法实现相同的功能,提高兼容性和功能模块的扩展能力。避免信号变量直接在各模块之间进行传递,解除模块间的耦合关系。
作为优选,所述的步骤S2包括以下步骤:
S21:在数据管理层DIL中定义所有交互信号的获取接口函数GET和释放接口函数SET;
S22:使用Excel工具进行模块的数据管理,定义模块中数据的属性;
S23:通过MATLAB脚本语言将Excel管理的数据及定义的数据属性导入MATLAB的workspace中;
S24:使用MATLAB脚本语言,统一定义各模块变量获取和释放的接口函数名;
S25:使用MATLAB将workspace中的所有数据及定义的数据属性生成mat文件;
S26:将mat文件下发给模块开发负责人员。
通过MATLAB工具,将各数据通过脚本生成mat文件,通过mat文件完成项目负责人进行整体数据的管理,以及各功能模块开发负责人进行数据的获取。方便功能模块的开发。
作为优选,所述的步骤S21包括以下步骤:
S221:区分模块数据类型包括输入数据(var_in)、输出数据(var_out)、存储数据(eep_val)、标定数据(cal_val)和常量数据(cnst);
S222:定义数据属性包括名称(name)、描述(description)、数据类型(datatype)、维数(size)和初始值(initalvalue)。
通过excel完成各数据模块信号变量的梳理以及各变量的属性的管理,对模块的数据流分别梳理出输入数据、输出数据、存储数据、标定数据和常量数据。对各数据的属性梳理出包括数据的名称、描述、数据类型、维数以及初始值。用于规范化命名。
作为优选,所述的定义数据名称为对BMS项目数据变量名的规范命名;规范命名后的名称形式为存储类别(Storage-Class)组织形式(Organization-Form)模块识别符(Block-Identifier)_物理值(Physical-Value)_描述性文字(Descriptive-Name)_计量单位(Measurement-Unit)。通过规范化的数据命名规范,可通过数据的名称知道该数据的流向和属性。
本发明的有益效果是:
1.模块之间由数据管理层(DIL)连接,只需保持模块之间的接口定义,就能够允许不同人以不同方法实现相同的功能,提高兼容性和功能的扩展性。
2. 各模块有明确的接口定义,模块的可测性得到提高。
3. 软件模块化管理,解除软件之间的耦合关系,能够协调研发团队同步开发,独立运行和调试各功能模块,最后进行集成功能集成测试。
4. 通过规范化的数据命名规范,可通过数据的名称知道该数据的流向和属性。
附图说明
图1是本发明的一种方法流程图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:
一种电池管理系统模块开发软件集成方法,如图1所示,包括以下步骤:
S1:对动力电池管理系统(BMS)的软件进行分层、分模块管理;定义数据管理层(DIL),用于负责模块的数据管理和模块之间的数据交互。
S11:采用分层模式软件架构,将BMS系统构架划分为底层和应用层。
以基础软件和应用软件为区别进行分层,基础软件划分为底层,底层包括ECU的驱动模块、通讯模块、服务模块和系统调度模块。应用软件划分为应用层,应用层包括完成项目需求的功能逻辑和算法。
S12:根据功能的不同,将底层和应用层划分为若干个功能模块。
根据功能划分模块,从而完成整个复杂的软件系统模块的划分。软件模块化管理,可协调研发团队同步开发,独立运行和调试各功能模块,最后进行集成功能集成测试。
S13:定义数据管理层(DIL),用于负责模块的数据管理和各模块的数据交互。
通过分层管理定义数据管理层(DIL),该层主要负责管理各模块的数据管理以及各模型之间数据的交互。而软件模块之间不进行数据交互,整个系统所用的信号都经过DIL。
S2:模块之间接口的统一,定义数据管理层(DIL)的接口函数和模块的接口函数名。
S21:在数据管理层DIL中定义所有交互信号的获取接口函数GET和释放接口函数SET。
S22:使用Excel工具进行模块的数据管理,定义模块中数据的属性。
S221:区分模块数据类型包括输入数据(var_in)、输出数据(var_out)、存储数据(eep_val)、标定数据(cal_val)和常量数据(cnst)。
S222:定义数据属性包括名称(name)、描述(description)、数据类型(datatype)、维数(size)和初始值(initalvalue)。
将数据规范化命名。规范命名后的名称形式为存储类别(Storage-Class)组织形式(Organization-Form)模块识别符(Block-Identifier)_物理值(Physical-Value)_描述性文字(Descriptive-Name)_计量单位(Measurement-Unit)。
例如,标准化命名后的一个变量名为GeBSWB_U_MaxCellVolt_V。
其中,第一位G为存储类别(Storage-Class),代表整体类型(Global);还可以是C,代表标定类型(Calibration);L,代表本地类型(Local);S,代表常数类型(Constant);D,代表定义类型(Define);E,代表EEPROM类型。
第二位e为组织形式(Organization-Form),代表元素(Element);还可以是a,代表数组(Array);t,代表表格(Table);s,代表结构(Structure);n,代表非线性轴(NonlinearAxis)。
BSWB为模块识别符(Block-Identifier),表示来源。
U为物理值(Physical-Value),代表电压(Voltage);还可以是I,电流(Current);e,枚举(enumeration);b,布尔型(Boolean);N,数字(number);P,功率(Power);t,时间(Time);r,比率(ratio);S,速度(Speed);Cf,转换系数(Conversion factor);Cnt,次数(Count);f,频率(Frequency);T,温度(Temperature);R,电阻(Resistance);Q,数量(Quantity);E,能源(Energy)。
MaxCellVolt为描述性文字(Descriptive-Name),最大单元格。
V为计量单位(Measurement-Unit),伏。
规范化的数据命名规范,可通过数据的名称知道该数据的流向和属性。
S23:通过MATLAB脚本语言将Excel管理的数据及定义的数据属性导入MATLAB的workspace中。
S24:使用MATLAB脚本语言,统一定义各模块变量获取和释放的接口函数名。
各个模块有明确的接口定义,模块的可测性得到提高。
使用统一的接口函数,数据管理层(DIL)能够获取模块释放的交互数据,也能通过释放接口函数向模块释放数据。模块之间的信息交互都通过DIL进行,分别从DIL中提取和释放变量,避免信号变量直接在各模块之间进行传递,解除模块间的耦合关系。
模块与模块之间由数据管理层连接,只需保持模块与模块之间的接口定义,就能允许不同人以不同方法实现相同的功能,提高兼容性和功能模块的扩展能力。
S25:使用MATLAB将workspace中的所有数据及定义的数据属性生成mat文件。
S26:将mat文件下发给模块开发负责人员。
通过MATLAB工具,将各数据通过脚本生成mat文件,通过mat文件完成项目负责人进行整体数据的管理以及各功能模块开发负责人进行数据的获取,方便功能模块的开发。
S3:调用模块接口,进行数据交互;使用统一的接口函数,获取和释放定义在DIL的数据。
模块之间的信息交互都通过DIL进行,分别从DIL中提取和释放变量,避免信号变量直接在各模块之间进行传递,解除模块间的耦合关系。
本发明使用分层软件架构,将软件模块化管理,解除软件之间的耦合关系,能够协调研发团队同步开发,独立运行和调试各功能模块,最后进行集成功能集成测试。各模块有明确的接口定义,模块的可测性得到提高。模块之间由数据管理层(DIL)连接,只需保持模块之间的接口定义,就能够允许不同人以不同方法实现相同的功能,提高兼容性和功能的扩展性。通过规范化的数据命名规范,可通过数据的名称知道该数据的流向和属性。

Claims (6)

1.一种电池管理系统模块开发软件集成方法,其特征在于,包括以下步骤:
S1:对动力电池管理系统的软件进行分层、分模块管理;定义数据管理层,用于负责模块的数据管理和模块之间的数据交互;
S2:模块之间接口的统一,定义数据管理层的接口函数和模块的接口函数名;
S3:调用模块接口,进行数据交互;使用统一的接口函数,获取和释放定义在数据管理层的数据;
所述的步骤S2包括以下步骤:
S21:在数据管理层中定义所有交互信号的获取接口函数GET和释放接口函数SET;
S22:使用Excel工具进行模块的数据管理,定义模块中数据的属性;
S23:通过MATLAB脚本语言将Excel管理的数据及定义的数据属性导入MATLAB的workspace中;
S24:使用MATLAB脚本语言,统一定义各模块变量获取和释放的接口函数名;
S25:使用MATLAB将workspace中的所有数据及定义的数据属性生成mat文件;
S26:将mat文件下发给模块开发负责人员。
2.根据权利要求1所述的一种电池管理系统模块开发软件集成方法,其特征在于,所述的步骤S1包括以下步骤:
S11:采用分层模式软件架构,将动力电池管理系统系统构架划分为底层和应用层;
S12:根据功能的不同,将底层和应用层划分为若干个功能模块;
S13:定义数据管理层,用于负责模块的数据管理和各模块的数据交互。
3.根据权利要求2所述的一种电池管理系统模块开发软件集成方法,其特征在于,以基础软件和应用软件为区别进行分层,基础软件划分为底层,包括ECU的驱动模块、通讯模块、服务模块、系统调度模块;应用软件划分为应用层,包括完成项目需求的功能逻辑和算法。
4.根据权利要求1所述的一种电池管理系统模块开发软件集成方法,其特征在于,所述的数据管理层接口函数的定义包括在数据管理层中定义所有交互信号获取的接口函数GET和释放的接口函数SET;所述的模块接口函数名的定义包括定义各模块信号变量的获取和释放的接口函数名。
5.根据权利要求1所述的一种电池管理系统模块开发软件集成方法,其特征在于,所述的步骤S21包括以下步骤:
S221:区分模块数据类型包括输入数据var_in、输出数据var_out、存储数据eep_val、标定数据cal_val和常量数据cnst;
S222:定义数据属性包括名称name、描述description、数据类型datatype、维数size和初始值initalvalue。
6.根据权利要求5所述的一种电池管理系统模块开发软件集成方法,其特征在于,所述的定义数据名称为对BMS项目数据变量名的规范命名;规范命名后的名称形式为存储类别Storage-Class组织形式Organization-Form模块识别符Block-Identifier_物理值Physical-Value_描述性文字Descriptive-Name_计量单位Measurement-Unit。
CN201911076250.2A 2019-11-06 2019-11-06 一种电池管理系统模块开发软件集成方法 Active CN111273895B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911076250.2A CN111273895B (zh) 2019-11-06 2019-11-06 一种电池管理系统模块开发软件集成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911076250.2A CN111273895B (zh) 2019-11-06 2019-11-06 一种电池管理系统模块开发软件集成方法

Publications (2)

Publication Number Publication Date
CN111273895A CN111273895A (zh) 2020-06-12
CN111273895B true CN111273895B (zh) 2023-08-22

Family

ID=70998715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911076250.2A Active CN111273895B (zh) 2019-11-06 2019-11-06 一种电池管理系统模块开发软件集成方法

Country Status (1)

Country Link
CN (1) CN111273895B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111769311B (zh) * 2020-06-30 2021-10-15 上海捷氢科技有限公司 一种氢燃料电池控制系统
CN116719586B (zh) * 2023-08-11 2024-01-19 宁德时代新能源科技股份有限公司 软件模块调用方法、装置、设备、存储介质和程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103377070A (zh) * 2012-04-12 2013-10-30 沈阳高精数控技术有限公司 一种现场总线接口抽象方法
CN105303464A (zh) * 2015-11-13 2016-02-03 威胜集团有限公司 智能电能表的数据管理系统
CN108376065A (zh) * 2018-03-01 2018-08-07 中国航空无线电电子研究所 构建模型驱动的航电软件开发环境的系统
CN109271146A (zh) * 2018-09-06 2019-01-25 威胜集团有限公司 针对电能表软件的模块化设计方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291439B2 (en) * 2006-09-21 2012-10-16 Convergys Information Management Group, Inc. Data platform web services application programming interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103377070A (zh) * 2012-04-12 2013-10-30 沈阳高精数控技术有限公司 一种现场总线接口抽象方法
CN105303464A (zh) * 2015-11-13 2016-02-03 威胜集团有限公司 智能电能表的数据管理系统
CN108376065A (zh) * 2018-03-01 2018-08-07 中国航空无线电电子研究所 构建模型驱动的航电软件开发环境的系统
CN109271146A (zh) * 2018-09-06 2019-01-25 威胜集团有限公司 针对电能表软件的模块化设计方法

Also Published As

Publication number Publication date
CN111273895A (zh) 2020-06-12

Similar Documents

Publication Publication Date Title
CN109254905B (zh) 基于工作流的分布式并行自动化测试系统
CN111273895B (zh) 一种电池管理系统模块开发软件集成方法
CN111782539B (zh) 一种基于国产操作系统的测试诊断一体化开发平台
CN108255649A (zh) 一种基于建模仿真协同分析的诊断策略设计方法
CN107728601B (zh) 一种对智能燃气表控制器进行集成测试的系统
CN101093517A (zh) 产品配置设计系统
CN102096849A (zh) 基于网络计划的流程管理设计方法
CN114236359B (zh) 面向ate测试设备的集成电路测试激励生成方法
CN111898328B (zh) 一种基于FPGA的SoC原型验证系统
CN116680885A (zh) 一种基于SysML和Tango的复杂装置控制软件建模与验证方法
CN102722601A (zh) 数控系统的模型转换形式化语义集成框架的实现方法
CN109783063A (zh) 面向信号的自动测试系统自检程序开发方法及装置
Peterson et al. Mapping a domain model and architecture to a generic design
CN106200623A (zh) 堆芯测量系统逻辑模块的半物理仿真测试装置
Mueller-Glaser et al. An approach to computer-aided specification
Boloix et al. Transformations using a meta-system approach to software development
Macher et al. Using model-based development for ISO26262 aligned HSI definition
CN110362906A (zh) 一种模拟车载电压动态变化环境的方法及系统
Mei et al. ATS software framework design pattern and application
CN112181368B (zh) 一种基于行为描述的移动应用开发方法
CN112287623B (zh) 一种基于fpga和v93000测试机的预测试平台
CN106776854A (zh) 一种适应地铁综合监控系统的数据黏合结构及处理方法
Eckstein Towards a module concept for object oriented specification languages
CN116483321A (zh) 一种基于Template的简单计算模型开发确认平台和确认方法
Gonne et al. Monitoring of mobile agents in large cluster systems

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
CB02 Change of applicant information

Address after: 310051 1st and 6th floors, no.451 Internet of things street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Zhejiang Zero run Technology Co.,Ltd.

Address before: 310051 1st and 6th floors, no.451 Internet of things street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: ZHEJIANG LEAPMOTOR TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant