潍柴动力决定采用基于模型的设计,以 MATLAB® 和 Simulink® 来设计和实现共轨柴油发动机 ECU 软件。他们为此组建了一支控制和软件产品化的团队,并培训新工程师学会使用新工具。公司还与 MathWorks Consulting 合作来建立使用产品ECU进行快速原型开发的能力,方便潍柴和集团公司以及其它客户进行协作开发。
潍柴动力的工程师们从了解系统需求入手,使用 Simulink 和Stateflow® 开发了一套发动机控制器模型。他们使用Stateflow对发动机运行状态控制、轨压控制和诊断管理系统中的状态转换逻辑进行建模。
工程师们参照业内已被广泛使用的MathWorks Automotive Advisory Board (MAAB)的指南建立了潍柴的建模规范。在模型开发过程中,他们使用 Simulink 中的 Model Advisor 来检查,确保模型符合标准。
使用 Simulink Requirements™ 该团队将文本需求与 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 设计复用于轻型柴油发动机。