当前位置:网站首页>ModelCoder状态机:对柴油机工况判断策略进行建模
ModelCoder状态机:对柴油机工况判断策略进行建模
2022-07-30 12:04:00 【迪捷软件】
1.柴油机ECU简介
柴油机是用柴油作燃料的内燃机,属于压缩点火式发动机。柴油机ECU(Electronic Control Unit,电子控制单元)的主要功能有:
接受来自柴油机上的各个传感器信号;
进行工况判断;
根据开发人员事先编写的控制策略与标定存储的各类MAP(汽车工程上常用的实验数据图),计算判断在当前工况下的所需的喷油量、喷油正时与喷射压力等控制参数;
通过功率驱动模块控制执行器输出。
柴油机ECU可使发动机时刻处于动力性、经济性与尾气排放的最佳工作状态。由此可见,在发动机电子控制系统中,执行器的动作是根据ECU中控制策略发出的控制信号执行的,因此ECU的控制策略是影响ECU控制功能的关键因素。
柴油机ECU控制策略模块如下:
工况判断模块是柴油机电子控制系统控制策略与柴油机工况信息的接口,柴油机的燃油喷射控制必须根据发动机工况采用相应的控制策略;
喷油量计算模块是ECU根据不同柴油机运行工况对喷油量进行计算以满足其运行要求的控制策略;
喷油率控制模块是ECU根据当前柴油机运行工况选择合适的喷油规律的控制策略;
轨压控制模块与喷油正时控制模块根据当前运行工况喷油量与发动机运行状态参数获取供油脉宽、供油时刻、喷油脉宽及喷油时刻等参数;
驱动模块根据轨压、喷油控制模块要求,驱动燃油计量单元和喷油器电磁阀以实现轨压控制与喷油控制。
▲图1:ECU控制策略模块框架
2. ModelCoder状态机对柴油机工况判断策略进行建模
柴油机起动工况是柴油机运行工况中较为重要的工况。柴油机有着启动时间较短的特性,启动结束后将立即进入到怠速工况,因此应在进行测试用例执行时,厘清当前柴油机处于何种运行工况,从而选择相应的测试用例进行测试。为此,开发人员需要先对柴油机运行工况划分策略进行研究分析,开发出运行工况测试用例。
▲图2:柴油发动机运行状态
根据图2所示的ECU工作状态与各工况特点,可将柴油机运行工况划分为3种状态:起动状态、正常运转状态以及停机检测状态。
各个运行工况状态之间的切换通过发动机协调器实现。发动机协调器是状态机的一种,根据协调ECU电源T15开关状态与柴油机转速等信号,使柴油机运行工况得以在上述三个状态间进行切换,并将状态值赋给柴油机状态信号,输出至整个电控系统控制策略中相应的控制模块。
起动状态:ECU初始化完成后,柴油机进入起动状态,ECU切换至起动工况,控制策略内部相关控制模块如起动转矩模块开始工作,此时柴油机状态信号将被赋值为2。当检测到起动状态信号时,柴油机运行工况切换至正常运转状态。若T15开关在启动过程中被打开,柴油机运行状态将马上切换至停机检测状态。
正常运转状态:该状态包含除柴油机起动与停机工况外的其余所有工况。柴油机启动完成后,在未打开T15开关前,柴油机都将一直处于此运行工况,此时柴油机状态信号将被赋值为4。一旦将T15开关打开,柴油机运行状态将切换至停机检测状态。当柴油机在正常运转过程中转速下降,并长时间小于重新起动限定转速值时,柴油机运行状态将切换回起动状态,重新启动柴油机。
停机检测状态:若在柴油机处于起动或正常运转状态时打开T15开关,则柴油机将停止运行并将运行工况切换至停机检测状态,此时柴油机状态信号将被赋值为1,ECU在此状态不会立刻断电,而是开始运行相关测试程序并将某些重要数据存储至其内部带电可擦可编程只读存储器中。在停机检测状态下闭合T15开关,柴油机运行状态将切换回起动状态。
上述柴油机工况判断策略完全符合ModelCoder状态机(全称为有限状态自动机,是现实事物运行规则抽象而成的数学模型)对事物不同状态之间转换进行建模的逻辑。使用ModelCoder对柴油机工况判断策略建模的细节如图3与图4所示。
▲图3:ModelCoder建模
▲图4:ModelCoder状态机对柴油机工况判断策略进行建模
3. ModelCoder仿真结果
▲图5:ModelCoder仿真结果
点击ModelCoder仿真按钮可以得到如图5所示的仿真结果。通过以上分析可知,在柴油机运行工况划分策略中,T15开关信号是一个非常重要的外部输入开关信号,而柴油机状态信号则是一个非常重要的状态输出信号。因此在进行柴油机运行工况测试用例开发时,需要对这两个信号设置相应的测量点进行检测,以准确判断柴油机当前运行工况。
边栏推荐
- Interviewer: Redis bloom filter and the cuckoo in the filter, how much do you know?
- Apifox generates interface documentation tutorial and operation steps
- 基于时延估计的扰动卡尔曼滤波器外力估计
- MySQL中的select,from, join, on where groupby等执行顺序
- Matlab基础(3)——元胞与结构体
- 基于空间特征选择的水下目标检测方法
- Horizontal comparison of 5 commonly used registration centers, whether it is used for interviews or technical selection, is very helpful
- Transfer Learning Technology Training
- 不用if分支对同一个变量做判断的方法
- 作业7.29 目录相关函数和文件属性相关函数
猜你喜欢
Apifox 生成接口文档 教程与操作步骤
[BJDCTF2020]Cookie is so stable-1|SSTI注入
Matlab绘图(1)——二维绘图
IO/多路复用(select/poll/epoll)
win下怎么搭建php环境的方法教程
Horizontal comparison of 5 commonly used registration centers, whether it is used for interviews or technical selection, is very helpful
单片机工程师笔试题目归纳汇总
AlphaFold预测了几乎所有已知蛋白质!涵盖100万物种2.14亿结构,数据集开放免费用...
电脑奔溃的时候,到底发生了什么?
IO/multiplexing (select/poll/epoll)
随机推荐
基于多目标两阶段随机规划方法的电热联合系统调度
文本的对齐方式、行高、空间 等总结
Flexible distribution parameters of mechanical system modeling and control of research and development
The use and principle of distributed current limiting reduction RRateLimiter
Reverse linked list - iterative inversion method
LeetCode_236_Last Common Ancestor of a Binary Tree
What happened when the computer crashed?
京东二面痛遭中间件虐杀,30天学透这套中间件小册,挺进阿里
[BJDCTF2020]Cookie is so stable-1|SSTI注入
[Cloud-Building Co-creation] Huawei Cloud and Hongmeng collaborate to cultivate innovative developers
反转链表-迭代反转法
云原生应用的概念和云原生应用的 15 个特征
PanGu-Coder: Function-level code generation model
Farmers on the assembly line: I grow vegetables in a factory
如何用Golang来手撸一个Blog - Milu.blog 开发总结
打破原则引入SQL,MongoDB到底想要干啥???
Concepts of cloud-native applications and 15 characteristics of cloud-native applications
unity初学6——简易的UI制作(血条制作)和音频加入以及NPC的对话气泡(2d)
Matlab基础(0)——命令行常用指令
Vivado安装后添加器件库