动力电池BMS算法开发流程8.1.1算法开发的一般流程算法由初期设计到实际使用需要经历规范的开发流程。经典的BMS算法开发流程如图8-1所示:设计人员首先需要根据目标控制器需求,提出具体的可量化性能指标;然后进行系统控制策略的设计和数值仿真;再分别进行控制器的软硬件设计和系统集成;最后完成BMS的台架实验以及实车验证。经典BMS算法开发方法主要存在如下三个问题:①人工编程效率低。在软件设计阶段采用人工编程,代码的可靠性无法得到保证。另外,人工编程和调试将会耗费大量时间,拖延项目进度。②控制策略评价不及时。在尚未确定控制策略的特性及效果的前提下,直接进行控制器软件程序编写与硬件电路设计。在测试环节,若发现控制策略不满足需求,则开发人员需重新设计软硬件。③软硬件问题难以区分。控制器的软件部分与硬件部分均依赖于台架实验验证,对于某些设计缺陷,难以判断问题的根源,因此会降低开发效率。(开始)I需求分析控制策略°设计与仿真"软件设计硬件设计台架试验实车测试图8-1经典的BMS算法开发流程8・1・2基于模型的“V”开发流程相较于经典开发流程,“V”开发流程有利于尽早地发现当前算法存在的错误与不足,缩短开发周期,节省成本。图8-2所示为BMS核心算法基于模型的“V”开发流程。该流程中引入了半实物仿真,其最大的特点就是在系统仿真回路之中直接引入部分物理实物,使得仿真结果更接近实际值。半实物仿真常分为快速原型仿真与硬件在环仿真。相比数值仿真,半实物仿真不仅能检验设计算法的实时性,而且能显著提高仿真过程的准确性和真实性。在产品开发过程中,由于具有很高的置信度,半实物仿真实验能减少实车路试的次数,缩短开发时间,降低开发成本与风险。目前,半实物仿真实验已经成为BMS、电机控制器、整车控制器三大新能源汽车核心技术开发流程中非常重要的一环。“V”开发流程作为目前主流的汽车嵌入式系统开发方式,其主要分为如下几部分:1.系统定义系统定义具体实施步骤如图8-3所示,具体可分为三步:问题定义、可行性分析和需求分析。问题定义的意义在于发现所设计的管理系统需要解决的问题并制定相应的问题描述书;可行性硏究则根据目前行业发展现状,分析问题描述书中的问题是否合理以及是否具有足够的价值,并制定可行性报告;基于上述两步工作以及国家标准、行业规范等相关信息,需求分析致力于确定系统所需实现的功能,同时明确各项功能的可量化性能指标,并制定需求说明书。1①问题定丈问题描述书②可行性分析2.系统设计与仿真根据管理系统定义,运用相关理论完成核心算法、控制策略的综合设计,并将整个系统在计算机软件环境下实现,即实现虚拟控制器、虚拟被控对象与虚拟控制环境的建模与仿真,对系统指标、误差等进行早期快速评估。3.快速原型仿真测试快速控制原型(RapidControlPrototype,RCP)采用虚拟控制器结合实际被控对象完成控制系统仿真测试。通过将计算机软件环境下搭建的控制模型下载至标准的快速原型仿真平台,即可模拟实际控制器对实际被控对象的实时控制,以检验系统控制策略的各项功能。快速原型仿真测试的优势在于无须进行硬件设计、行业现狀国标、行标霁问题描述书可行性报告③需求分析需求说明书\丿图8-3系统定义具体实施步用门要求底层代码编写等复杂、耗时的工作,使设计人员能专注于控制算法的优化设计。4.代码自动生成基于规范建立模型,完成标准模板的参数配置后,自动生成可应用于实际控制器的代码。目前,代码自动生成技术已成为嵌入式系统快速开发的一项关键技术。MATLAB中的MAAB控制算法建模规范是一种常用的建模规范。5.软件仿真测试软件在环(SoftwareintheLoop,SIL)仿真测试用于检验自动生成的代码与设计算法的一致性。利用大量数据进行软件仿真测试,有利于尽早发现生成代码的漏洞。软件仿真测试与“V”开发流程中第二步的仿真过程均需用户在计算机软件环境下完成虚拟控制器、虚拟被控对象以及虚拟系统环境的搭建,实现闭环仿真,完成控制系统的测试评价。两者的区别在于后者的虚拟控制器是基于传统意义上的数学模型进行仿真,而前者是基于生成的高级语言代码进行仿真,更接近于实际使用。6.硬件...