CN104021464A - 一种模型集成调度系统 - Google Patents
一种模型集成调度系统 Download PDFInfo
- Publication number
- CN104021464A CN104021464A CN201410304767.3A CN201410304767A CN104021464A CN 104021464 A CN104021464 A CN 104021464A CN 201410304767 A CN201410304767 A CN 201410304767A CN 104021464 A CN104021464 A CN 104021464A
- Authority
- CN
- China
- Prior art keywords
- task
- angle
- trigger
- model
- degree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
一种模型集成调度系统,包括依次相连的基本参数输入模块、任务触发器、任务分配模块和集成模型,所述任务触发器内设置有依次连接的角度步长计算器、角度累加器和任务触发模块,所述集成模型中设置有多个任务函数模块,所述任务触发器设置有任务函数列表,任务函数列表中的任务函数名与集成模型中的任务函数模块一一对应。本发明触发的任务包括初始化任务、角度任务和时间任务且任务触发器精度可调,同传统模型集成调度系统相比,本发明的任务触发类型更全面,通用性更强,任务触发精度更高。
Description
技术领域
本发明涉及一种发动机电子控制单元(ECU)的模型集成调度系统,属于发动机技术领域。
背景技术
ECU软件的开发大都采用基于模型的设计,Simulink是其中一种最常用的建模工具,目前对模型的执行主要是基于时间的调度,即使有segment调度,也只是实现了简单的180度调用一次,没有将任务细化,存在着通用性差、任务触发精度不高、调度方式与模型实际运行机制相差较大等缺点,致使模型集成测试不够准确、也不够充分。另外,如果集成的模型发生变化,触发源也会发生变化,触发信号改动较大,费时费力。
发明内容
本发明的目的是提供一种通用性强,任务触发精度高的模型集成调度系统。
本发明所述问题是以下述技术方案实现的:
一种模型集成调度系统,包括依次相连的基本参数输入模块、任务触发器、任务分配模块和集成模型,所述任务触发器内设置有依次连接的角度步长计算器、角度累加器和任务触发模块,所述集成模型中设置有多个任务函数模块,所述任务触发器设置有任务函数列表,任务函数列表中的任务函数名与集成模型中的任务函数模块一一对应。
上述模型集成调度系统,所述模型集成调度系统按如下方式运作:
a.发动机运行时,基本参数输入模块向任务触发器输出以下信号:发动机转速信号RPM、0号缸压缩上止点对应曲轴转角TDC0_Deg、缺齿后第二个齿的下降沿对应曲轴转角S0_FIRST_Deg、缺齿后第二十二个齿的下降沿对应曲轴转角S1_FIRST_Deg和系统仿真步长dT;所述TDC0_Deg、S0_FIRST_Deg、和S1_FIRST_Deg这三个参数是系统定义的参考点,分别对应108度、0度、120度,然后TDC、S0、S1分别每隔180度、即每个冲程出现一次,从而触发相应任务;
b. 角度步长计算器接收到由基本参数输入模块送来的发动机转速RPM和系统仿真步长dT后,利用下式计算出角度步长trgSSDeg:
trgSSDeg=RPM*6*dT,
然后将计算结果发送到角度累加器;
c. 角度累加器将接收到的角度步长进行累加(初始值默认为0度),以模拟曲轴转角,同时将累加值与发动机曲轴一个工作循环所转过的角度进行比较,如果累加值超过曲轴一个工作循环所转过的角度,则将角度累加器重置为0度,重新累加,周而复始,角度累加器输出的曲轴转角值送入任务触发模块;
d. 任务触发器接收角度累加器输出的曲轴转角信号并根据该信号和其内部步长计数器的计数值输出相应的任务触发信号,具体触发的任务包括初始化任务、角度任务和时间任务;
e. 任务分配模块根据任务触发器输出的任务触发信号和任务函数列表中的任务函数名调用集成模型中相应的任务函数模块;
利用EasyCode编译链接工具,将模型生成代码、代码自动编译链接、生成A2L文件,将Simulink模型、数据字典、调度信息、底层驱动程序集成生成可执行文件,利用P&E下载器下载到ECU开发板中。
上述模型集成调度系统,所述任务触发器触发角度任务的条件是:若上一个执行周期曲轴转角到当前曲轴转角覆盖目标角度,则触发相应的角度任务。
上述模型集成调度系统,所述角度任务包括S0任务和S1任务,对于四缸GDI发动机,S0任务对应的触发角度为0度、180度、360度和540度,S1任务对应的触发角度为120度、300度、480度和660度。
上述模型集成调度系统,所述任务触发器为每个时间任务分配一个步长计数器,计数器对系统仿真步长进行累加,当计数器的输出信号达到设定值时,任务触发器输出该时间任务的触发信号,并将计数器重置为0,以便进行该任务的下一次触发。
上述模型集成调度系统,对于四缸GDI发动机,时间任务对应的时间为1ms、10ms、20ms、50ms、100ms和200ms。
上述模型集成调度系统,所述任务函数列表中的任务函数名按优先级列于相应任务的.txt文件中,并通过.m文件与集成模型中的对应任务函数模块的触发信号相关联。
上述模型集成调度系统,所述系统仿真步长设为小于等于0.0001s;数值越小,系统仿真精度越高。
本发明触发的任务包括初始化任务、角度任务和时间任务且任务触发器精度可调,同传统模型集成调度系统相比,本发明的任务触发类型更全面,通用性更强,任务触发精度更高。本系统通过.m文件将.txt文件中任务函数列表与模型及触发信号关联,模型修改效率更高。
附图说明
下面结合附图对本发明作进一步详述。
图1为带调度的模型集成方案;
图2为角度步长计算流程图;
图3为角度累加流程图;
图4为任务触发器设计流程图;
图5为初始化任务触发流程图;
图6为TDC信号触发流程图;
图7为角度任务S0、S1触发流程图;
图8为时间任务触发流程图;
图9为任务列表;
图10为任务分配示意图;
图11为模型集成示意图。
文中各符号清单为:RPM、发动机转速信号,TDC0_Deg、0号缸压缩上止点对应曲轴转角,S0_FIRST_Deg、缺齿后第二个齿的下降沿对应曲轴转角,S1_FIRST_Deg、缺齿后第二十二个齿的下降沿对应曲轴转角,dT、系统仿真步长。
具体实施方式
本发明将发动机转速转化为角度步长(精度由系统仿真时间决定),通过角度累加来模拟曲轴转角(0到720度),通过与目标角度比较判断是否达到相应角度,从而触发相应角度任务(S0或S1),时间任务通过计数器来实现,任务触发器用来实现集成模型的调度。主要由基本参数输入模块、任务触发器(角度步长计算器、角度累加器、任务触发模块)、任务函数列表、任务分配模块和集成模型组成,图1中,虚线框表示ECU软件开发的其他环节,不在本发明介绍范围内,通过充分测试的模型会与基础软件集成,最终代码要下载到ECU中。
该调度系统是通过Simulink建模实现,将发动机相关参数(发动机转速,即每分钟曲轴转过的角度,可以反映不同时刻,发动机处于哪个工作行程,是进气行程、压缩行程、做功行程,还是排气行程,从而应该控制哪些任务执行,如喷油或点火)和系统参数(角度位置定义和仿真步长)作为系统输入,从发动机转速中提取发动机位置信息,从而触发相应任务。
基本参数输入模块
输出的基本输入参数包含:
RPM(发动机转速):发动机转速可以是定值,也可以是实时变化的量;
TDC0_Deg(0号缸压缩上止点对应曲轴转角):一般定义为108度(以曲轴缺齿后第二个齿的下降沿视为0点),1号缸、2号缸、3号缸对应压缩上止点分别为:288度、468度、648度;
S0_FIRST_Deg(缺齿后第二个齿的下降沿对应曲轴转角):一般定义为0度,相邻两个S0之间间隔角度为180度;
S1_FIRST_Deg(缺齿后第二十二个齿的下降沿对应曲轴转角):一般定义为120度,相邻两个S1之间间隔角度为180度,S0与S1之间的关系是:S0比S1早120度,或比S1落后60度;SO与S1用于不同功能的角度同步控制,例如,喷油控制使用S0同步,点火控制使用S1同步,与发动机四个冲程工作原理有关系。
dT(系统仿真步长):该参数决定着整个系统的精度,可以任意调节。
任务触发器
此部分是方案的核心,用于模拟底层操作系统任务触发调度机制,包含角度步长计算器、角度累加器和任务触发模块:
1.角度步长计算器
将发动机转速(1/min)转化为每秒转过的角度,再乘以系统仿真步长,便得到角度步长,在调度系统模型运行时,系统仿真步长dT一般要求不能大于0.001秒,例如,dT=0.0001秒,如果发动机转速为每分钟3000转,利用以下公式可计算出角度步长为1.8度,也就是每个调度系统模型运行周期(0.0001秒),模拟的曲轴转角转过1.8度。
计算公式为:
trgSSDeg=RPM*360*dT/60=RPM*6*dT
即:角度步长=发动机转速*6*系统仿真步长
当发动机转速实时变化时,角度步长也会随着变化。
2.角度累加器
对于四缸GDI发动机来说,一个工作循环(进气、压缩、做功、排气),曲轴转两圈,即720度。此部分通过角度累加器实现,初始值默认为0度,将角度步长(随发动机转速的变化而变化)累加,累加值与720度比较,如果超过720度,则将累加器重置为0度,重新累加,周而复始,这样就可以模拟实际曲轴转角。利用Simulink来搭建角度累加模块。
角度累加器设计流程图如图3所示。
3.任务触发模块
具体触发的任务包括:
初始化任务:模拟ECU上电初始化,模型运行第一步触发该任务,之后不再执行;
角度任务触发:包括S0和S1任务,S0对应的触发角度为0度、180度、360度和540度,S1任务对应的触发角度为120度、300度、480度和660度,任务触发模块是通过判断上一个执行周期曲轴转角到当前曲轴转角是否覆盖目标角度来决定是否触发相应的角度任务。
角度任务主要针对的是对发动机同步要求较高的任务,例如喷油必须在发动机工作的压缩行程进行,由于发动机转速时刻在变化,因此,两个缸的压缩行程之间的时间间隔是变化的,无法用时间任务来实现,因此出现了角度任务,以曲轴转角作为参考,在曲轴转到一定角度时,对应不同的工作行程,通过曲轴转角实现角度任务同步,实现压缩行程精确喷油。
时间任务触发:主要包含1ms、10ms、20ms、50ms、100ms和200ms任务,如果需要,还可以添加其他任务,时间任务是通过计数器来实现的,每个时间任务对应一个计数器,计数器对系统仿真步长进行累加,当达到相应时间时,触发该时间任务,并将计数器重置为0,以便该任务的下一次触发。
时间任务主要针对于那些对同步无要求而对时间周期要求较高的任务,如一些传感器的信号采集,节气门的控制等。
任务触发器设计流程图如图4所示,通过Simulink中的Stateflow来实现。
任务触发器具体实现如下:
初始化任务触发
在Stateflow中定义标志位B_init初始值为布尔量1,进入Stateflow流程图后首先会判断B_init是否为1,如果为真,B_init会被赋值为0,同时初始化任务事件被触发一次,之后不再触发。
设计流程图如图5所示。
TDC信号触发
针对于四缸机,每个缸的压缩上止点触发一个脉冲信号,此信号可用于观察TDC位置,也可用于任务触发。
通过比较上一执行周期曲轴转角到当前曲轴转角是否覆盖目标角度(TDC)来判断当前曲轴转角是否到达TDC,对于四缸机,TDC之间相隔180度。
设计流程图如图6所示。
角度任务S0、S1触发
通过比较上一执行周期曲轴转角到当前曲轴转角是否覆盖目标角度(S0或S1)来判断当前曲轴转角是否到达TDC,对于四缸机,相邻S0之间相隔180度,相邻S1之间也是相隔180度,S0默认从0度开始(可以任意设置),S1从120度开始,这样相邻S0和S1之间,S0超前S1角度为120度,或者S0落后S1角度为60度。每个工作循环,曲轴转两圈,四个缸按照1、3、4、2顺序分别喷油和点火,S0和S1任务分别会被触发4次来实现喷油和点火控制。
设计流程图如图7所示。
时间任务触发
时间任务包含1ms、10ms、20ms、50ms、100ms、200ms任务,如果需要还可以添加。通过设置相应计数器,来控制各个任务的触发,设计流程图如图8所示,例如,系统仿真步长设为0.0001s,即0.1ms,则系统仿真运行10次,1ms任务触发1次,运行100次,10ms任务触发一次,其他时间任务以此类推。
任务函数列表
根据发动机控制需求,将不同任务函数名分别按照先后顺序(优先级)列于相应任务的.txt文件中。如图9所示。这些文件包含了整个控制系统的任务调度信息。
4、任务分配模块
txt文件(txt是文本文件,里面列的是任务函数名,体现的是整个系统的调度信息,.m文件是MATLAB中的脚本文件,用于实现文本文件与模型文件之间的关联,在MATLAB环境下运行M脚本文件,会将文本文件中的调度信息导入到模型中,自动生成与文本文件中列的函数顺序对应的触发信号,用于集成模型的调度。)中的任务函数列表与集成模型中的任务函数模块是一一对应的,按照任务类型和优先级进行了分类,放在不同的任务.txt文件中,通过.m文件可以将.txt文件中的函数与模型中对应的任务函数模块触发信号相关联,当集成模型中的任务函数模块发生变化时,通过修改.txt文件中的任务函数列表,运行.m文件,模型中的任务触发信号会自动改变,与需要集成的模型自动对应。
通过MATLAB编写.m脚本文件,可以将.txt文件中的任务函数名导入到Simulink中,任务触发器输出的各类任务触发信号会按照任务函数数量及顺序分别分割为多个触发信号,一一对应各个任务函数,通过Goto和From模块传递触发信号来调用相应任务函数模块。
goto模块和from模块是Simulink中的基本信号传递模块,两者一块使用,goto模块可以将其输入连接的信号传递给from模块输出连接的信号,goto和from模块允许信号之间无实线连接而实现信号传递,一个goto可以对应多个from模块。
5、集成模型
集成模型中的子模块是按照任务类型区分的,每个任务子模块与.txt文件中的任务函数列表一一对应,也就是和任务触发信号是一一对应的,每个任务子模块的触发信号从任务触发信号中选取(通过.txt和.m文件已经在任务触发器中自动生成)。模型的调度机制模拟的是底层操作系统任务调度机制,集成模型加上调度后,运行机制与底层实际代码运行机制更接近,这样模型的测试会更准确,更充分。另外,对集成的每个任务子模块代码生成项进行了设置,生成的代码,会按照任务类型区分开,同一种任务类型的函数会生成到同一个文件中,便于后期的代码集成与测试。
集成模块触发信号通过Goto和From模块传递,从总线模块中选择对应的任务函数。
模块参数设置中的代码生成设置中可以设置模块生成代码对应的函数名,一般与模块名一致,还可以设置生成代码文件名,当多个函数设置的代码生成文件名一样时,这些函数会按照执行顺序将代码生成到同一个文件中,这也是我们所需的,将同类任务生成到同一个文件中,不同任务生成到不同文件中,按照任务类型区分,便于后期代码集成。
Claims (8)
1.一种模型集成调度系统,其特征是,包括依次相连的基本参数输入模块、任务触发器、任务分配模块和集成模型,所述任务触发器内设置有依次连接的角度步长计算器、角度累加器和任务触发模块,所述集成模型中设置有多个任务函数模块,所述任务触发器设置有任务函数列表,任务函数列表中的任务函数名与集成模型中的任务函数模块一一对应。
2.根据权利要求1所述的模型集成调度系统,其特征是,所述模型集成调度系统按如下方式运作:
a. 发动机运行时,基本参数输入模块向任务触发器输出以下信号:发动机转速信号(RPM)、0号缸压缩上止点对应曲轴转角TDC0_Deg、缺齿后第二个齿的下降沿对应曲轴转角S0_FIRST_Deg、缺齿后第二十二个齿的下降沿对应曲轴转角S1_FIRST_Deg和系统仿真步长dT;所述TDC0_Deg、S0_FIRST_Deg、和S1_FIRST_Deg这三个参数是系统定义的参考点,分别对应108度、0度、120度,然后TDC、S0、S1分别每隔180度、即每个冲程出现一次,从而触发相应任务;
b. 角度步长计算器接收到由基本参数输入模块送来的发动机转速RPM和系统仿真步长dT后,利用下式计算出角度步长trgSSDeg:
trgSSDeg=RPM*6*dT,
然后将计算结果发送到角度累加器;
c. 角度累加器将接收到的角度步长进行累加,初始值默认为0度,以模拟曲轴转角,同时将累加值与发动机曲轴一个工作循环所转过的角度进行比较,如果累加值超过曲轴一个工作循环所转过的角度,则将角度累加器重置为0度,重新累加,周而复始,角度累加器输出的曲轴转角值送入任务触发模块;
d. 任务触发器接收角度累加器输出的曲轴转角信号并根据该信号和其内部步长计数器的计数值输出相应的任务触发信号,具体触发的任务包括初始化任务、角度任务和时间任务;
e. 任务分配模块根据任务触发器输出的任务触发信号和任务函数列表中的任务函数名调用集成模型中相应的任务函数模块;
利用EasyCode编译链接工具,将模型生成代码、代码自动编译链接、生成A2L文件,将Simulink模型、数据字典、调度信息、底层驱动程序集成生成可执行文件,利用P&E下载器下载到ECU开发板中。
3.根据权利要求2所述的模型集成调度系统,其特征是,所述任务触发器触发角度任务的条件是:若上一个执行周期曲轴转角到当前曲轴转角覆盖目标角度,则触发相应的角度任务。
4.根据权利要求3所述的模型集成调度系统,其特征是,所述角度任务包括S0任务和S1任务,对于四缸GDI发动机,S0任务对应的触发角度为0度、180度、360度和540度,S1任务对应的触发角度为120度、300度、480度和660度。
5.根据权利要求4所述的模型集成调度系统,其特征是,所述任务触发器为每个时间任务分配一个步长计数器,计数器对系统仿真步长进行累加,当计数器的输出信号达到设定值时,任务触发器输出该时间任务的触发信号,并将计数器重置为0,以便进行该任务的下一次触发。
6.根据权利要求5所述的模型集成调度系统,其特征是,对于四缸GDI发动机,时间任务对应的时间为1ms、10ms、20ms、50ms、100ms和200ms。
7.根据权利要求6所述的模型集成调度系统,其特征是,所述任务函数列表中的任务函数名按优先级列于相应任务的.txt文件中,并通过.m文件与集成模型中的对应任务函数模块的触发信号相关联。
8.根据权利要求7所述的模型集成调度系统,其特征是,所述系统仿真步长设为小于等于0.0001s;数值越小,系统仿真精度越高。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410304767.3A CN104021464B (zh) | 2014-06-30 | 2014-06-30 | 一种模型集成调度系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410304767.3A CN104021464B (zh) | 2014-06-30 | 2014-06-30 | 一种模型集成调度系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104021464A true CN104021464A (zh) | 2014-09-03 |
CN104021464B CN104021464B (zh) | 2017-09-26 |
Family
ID=51438204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410304767.3A Active CN104021464B (zh) | 2014-06-30 | 2014-06-30 | 一种模型集成调度系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104021464B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775757A (zh) * | 2016-12-31 | 2017-05-31 | 惠州市蓝微新源技术有限公司 | 一种bms的matlab建模集成方法 |
CN112866032A (zh) * | 2021-02-06 | 2021-05-28 | 深圳库博能源科技有限公司 | 一种基于软件定义与流程的储能调度网关配置方法 |
-
2014
- 2014-06-30 CN CN201410304767.3A patent/CN104021464B/zh active Active
Non-Patent Citations (1)
Title |
---|
徐帅卿: "高性能ECU平台的开发及其应用研究", 《中国博士学位论文全文数据库 工程科技Ⅱ辑 》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775757A (zh) * | 2016-12-31 | 2017-05-31 | 惠州市蓝微新源技术有限公司 | 一种bms的matlab建模集成方法 |
CN112866032A (zh) * | 2021-02-06 | 2021-05-28 | 深圳库博能源科技有限公司 | 一种基于软件定义与流程的储能调度网关配置方法 |
CN112866032B (zh) * | 2021-02-06 | 2023-10-20 | 深圳库博能源科技有限公司 | 一种基于软件定义与流程的储能调度网关配置方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104021464B (zh) | 2017-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101968630B (zh) | 自动变速箱控制器仿真试验台 | |
CN104573193B (zh) | 一种航天器gnc系统快速设计方法 | |
CN101871843B (zh) | 一种曲轴与凸轮轴模拟信号产生方法及其装置 | |
CN104573182A (zh) | 一种用于飞行器多模态控制系统的设计方法 | |
CN103699035B (zh) | 一种车用发动机硬件在环仿真过程中的信号匹配方法及装置 | |
CN102033543A (zh) | 用于分布式嵌入系统的自动测试用例生成的方法及系统 | |
CN103092082B (zh) | 一种驾驶员在环车辆性能优化仿真试验系统 | |
CN104460646A (zh) | 用于对虚拟控制器进行实时测试的测试装置 | |
CN104898647A (zh) | 一种ecu台架自动标定仿真测试系统 | |
CN107463147A (zh) | Plc程序开发方法及装置 | |
CN104866419A (zh) | 一种虚拟平台以及应用层软件测试方法及系统 | |
CN103631256B (zh) | 一种发动机信号模拟仿真测试台及其测试ecu的方法 | |
CN1315044C (zh) | 控制逻辑模拟-验证方法和模拟-验证个人计算机 | |
CN103135545B (zh) | 一种自动变速器控制器半实物仿真测试系统 | |
CN104021464A (zh) | 一种模型集成调度系统 | |
CN205002963U (zh) | 作动筒负载模拟装置及半物理仿真试验器 | |
CN201740647U (zh) | 发动机控制器测试系统 | |
US20150142405A1 (en) | Method For Simulating The Operation Of An Internal Combustion Engine And Device For Carrying Out The Method | |
CN104034530A (zh) | 一种柴油机后处理测试平台 | |
CN102540906B (zh) | 一种曲轴与凸轮轴模拟信号产生方法 | |
CN203773344U (zh) | 一种发动机信号模拟仿真测试台 | |
EP2341448A1 (en) | An electronic control unit and a method of performing interpolation in the electronic control unit | |
CN102692920A (zh) | 一种ecu爆震闭环控制的测试系统及其测试方法 | |
CN106709079A (zh) | 润滑系统仿真方法及装置 | |
Li et al. | Design and application of the ECU application software components library for diesel engine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |