李哲帅,周文华,聂 飞
(浙江大学 能源工程学院,浙江 杭州 310027)
目前,世界上主流柴油机电控喷油系统就是高压共轨系统,而控制软件的开发成为至关重要的环节[1]。随着控制功能越来越多,基于扭矩的控制算法越来越复杂化[2],传统手写代码的开发模式已难以胜任,采用基于模型的开发模式[3-5],便于控制策略后续修改完善。共轨压力控制是一个实时控制系统[6],为追求良好的响应和控制精度,需要不断摸索最优控制算法,采用模型设计方法将会极大减轻设计工作量,缩短开发周期。
通过Embedded Coder可将Simulink控制模型转换为C代码,但从C代码到可下载至单片机运行的包含程序和数据的十六进制文件(HEX文件),仍有许多工作要做,如C代码编译链接、数据单元描述文件(ASAM MCD-2MC language, A2L)地址更新等,若人工执行,耗时耗力且容易出错。此外,模型数据管理也是个问题。
针对基于模型开发中这两个无法回避的问题,本文将利用脚本开发模型一键生成HEX工具,将Simulink模型直接转换为HEX文件。
模型自动生成HEX工具autorun.m主要包含两部分:数据管理和HEX文件生成。具体实现流程如图1所示。
数据管理主要实现用Excel管理转换公式和模型数据。HEX文件生成包含模型编译、任务调度、代码后处理、编译链接和A2L文件更新。autorun.m脚本编写是建立在通用文件夹基础架构上的,通用文件夹基础架构如图2所示。

图2 通用文件夹基础架构
本研究采用常用的Excel实现数据统一管理,用于模型仿真测试、代码生成及A2L自动生成,其相较于m文件、mat文件、sldd格式的数据字典等[7],更加清晰直观,并可利用Excel诸多便捷功能。……