用于重新缩放可执行仿真模型的系统和方法与流程

文档序号:16244115发布日期:2018-12-11 23:24阅读:368来源:国知局
用于重新缩放可执行仿真模型的系统和方法与流程

本公开一般涉及建模的领域。更具体地,本公开涉及用于重新缩放可执行仿真模型的系统和方法。

背景技术

在系统设计和开发中经常使用基于计算机的建模环境,所述系统诸如汽车、器具、飞机以及其它系统。例如,建模环境可以用来设计供控制引擎使用的电子控制单元(ecu)嵌入式软件,所述引擎诸如内燃、电动或混合汽车动力系统。开发者可以在建模环境内创建ecu软件的可执行模型,并将其与引擎配对以反映所组装的引擎/被控对象系统的行为。为了开发和评估ecu控制软件模型,开发者还可以创建正被ecu控制的引擎的模型,并且可以将该ecu模型耦合到引擎模型。可以执行ecu和引擎模型,在此期间,ecu模型可以接收诸如驾驶员转矩请求之类的输入,并且可以生成诸如节气门位置、燃料喷射器脉冲宽度、点火提前、进排气凸轮移相器角度等的一个或多个引擎命令。引擎模型可以接收引擎命令并响应于来自ecu模型的引擎命令而产生引擎输出数据,诸如制动转矩、歧管压力、燃料流量、空气流量、排放等。可以对ecu模型进行评估和改善,直到其满足了针对ecu建立的规范和/或产生了针对引擎模型的令人满意的控制特性,通常涉及到针对给定的车辆应用所期望的燃料经济性、性能以及排放目标。当ecu模型和其相关联的校准参数集被开发成满足了性能、燃料经济性和排放控制规范时,可以为该ecu模型生成代码以用于硬件在环(hil)仿真中的最终开发和车辆硬件应用,届时,将会在产品释放之前考虑到引擎被控对象的模型与实际的引擎系统之间的误差来精调控制参数。例如,可以作为建模环境的一部分的代码生成器可以生成代码,诸如实施ecu模型行为的源代码。可以对所生成的代码和校准参数集进行编译并将其部署到诸如嵌入式系统之类的硬件平台上,从而实现物理ecu。

引擎模型可以被实施为集中(lumped)参数模型,其中正被建模的引擎的行为由模型元件的网络拓扑来表示,所述模型元件在一个或多个假设下共同近似引擎的行为。模型元件可以对各种引擎组件进行建模,所述引擎组件诸如节气门、进气歧管、引擎核心、排气歧管、排气系统、涡轮增压器等。可以对模型元件进行布置和互连以便定义引擎架构。模型元件可以包括支配模型元件的行为的可设置参数,诸如用于节气门元件的节气门直径、用于进气歧管的进气系统面积和容积、用于排气歧管的排气系统面积和容积等等。此外,引擎模型可以包括引擎查找表,在引擎模型的执行期间访问所述引擎查找表以计算操作特性或其它属性。所述查找表可以并入正被建模的引擎的非线性数据。类似地,控制器模型可以包括在执行期间支配其行为的可设置控制器参数。控制器模型还可以包括包含非线性数据的控制器查找表,在控制器模型的执行期间访问所述控制器查找表以获得运算引擎命令中使用的值。引擎控制器其自身还可以包括用于虚拟传感器的引擎行为的模型,作为对具有与被控对象模型中使用的传感器相同或更低的细节的实际物理传感器的替代或诊断检查。

引擎模型可以是高度复杂的并且能够产生许多引擎输出。引擎模型可以是好几个月或甚至数年的设计工作的结果。通常,引擎模型对具有特定架构的物理引擎进行建模。针对给定架构的引擎模型的参数影响该引擎的尺寸。例如,给定的引擎模型可以对一个四缸、四冲程、火花点火、1.5升(l)涡轮增压、双凸轮移相的引擎架构进行建模。为了创建一不同尺寸的引擎——例如六缸、9.8l的引擎的模型,开发者必须创建对该新尺寸的引擎的行为进行建模的完全新的模型。正如指出的那样,创建这样的新引擎模型是个耗时的过程。这会延迟针对不同尺寸的引擎的新控制器设计的开发。为了节约开发时间,开发者可以与用于一不同尺寸的引擎的不同的引擎模型一起重新使用针对一个引擎模型创建了其参数的控制器模型。这样的不匹配的引擎/控制器模型参数的使用能够导致不可用的仿真结果,这会中止进一步的控制开发,直到协调了控制器参数与新引擎设计。



技术实现要素:

简要来说,本公开涉及用于自动地重新缩放原始引擎模型以为一不同尺寸的引擎创建引擎模型的系统和方法。原始引擎模型可以耦合到引擎控制器的模型,并且所述系统和方法还可以重新缩放原始控制器模型以产生与重新缩放的引擎模型相匹配的重新缩放的控制器模型。原始引擎模型可以包括引擎参数和引擎查找表,并且原始控制器模型可以包括控制器参数和控制器查找表。所述系统和方法可以接收指示待建模的新引擎的尺寸的一个或多个重新缩放因数,并且可以根据所述一个或多个重新缩放因数来计算一个或多个重新缩放比。例如,所述系统和方法可以针对现有的引擎模型和重新缩放的引擎模型计算功率、转矩、转速和排出容积比。所述系统和方法可以使用所述重新缩放比来修改引擎参数和控制器参数中的至少一些。例如,所述系统和方法可以使用引擎转矩比来重新缩放基于容积的参数,并且可以使用引擎功率比来重新缩放基于面积的参数。所述系统和方法还可以使用所述重新缩放比中的一个或多个来重塑引擎查找表和控制器查找表中的至少一些。除了创建重新缩放的引擎模型之外,所述系统和方法还可以例如通过利用相同的重新缩放比产生与重新缩放的引擎模型相匹配的重新缩放的控制器模型,以修改引擎控制器模型的参数和查找表。

所述系统和方法可以在重新缩放过程期间保持原始引擎和控制器模型的设计和架构。例如,已修改的引擎和控制器参数以及重塑的引擎和控制器查找表可以存储在一个或多个数据结构中,诸如配置集或块参数,并且原始引擎和控制器模型可以在执行期间利用存储在配置集中的已修改的引擎和控制器参数以及重塑的引擎和控制器查找表。

在一些实施例中,所述系统和方法可以另外重新缩放针对原始引擎控制器和引擎模型创建的功率计的模型和功率计模型的测试参数范围。重新缩放的功率计模型可以连接到引擎控制器和引擎模型,并且引擎控制器参数可以由功率计软件迭代地重新调节,以便去除由于重新缩放操作或在重新缩放操作之前预先存在的误差而导致的控制器命令与引擎输出结果之间的层叠误差。在重新缩放以及在测试点范围内进行层叠误差重调之后,可以对引擎控制器和引擎被控对象模型进行重新测试。可以捕获并存储在引擎控制器和引擎模型的测试期间生成的输出数据。所述系统和方法可以利用所捕获的输出数据来生成多个静态引擎性能图。所述系统和方法可以构建包括静态引擎性能图的映射引擎模型,例如以便用作对重调尺寸操作中使用的更加计算密集的动态引擎模型的替代,假如可以针对静态模型的给定动力系统开发应用忽略引擎的动态性(dynamics)的话。

附图说明

下面的描述涉及附图,其中:

图1是根据实施例的示例重新缩放环境的示意性示图;

图2是根据实施例的建模环境的局部示意性示图;

图3是根据实施例的系统模型的示例的示意性示图;

图4是根据实施例的引擎模型的示例的示意性示图;

图5是根据实施例的供原始引擎模型使用的示例查找表的示意性示图;

图6是根据实施例的供原始引擎控制器模型使用的示例查找表的示意性示图;

图7a-7e是根据实施例的示例方法的流程图的局部视图;

图8是根据实施例的供重新缩放的引擎模型使用的示例重塑的查找表的示意性示图;

图9是根据实施例的供重新缩放的引擎控制器模型使用的示例重塑的查找表的示意性示图;

图10是根据实施例的原始查找表的示例的示意性示图;

图11是根据实施例的重塑的查找表的示例的示意性示图;

图12是根据实施例的原始查找表的示例的示意性示图;

图13是根据实施例的重塑的查找表的示例的示意性示图;

图14是根据实施例的用户接口的示例的示意性示图;

图15是根据实施例的另一用户接口的示例的示意性示图;

图16a和图16b是根据实施例的示例方法的流程图的局部视图;

图17是根据实施例的示例功率计模型的示意性示图;

图18是根据实施例的数据处理系统的示例的示意性示图;以及

图19是根据实施例的分布式计算环境的示例的示意性示图。

具体实施方式

图1是示例重新缩放环境100的示意性示图。重新缩放环境100可以包括原始系统模型102,原始系统模型102可以包括原始引擎控制器模型104和原始引擎模型106。原始引擎控制器模型104可以包括在108处指示的一个或多个引擎控制器模型参数。在一些实施方式中,引擎控制器模型104可以包括以正在由引擎模型106进行建模的引擎的观察器、状态估计器或虚拟传感器的形式的其自身的模型。在一些实施方式中,引擎控制器模型104可以包括物理逆状态估计器,诸如针对ci引擎的气压估计器、节气门位置估计器诊断功能、egr流量估计器等。引擎控制器模型104可以利用该引擎模型来生成引擎命令,从而作为前馈控制器进行操作。例如,引擎控制器模型104可以包括在110处指示的一个或多个控制器查找表(lut)。lut110中的至少一些(通常是lut110中的许多)可以对正由引擎模型106建模的引擎进行建模。原始引擎模型106可以包括在112处指示的一个或多个引擎模型参数以及在114处指示的一个或多个引擎lut。可以执行原始系统模型102。在执行期间,引擎控制器模型104可以生成一个或多个引擎命令,其可以被引擎模型106所接收。引擎模型106可以产生引擎输出数据。引擎模型106可以对具有特定尺寸的物理引擎进行建模,例如具有特定缸数和特定排量的引擎。

自动重新缩放工具116可以重新缩放原始引擎控制器模型104和原始引擎模型106。例如,自动重新缩放工具116可以产生一个重新缩放的系统模型118,其包括重新缩放的引擎模型120和重新缩放的引擎控制器模型122,所述重新缩放的引擎模型120对在尺寸上比由原始引擎模型106建模的引擎更大的引擎进行建模,所述重新缩放的引擎控制器模型122匹配重新缩放的引擎模型120。在一些实施例中,自动重新缩放工具116可以通过生成重新缩放的引擎控制器模型参数124和重塑的控制器lut126来产生重新缩放的引擎控制器模型122。自动重新缩放工具116可以通过生成重新缩放的引擎模型参数128和重塑的引擎lut130来产生重新缩放的引擎模型120。自动重新缩放工具116可以产生具有另一重新缩放的引擎模型134和另一重新缩放的引擎控制器模型136的另一重新缩放的系统模型132,所述另一重新缩放的引擎模型134对在尺寸上比由原始引擎模型106建模的引擎更小的引擎进行建模,所述另一重新缩放的引擎控制器模型136被匹配至重新缩放的引擎模型134。自动重新缩放工具116可以通过生成重新缩放的引擎控制器模型参数138和重塑的控制器lut140来产生重新缩放的引擎控制器模型136,并且通过生成重新缩放的引擎模型参数142和重塑的引擎lut144来产生重新缩放的引擎模型134。

自动重新缩放工具116可以快速地(例如,几分钟左右)针对较大尺寸引擎产生重新缩放的模型120和122和/或针对较小尺寸引擎产生重新缩放的模型134和136,甚至是针对复杂和/或精细的引擎和控制器模型。因此,与辛苦地创建全新的引擎和/或控制器模型的现有方案相比,开发者可以快速且容易地获得和评估可替换的引擎/控制器设计。

图2是根据实施例的建模环境200的示例的局部示意性示图。建模环境200可以包括用户接口(ui)引擎202、模型编辑器204、在206处指示的一个或多个模型元件库、代码生成器208、编译器210、仿真引擎212、模型重新缩放工具214和静态引擎模型构建器215。ui引擎202可以创建并在数据处理设备的显示器上呈现一个或多个用户接口(ui),所述用户接口(ui)诸如图形用户接口(gui)和/或命令行接口(cli),所述数据处理设备诸如工作站、膝上型电脑、平板电脑等。gui和cli可以提供到建模环境200的用户接口,诸如模型编辑窗口。模型编辑器204可以响应于用户输入或以编程方式对模型执行所选操作,诸如打开、创建、编辑和保存。

仿真引擎212可以包括解译器216、解析器218、模型编译器220和一个或多个解算器,诸如解算器222a-c。模型编译器220可以包括一个或多个中间表示(ir)建立器,诸如ir建立器224。在一些实施方式中,一个或多个ir建立器可以与解算器222包括在一起或与之相关联。仿真引擎212可以使用解算器222a-c中的一个或多个来执行(例如,编译和运行或解译)计算机生成的可执行模型。例如,解算器222可以针对模型生成一组方程,并且可以解算该组方程。解算器222还可以生成针对模型的表示一组方程的内存中中间表示(ir)的解。解算器222可以使用数值技术生成针对ir的解。示例性解算器包括可以利用数值积分技术的一个或多个固定步长的连续时间解算器以及可以例如是基于龙格库塔和多蒙德普林斯(dormand-prince)对的一个或多个可变步长的解算器。在固定步长解算器的情况下,步长尺寸在整个模型的仿真过程中保持恒定。在可变步长解算器的情况下,步长尺寸可以在步长之间进行变化,例如以便满足误差容差。合适的解算器的非穷举性描述可以在来自数学工程公司(mathworks,inc)的simulink用户指南(2017年3月编辑)中找到。

模型重新缩放工具214可以包括比生成器224、参数修改引擎226和查找表重塑引擎228。

代码生成器208可以访问模型,诸如模型230,并且可以生成针对模型230的代码,诸如代码232。在一些实施例中,所生成的代码可以是源代码,其可以由编译器210编译,并且由建模环境200外的一个或多个处理器执行。所生成的代码因此可以是相对于建模环境200独立的代码。所生成的代码的示例包括ada、basic、c、c++、c#、fortran、汇编代码和硬件描述语言(hdl)代码,诸如vhdl、verilog或systemc以及其它的,其可以用来合成可编程逻辑器件。

示例性建模环境包括均来自马萨诸塞州那蒂克的数学工程公司的matlab®技术计算环境(tce)和simulink®基于模型的设计环境,以及同样来自数学工程公司的simscape™物理建模系统、simevent®离散事件建模工具和stateflow®状态图工具,来自加拿大安大略省滑铁卢市的滑铁卢枫树(waterloomaple)公司的maplesim物理建模和仿真工具,来自伊利诺伊州芝加哥的gammatechnologies公司的gtsuite建模和仿真环境,伊利诺伊州芝加哥的ricardosoftware(ricardo公共有限公司的子公司)的ricardowave和wavert建模和仿真工具,澳大利亚格拉茨的avl股份有限公司的avlboost建模和仿真工具,均来自德克萨斯州奥斯汀的国家仪器公司的labview虚拟仪器编程系统和nimatrixx基于模型的设计产品,来自加利福尼亚州圣罗莎的keysighttechnologies公司的可视工程环境(vee)产品,来自加利福尼亚州山景城的synopsys公司的系统工作室基于模型的信号处理算法设计和分析工具以及spw信号处理算法工具,来自加利福尼亚州圣何塞的xilinx公司的统一建模语言(uml)系统、系统建模语言(sysml)系统、系统生成器系统,以及来自纽约州萨默斯的ibm公司的rationalrhapsody设计管理器软件。在高级建模环境中创建的模型可以包含较少的实施细节,并且因此比起诸如c、c++、c#和systemc编程语言之类的某些编程语言以更高的级别进行操作。

给定的模型可以仿真系统,例如近似系统的操作。示例性系统包括物理系统,诸如被控对象和控制器。可以执行模型以便仿真正进行建模的系统,并且模型的执行也可以称为仿真模型。在建模环境200内构建的模型可以包括文本模型、诸如块图的图形模型、基于状态的模型、离散事件模型、物理模型及其组合。图形模型可以包括表示计算、函数或操作的图标或块,并且在各块之间的互连的线或箭头可以表示那些计算、函数或操作之间的数据、信号或关系。此外,可以由用户从包含图标或块的库或调色盘206中的一个或多个中针对建模环境200所支持的块来选择所述图标或块。模型编辑器gui可以包括可以由用户选择的运行按钮。建模环境200还可以被配置成接收由用户例如在gui中或命令行接口(cli)中键入的运行命令。响应于用户选择运行按钮或键入运行命令,仿真引擎212可以执行模型,并且可以将模型的执行结果呈现给用户。示例性图形模型包括simulink模型、simscape物理模型、simevent模型、stateflow图表、labview块图、matrixx模型、scade模型和vee图以及其它的。源程序的其它形式包括来自modelica协会的modelica模型、统一建模语言(uml)模型和系统建模语言(sysml)模型以及其它的。

matlab®tce是用于数字信号处理(dsp)设计以及其它用途的数学导向的文本编程环境。simulink®基于模型的设计环境是用于对动态和其它系统进行建模和仿真以及其它用途的建模工具。matlab®和simulink®环境提供了有利于算法开发和探索并且支持基于模型的设计的多个高级特征。示例性高级特征包括动态类型化、基于阵列的操作、数据类型推断、采样时间推断和执行顺序推断以及其它的。

在一些实施例中,建模环境200可以实施说明性语言。说明性语言是表达计算逻辑而不描述其控制流程的语言。说明性语言可以在问题域方面描述一程序必须完成什么,而不会将如何完成它描述为编程语言基元的序列。在一些情况下,说明性语言可以实施单赋值,其中对变量赋值一次,且仅一次。说明性语言的示例包括simulink®基于模型的设计环境(其是基于时间的语言)、modelica建模语言和labview图形编程系统、硬件描述语言(hdl)、prolog语言和haskell语言以及其它的。模型元件和模型的连接元件中的至少一些的行为可以包括由说明性语言隐含地定义的计算实施方式。

应当理解的是,建模环境200意图用于例证性目的,并且本公开可以与其它建模环境一起使用。例如,在一些实施方式中,代码生成器208和/或编译器210可以与建模环境200分离。

用户接口引擎202、模型编辑器204、代码生成器208、编译器210、仿真引擎212和模型重新缩放工具214中的一个或多个可以通过包含执行本文中描述的方法的程序指令的一个或多个软件模块或库来实施。软件模块可以存储在工作站、服务器或其它数据处理机器或设备的存储器(诸如主存储器、持久性存储器)和/或计算机可读介质中,并且由一个或多个处理器执行。其它计算机可读介质也可以用来存储和执行这些程序指令,所述其它计算机可读介质诸如非暂时性计算机可读介质,包括光学、磁性或磁光介质。在一些实施例中,用户接口引擎202、模型编辑器204、代码生成器208、编译器210、仿真引擎212和模型重新缩放工具214中的一个或多个可以包括被配置和布置成产生时序逻辑电路的硬件寄存器和组合逻辑。在一些实施例中,软件和硬件的各种组合(包括固件)可以用于实施所描述的方法。

供与本公开一起使用的适当的代码生成器包括但不限于来自马萨诸塞州那蒂克的数学工程公司的simulink代码器、嵌入式(embedded)代码器和simulinkhdl代码器产品,以及来自德国帕德伯恩的dspace股份有限公司的targetlink产品。适当的目标语言编译器包括来自数学工程公司的xpctarget™工具和c语言编译器。然而,可以使用其它代码生成系统和其它编译器。

图3是系统模型300的示例的示意性示图。系统模型300可以包括引擎被控对象模型302和控制器模型304。引擎被控对象模型302可以对内燃引擎的火花点火或压缩点火操作进行建模,并且控制器模型304可以对用于由引擎模型302表示的引擎的电子控制单元(ecu)的操作进行建模。引擎被控对象模型302可以包括节气门元件306、进气歧管元件308、核心引擎元件310、排气歧管元件312、涡轮增压器元件314、排气后处理系统元件316、空气进气元件318和中间冷却器元件320。核心引擎块元件310可以包括进气凸轮移相器元件322、排气凸轮移相器元件324、火花塞元件328和燃料喷射器元件326。涡轮增压器元件314可以包括废气门或可变几何结构涡轮元件330,以用于绕过涡轮增压器元件314并且允许排出气体直接流到排气元件316。另外的引擎换气相关的致动器还可以包括可变进气滑管(runner)长度、可变进气歧管挡板打开/关闭、可变压缩比致动、可变进气阀门升程致动、两级阀门进气阀门升程致动、高压排气再循环(egr)阀门致动、低压egr致动和燃料蒸汽碳罐净化致动以及其它的。

在系统模型300的执行期间,控制器模型304可以接收诸如转矩请求之类的输入,并且可以生成多个引擎命令,它们被提供给引擎模型302,以便当经由校准参数和lut表在转矩请求与所得到的转矩之间建立了关系时实现该转矩请求。引擎模型302可以生成多个引擎输出,并且所述引擎输出中的一些可以经由传感器模型被提供为对控制器模型304的反馈。例如,控制器模型304可以生成用于控制废气门元件330的废气门面积命令(wapcmd)332、用于控制排气凸轮元件324的排气凸轮移相器角度命令(ecpcmd)334、用于控制火花塞元件328的火花提前命令(sa)336、用于控制燃料喷射器元件326的向量化多喷射定时参数(soi)、向量化燃料喷射器脉冲宽度命令(pwinj)338或每喷射命令的向量化多燃料质量(fmass)、用于控制进气凸轮元件322的进气凸轮移相器角度命令(icpcmd)340和用于控制节气门元件306的节气门位置百分比命令(tppcmd)342。引擎模型302可以生成被提供给控制器模型304的引擎转矩响应信号(tq)344、进气歧管压力信号(map)346、进气歧管温度信号(mat)348、进气凸轮移相器角度信号(icp)350和排气凸轮移相器角度信号(ecp)352。

在一些实施例中,引擎模型300可以被实施为集中参数模型,其中正被建模的引擎的行为由离散实体表示,所述离散实体在以网络拓扑布置的一个或多个假设下近似引擎的行为。

引擎模型302可以将火花点火引擎和/或压缩点火引擎表示为由气动容积元件或节点的网络之间的标记为f1至f10的箭头标示出的气体质量流量的相互依存的网络。例如,在大气压下的入气可以穿过空气进气元件318并进入到涡轮增压器元件314的压缩机部分中,所述进气元件318可以包括空气过滤器。然后,入气可以流过中间冷却器元件320。经压缩和冷却的入气可以通过节气门元件306,在节气门元件306中,入气阀门以节气门板354的形式可旋转地布置在可以由tppcmd342电子控制的位置,以改变对穿过节气门元件306并进入到进气歧管元件308中的入气的约束。压力换能器可以测量进气歧管元件308中的气体压力,并提供map输出信号346。

单独的气缸进气滑管(在图3中在347处图示出了其中的一个)可以经由受进气凸轮移相致动器和升程致动器影响的固定或可变进气阀门约束而通向相应引擎气缸的燃烧室。图3中示出了一个相应气缸的一个燃烧室。每个气缸可以包括进气阀门和排气阀门、由活塞360分离的燃烧室356和曲轴箱358,所述活塞360可以密封地接合气缸的壁。一定量的燃料可以响应于一个或多个pwinj信号338经由燃料喷射器元件328喷射到进气阀门的进气口上游或直接喷射到气缸中以用于与入气混合。所得到的混合物可以在气缸进气事件期间被抽取到燃烧室356中,在气缸进气事件中,进气阀门362被驱动到打开位置,并且在燃烧室中呈现低压条件。随着气体燃料混合物稍后被压缩,该混合物可以在燃烧事件期间在燃烧室356中被点火,并且所述燃烧事件是由火花塞元件328处的、延伸到燃烧室356中的定时点火弧所发起的。可替换地,针对压缩点火引擎,可以使用燃料到气缸的一个或多个精确定时的燃料喷射器递送来发起燃烧。气缸内的活塞360可以在燃烧事件的有效压力下被往复驱动。所生成的动力可以用于驱动车轮、附属负载等。在气缸排气事件期间,在燃烧过程中在燃烧室内产生的气体可以从燃烧室356排出。排出气体可以穿过排气滑管到排气歧管元件312。排出气体可以流过排气歧管312流到涡轮增压器元件314的涡轮部分。在一些情况下,排气节气门阀门元件可以用于增加背压以增加启动期间的燃烧温度。在穿过排气节气门之后,排出气体可以然后流到排气后处理系统元件316并且从那里流到大气,所述排气后处理系统元件316可以包括催化处理设备、柴油机氧化催化器、柴油机微粒过滤器、汽油机微粒过滤器、稀油nox捕集器以及消音器。

可以将指定用于容积、面积和质量流量的值的参数与引擎模型302的元件中的至少一些相关联来表示进气空气和排出气体通过引擎模型300的流动。

图4是引擎模型400的另一示例的示意性示图。引擎模型400包括节气门元件306、进气歧管元件308、核心引擎元件310、排气歧管元件312和中间冷却器元件320。引擎模型400还包括涡轮元件402、涡轮轴元件404、压缩机元件406和压缩机输出容积元件408。为了对引擎的排气系统进行建模,引擎模型400可以包括排气系统容积元件410、排气背压元件412和环境排气元件414。为了对引擎的空气进气系统进行建模,引擎模型400可以包括空气进气系统元件416、空气过滤器元件418和环境进气元件420。

合适的引擎控制器和引擎模型包括在火花点火(si)引擎功率计参考应用、压缩点火(ci)引擎功率计参考应用、si控制器块、si核心引擎块、ci控制器块和ci核心引擎块中提供的引擎控制器模型和引擎模型,它们都来自数学工程公司。所述si和ci控制器块包括以查找表和动态元件的形式的引擎模型,并且作为前馈控制器进行操作。应当理解的是,本公开可以与诸如用于全ecu软件仿真的那些的其它控制器设计一起使用,并且还可以用于重新缩放动态反馈参数,诸如控制器和估计器增益。

诸如引擎模型302和400的引擎模型中的元件可以包括一个或多个参数。被赋值给所述参数的值可以控制和/或影响各个元件的行为。例如,引擎模型中的进气空气或排出气体流动通过的一些元件可以包括定义流动面积和/或容积的参数。节气门元件306可以包括以mm的节气门直径参数(thrdiam)。进气歧管元件308可以包括以m3的进气歧管室容积参数(vint)。核心引擎元件310可以包括缸数参数(numcyl)、以m3的排出引擎容积参数(vd)和以mg/ms的喷射器斜率(slope)参数(injslp)。排气歧管元件312可以包括以m3的排气歧管室容积(vexh)。涡轮轴元件404可以包括以kg*m2的轴惯量参数(turboinertia)。在一些实施例中,涡轮和压缩机可以按阶段分组。空气进气系统元件416可以包括以m3的空气进气室容积参数(airintakevol)。涡轮元件402可以包括以m2的废气门面积参数(wgarea)。可替换地,涡轮增压器流量可以由可变几何结构涡轮(vgt)齿条位置致动器来进行控制。排气系统容积元件410可以包括以m3的排气室容积参数(exhsysvol)。压缩机输出容积元件408可以包括以m3的压缩机室容积参数(volcompout)。

应当理解的是,诸如引擎模型300和/或400的引擎模型可以包括另外的和/或其它参数。

诸如控制器模型304的控制器模型可以包括一个或多个参数。例如,控制器模型304可以包括缸数参数(numcyl)和以m3的引擎排出容积参数(vd)以及其它的。

在一些实施例中,当打开模型和/或从存储器加载模型时,建模环境200可以为该模型(诸如系统模型300)创建工作空间。工作空间可以是用于存储由系统模型300使用的变量的存储器区域。变量可以被赋值给模型的参数中的一个或多个。例如,变量vd可以被赋值给引擎排出容积参数。为了获得引擎排出容积参数的值,控制器模型304和/或引擎模型302可以在工作空间中查找被赋值给该变量的值。ui引擎202可以创建工作空间嵌板作为可以呈现并提供对变量的访问的编辑器窗口的一部分。例如,建模环境200的用户可以从编辑器窗口的命令行来访问工作空间中的变量。可以对工作空间中的变量进行命名并且可以将它们与元信息相关联,所述元信息诸如变量的维度、变量是何时被创建的、变量的数据类型等。工作空间或其一部分可以被保存成一个或多个数据结构,诸如mat文件、hdf5文件等。

在一些实施例中,可以针对一模型创建一个或多个工作空间,并且所述一个或多个工作空间可以具有不同的范围或情境。例如,可以针对包括在母模型内的子模型创建一个工作空间,并且该工作空间的变量可以仅可由该子模型访问。还可以针对其它分层模型结构(诸如子系统)创建工作空间,其可以将多个模型元件表示为单个模型元件,例如子系统块。被包括在用于子系统的工作空间中的变量可以仅可由包括在该子系统中的模型元件访问。

在一些实施例中,引擎模型302的一个或多个元件和/或控制器模型304可以在执行期间包括和/或访问一个或多个查找表,所述查找表也可以称为性能表和/或校准图。由引擎模型利用的查找表可以存储非线性引擎行为数据,其可以用于确定引擎模型对控制输入的响应。由引擎控制器模型利用的查找表可以存储针对给定引擎操作点的最佳控制命令。

一般来说,查找表可以将控制器命令输入值关联到控制器输出值,所述控制器输出值将得出在准稳定和动态引擎操作条件下的引擎被控对象中的期望响应。查找表可以包括一个或多个输入断点数据集和输出表数据。每个输入断点数据集可以是针对查找表的特定维度的输入值的索引。输入断点数据集将查找表的输入值关联到该表所返回的输出值。包括在输入断点数据集中的单独的输入值可以称为断点。断点可以定义输入值可以落入的区间,并且可以是不重复的、单调增大的值。输入断点数据集也可以称为输入断点数据网。对于给定的输入数据,可以使用输入断点数据集中对应于该输入数据的断点来定位输出数据值。查找表中的断点可以用来将表输入空间分割成区域,所述区域可以称作“单元”。每个单元——其可以是多维的——可以由用于每个索引变量的两个断点来界定。如果查找表没有定义一特定输入值,则它可以使用内插或外推技术基于附近的表值来估计输出值。

查找表的输出数据可以通过在实验室中运行物理引擎并收集测试数据或者通过运行引擎模型的仿真并收集仿真结果来以实验方式获得。由引擎控制器和引擎模型利用的查找表通常包括非线性数据,以便反映引擎硬件的展现出这样的非线性行为的刻意设计。

图5是可以由引擎模型利用以根据引擎转速和转矩命令或每喷射命令的燃料质量获得引擎制动转矩的查找表500的示意性示图。表500包括转矩命令轴502、引擎转速轴504和测量的引擎转矩(例如,引擎制动转矩)轴506。表500还包括输出数据508。

图6是可以由引擎控制器模型利用以根据转矩命令和引擎转速获得用于燃料喷射器的喷射器脉冲宽度命令或每喷射每气缸命令的燃料质量的查找表600的示意性示图。表600包括转矩命令轴602、引擎转速轴604和燃料喷射器脉冲宽度轴606。表600还包括输出数据608。

表500和600可以对应于1.5l、四缸、火花点火、涡轮增压、双凸轮移相的引擎和匹配的控制器。

图7a-7e是根据实施例的示例方法的流程图的局部视图。图7a-7e的流程图仅意图用于例证性目的。在一些实施例中,可以省略一个或多个步骤,可以添加另外的步骤,可以改变步骤的顺序,和/或可以省略如由图7a-7e的箭头指示的一个或多个序列。

如步骤702处指示的,模型重新缩放工具214可以接收一个或多个线性和/或非线性重新缩放因数。所述一个或多个重新缩放因数可以指示待建模的引擎的新尺寸。示例性重新缩放因数包括已重调尺寸的引擎的缸数、最大引擎功率。所述一个或多个重新缩放因数可以是用户指定的,或者它们可以是从标准中自动导出的,所述标准可以是用户例如通过由ui引擎202创建的一个或多个gui指定的,如本文所述。

比生成器224可以计算一个或多个比,如步骤704处指示的。计算出的比可以提供由原始模型表示的引擎尺寸与要由重新缩放的引擎模型表示的引擎尺寸之间的关系。比的确定可以是基于针对引擎的一个或多个假设。一个假设可以是原始引擎和重新缩放的引擎具有恒定的引擎几何结构比例,例如在缸径冲程比方面,缸径(bore)是气缸内径。另一假设可以是原始引擎与重新缩放的引擎的行程排量(例如引擎排量)比是已知的,例如其是由用户指定的。又另一假设可以是随着功率级从原始引擎增大到重新缩放的引擎,引擎转矩与总引擎排量成比例。基于这些假设,比生成器224可以计算以下的比:

1)引擎功率比(engpwrratio)=

2)引擎缸数比(engcylnumratio)=

3)引擎转速比(engspdratio)=

4)引擎转矩比(engtrqratio)=

5)引擎排量比(engdispratio)==engtrqratio

6)引擎气缸容积比(engcylvolratio)=

模型重新缩放工具214可以在重新缩放过程期间保持原始控制器模型和原始引擎模型的结构设计,如步骤706处指示的。例如,重新缩放工具214可以不添加任何新的模型元件、去除任何现有模型元件或改变原始引擎模型和原始引擎控制器模型中的现有模型元件之间的任何连接。在一些实施例中,模型重新缩放工具214可以通过重新使用原始引擎控制器和引擎模型来保持原始模型的结构设计。例如,模型重新缩放工具214可以通过引导原始引擎和引擎控制器模型利用由模型重新缩放工具214计算出的新的重新缩放的参数值以及由模型重新缩放工具214创建的新的重新缩放的查找表代替原始参数和原始查找表来实现重新缩放过程。重塑操作可以不仅包括断点参数的重新缩放,而且包括非线性断点间隔的重新布置,以使查找表聚焦在高度非线性的特定区域中。模型重新缩放工具214可以将新的重新缩放的参数值和重塑的查找表存储在诸如文件、容器对象、工作空间变量等的数据结构中,并且引导引擎和引擎控制器模型在执行期间利用该数据结构中的信息。在其它实施例中,模型重新缩放工具214可以创建与原始引擎模型和/或引擎控制器模型分离的新的重新缩放的引擎模型和/或新的重新缩放的引擎控制器模型。例如,模型重新缩放工具214可以创建原始引擎模型和原始控制器模型的副本,并且可以将新的重新缩放的参数值和新的重塑的查找表赋值给新的重新缩放的引擎和引擎控制器模型。

参数修改引擎226可以将接收到的重新缩放因数中的一个或多个(诸如缸数和最大引擎功率)赋值给重新缩放的引擎模型和重新缩放的控制器模型,如步骤708处指示的。参数修改引擎226可以根据所确定的比中的一个或多个(诸如engtrqratio以及其它的)来计算针对与重新缩放的引擎模型元件中的一个或多个相关联的基于容积的参数的新的值,如步骤710处指示的。例如,参数修改引擎226可以针对重新缩放的引擎模型计算重新缩放的总排出容积(vd)参数、压缩机容积(volcompout)参数、进气歧管室容积(vint)、根据进气凸轮移相计算的进气阀门关闭容积处的气缸容积(f_vivc)参数向量以及排气歧管室容积(vexh)参数,如下:

重新缩放的引擎模型的vd=原始引擎模型的vd*engtrqratio

重新缩放的引擎模型的volcompout=原始引擎模型的volcompout*engdispratio

重新缩放的引擎模型的vint=原始引擎模型的vint*engdispratio

重新缩放的引擎模型的f_vivc=原始引擎模型的f_vivc*engcylvolratio

重新缩放的引擎模型的vexh=原始引擎模型的vexh*engdispratio。

参数修改引擎226可以根据所确定的比中的一个或多个来计算针对与重新缩放的引擎控制器模型相关联的基于容积的参数的新的值,如步骤712处指示的。例如,重新缩放的引擎控制器模型可以在执行期间利用总排出容积(vd)和进气阀门关闭容积处的气缸容积(f_vivc)参数向量以及其它的。参数修改引擎226可以针对重新缩放的引擎控制器模型计算重新缩放的基于容积的参数,如下:

重新缩放的引擎控制器模型的vd=针对重新缩放的引擎模型计算出的重新缩放的vd

重新缩放的引擎控制器模型的f_vivc=原始引擎控制器模型的f_vivc*engcylvolratio。

参数修改引擎226可以根据所确定的比中的一个或多个(诸如engpwrratio以及其它的)来计算针对与重新缩放的引擎模型的元件中的一个或多个相关联的基于面积的参数的新的值,如步骤714处指示的。例如,参数修改引擎226可以针对重新缩放的引擎模型计算重新缩放的进气系统面积(airfilterarea)、重新缩放的节气门孔径(thrdiam)、重新缩放的排气系统面积(exhsysarea)以及重新缩放的废气门面积参数(wgarea),如下:

重新缩放的引擎模型的airfilterarea=原始引擎模型的airfilterarea*engpwrratio

重新缩放的引擎模型的thrdiam=(原始引擎模型的thrdiam)2*engpwrratio

重新缩放的引擎模型的exhsysarea=原始引擎模型的exhsysarea*engpwrratio

重新缩放的引擎模型的wgarea=原始引擎模型的wgarea*engpwrratio。

参数修改引擎226可以根据所确定的比中的一个或多个(例如,功率比)来计算针对重新缩放的引擎控制器模型的基于面积的参数的新的值,如步骤716处指示的。

参数修改引擎226可以根据所确定的比中的一个或多个来计算针对与重新缩放的引擎模型的燃料喷射器元件相关联的参数的新的值,如步骤718处指示的。参数修改引擎226还可以根据所确定的比中的一个或多个来计算针对与重新缩放的引擎控制器模型的燃料喷射器元件相关联的参数的新的值,如步骤720处指示的。例如,参数修改引擎226可以计算一个或多个重新缩放的燃料喷射器斜率,其确定所递送的燃料质量vs喷射器打开时间(injslp),如下:

重新缩放的引擎模型的injslp=原始引擎模型的injslp*engcylvolratio

重新缩放的引擎控制器模型的injslp=原始引擎控制器模型的injslp*engcylvolratio。

参数修改引擎226可以根据所确定的比中的一个或多个来计算针对与重新缩放的引擎模型的涡轮增压器元件相关联的参数的新的值,如步骤722处指示的。例如,参数修改引擎226可以计算重新缩放的涡轮轴惯量参数(turboinertia)如下:

重新缩放的引擎模型的turboinertia=原始引擎模型的turboinertia*engpwrratio。涡轮增压器压缩机和涡轮流量特性图可以被缩放以引擎功率比,以便反应涡轮增压器和压缩机与引擎换气和功率的成比例缩放。涡轮增压器转速断点可以被重新缩放以turbospeedratio=,以便计及较大的涡轮和对应地较大的压缩机叶尖半径。

原始和重新缩放的引擎控制器模型可以包括用于控制相应引擎模型的怠速的功能性,诸如pid控制功能性。这种pid控制功能性可以利用目标引擎怠速参数。参数修改引擎226可以针对重新缩放的引擎控制器模型计算新的目标怠速参数,如步骤724处指示的。例如,参数修改引擎226可以计算重新缩放的目标怠速参数如下:

重新缩放的引擎控制器模型的目标怠速参数=原始引擎控制器模型的目标怠速参数*engspdratio。

参数修改引擎226可以根据所确定的比中的一个或多个来计算针对模型引擎元件中的一个或多个相关联的基于空气质量流量的参数的新的值,如步骤726处指示的。例如,参数修改引擎226可以针对重新缩放的引擎模型计算重新缩放的压缩机质量流率(compmassflwrate)和重新缩放的涡轮质量流率(turbmassflwrate)如下:

重新缩放的引擎模型的compmassflwrate=原始引擎模型的compmassflwrate*engpwrratio

重新缩放的引擎模型的turbmassflwrate=原始引擎模型的turbmassflwrate*engpwrratio。

参数修改引擎226可以根据所确定的比中的一个或多个来计算针对与引擎控制器模型相关联的基于质量流量的参数的新的值,如步骤728处指示的。

查找表重塑引擎228可以针对重新缩放的引擎模型创建一个或多个重塑的查找表,如步骤730处指示的,并且针对重新缩放的引擎控制器模型创建一个或多个重塑的查找表,如步骤732处指示的。查找表重塑引擎228可以根据所确定的比中的一个或多个通过缩放原始表的输入断点数据集和/或原始表的输出数据中的一个或多个来创建重塑的查找表。例如,查找表重塑引擎228可以根据所述比中的一个或多个修改lut的维度中的一个或多个,例如,x维度,x和y维度,x、y和z维度等。

引擎模型可以利用一个或多个查找表来确定引擎空气质量流量。例如,引擎模型可以包括双可变凸轮移相形式的空气质量流量估计模型。这种空气质量流量估计模型可以包括这样的空气质量流量表:其两个输入数据断点集表示排气凸轮移相器角度(以曲柄延迟的度数表示)和所捕集的质量流率(f_mdot_trpd_bpt),并且其输出数据是引擎空气质量流量(f_mdot_air)。查找表重塑引擎228可以针对重新缩放的引擎模型创建重塑的空气质量流量表,如下:

重塑的查找表的f_mdot_trpd_bpt=原始查找表的f_mdot_trpd_bpt*engpwrratio;并且

重塑的查找表的f_mdot_air=原始查找表的f_mdot_air*engpwrratio。

引擎控制器模型也可以利用一个或多个查找表来确定引擎空气质量流量。例如,引擎控制器模型可以包括双可变凸轮移相形式的空气质量流量估计模型。这种空气质量流量估计模型可以包括这样的空气质量流量表:其两个输入数据断点集表示排气凸轮移相器角度(以曲柄延迟的度数表示)和所捕集的质量流率(trpdmassflwbpt),其输出数据是引擎空气质量流量(airmassflw)。查找表重塑引擎228可以针对重新缩放的引擎控制器模型创建重塑的空气质量流量表,如下:

重塑的查找表的trpdmassflwbpt=原始查找表的trpdmassflwbpt*engpwrratio;并且

重塑的查找表的airmassflw=原始查找表的airmassflw*engpwrratio。

引擎模型还可以包括多个查找表,所述多个查找表具有针对转矩(诸如所命令的转矩)和引擎转速的输入断点数据集。查找表重塑引擎228可以通过将每个断点乘以engtrqratio来缩放被包括在原始的所命令的转矩断点数据集中的原始断点。查找表重塑引擎228可以通过将每个断点乘以engspdratio来缩放被包括在原始引擎转速断点数据集中的原始断点。查找表重塑引擎228可以通过将每个断点乘以engtrqratio来缩放被包括在原始的所命令的转矩断点数据集中的原始断点。

查找表重塑引擎228可以通过将断点乘以engtrqratio来缩放被包括在由引擎模型使用的摩擦相关的断点数据集中的断点。例如,引擎模型可以包括摩擦转矩查找表,其输入断点数据集表示引擎转速和引擎负载,并且其输出数据是摩擦转矩。查找表重塑引擎228可以将原始引擎转速断点乘以engspdratio,并且可以将原始摩擦转矩输出数据值乘以engtrqratio。

由引擎被控对象模型和/或引擎控制器模型利用的一个或多个lut可以包括负载轴或维度。负载值可以是无维度、正规化的值并且可以因此与引擎尺寸无关。因此,查找表重塑引擎228可以不在重塑期间修改lut的负载轴或维度。

引擎控制器模型还可以包括多个查找表,所述多个查找表具有针对转矩(诸如所命令的转矩)和引擎转速的输入断点数据集。另外的负载相关的断点可以是所命令的正规化的气缸未燃烧空气质量(负载)和所命令的总喷射燃料质量。查找表重塑引擎228可以通过将每个断点乘以所确定的engtrqratio并另外通过以最佳非线性方式改变断点的间隔以使给定的表聚焦在高度非线性的区域中来缩放被包括在原始的所命令的转矩断点数据集中的原始断点。查找表重塑引擎228可以通过将每个断点乘以engspdratio并另外通过以最佳非线性方式改变断点的间隔以使给定的表聚焦在高度非线性的区域中来缩放被包括在原始引擎转速断点数据集中的原始断点。查找表重塑引擎228可以通过将每个断点乘以engtrqratio来缩放被包括在原始的所命令的转矩断点数据集中的原始断点。

查找表重塑引擎228可以通过将原始断点乘以engtrqratio来缩放被包括在由引擎控制器模型使用的查找表的摩擦相关的断点数据集中的断点。例如,引擎模型可以包括摩擦转矩查找表,其输入断点数据集表示引擎转速和引擎负载,并且其输出数据是摩擦转矩。查找表重塑引擎228可以将原始引擎转速断点乘以engspdratio,并且可以将原始摩擦转矩输出数据值乘以engtrqratio。

在一些实施例中,查找表重塑引擎228可以校准或调谐重新缩放的断点,如步骤734处指示的。例如,在重新缩放了由重新缩放的引擎模型利用的查找表的断点之后,在由重新缩放的引擎控制器模型利用的对应的重新缩放的表之间可能存在不匹配。查找表重塑引擎228可以识别这样的不匹配,并且通过将全部误差赋值给一个或多个可调节控制器参数来校准或调谐任一表或两个表以使得它们匹配,所述可调节控制器参数诸如针对si引擎的节气门面积百分比和废气门面积百分比,以及针对ci引擎的喷射燃料质量、vgt齿条位置和高压egr阀门面积百分比。迭代算法是旨在去除层叠误差的针对可调节控制器参数的数值精确的解决方案并且可以用来达成这样的解决方案,诸如stateflow启发式算法和基于matlab的数值优化算法。例如,在si引擎功率计参考示例中,可以使用stateflow启发式规则来调节引擎的每个操作点处的高度非线性的节气门面积百分比查找表参数,以将引擎的测量出的转矩响应尽可能地匹配至所命令的转矩响应。如果在大开的节气门处不满足转矩,则算法可以开始关闭涡轮增压器废气门以进行增压直到引擎的升压极限和/或温度极限,以满足所命令的转矩。在有限的引擎换气降低了可用的峰值转矩或达到涡轮增压器最大转速极限的操作点处,算法可以停止在该极限处,并且引擎递送比所期望的转矩更少的转矩。对于压缩点火ci引擎,每喷射每气缸的燃料质量起到与si引擎上的节气门位置类似的作用,并且vgt齿条位置起到与si引擎上的废气门面积百分比类似的作用。可以使用egr阀门面积百分比来满足作为约束的nox控制中的egr流量要求。

图8是用于根据引擎转速和转矩命令获得引擎制动转矩的重新缩放的查找表800的示意性示图。表800包括转矩命令轴802、引擎转速轴804和测量的引擎转矩轴806。表800还包括输出数据808。

图9是用于根据转矩命令和引擎转速获得针对燃料喷射器的燃料喷射器脉冲宽度和/或每喷射每气缸命令的总燃料质量的重新缩放的查找表900的示例的示意性示图。表900包括转矩命令轴902、引擎转速轴904和燃料喷射器脉冲宽度轴或每喷射的燃料质量轴906。表900还包括输出数据908。

表800和900可以分别是表500和600的、针对较大尺寸的引擎——例如,六缸9.8l引擎,其可以具有原始引擎的四倍功率——的重新缩放的版本。

比较表500和800,可以看出引擎转速已例如由于引擎的大得多的冲程而按比例缩小(注意:虽然缸径/冲程比可以是固定的,但是冲程本身要大得多),并且转矩命令已针对较大尺寸的引擎按比例放大。另外,输出数据、测量的引擎转矩针对较大尺寸的引擎以非线性方式按比例放大。针对较大尺寸的引擎,峰值转矩的位置相对于引擎转速以关于引擎转速的非线性方式移位。峰值转矩出现在低得多的转速处,如关于大引擎所预计的那样。

关于表900和600,喷射器斜率(喷射器调整尺寸)对于较大尺寸的引擎来说是不同的。尽管存在更多个气缸(6vs4)——这通常将意味着较小的喷射器,但是较大尺寸的6缸引擎的每个单独的气缸比原始1.5l引擎的单个气缸大得多。因此,对于新的较大尺寸的引擎来说,喷射器斜率更大。对于较大尺寸的引擎,喷射器脉冲宽度(喷射器工作时间)在大小上没有与原始引擎有很大不同。这可能是因为喷射器本身在尺寸方面增大了,以匹配气缸容积上的改变,因此小引擎和大引擎的喷射器的工作时间相对类似,尽管大脉冲宽度的位置(较大喷射燃料质量)在引擎转速方面移位了。

图10是用于获得对1.5l四缸引擎进行建模的原始引擎模型的燃料质量流量的查找表1000的示例的示意性示图。表1000包括引擎转速轴1002、所命令的转矩轴1004和燃料质量流量轴1006。表1000还包括输出数据1008。

图11是用于获得对9.8l六缸引擎进行建模的重新缩放的引擎模型的燃料质量流量的重新缩放的查找表1100的示例的示意性示图。表1100包括引擎转速轴1102、所命令的转矩轴1104和燃料质量流量轴1106。表1100还包括输出数据1108。

应当观察到,与较小引擎相比,较大引擎具有显著更大的转矩断点,并且显著更低的引擎转速断点,并且引擎转速断点使峰值转矩以非线性方式移动到新位置。

在一些实施例中,引擎模型可以在引擎模型的执行期间生成排放数据。这些排放特性可以从详细的排放模型来测量,或更优选地从实验室中测试的引擎来测量。引擎模型可以基于来自一个或多个查找表的数据并可选地利用被包括在引擎模型中或可由引擎模型访问的动态调谐的估计器来生成排放数据。示例性排放可以包括碳氢化合物(hc)质量分数、一氧化碳(co)质量分数、一氧化氮和二氧化氮(nox)质量分数和二氧化碳(co2)质量分数。排放查找表中的信息可以是基于在实验室中运行实际的物理引擎时获得的测试结果。查找表重塑引擎228可以在重新缩放引擎模型时重塑排放表,以表示不同尺寸的引擎,从而为重调尺寸的引擎提供现实的基于经验的排放估计,而无需在实验室中完全重新执行测试或详细的引擎排放模型。由模型重新缩放工具214创建的重新缩放的引擎模型因此可以针对正进行建模的重调尺寸的引擎在引擎转速和转矩操作点方面预测新的排放水平和排放峰值和谷值位置。

图12是用于获得对1.5l四缸引擎进行建模的引擎模型的nox质量分数的查找表1200的示例的示意性示图。表1200包括引擎转速轴1202、所命令的转矩轴1204和nox质量分数轴1206。表1200还包括输出数据1208。

图13是用于获得对9.8l六缸引擎进行建模的重新缩放的引擎模型的nox质量分数的重新缩放的查找表1300的示例的示意性示图。表1300包括引擎转速轴1302、所命令的转矩轴1304和nox质量分数轴1306。表1300还包括输出数据1308。如同重新缩放后的燃料流量一样,应当注意的是,排放响应特征(诸如峰值和波谷)之间的关系相对于引擎转速以非线性方式移位。由于涉及到的是排放质量分数而非绝对排放,因此无需关于引擎功率比和引擎换气来缩放排放质量分数。

返回图7d,模型重新缩放工具214可以在一个或多个数据结构中存储重新缩放的引擎模型参数、重新缩放的引擎控制器模型参数和/或重塑的查找表,如步骤736处指示的。例如,模型重新缩放工具214可以将参数和查找表存储在容器文件或对象中,诸如配置集对象。配置集对象可以包含指定模型的一个或多个参数、属性或性质的信息。可以针对特定模型定义多个配置集对象,并且每个配置集对象可以包含针对模型的参数、属性或性质的不同的值。可以选择配置集对象中的给定的一个以供在模型的执行期间使用。可以在模型执行之前或期间使用被包括在给定配置集对象中的值来设置对应的模型参数、属性或性质。

在一些实施例中,建模环境200可以针对由模型编辑器204打开的模型和/或从持久性存储器加载到主存储器中的模型建立一个或多个模型工作空间、掩蔽的工作空间或数据词典文件。在模型执行期间利用的变量可以存储在所述一个或多个模型工作空间中。例如,模型元件参数可以被保存为所述一个或多个模型工作空间中的工作空间变量。建模环境200可以利用包含重新缩放的参数和重塑的查找表的配置集对象来针对重新缩放的引擎控制器模型和重新缩放的引擎模型初始化模型工作空间。

在一些实施例中,模型重新缩放工具214和/或ui引擎202可以输出或呈现原始引擎控制器模型和原始引擎模型的参数,如步骤738处指示的。模型重新缩放工具214还可以输出或呈现重新缩放的引擎控制器模型和重新缩放的引擎模型的重新缩放的参数,如步骤740处指示的。用户可以为了比较或其它目的来检查所呈现的参数。

图14是根据实施例的用于接收重新缩放因数并呈现原始引擎控制器模型和引擎模型参数的示例用户接口(ui)1400的示意性示图。ui1400可以包括用于接收和/或显示数据的多个控件或小工具。例如,ui1400可以包括期望的最大功率控件1402和期望的缸数控件1404。呈现在期望的最大功率控件1402和期望的缸数控件1404中的值可以对应于重新缩放因数并且可以是用户可编辑的。如所图示的,针对原始引擎模型,期望的最大功率为115.0917kw,并且期望的缸数为4。ui1400可以包括呈现与引擎模型和/或引擎控制模型相关联的参数中的至少一些的其它控件。例如,ui1400可以包括最大功率控件1406、缸数控件1408、引擎排量控件1410、怠速控件1412、针对最大转矩的转速控件1414、最大转矩控件1416、针对最佳燃料的功率控件1418、针对最佳燃料的转速控件1420、针对最佳燃料的转矩控件1422、针对最佳燃料的制动特定燃料消耗(bsfc)控件1424、针对最大功率的转速控件1426、针对最大功率的转矩控件1428、节气门孔径控件1430、进气歧管容积控件1432、排气歧管容积控件1434、压缩机出容积控件1436、最大涡轮转速控件1438、涡轮转子惯量控件1440和燃料喷射器斜率控件1442。应当理解的是,该控件列表仅是示例性的,并且可以呈现另外和/或其它参数的其它值。

ui1400还可以包括一个或多个命令按钮,诸如ok按钮1444、取消按钮1446、帮助按钮1448和应用按钮1450。

在一些实施例中,在键入针对重新缩放因数(例如,期望的最大功率和期望的缸数)的值之后,用户可以选择应用按钮1450。作为响应,模型重新缩放工具214可以生成重新缩放的引擎模型和匹配的重新缩放的引擎控制器模型。

图15是呈现所接收的重新缩放因数和重新缩放的引擎控制器模型和引擎模型参数的示例用户接口1500的示意性示图。针对重调尺寸的引擎,用户已在期望的最大功率控件1402中键入了115.0917*4,例如在原始引擎最大功率方面呈四倍增大。在期望的缸数控件1404中,用户键入了6。在ui1400的其余控件中呈现出相应的重新缩放的参数。如在怠速控件1412中指示的,增大引擎的尺寸导致引擎的怠速从750rpm降到459rpm。

作为对仅通过改变引擎功率和缸数来定义重新缩放操作的替换方案,用户可以选取产生独特的重调尺寸特性的参数的任何其它组合。例如,可以对用户给予用来指定重调尺寸的引擎排出容积vd的选项来代替引擎功率,以及用来指定引擎转速中的最小bsfc的位置的选项来代替缸数,从而留下重调尺寸的引擎功率和重调尺寸的引擎缸数作为自由变量。

应当理解的是,本文中描述的将四缸1.5l引擎的原始模型重新缩放成具有原始引擎的四倍功率的六缸9.8l引擎的模型仅为一个示例。模型重新缩放工具214可以将引擎(诸如4缸1.5l引擎)的原始模型重新缩放成其它较大尺寸引擎的模型或重新缩放成较小尺寸引擎的模型,诸如一缸0.15l引擎。

返回图7d,在一些实施例中,可以执行重新缩放的引擎控制器模型和重新缩放的引擎模型,如步骤742处指示的。例如,重新缩放的引擎控制器模型和重新缩放的引擎被控对象模型可以被包括在系统模型中并且因此作为系统模型的一部分来执行。

仿真引擎212可以执行包括重新缩放的引擎控制器模型和重新缩放的引擎被控对象模型的系统模型。例如,用户可以在模型编辑器窗口中选择由ui引擎202呈现的命令工具栏中的运行命令按钮。可替换地,用户可以在cli中键入基于文本的命令。也可以以编程方式执行诸如系统模型之类的模型。在一些实施例中,模型执行可以包括编译阶段、链接阶段和仿真循环阶段。编译阶段和链接阶段可以由仿真引擎212的模型编译器220执行。编译阶段可以标志模型执行的开始,并且可以涉及到准备数据结构和估计参数、配置和传播模型元件特性(例如,采样次数、数据类型等)、确定模型元件连接性、执行模型元件简化和模型元件插入以及生成对应于模型中的模型元件的方程的排序顺序。模型元件简化可以包括折叠和/或简化模型元件的一个或多个组。例如,可以折叠或去除被确定为处于未使用的代码路径(例如,无作用代码)中的模型元件或信号、其输入频率比其输出频率更快的驰豫速度模型元件以及被确定为不必需的类型转换块。

准备数据结构和估计参数可以创建并初始化在编译阶段中使用的一个或多个数据结构。对于每个模型元件来说,方法可以迫使模型元件评估其全部参数。在配置和传播模型元件和端口/信号特性期间,可以基于通过线(例如,箭头)连接到给定模型元件的模型元件(和/或端口)的对应行为和属性来设定每个模型元件(和/或端口)的已编译的属性(诸如数据维度、数据类型、复杂度、采样模式和采样时间)。还可以基于模型元件的情境或模型中的组件来设定属性。例如,可以是被分级表示为具有给定采样时间的单个模型元件的一组模型元件的子系统可以将该采样时间设置成被包括在子系统中的模型元件的采样时间。

属性设定可以通过这样的过程来执行:在该过程期间模型元件行为从一个模型元件“波动通过(ripplethrough)”模型到下一个后面的信号或其它连接性,以及波动通过模型的分级结构并且可以例如以向前或向后的方式跟随连接性。该过程称为“传播”。在明确指定了其模型元件行为或其端口的行为的模型元件的情况下,传播可以有助于确保模型元件的属性与连接到其或其所包含的模型元件的属性兼容。如果不是这样,可能会出现误差。至少一些模型元件可以被实施成与宽泛的属性兼容。这样的模型元件可以根据连接到它们的模型元件的属性来适配其行为。可以基于模型元件所处于其中的模型来选取模型元件的准确实施。此步骤内包括其它方面,诸如验证全部的驰豫速度产生确定性结果,以及正在使用适当的驰豫速度块。

编译步骤还可以确定模型元件连接性。例如,模型可以包括一个或多个虚拟块,其可以在执行模型时没有语义作用。在该步骤中,可以将虚拟块优化掉,例如去除虚拟块,并且可以将其余的非虚拟模型元件适当地重新连接到彼此。可以从此刻往前在执行过程中使用具有实际模型元件连接的模型的这种编译版本。

可以由ir建立器224针对模型生成诸如中间表示(ir)的一个或多个存储器中表示。ir中的至少一个可以是以有向图的形式,诸如具有通过边来互连的多个节点的分级数据流图(dfg)。ir的节点可以表示来自可执行图形模型的模型元件,ir的边可以表示模型的模型元件之间的连接。ir的特殊节点可以用于例如通过抽象地表示模型的子系统或其它组件来提供ir中的分级。在一些实施方式中,模型的模型元件可以映射到ir的一个或多个节点,并且模型的线或箭头可以映射到ir的一个或多个边。

应当理解的是,ir可以采取其它形式,诸如控制流图(cfg)、控制数据流图(cdfg)、程序结构树(pst)、抽象语法树(ast)、网表等。cdfg可以通过数据依存关系和控制依存关系边来捕获图形模型的数据流以及控制流。

存储器中表示或ir可以存储在存储器中,诸如数据处理设备的主存储器或持久性存储器。

在编译阶段之后,可以或可以不针对模型生成代码。如果生成代码,则可以通过加速执行模式来执行模型,在加速执行模式中,模型或模型的部分被转译成软件模块或硬件描述,其在本文中被广泛称为代码。如果执行该阶段,那么接下来的阶段可以使用在模型的执行期间生成的代码。如果不生成代码,则模型可以以解译模式执行,在解译模式中,可以直接利用模型的已编译和链接的版本来在期望的时间跨度内执行模型。当用户针对模型生成代码时,他们可以选择不进一步进行模型的执行。例如,他们可以选择采用所生成的代码并将其部署在建模环境200的限制之外。

链接阶段可以涉及到存储器分配和按照已排序顺序生成块方法执行列表。在仿真循环阶段期间,模型的已编译和链接的版本可以直接由仿真引擎212利用,以便以解译模式执行模型。模型元件的输入和输出在模型中互连的方式不一定定义了将解算(执行)对应于各模型元件的方程(方法)的顺序。实际顺序可以在编译中的排序步骤期间确定。

对模型执行来说可替换地或另外地,代码生成器208可以针对重新缩放的引擎模型的至少一部分生成代码,如步骤744处指示的(图7e)。可以在重新缩放的引擎控制器模型的硬件在环(hil)测试中利用针对重新缩放的引擎模型生成的代码,如步骤746处指示的。对模型执行和/或hil测试来说可替换地或另外地,代码生成器208可以针对重新缩放的引擎控制器模型生成代码,如步骤748处指示的。可以将针对重新缩放的引擎控制器模型生成的代码作为嵌入式软件部署在电子控制单元(ecu)上,如步骤750处指示的。

迭代搜索

在一些实施例中,模型重新缩放工具214可以在参数空间内执行迭代搜索。例如,代替将最大引擎功率指定为重新缩放因数,用户可以在节气门孔径控件1430处指定节气门孔径。模型重新缩放工具214可以基于这些重新缩放因数来生成重新缩放的引擎控制器模型和重新缩放的引擎模型。用户可以指定按照由引擎物理学的假设和约束关系规定的互斥的参数的任何组合作为自由变量,而其余参数作为导出或固定变量的组合。导出变量(例如,bsfc和最小bsfc的位置)可以在任何可能的情况下直接得出,或迭代地使用启发式和/或数学引擎重新缩放引擎解算器来得出。

静态引擎模型的生成

在一些实施例中,静态引擎模型构建器230可以使用在重新缩放的引擎控制器模型和重新缩放的引擎模型的测试期间生成的数据来创建静态重新缩放的引擎模型。另外,第三方详细的动态引擎模型可以用作测试源,要从该测试源创建以自动化的节省劳力的方式等效的静态重新缩放的引擎模型。

图16a和16b是根据实施例的示例方法的流程图的局部视图。建模环境200可以将重新缩放的引擎控制器模型和重新缩放的引擎模型包括在测试环境中,如步骤1602处指示的。例如,建模环境200可以将重新缩放的引擎控制器模型和重新缩放的引擎模型包括在功率计模型中。

图17是根据实施例的用于测试重新缩放的引擎控制器模型和重新缩放的引擎模型的示例功率计系统模型1700的示意性示图。功率计系统模型1700可以包括功率计控制器模型1702、重新缩放的引擎控制器模型1704、重新缩放的引擎模型1706和功率计被控对象模型1708。合适的功率计系统模型包括来自数学工程公司的si和ci引擎功率计参考应用。

在一些实施例中,原始功率计模型可以是针对原始引擎控制器模型和原始引擎模型创建的。模型重新缩放工具214可以重新使用这个功率计模型。模型重新缩放工具214可以使用一个或多个计算出的比来重新缩放该功率计模型的一个或多个参数,以匹配重新缩放的引擎控制器和引擎模型的尺寸,如步骤1604处指示的。例如,模型重新缩放工具可以重新缩放转矩和转速的测试范围以反映新的引擎尺寸。例如,功率计控制器模型可以包括用于测试引擎控制器模型和引擎模型的多个原始引擎转速命令点。模型重新缩放工具214可以生成重新缩放的引擎转速命令点,如下:

重新缩放的引擎转速命令点=原始引擎转速命令点*engspdratio。

功率计控制器模型还可以包括多个原始引擎转矩命令点。模型重新缩放工具214可以生成重新缩放的引擎转矩命令点,如下:

重新缩放的引擎转矩命令点=原始引擎转矩命令点*engtrqratio。

功率计被控对象模型可以包括参数,诸如马达尺寸参数、惯量参数、功率吸收参数、排热能力参数等。也可以重新缩放这些另外的参数。

在一些实施例中,可以迭代地重新调节一个或多个查找表以减小可能出现的层叠误差,如步骤1606处指示的。可以对参数和/或查找表的有限子集执行迭代的重新调节,所述有限子集诸如用于占据测量的转矩与所命令的转矩之间的空隙的参数。例如,可以使用stateflow状态图工具迭代地重新调节节气门和废气门引擎控制器校准表,以减小和/或去除可能由于引擎被控对象模型校准表的重新缩放而产生的层叠误差。层叠误差可以包括所命令的引擎转矩与实际引擎转矩之间的差。

在重新缩放了功率计模型以匹配重新缩放的引擎控制器和引擎模型的情况下,可以运行重新缩放的功率计模型以在多个测试点处测试重新缩放的引擎控制器和引擎模型,如步骤1608处指示的。在步骤1608处,可以在步骤1604的重新缩放操作和步骤1606中的重新调节或重调以去除层叠误差之后评估最终引擎性能。在重新缩放的引擎控制器和引擎模型的测试期间,静态引擎模型构建器215可以存储(例如,记录)引擎输出数据,如步骤1610处指示的。静态引擎模型构建器215可以基于在重新缩放的引擎控制器和引擎模型的测试期间获得的引擎输出数据来创建一组查找表,如步骤1612处指示的。还可以将该组查找表——其可以包含足以对重新缩放的引擎模型的性能行为进行建模的数据——与静态引擎等效模型元件相关联,如步骤1614处指示的。

在一些实施例中,可以在仿真环境中直接使用在复杂引擎模型的测试期间获得的数据来对静态引擎等效模型元件进行参数化,所述复杂引擎模型诸如gtsuite引擎模型、wave或wavert模型或avl增压模型。

如所描述的,原始引擎模型和重新缩放的引擎模型可以是在执行期间实行操作或功能以计算引擎输出数据的动态模型。在动态模型的仿真期间,可以生成并解算微分方程。相比之下,静态引擎等效模型元件可以不是动态模型。相反,静态引擎等效模型元件可以完全基于被包括在其查找表集合中的信息来确定引擎输出数据。建模环境200可以用静态引擎等效模型元件来替代重新缩放的引擎模型,如步骤1616处指示的。例如,建模环境200可以从系统模型中删除重新缩放的引擎模型,并将重新缩放的引擎控制器模型连接到静态引擎等效模型元件。建模环境200可以运行包括静态引擎等效模型元件的系统模型,如步骤1618处指示的。

由于其主要由查找表构成,因此静态引擎等效模型元件可以比重新缩放的引擎模型更快地执行,并且可以比重新缩放的引擎模型需要更少的存储器空间。

示例性数据处理设备

图18是用于实施本发明的实施例的计算机或数据处理系统1800的示意性示图。计算机系统1800可以包括一个或多个处理元件,诸如处理器1802、主存储器1804、用户输入/输出(i/o)1806、诸如盘驱动1808之类的持久性数据存储单元和由系统总线1812互连的可移除介质驱动1810。计算机系统1800还可以包括通信单元,诸如网络接口卡(nic)1814。用户i/o1806可以包括键盘1816、诸如鼠标之类的指向设备1818以及显示器1820。其它用户i/o1806组件包括语音或话音命令系统、触摸板和触摸屏、打印机、投影仪等。示例性处理器包括单核或多核中央处理单元(cpu)、图形处理单元(gpu)、现场可编程门阵列(fpga)、专用集成电路(asic)、微处理器、微控制器等。

可以为随机存取存储器(ram)的主存储器1804可以存储诸如操作系统1822之类的多个程序库或模块以及对接到操作系统1822的一个或多个应用程序,诸如建模环境200。

可移除介质驱动1810可以接受并读取计算机可读介质1824,诸如cd、dvd、软盘、固态驱动、磁带、闪存或其它非暂时性介质。可移除介质驱动1810还可以写入到计算机可读介质1824。

合适的计算机系统包括个人计算机(pc)、工作站、服务器、膝上型电脑、平板电脑、掌上计算机、智能电话、电子阅读器和其它便携式计算设备等。尽管如此,本领域技术人员将理解的是,图18的计算机系统1800仅意图用于例证性目的,并且本发明可以与其它计算机、数据处理或计算系统或设备一起使用。本发明还可以用在计算机网络(例如客户端-服务器)、架构或公共和/或私有云计算布置中。例如,可以将建模环境200托管在一个或多个云服务器或设备上并且由远程客户端通过web门户或应用托管系统(诸如来自微软公司的远程桌面连接工具)进行访问。

合适的操作系统1822包括来自华盛顿州雷德蒙德的微软公司的windows系列操作系统,来自加利福尼亚州山景城的谷歌公司的安卓和chromeos操作系统、linux操作系统、来自加利福尼亚州库比蒂诺的苹果公司的macos®系列操作系统以及unix®系列操作系统以及其它的。操作系统1822可以为应用或模块提供服务或功能,诸如分配存储器、根据文件系统组织数据对象或文件、对请求进行优先级化、管理i/o等。操作系统1822可以在可以由数据处理系统1800提供的虚拟机上运行。

如上文指示的,诸如工程师、科学家、程序员、开发者等的用户可以利用一个或多个输入设备和显示器1820来操作包括模型重新缩放工具214的建模环境200,所述输入设备诸如键盘1816、鼠标1818。

图19是可以在其中实施本文描述的系统和/或方法的分布式计算环境1900的示意性示图。环境1900可以包括由一个或多个网络(诸如网络1910)互连的客户端和服务器设备,诸如两个服务器1902和1904以及三个客户端1906-1908。服务器1902和1904可以包括可由客户端1906-1908访问的应用或过程。例如,服务器1902可以运行技术计算环境1912,其可以运行建模环境200。服务器1904可以运行模型重新缩放工具214、代码生成器208和/或某其它应用。环境1900的设备可以经由有线连接、无线连接或有线和无线连接的组合来进行互连。

在一些实施例中,分布式环境1900可以包括硬件在环(hil)测试环境1918,其可以包括1914处指示的一个或多个硬件元件。分布式环境1900还可以包括电子控制单元(ecu)1916。

服务器1902和1904可以包括能够接收、生成、存储、处理、执行和/或提供信息的一个或多个设备。例如,服务器1902和1904可以包括计算设备,诸如服务器、台式计算机、膝上型计算机、平板计算机、手持式计算机或类似设备。

客户端1906-1908可以能够接收、生成、存储、处理、执行和/或提供信息。信息可以包括任何类型的机器可读信息,其具有可以被适配以供例如在一个或多个网络中使用和/或与一个或多个设备一起使用的大体上任何格式。信息可以包括数字信息和/或模拟信息。信息还可以是打包的和/或未打包的。在实施例中,客户端1906-1908可以经由网络1910从服务器1902和1904下载数据和/或代码。在一些实施方式中,客户端1906-1908可以是台式计算机、工作站、膝上型计算机、平板计算机、手持式计算机、移动电话(例如、智能电话、无线电话等)、电子阅读器或类似设备。在一些实施方式中,客户端1906-1908可以从服务器1902和1904接收信息和/或将信息传输到服务器1902和1904。

网络1910可以包括一个或多个有线和/或无线网络。例如,网络1910可以包括蜂窝网络、公共陆地移动网络(“plmn”)、局域网(“lan”)、广域网(“wan”)、城域网(“man”)、电话网络(例如公共交换电话网(“pstn”))和自组网、内联网、互联网、基于光线的网络和/或这些或其它类型网络的组合。可以使用任何网络协议在网络设备之间交换信息,所述网络协议诸如但不限于互联网协议(ip)、异步传输模式(atm)、同步光网(sonet)、用户数据报协议(udp)、电气与电子工程师协会(ieee)802.11等。

图19中示出的设备和/或网络的数量是作为示例提供的。在实践中,与图19中示出的那些相比,可以有另外的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络或以不同方式布置的设备和/或网络。此外,图19中示出的两个或更多个设备可以被实施在单个设备内,或者图19中示出的单个设备可以被实施为多个分布式设备。另外,分布式计算环境1900的设备中的一个或多个可以执行被描述为由环境1900的另一个或多个设备执行的一个或多个功能。

下面的示例实施本公开的方法和/或系统的一个或多个方面。这些示例是非限制性示例。不同示例的特征可以在其它实施方式中进行组合。每个示例的特征可以在其它实施方式中被修改或去除。

方面1.一种方法,包括:

访问引擎控制器模型和引擎模型,所述引擎控制器模型和所述引擎模型是可执行的,所述引擎控制器模型包括原始控制器参数和原始控制器查找表,所述引擎模型包括原始引擎参数和原始引擎查找表,所述引擎模型在执行期间仿真给定尺寸的原始引擎的操作;

接收指示所述原始引擎的所述给定尺寸变成重调尺寸引擎的新尺寸的一个或多个重新缩放因数;

基于所述一个或多个重新缩放因数确定所述给定尺寸的原始引擎与所述新尺寸的重调尺寸引擎之间的多个比;

通过基于所述多个比修改所述原始控制器参数来生成重新缩放的控制器参数;

通过基于所述多个比修改所述原始引擎参数来生成重新缩放的引擎参数;

通过基于所述多个比修改所述原始控制器查找表来创建重塑的控制器查找表;

通过基于所述多个比修改所述原始引擎查找表来创建重塑的引擎查找表;以及

利用所述重新缩放的控制器参数、所述重新缩放的引擎参数、所述重塑的控制器查找表以及所述重塑的引擎查找表来执行所述引擎控制器模型和所述引擎模型,以仿真所述新尺寸的重调尺寸引擎的操作。

方面2.根据方面1的方法,其中,所述一个或多个重新缩放因数包括最大引擎功率和引擎气缸的数目。

方面3.根据前述方面中的任一个、特别是方面1的方法,其中,所述多个比包括以下中的至少一个:

所述给定尺寸的原始引擎与所述新尺寸的重调尺寸引擎之间的引擎转速的第一比;

所述给定尺寸的原始引擎与所述新尺寸的重调尺寸引擎之间的引擎转矩的第二比;

所述给定尺寸的原始引擎与所述新尺寸的重调尺寸引擎之间的引擎排量的第三比;或者

所述给定尺寸的原始引擎与所述新尺寸的重调尺寸引擎之间的引擎功率的第四比。

方面4.根据前述方面中的任一个、特别是方面3的方法,其中,所述原始引擎参数包括针对引擎容积特性的第一引擎参数,并且生成重新缩放的引擎参数包括至少根据第二比来修改第一参数。

方面5.根据前述方面中的任一个、特别是方面3的方法,其中,所述原始引擎参数包括针对引擎面积特性的第二引擎参数,并且生成重新缩放的引擎参数包括至少根据第四比来修改第二参数。

方面6.根据前述方面中的任一个、特别是方面3的方法,其中,所述原始引擎查找表中的一个或多个包括针对引擎转速的第一断点和针对引擎转矩、喷射燃料质量或正规化的气缸进气的第二断点,创建重塑的引擎查找表包括至少根据第一比来修改第一断点以及至少根据第二比来修改第二断点。

方面7.根据前述方面中的任一个、特别是方面6的方法,其中,所述原始引擎查找表中的一个或多个还包括表阵列数据,所述方法还包括:

通过所述多个比中的至少一个来修改所述表阵列数据。

方面8.根据前述方面中的任一个、特别是方面1的方法,其中,执行包括:

由所述引擎控制器模型生成重新缩放的引擎命令;以及

由所述引擎模型生成重新缩放的引擎输出数据。

方面9.根据前述方面中的任一个、特别是方面1的方法,其中,所述原始引擎查找表包括第一查找表,其包含针对所述给定尺寸的原始引擎的排放数据,创建重塑的引擎查找表包括重塑第一查找表以表示针对所述新尺寸的重调尺寸引擎的新的排放数据。

方面10.根据前述方面中的任一个、特别是方面1的方法,其中,执行所述引擎控制器模型和所述引擎模型发生在产生重新缩放的引擎输出数据的测试点的范围上,所述方法还包括:

从所述重新缩放的引擎输出数据创建静态引擎查找表的集合;以及

创建包括所述静态引擎查找表的集合的模型元件,其中,所述模型元件表示与利用所述重新缩放的引擎参数和所述重塑的引擎查找表的引擎模型等效的静态引擎。

方面11.根据前述方面中的任一个、特别是方面1的方法,还包括:

针对具有所述重新缩放的控制器参数和所述重塑的控制器查找表的所述引擎控制器模型生成代码,所述代码被配置用于作为嵌入式软件部署在电子控制单元(ecu)上。

方面12.根据前述方面中的任一个、特别是方面1的方法,还包括:

针对具有所述重新缩放的引擎参数和所述重塑的引擎查找表的引擎模型的至少一部分生成代码;以及

使用针对具有所述重新缩放的引擎参数和所述重塑的引擎查找表的引擎模型的所述至少一部分生成的所述代码来执行具有所述重新缩放的控制器参数和所述重塑的控制器查找表的引擎控制器模型的硬件在环(hil)测试。

方面13.根据前述方面中的任一个的方法,其中:

引擎查找表被适配成存储非线性引擎行为数据;和/或

控制器查找表被适配成存储针对给定的引擎操作点的最佳控制命令。

方面14.根据前述方面中的任一个的方法,其中:

查找表将控制器命令输入值关联到控制器输出,所述控制器输出将在所述引擎中产生期望的响应,特别是在准稳定和动态引擎操作条件下;和/或

查找表包括一个或多个输入断点数据集和输出表数据。

方面15.根据前述方面中的任一个的方法,其中:

输入断点数据集是针对所述查找表的特定维度的输入值的索引;和/或

断点被定义为被包括在输入断点数据集中的输入值。

方面16.根据前述方面中的任一个的方法,其中,针对给定的引擎架构的所述引擎模型的参数、特别是缸数和/或排量定义了所述引擎的尺寸。

方面17.一种或多种具有指令存储于其上的非暂时性计算机可读介质,所述指令在由计算设备执行时使得所述计算设备实施根据前述方面中的任一个的方法。

方面18.一种装置,包括:

存储器,其存储引擎控制器模型和引擎模型,所述引擎控制器模型和所述引擎模型是可执行的,所述引擎控制器模型包括原始控制器参数和原始控制器查找表,所述引擎模型包括原始引擎参数和原始引擎查找表,所述引擎模型在执行期间仿真给定尺寸的原始引擎的操作;以及

处理器,其耦合到所述存储器,所述处理器被配置成:

接收指示所述原始引擎的所述给定尺寸变成重调尺寸引擎的新尺寸的一个或多个重新缩放因数;

基于所述一个或多个重新缩放因数确定所述给定尺寸的原始引擎与所述新尺寸的重调尺寸引擎之间的多个比;

通过基于所述多个比修改所述原始控制器参数来生成重新缩放的控制器参数;

通过基于所述多个比修改所述原始引擎参数来生成重新缩放的引擎参数;

通过基于所述多个比修改所述原始控制器查找表来创建重塑的控制器查找表;

通过基于所述多个比修改所述原始引擎查找表来创建重塑的引擎查找表;以及

以下中的至少一个

利用所述重新缩放的控制器参数、所述重新缩放的引擎参数、所述重塑的控制器查找表以及所述重塑的引擎查找表来执行所述引擎控制器模型和所述引擎模型,以仿真所述新尺寸的重调尺寸引擎的操作,或者

针对包括所述重新缩放的控制器参数和所述重塑的控制器查找表的引擎控制器模型生成代码。

方面19.根据方面18的装置,其中,所述多个比包括以下中的至少一个:

所述给定尺寸的原始引擎与所述新尺寸的重调尺寸引擎之间的引擎转速的第一比;

所述给定尺寸的原始引擎与所述新尺寸的重调尺寸引擎之间的引擎转矩的第二比;

所述给定尺寸的原始引擎与所述新尺寸的重调尺寸引擎之间的引擎排量的第三比;或者

所述给定尺寸的原始引擎与所述新尺寸的重调尺寸引擎之间的引擎功率的第四比。

方面20.一种方法,包括:

访问引擎控制器模型和引擎模型,所述引擎控制器模型和所述引擎模型是可执行的,所述引擎模型在执行期间仿真给定尺寸的原始引擎的操作,所述引擎控制器模型包括所述原始引擎的模型并且实施匹配所述引擎模型的前馈控制器;

接收指示所述原始引擎的所述给定尺寸变成重调尺寸引擎的新尺寸的一个或多个重新缩放因数;

基于所述一个或多个重新缩放因数重新缩放所述引擎模型以仿真所述新尺寸的重调尺寸引擎;

基于所述一个或多个重新缩放因数重新缩放所述引擎控制器模型以匹配如被重新缩放以仿真所述新尺寸的重调尺寸引擎的引擎模型;以及

在重新缩放所述引擎控制器模型和重新缩放所述引擎模型之后,执行所述引擎控制器模型和所述引擎模型,以仿真所述新尺寸的重调尺寸引擎的操作。

实施例的前述描述旨在提供例证和描述,而不旨在是穷举性的或将本公开限制为所公开的精准形式。按照上文的教导的修改和变型是可能的,或可以从本公开的实践中获得。例如,虽然上文关于流程图描述了一系列动作,但是可以在其它实施方式中修改所述动作的顺序。另外,动作、操作和步骤可以由另外或其它模块或实体来执行,其可以被组合或分离以形成其它的模块或实体。此外,可以并行地执行非从属的动作。并且,如本文中使用的术语“用户”旨在广泛地解释为包括例如计算机或数据处理系统或者计算机或数据处理系统的人类用户,除非另外陈述。

此外,本公开的某些实施例可以被实施为执行一个或多个功能的逻辑。这种逻辑可以是基于硬件、基于软件或者基于硬件和基于软件的组合。逻辑中的一些或全部可以被存储在一个或多个有形非暂时性计算机可读存储介质中并且可以包括可以由计算机或数据处理系统执行的计算机可执行指令。所述计算机可执行指令可以包括实施本公开的一个或多个实施例的指令。有形非暂时性计算机可读存储介质可以是易失性或非易失性的,并且可以包括例如闪存、动态存储器、可移除盘和非可移除盘。

本文中使用的元件、动作或指令不应当被解释为对本公开来说是关键的或必要的,除非明确这样描述了。并且,如本文中使用的,冠词“一”旨在包括一个或多个项。在仅意图为一个项的情况下,使用术语“一个”或类似语言。此外,短语“基于”旨在意指“至少部分地基于”,除非另外明确陈述。

前述描述已经涉及了本公开的具体实施例。然而,将显而易见的是,可以对所描述的实施例做出其它变型和修改,以达成它们的优点中的一些或全部。例如,所生成的代码可以有利地与其它嵌入式硬件一起利用,诸如包括浮点核的嵌入式硬件。因此,所附权利要求的目标是要覆盖如落在本公开的真实精神和范围内的所有这样的变型和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1