整体思路

上图为部分具体开发流程,基本上为:先根据需求定义架构和接口,给到应用层和底层做同步开发,测试完成后进行集成并编译链接烧录,最后进行系统测试。详细可参考V模型和ASPICE流程标准。
其中,标定量的设置贯穿在很多过程域中,具体为:应用层开发(标定量存储类型的设置),底层开发(支持XCP/CCP通信协议),和系统标定(CANape)。下面挨个解释。
0. simulink添加标定量
先概述一下:进行simulink开发应用层时,模型一般包含3个部分:model、data和configset。model代表算法,data一般为观测量、标定量和常量的设置等,configset则是硬件配置和一些生成代码高级定制。具体详见simulink自动代码生成专栏。
simulink添加标定量和进行代码生成的核心就是data中数据字典的管理。(这里也要说明一点我个人体会:simulink生成代码虽然降低了软件开发的门槛,但如果想要用好这个工具还是要先去了解一些c、计算机组成原理和操作系统的知识。)
假设现在我们有如下model: OutB=(InA+1)*2

生成代码后如下,其中的红圈Constant_1和红圈Gain_1为float类型的定值:1.0F和2.0F。

现在想把这两个地方设置为可标定量。需要两步:1)给可标定量起个变量名,2)设置该变量的存储类型。首先第一步起名字为calib_1和calib_2:

然后设置calib_1和calib_2的存储类型,这里需要用到数据字典data dictionary。数据字典是matlab推崇的用于统一管理模型变量(如标定量)的工具,可较细致的控制变量的定义、声明、数据类型和存储类型等。方法如下:
右键模型选中model properties

选择data选项卡,新建或浏览现有数据字典(这里使用新建):
Simulink标定流程

本文详细介绍使用Simulink进行汽车电子控制单元(ECU)标定的过程,包括如何在Simulink中设置标定量,生成代码及A2L文件,以及如何使用CANape进行实际标定。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



