潍柴动力借助基于模型的设计实现高压共轨柴油发动机 ECU 软件自主开发

“对比我们过去的手工编码经验,基于模型的设计让我们的人工成本降低了 30%,测试成本缩减了 20%,而生产效 率却得到了 30% 以上的提升。我们早于原定计划完成了 ECU 开发,同时还建立起了自己的自主开发团队。”

挑战

组建一支发动机控制和嵌入式软件产品化团队, 培养自主开发能力,并在36个月内完成首期投 产项目

解决方案

使用基于模型的设计为共轨柴油发动机设计、 实现并测试控制策略和 ECU 软件,同时在 MathWorks 咨询工程师的支持下培养团队的软 件开发能力和专长

结果

  • 开发时间缩短 40%
  • 集成测试时间减半
  • 60% 的设计得以复用

潍柴动力的一款高压共轨柴油发动机 。

潍柴动力在重型发动机领域处于全球领先地位。长期以来,潍柴的柴油发动机控制器 (ECU) 和燃油系统均由供应商提供。公司从战略层面考虑计划开发自己的高压共轨柴油发动机控制策略和 ECU 软件。潍柴实现自主开发的目的是降低成本、复用核心功能并根据客户需求实现发动机控制策略快速开发,从而提升潍柴动力的竞争力和创新能力。

潍柴动力组建了一支控制策略和嵌入式软件团队,采用基于模型的设计来开发共轨柴油 ECU软件。

潍柴动力电控技术研究所所长李大明说道:“基于模型的设计所提供的图形化设计和自动代码生成功能减少了软件缺陷、改进了软件可维护性和复用性,还降低了软件开发的难度。基于模型的设计让我们能够在最短的时间内建立起一支由发动机领域及控制领域人员组成的开发团队,有效减少专业代码编程人员的占比。这些优点大大降低了开发成本。”

挑战

虽然潍柴动力一直进行发动机控制研究和原型设计,但是之前没有开发过产品化的大型ECU嵌入式控制系统和软件。

潍柴动力希望采用汽车业内广泛使用的一套开发方法和工具。他们需要招聘并培训工程师来开发和测试 ECU 软件,并在中国国 IV 排放标准生效之前投入生产。因此,他们也希望能够顺利引入新工具,缩短学习过程。

解决方案

潍柴动力决定采用基于模型的设计,以 MATLAB® 和 Simulink® 来设计和实现共轨柴油发动机 ECU 软件。他们为此组建了一支控制和软件产品化的团队,并培训新工程师学会使用新工具。公司还与 MathWorks Consulting 合作来建立使用产品ECU进行快速原型开发的能力,方便潍柴和集团公司以及其它客户进行协作开发。

潍柴动力的工程师们从了解系统需求入手,使用 Simulink 和Stateflow® 开发了一套发动机控制器模型。他们使用Stateflow对发动机运行状态控制、轨压控制和诊断管理系统中的状态转换逻辑进行建模。

工程师们参照业内已被广泛使用的MathWorks Automotive Advisory Board (MAAB)的指南建立了潍柴的建模规范。在模型开发过程中,他们使用 Simulink 中的 Model Advisor 来检查,确保模型符合标准。

使用 Requirements Toolbox™ 该团队将文本需求与 Simulink 中实现该需求的模型元素相关联,保证了需求和模型之间的追溯性。

该团队创建了一个基于Simulink 的整车、后处理系统和包括燃油、扭矩、进排气子系统的发动机模型。他们用闭环仿真的方式对控制设计进行验证。

他们使用 Simulink Design Verifier™ 创建了测试向量。然后将这些测试向量与 Simulink Coverage™ 和 Simulink Check™ 结合使用,找出模型中的死逻辑并实现完全的模型覆盖率。

使用 Fixed-Point Designer™,工程师们通过仿真过程中自动记录得到的最小和最大数据值结合该工具建议的定点数据类型,将浮点模型转换为定点。

在对浮点和定点模型仿真结果进行对比完成定点转换验证后,团队使用 Embedded Coder® 从控制模型生成了 C 代码。

使用 Simulink,他们在 PC 上执行了软件在环测试,在 ETAS® PT-LABCAR 仿真器上执行了硬件在环测试。

该团队使用 Embedded Coder 为该产品级 ECU 生成了超过 340,000 行有效代码。生成的代码涵盖了 100% 的应用软件。超过85%的CAN 应用层程序和故障诊断代码也从模型中自动生成。

使用 MATLAB,该团队开发了车辆行驶工况软件,用于在ECU投产初期测试和数据分析。

共轨柴油发动机 ECU 目前已投产用于重型卡车、工程机械和发电设备。潍柴动力打算将该 ECU 设计复用于轻型柴油发动机。

结果

  • 开发时间缩短 40%. “我们从全新的 ECU 开发到后续的验证完成只用了 36 个月,这比我们的原定计划节约了 40% 的时间,”李大明说道。“借助基于模型的设计以及 MathWorks 咨询工程师的支持,我们工程师培训的时间也缩短很多。此外,使用 Embedded Coder 从我们的 Simulink 模型生成兼容于 MISRA® 的代码也显著缩短了实现高质量软件所需的时间。”
  • 集成测试时间减半. “由于在整个开发阶段可以通过 Simulink 仿真实现连续的测试,我们在集成测试前就能够发现 60–70% 的缺陷,”李大明说道。“因此,我们的集成测试时间大约少用了一半。”
  • 60% 的设计得以复用. “我们目前正在开发一种压缩天然气发动机 ECU,这项开发大约复用了60%的初始项目的模型,”李大明说道。“这种复用让新 ECU 的开发时间得以缩短了一半。”