当前位置:网站首页>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开关信号是一个非常重要的外部输入开关信号,而柴油机状态信号则是一个非常重要的状态输出信号。因此在进行柴油机运行工况测试用例开发时,需要对这两个信号设置相应的测量点进行检测,以准确判断柴油机当前运行工况。
边栏推荐
- Rust 从入门到精通02-安装
- Based on the analysis of the acoustic channel cable tunnel positioning technology
- 周鸿祎:微软抄袭了360安全模式 所以成为美国最大的安全公司
- Redis 主从复制
- PyQt5快速开发与实战 8.2 绘图 && 8.3 QSS的UI美化
- 【CVA估值训练营】如何快速读懂上市公司年报——第五讲
- TensorFlow custom training function
- 2022-07-29 顾宇佳 学习笔记 异常处理
- C# 时间戳与时间的互相转换
- Verilog grammar basics HDL Bits training 07
猜你喜欢

限时招募!淘宝无货源副业,800/天,不限经验,男女皆可,仅限前200名!

Horizontal comparison of 5 commonly used registration centers, whether it is used for interviews or technical selection, is very helpful

什么是驱动程序签名,驱动程序如何获取数字签名?

Verilog grammar basics HDL Bits training 08

单片机工程师笔试题目归纳汇总

Manage reading notes upward

LeetCode_235_Last Common Ancestor of Binary Search Tree
![[BJDCTF2020]Cookie is so stable-1|SSTI injection](/img/48/34955bbe3460ef09a5b8213c7cc161.png)
[BJDCTF2020]Cookie is so stable-1|SSTI injection

C# 枚举类型 于xaml 中区别

历时两月,终拿字节跳动offer,算法面试题分享「带答案」
随机推荐
Based on sliding mode control of uncertain neutral system finite time stable
Matlab基础(2)——向量与多项式
概率论的学习整理--番外2:和二项式,组合相关的杨辉三角
数据湖(十八):Flink与Iceberg整合SQL API操作
LeetCode_236_Last Common Ancestor of a Binary Tree
Zhou Hongyi: Microsoft copied the 360 security model and became the largest security company in the United States
11 年膨胀 575 倍,微信为何从“小而美”变成了“大而肥”?
Microsoft SQL server hacked, bandwidth stolen
EXCEL解决问题:如何查找目标区域,是否包含指定字符串?
概率论的学习整理1: 集合和事件
Interviewer: Redis bloom filter and the cuckoo in the filter, how much do you know?
概率论的学习和整理--番外4: 关于各种平均数:算术平均数,几何平均数,调和平均数,以及加权平均数和平方平均数 (未完成)
Matlab绘图(1)——二维绘图
概率论的学习整理--番外1:可重复且无次序的计数公式C(n+k-1,k) 的例题 : 同时丢3个骰子,会有多少种情况?答案不是216而是56!
【32. 图中的层次(图的广度优先遍历)】
OneNote如何修改已有的笔记本为默认的快速笔记?
概率论得学习整理--番外3:二项式定理和 二项式系数
Apifox generates interface documentation tutorial and operation steps
概率论得学习和整理6:概率的分布
ECCV 2022 | 新加坡国立大学提出:全新可恢复型模型遗忘框架LIRF!