本文直奔主题,分享一个例子:如何搭建ECU应用层软件模型。
假设我们需要计算车辆的滚动阻力,空气阻力和坡道阻力,如下所示:
如果你是在校学生或者没有任何Simulink建模经验的工程人员,在你了解了一些Simulink建模的基础知识后,你搭建的模型通常是下面这样子:
如果你稍微有一点点经验,可能你会注意可读性,比如改善一下信号的命名;可能你还会应用一些工程应用技巧,比如滚阻系数采用查表的方式,如下所示:
这是一个很好的开始,因为在这个过程中,你会逐渐思考一个又一个的问题,虽然有些问题不一定能立马找到答案,我相信能够逐渐解,这个过程中还是存在一个效率问题,如果一个问题其实可以1分钟解决,却花了几天才能解决。本质上是缺乏一个系统性的实践认知和经验,因此不继续列举如何一步一步向着ECU应用层软件模型逼近,本文直接给答案:
2 ECU应用层软件工程师建模
在信号命名方面,对信号名做一些规定的缩写,比如Vehicle缩写成Veh,Speed缩写成Spd等;添加一些有效的信息,比如Can表示来自于CAN通讯,DYN表示车辆动力学计算相关。
在建模规范方面,不同的信号类型用不同的颜色标记,比如输入信号用绿色标记,输出信号用浅蓝色标记,标定量用橙色标记,观测量用黄色标记,等等。
3)工程应用经验
4)可测试性,翻译成大白话就是:你的模型出了问题,你能否通过对已有可观测的信号(输入信号,输出信号,标定量和观测量等),快速地锁定哪里有问题。如果可观测的信号还不够,那么在建模的时候就应该考虑相应的增加可观测的信号。
3 小结
以上就是一个搭建ECU 应用层软件模型,到最终自动生成代码的例子,核心点是你想要生成怎样的代码,从而决定了你如何去搭建模型和设计数据字典,当然在建模这个过程中,你也需要掌握一些要点,有通用类的,也有经验类的。
当然本文没有展现太多的细节,如果对细节感兴趣,欢迎关注下篇文章,下篇文章直接从ECU 应用层软件模型的目标出发,即分享Simulink模型如何自动生成代码。
创作不易,欢迎关注点赞再看收藏!
汽车研发交流群,有兴趣的朋友请添加群主:prOmiseyes,备注:公司+职务入群。仅限汽车从业人员。