CN102289210A - 具有软件在环旁路控制的车辆仿真*** - Google Patents
具有软件在环旁路控制的车辆仿真*** Download PDFInfo
- Publication number
- CN102289210A CN102289210A CN201110135104XA CN201110135104A CN102289210A CN 102289210 A CN102289210 A CN 102289210A CN 201110135104X A CN201110135104X A CN 201110135104XA CN 201110135104 A CN201110135104 A CN 201110135104A CN 102289210 A CN102289210 A CN 102289210A
- Authority
- CN
- China
- Prior art keywords
- model
- vehicle
- module
- realistic model
- piece
- 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
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23446—HIL hardware in the loop, simulates equipment to which a control module is fixed
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及具有软件在环旁路控制的车辆仿真***。车辆仿真***包括第一仿真模型,当被运行时其模拟软件环以及车辆模块的其他软件。车辆仿真***还包括软件环的第二仿真模型。具有第一状态和第二状态的旁路开关。旁路转换模块基于旁路信号和环启动信号在第一仿真模型和第二仿真模型之间转换旁路开关。仿真控制模块执行车辆仿真模型代码,包括基于旁路开关状态针对第一仿真模型和第二仿真模型中选定一者的软件在环测试,即SIL测试。
Description
相关申请的交叉引用
本申请要求2010年5月24日提交的美国临时申请No.61/347,641的权益。上述申请的公开内容全部被并入本文以供参考。
本申请与同日提交的美国专利申请No.xx/xxx,xxx[P011659(8540P-001110)]相关。上述申请的公开内容全部被并入本文以供参考。
技术领域
本公开内容涉及车辆硬件和软件仿真***。
背景技术
这里提供的背景技术描述是用于大体陈述本公开内容的背景。本发明人在这个背景技术部分描述的工作内容以及不被认为是申请日时的现有技术的各描述方面既不明确地也不暗示地被认为是抵触本公开内容的现有技术。
可以在生产之前在模拟的环境中测试车辆控制器和硬件以便确保部件和***保真度。通过车辆仿真***来提供模拟的环境。车辆仿真***用于硬件在环(HIL)测试。HIL测试包括使用在目标控制模块上运行的嵌入软件,该模块与物理和模拟的负载相接口。
虽然HIL测试可以是有效的,不过HIL测试需要研发物理负载或实时模拟的负载,而这可能是昂贵的且仅在后续研发循环中可用。HIL测试也包括使用一组硬件设备,例如车辆控制模块(例如变速器控制模块)和信号仿真器。
发明内容
提供车辆仿真***并且该***包括第一仿真模型,当被运行时该第一仿真模型模拟车辆模块的软件环(software ring)。车辆仿真***还包括软件环的第二仿真模型。旁路开关具有第一状态和第二状态。旁路转换模块基于旁路信号和环启动信号在第一仿真模型和第二仿真模型之间转换旁路开关。仿真控制模块基于旁路开关的状态运行包括第一仿真模型和第二仿真模型中选定仿真模型的软件在环(SIL)测试的车辆仿真模型的代码。
在其他特征中,提供车辆仿真***且该***包括多个仿真模型;每个仿真模型均具有相应输入和输出。目标选择模块基于用户输入信号选择仿真模型的N个目标。N个目标包括变量、信号和节点,并且N是大于或等于2的整数。信号跟踪模块跟踪运行车辆仿真模型的代码期间N个目标的状态。数据记录模块记录N个目标的状态。绘制模块在图形用户界面上绘制N个节点中M个的状态,而M是小于或等于N的整数。
本发明还提供了以下技术方案。
方案1. 一种车辆仿真***,包括:
第一仿真模型,该第一仿真模型在被运行时模拟车辆模块的软件环;
所述软件环的第二仿真模型;
具有第一状态和第二状态的旁路开关;
旁路转换模块,该旁路转换模块基于旁路信号和环启动信号在所述第一仿真模型和所述第二仿真模型之间转换所述旁路开关;以及
仿真控制模块,其运行车辆仿真模型的代码,包括基于所述旁路开关的状态对所述第一仿真模型和所述第二仿真模型中所选定仿真模型的软件在环(SIL)测试。
方案2. 根据方案1所述的车辆仿真***,还包括SIL块,该SIL块包括所述第一仿真模型,其中:
所述第二仿真模型的输入和输出被连接到所述SIL块的内部节点;以及
所述SIL块不包括所述第二仿真模型。
方案3. 根据方案1所述的车辆仿真***,其中所述第一仿真模型包括第一组任务,并且所述第二仿真模型包括第二组任务。
方案4. 根据方案1所述的车辆仿真***,其中:
所述第一仿真模型基于源代码和第一组自动代码被生成,并且所述第一组自动代码基于仿真子模型被生成;以及
所述第二仿真模型不基于源代码被生成。
方案5. 根据方案1所述的车辆仿真***,还包括存储多个任务的存储器,其中:
所述旁路转换模块基于任务启动信号在所述第一模型和所述第二模型之间转换所述旁路开关;以及
所述任务启动信号识别所述多个任务中的至少一个。
方案6. 根据方案1所述的车辆仿真***,还包括选择机器模型保真水平的机器模型选择模块,
其中所述仿真控制模块基于对应于所述机器模型保真水平的机器模型来运行所述车辆仿真模型。
方案7. 根据方案1所述的车辆仿真***,还包括绘制模块,其在图形用户界面上选择和绘制所述车辆仿真模型的变量、信号和节点。
方案8. 根据方案1所述的车辆仿真***,还包括选择一组输入的驱动循环模块,其包括下述各项中的一者:
致动(i)由所述车辆仿真模型的SIL块接收的以及(ii)显示在图形用户界面上的用户输入;
选择预定义信号组;以及
选择车辆记录的信号组,
其中所述仿真控制模块基于选定的所述一组输入来运行所述第一仿真模型和所述第二仿真模型中的一者。
方案9. 根据方案1所述的车辆仿真***,其中所述车辆仿真模型包括:
包括所述第一仿真模型且接收输入信号的变速器SIL模型;
基于所述变速器SIL模块的输出来运转的变速器的第一机器模型;以及
基于所述第一机器模型的输出来运转的发动机和车辆***中的至少一者的第二机器模型,
其中所述变速器SIL模型基于所述第二机器模型的输出来运转。
方案10. 根据方案9所述的车辆仿真***,其中所述车辆仿真模型还包括:
接收所述第二机器模型的输出的传感器模型和控制器局域网输入模型中的至少一者,其中所述变速器SIL模型接收所述传感器模型和所述控制器局域网输入模型中的所述至少一者的输出;以及
接收所述变速器SIL模型的输出的控制器局域网输出模型和致动器模型中的至少一者,其中所述第一机器模型接收所述控制器局域网输出模型和所述致动器模型中的所述至少一者的输出。
方案11. 根据方案1所述的车辆仿真***,还包括:
孵化器触发模块,其基于所述旁路开关的状态启动所述第二仿真模块的任务;以及
调度模块,其基于所述环选择信号和任务选择信号来单独地选择和启动所述第二仿真模型中的选定任务。
方案12. 根据方案1所述的车辆仿真***,其中:
所述旁路转换模块基于所述环选择信号将所述旁路开关转换到第三状态;以及
当所述旁路开关处于所述第三状态时所述仿真控制模块运行所述第一仿真模型和所述第二仿真模型。
方案13. 根据方案1所述的车辆仿真***,还包括生成模型的模型生成模块,其中:
所述车辆仿真模型具有N个软件环,其中N是大于2的整数;以及
所述模型生成模块产生原型软件环的原型模型,所述原型软件环不同于所述N个软件环并且实现不同于所述N个软件环中的每一个的整体函数的整体函数。
方案14. 根据方案13所述的车辆仿真***,还包括:
包括所述第一仿真模型的第一SIL块;
生成第二SIL块的SIL块生成模块,其中所述原型模型包括所述第二SIL块;
将所述原型模型的输入和输出连接到所述第一SIL块的节点的钩设定模块;以及
触发器设定模块和调度模块中的至少一者,其基于所述第一SIL块的触发器来针对所述第二SIL块中的任务建立触发器。
方案15. 根据方案1所述的车辆仿真***,还包括:
包括所述第一仿真模型的第一SIL块;
生成第二SIL块的SIL块生成模块,其中所述第二仿真模型包括所述第二SIL块;
将所述第二仿真模型的输入和输出连接到所述第一SIL块的节点的钩设定模块;
触发器设定模块和调度模块中的至少一者,其基于所述第一SIL块的触发器来针对所述第二SIL块中的任务建立触发器;以及
旁路开关设定模块,其产生所述旁路开关,包括针对所述第二仿真模型的启动连接、禁用连接和触发器连接。
方案16. 一种车辆仿真***,包括:
多个仿真模型,所述仿真模型中的每一个均包括相应的输入和输出;
目标选择模块,其基于用户输入信号选择所述多个仿真模型中的N个目标,其中所述N个目标包括变量、信号和节点并且N是大于或等于2的整数;
信号跟踪模块,其跟踪运行车辆仿真模型的代码期间所述N个目标的状态;
数据记录模块,其记录所述N个目标的状态;以及
绘制模块,其在图形用户界面上绘制所述N个节点中M个的状态,其中M是小于或等于N的整数。
方案17. 根据方案16所述的车辆仿真***,还包括:
软件在环(SIL)块,其包括所述多个仿真模型中的至少一个并且当被运行时模拟车辆控制模块;以及
机器模型,当被运行时模拟车辆的变速器和发动机中的至少一者,
其中所述SIL块基于所述机器模型的输出来运转,
其中所述机器模型基于所述SIL块的输出来运转,以及
其中所述目标选择模块选择所述SIL块和所述机器模型的目标。
方案18. 根据方案16所述的车辆仿真***,还包括:
第一仿真模型,当被运行时其模拟车辆模块的软件环;
所述软件环的第二仿真模型;
具有第一状态和第二状态的旁路开关;
旁路转换模块,该旁路转换模块基于旁路信号和环启动信号在所述第一仿真模型和所述第二仿真模型之间转换所述旁路开关;以及
仿真控制模块,其运行车辆仿真模型的代码,包括基于所述旁路开关的状态对于所述第一仿真模型和所述第二仿真模型中选定仿真模型的软件在环(SIL)测试,
其中所述目标选择模块选择所述第一仿真模型和所述第二仿真模型的目标。
方案19. 根据方案18所述的车辆仿真***,其中所述车辆仿真模型包括:
包括所述第一仿真模型且接收输入信号的变速器SIL模型;
基于所述变速器SIL模块的输出来运转的变速器的第一机器模型;以及
基于所述第一机器模型的输出来运转的发动机和车辆***中的至少一者的第二机器模型,
其中所述变速器SIL模型基于所述第二机器模型的输出来运转,以及
其中所述目标选择模块选择所述变速器SIL模型、所述第一机器模型和所述第二机器模型的目标。
方案20. 根据方案19所述的车辆仿真***,其中所述车辆仿真模型还包括:
接收所述第二机器模型的输出的传感器模型和控制器局域网输入模型中的至少一者,其中所述变速器SIL模型接收所述传感器模型和所述控制器局域网输入模型中的至少一者的输出;以及
接收所述变速器SIL模型的输出的控制器局域网输出模型和致动器模型中的至少一者,
其中所述第一机器模型接收所述控制器局域网输出模型和所述致动器模型中的至少一者的输出,以及
其中所述目标选择模块选择如下各项中的目标:(i)传感器模型和控制器局域网输入模型中的至少一者以及(ii)控制器局域网输出模型和致动器模型中的至少一者。
从这里提供的说明中可以显而易见到其他应用领域。应该理解,说明和具体示例仅是说明性目的并且不试图限制本发明的范围。
附图说明
这里描述的附图仅是说明性目的并且不以任何方式试图限制本发明的范围。
图1是根据本公开内容的包括车辆仿真模型的车辆研发过程图;
图2是根据本公开内容的车辆仿真模型和图形用户界面(GUI)的视图;
图3是根据本公开内容的车辆仿真***的功能框图;
图4是根据本公开内容的另一车辆仿真模型的一部分的窗口视图;
图5是图4的车辆仿真模型的变速器控制块(变速器控制模块块)的窗口视图;
图6是图4的车辆仿真模型的孵化器块(算法模型)的窗口视图;
图7是示出了根据本公开内容的SIL过程的功能框图;
图8是示出了图7的SIL过程的编码过程的功能框图;
图9是根据本公开内容的具有输入信号模型的窗口视图;
图10是根据本公开内容的具有预定义信号线图的窗口视图;
图11是根据本公开内容的与SIL块构建过程相关的多个窗口的视图;
图12是示出根据本公开内容的机器模型保真度选择的窗口视图;
图13是根据本公开内容的GUI窗口的视图;
图14是根据本公开内容的调度***的窗口和功能框图;
图15是根据本公开内容的具有孵化器触发器和旁路开关的窗口视图;
图16是示出了根据本公开内容的旁路开关构造的窗口视图;
图17是根据本公开内容的数据处理模块的功能框图;
图18是示出根据本公开内容的测量窗口的启动状态的窗口视图;
图19是根据本公开内容的具有被监控目标的窗口视图;
图20是根据本公开内容的包括目标选择窗口和绘制窗口的多个窗口的视图;
图21是根据本公开内容的另一目标选择窗口的视图;
图22是根据本公开内容的具有硬件在环(HIL)线图和SIL线图的窗口视图;
图23是根据本公开内容的多个调试器窗口的视图;
图24示出了根据本公开内容的启动任务的方法;
图25是根据本公开内容的数据处理模块的功能框图;以及
图26示出了根据本公开内容的生成块的方法。
具体实施方式
下述说明实质上仅是示例性的并且不以任何方式限制本公开内容、其应用或使用。为了清楚的目的,在附图中将使用相同附图标记来表示类似元件。如这里使用的,用语“A、B和C中的至少一者”应该被认为意味着使用了非排他性逻辑“或”的逻辑(A或B或C)。应该理解,在不改变本公开内容原理的情况下可以以不同次序来执行方法中的步骤。
如这里所述,术语模块可以指代专用集成电路(ASIC)、电子电路、执行一个或更多个软件或固件程序的处理器(共享、专用或成组)和/或存储器(共享、专用或成组)、组合逻辑电路和/或提供所述功能的其他适当元件中的一部分或者包括上述各项。
硬件在环(HIL)测试的第一替代方案包括使用源代码(例如C代码、Fortran等)和/或手编代码对车辆控制模块的仿真以及对机器模型的仿真。手编代码(hand code)可以指的是手动地操作源代码并且可能包括错误。这种方法是不可扩展的,因为与车辆控制模块相关的代码是固定的。使用这种方法,则改变源代码以及执行其他仿真是繁琐的。
HIL测试的另一替代方案(被称为2-模式混合总线测试)包括使用基于模型的软件来模拟车辆控制模块和车辆部件或***。基于模型的仿真软件(例如MathworksTM的MatlabTM和SimulinkTM)是基于窗口的并且包括函数块和相应输入和输出的连接从而产生模型。通过仿真软件,在窗口环境中研发出模型并且所述模型被转换成自动代码。基于模型的软件是用户友好的并且允许容易地操作模型、函数块、信号等。2-模式混合总线测试不允许包括用C代码(先前存在的C代码或遗留代码)编写的车辆控制模块的软件。
作为HIL测试的替代方案,可以执行软件在环(SIL)测试。SIL测试包括汽车控制***仿真,其中通过在仿真计算环境中运行车辆控制模块的实际目标嵌入处理器软件来获得全部或一部分控制算法的行为。SIL测试包括模拟负载,例如控制器局域网(CAN)、控制模块、机器模型、传感器等的输入和输出。在SIL测试环境中,目标软件,例如变速器控制模块(TCM)的软件,被虚拟链接到机器。SIL测试不需要特殊的与机器相关的硬件。机器模型模拟机器(例如,发动机、变速器或车辆动力学)。机器模型从模拟的控制模块接收输入并且产生输出,所述输出可以被反馈给模拟的控制模块。目标软件到机器模型的虚拟链接允许车辆***在研发周期的早期被评估。
在下述说明中,术语任务指的是在仿真期间执行的软件函数,或者方法过程中执行的项目、函数或步骤。函数指的是作为较大程序内一部分代码的子例程或子程序。任务可以包括多个子任务。
而且,在下述说明中,术语环指的是一组任务或函数。SIL块(或块)可以包括一个或更多个环并且用于模拟车辆的控制模块。例如,可以经由变速器块来模拟车辆的变速器控制模块。块可以是***块、函数块或空块/零块(null block)。***块被连接到运行时间操作***并且执行与该块相关的函数和任务。函数块针对***或模型的具体部分来执行函数。空块提供对存储器的访问。
此外,在下述说明中,术语模型指的是一个或更多个SIL块以及相应的输入和输出以及在SIL块之间的连接。模型可以包括多个子模型。例如,车辆仿真***模型可以包括具有控制SIL块的控制模型以及例如发动机和变速器的机器模型。机器模型指的是被用于模拟车辆硬件部件和/或***的操作的模型,例如发动机、变速器、控制器局域网总线、传感器等的模型。
在图1中,示出的车辆研发过程图包括车辆仿真模型(VSM)10,当被运行时该车辆仿真模型10执行SIL测试。使用VSM 10来测试车辆的控制模块。仿真包括模拟一个或更多个车辆控制模块、车辆部件或***,例如发动机、变速器、传感器、致动器、网络总线等。在仿真测试后,基于模型的代码被转换成自动代码,如窗口12所示,其具有自动代码14。自动代码14与窗口18中所示的自动代码16所构建的目标软件的其余部分相结合。自动代码14与目标软件的其余部分一同被编译、链接和构建以便可执行。目标软件构建经由测试计算机20被下载到车载目标控制器(目标控制模块),该控制器之后控制工作台测试期间与车辆控制模块相关联的车辆操作。工作台测试可以包括软件验证、校准和评估。
在图2中,示出了VSM 30和图形用户界面(GUI)32的视图。VSM 30被用于模拟基于软件和硬件的车辆部件和/或***的操作。生成仿真测试结果并且经由GUI 32和/或绘制GUI(在下文中描述)来示出结果以用于评估目的。
在所示示例中,VSM 30包括具有变速器控制块36的变速器控制模型34以及具有机器块的机器模型38。例如在图4和图5中示出了机器块的示例。变速器控制模型34模拟车辆的变速器控制模块(TCM)。示例性TCM是双离合变速器(DCT)控制模块和自动变速器控制模块(例如6速离合-离合型控制模块)。
变速器控制块36可以具有相应的文件,所述文件具有动态链接库(DLL)代码(基于模型的代码)、源代码(例如C代码或遗留代码)、手编代码等。变速器控制块36也可以具有带自动代码的相应文件。自动代码可以关联于SIL模型并且基于针对TCM的相应模块的算法。可以使用仿真软件,例如SimulinkTM来生成自动代码。
机器模型38可以包括例如发动机机器模型(模拟组合的发动机硬件和发动机控制软件的行为)以及模拟发动机和变速器的输出的变速器机器模型。机器模型38可以包括其他车辆模型,例如传感器模型、致动器模型等。单个的机器模型可以被用于模拟多于一个的车辆部件和/或***。
VSM 30也可以包括具有输入块51的输入仿真模型50和具有输出块53的输出仿真模型52。输入仿真模型50基于来自机器模型38的输出54模拟通向TCM的传感器信号、硬件输入和输出以及CAN输入。机器模型38的输出54被反馈到输入仿真模型50从而提供闭合反馈环。输出仿真模型52基于变速器模型36的输出56模拟通向机器模型38的来自致动器的输出信号、硬件输入和输出以及CAN 输出。
可以使用三种不同技术来提供传感器信号、硬件输入和输出以及CAN输入。所述技术可以是经由驱动器(驾驶员)输入块的选择块(图9所示)来选择的。在图4和图9中示出了示例性驱动器输入块。第一技术包括经由GUI 32手动地录入输入。图13示出了GUI的另一示例。第二技术包括访问预定义且被存储的输入信号。预定义且被存储的输入信号的示例在图10中被示出。第三技术包括访问被记录的车辆信号。例如,被记录的车辆信号可以是由车辆的温度传感器产生的被存储信号。在仿真期间被记录的车辆信号可以被用作通向变速器模型36的输入。
VSM 30还包括具有孵化器块(incubator block)62的孵化器模型60。孵化器块62可以包括旁路和/或原型模型64和相应块66。每个块66均可以具有相应算法并且关联于变速器模型36的特定环。旁路模型64可以被用于代替或可以被用作变速器模型36中的模型的替代性模型。例如变速器模型36可以包括模拟环的第一模型(第一版本)。孵化器块可以包括模拟与第一模型的环相同的环的第二模型(第二版本)。在仿真期间可以运行与第一模型和/或第二模型相关联的代码。这进一步在下文中被描述。
原型模型可以区别于变速器模型36的模型且执行与其不同的函数。例如,变速器模型36可以具有模拟N个环的N个子块,其中N是大于2的整数。原型模型可以对应于不同于N个环的环。
现在同样参考图3,示出了车辆仿真***70的功能框图。车辆仿真***70包括具有主机控制模块74和存储器76的主机72。存储器76可以远离主机70并且经由网络访问或者可以位于主机72内,如所示。主机控制模块74包括车辆***仿真(VSS)控制模块78,其控制一个或更多个车辆控制模块、部件和***的仿真。VSS控制模块78可以控制:将源代码和/或手编代码转换成基于模型的代码(例如dll代码);结合由源代码产生的基于模型的代码以及经由仿真软件产生的基于模型的代码;以及将基于模型的代码转换成自动代码。
主机控制模块72还包括模型生成模块80、调度模块82、孵化器触发模块84、开关生成模块86、驱动循环模块88、机器模型选择模块90、数据处理模块92、校准模块94以及调试器模块96。
模型生成模块80生成SIL模型和相应块。例如,模型生成模块80可以被用于生成VSM 30、变速器模型34、输入模型50、输出模型52和机器模型38。模型生成模块80可以生成旁路和/或原型模型。模型生成模块80可以建立旁路和/或原型模型(新模型),其包括将新模型的输入和输出钩挂到例如变速器控制块的目标。钩挂(hooking)可以例如指的是将块的输入和输出连接到块和/或模型的信号线或节点。目标可以是节点、信号线、输入、输出、被存储的变量等。还参考图31和图32描述了模型生成模块80。
调度模块82调度执行任务的次序。调度模块82可以是基于事件和/或时间的。可以基于条件来执行任务,以及/或者可以例如以序列次序来执行任务。作为示例,可以在出现特定条件时执行一系列任务。在相同时间段期间可以执行多个任务。调度模块82可以调度算法模型任务、部件软件任务和控制***软件任务。
用户可以调度和再次调度任务以便在各时刻被执行。仅举例来说,当在操作***任务列表内调度函数时,用户可以从函数任务列表中选择函数。用户可以将选定的函数从一视图框中拖拽到另一视图框中并且更具体地拖拽到被调度任务中的一个。当用户结束对函数的选择时,调度模块82将该函数***到被调度任务中所述一个的上方或下方从而再次调度函数。调度模块82也可以在用户再次调度操作***任务列表中的该函数时禁用该函数并且将该函数标记为被禁用。
用户也可以绕开被调度的任务以便于另一任务。仅举例来说,当在操作***任务列表内调度函数时,用户可以选择绕开该函数。用户可以例如通过右键点击该函数并选择“旁路”选项从而选择绕开该函数。之后,当要执行该函数时用户可以从函数任务列表中选择执行另一函数来代替该函数。以此方式,可以绕开该函数。
可以手动地在底层dll文件中绕开函数。与执行该函数相关的头文件可以被修改以便指示出旁路。当与被绕开函数相关联的钩(hook)被禁用时可以产生新钩来连接新函数。这允许代替被绕开函数来执行新函数。设定、清除和添加钩命令可以被用在相应代码中来产生、设定、移除和禁用钩。这允许dll代码在被运行时调用该新函数而不是被绕开函数。
孵化器触发模块84建立且控制对孵化器块(即旁路块和/或原型块)的触发。图15中示出了建立触发的示例。开关生成模块86可以是孵化器触发模块84的一部分并且生成且建立旁路开关以便启动旁路模型。图15和图16中示出了示例性旁路开关。孵化器触发模块84可以包括旁路开关模块98,其基于接收到的用户输入信号来改变旁路开关的状态。
驱动循环模块88控制通向VSM 30的一个或更多个控制模型的输入。例如,驱动循环模块88可以在用户输入、预定义信号输入和存储的车辆信号之间选择并将其提供给变速器控制块36。还参考图9描述了这个选择。
机器模型选择模块90选择一个或更多个机器模型的保真水平,例如机器模型38的保真水平。保真水平指的是机器模型的复杂性和机器模型准确地模拟车辆的相应部件和/或***的程度。例如,机器模型可以在模拟或不模拟传感器的情况下模拟车辆***。例如,当选择低机器保真水平时,可以模拟发动机并且发动机的速度可以直接反馈到变速器控制块36。作为替代方案,当选择高机器保真水平时,可以模拟发动机的运转和发动机速度传感器。发动机速度传感器块的输出可以被反馈到变速器控制块36。与模拟低机器保真水平的机器模型相比,模拟高机器保真水平的机器模型可以更好地匹配车辆性能。与低机器保真水平相比,对于高机器保真水平而言通常需要更长的处理时间。
数据处理模块92选择要监控的目标。与被监控目标相关的数据被存储在存储器76中作为目标数据文件100。还参考图17进一步描述了数据处理模块92。校准模块94允许校准存储器76中的变量或存储值(校准文件102中的)。校准模块94可以调节各种类型的值,包括布尔值、标量值、表值等。调试器模块96被用于调试例如VSS 30的代码。参考图29进一步描述了调试。
存储器76还存储例如基于源代码的库110、基于建模环境的库112、输入共享变量116、输出共享变量118和函数库120。基于源代码的库110包括基于源代码和/或手编代码生成的模型(或模型组121)。源代码和/或手编代码被转换成能够被加载到基于模型的环境中的基于模型的代码。因为使用基于模型的软件来生成模型,所以可以在仿真环境中观察模型和相应块。模型可以包括.xml文件123、.dll和.lib文件125以及.zip文件127。校准软件使用.xml文件123来产生校准窗口以便调整校准值。.dll和.lib文件125指的是动态链接库(dll)和静态库(lib)文件,其被基于模型的仿真软件用于提供具有模型和块的GUI,例如如图4-6所示。.zip文件127可以包括.xml文件、.dll文件和.lib文件。.zip文件也可以包括定义文件、校准文件和压缩的源代码。
基于建模环境的库112包括在使用建模环境的基于模型的仿真软件中生成的模型。模型可以包括控制模型122、机器模型124、传感器模型126、CAN模型128和致动器模型130等。基于源代码的库110和基于建模环境的库112可以包括具有算法模型(例如变速器算法模型)的环库。
机器模型124可以包括发动机模型132、变速器模型134和/或其他车辆***模型136。机器模型124可以包括传感器模型126、CAN模型128和致动器模型130。传感器模型126可以被用于模拟车辆的传感器,例如发动机速度传感器、车辆速度传感器、温度传感器、压力传感器、流速传感器等。CAN模型128可以被用于模拟从车辆的CAN接收的输出信号。致动器模型130可以被用于模拟致动器,例如车辆的火花塞、电动马达、节气门、电磁阀等。
输入和输出共享变量116、118可以指的是由模型的块共享的变量。输入和输出共享变量116、118可以是全局变量或者可以被指定到特定块和/或函数。函数库120可以包括其他标准块,例如用于产生环的一个或更多个块的数学函数。
主机72也可以包括监控器140、用户输入设备142和编译器144。监控器140显示由主机控制模块74生成的GUI 146。用户输入设备142可以是例如键盘、鼠标、触摸屏等。用户输入设备142可以包括监控器140。编译器144可以编译源代码、手编代码、基于模型的代码(.dll和.lib代码)和/或自动代码。
在图4中,示出了具有VSM的第一部分152的窗口150的视图。VSM包括:具有驱动器块156的驱动器模型154;带有变速器控制块160的变速器控制模型158;带有变速器机器块164的变速器机器模型162;以及带有发动机和***机器块168的发动机和车辆机器模型166。每个块156、158、164、168均具有被提供给彼此的相应的输入和输出信号169,如所示。可以通过用户经由窗口150来建立每个信号的连接。可以通过针对每个块156、158、164、168打开相应窗口(GUI)来展开每个块156、158、164、168的内部构造。这可以通过例如双击块156、158、164、168中的选定块来实现。作为示例,图5中示出了变速器控制块160的内部构造。
作为示例,驱动器块156可以产生各种信号,其被提供给变速器控制块160或VSM的其他块。驱动器块生成的信号可以包括点火开关信号、制动踏板信号、加速踏板信号、变速器换挡器信号、变速器分接头信号、空气调节离合器信号、电池电压信号、发动机冷却剂信号、车轮滑移信号、车辆速度信号、级别信号、气压信号、环境温度信号、油温信号等。变速器控制块160可以产生可提供给变速器机器块164的各种信号。变速器控制块产生的信号可以根据被模拟的变速器而包括泵速信号、奇偶离合器命令信号、换挡杆压力信号、电磁阀控制信号、变速器扭矩请求信号等。对于具有DCT的车辆***仿真而言,可以针对6速离合-离合变速器***仿真产生不同的输出控制信号组。
变速器机器块164可以生成被提供给发动机和车辆机器块166的各种信号。变速器机器块生成的信号可以包括压力信号、发动机速度信号、奇偶轴速信号、变速器扭矩信号、奇偶离合器信号、叉位置信号、奇偶离合器压力信号等。发动机和车辆机器块166可以产生可被反馈给变速器控制块160的各种信号。发动机和车辆机器块生成的信号可以包括发动机扭矩信号、冷却剂温度信号、空气调节信号、车轮速度信号、变速器速度信号、车辆速度信号、发动机气流信号等。
在图5中,示出了图4的VSS的变速器控制块160的窗口170的视图。变速器控制块160包括变速器算法块172并且还可包括具有输入和输出CAN块178、180的输入和输出CAN模型174、176、具有孵化器块184的孵化器模型182以及具有块190、192的其他模型186、188。
输入CAN块178生成被变速器控制块160接收的信号。变速器算法块172生成由输出CAN块180和/或孵化器块184接收的信号。孵化器块184生成可以由变速器算法块172接收的输出信号。可以从变速器算法块172的内部块中得出孵化器块184的输入信号。孵化器块184的输出信号可以被提供给变速器算法块172中的块。
VSS中可以不包括孵化器模型182和孵化器块184。***仿真可以使用嵌入在变速器算法块172内的变速器控制模块软件而不使用孵化器模型182。作为示例,变速器控制源代码(例如C代码)可以被直接修改,变速器控制模块软件可以被重构,并且之后可以经由仿真对修改进行测试。可以通过使用孵化器模型182来避开和/或最小化这个过程。
孵化器块184可以是包括基于模型的算法的子***。功能环可以被建模并且被包括在孵化器块184的库中。在仿真期间可以进行和核实对于孵化器块184内的软件环模型的增强和修改。孵化器块184中的算法模型可以被自动编码到C文件以便在目标车辆控制模块上运行和补丁构建测试。
可以基于变速器算法块172的一个或更多个触发器输出信号来触发孵化器块184的函数。触发器输出信号由框191表示。由图15中示出的分接器193接收触发器信号。
同样参考图6,示出了孵化器块184的窗口200的视图。块202包括相应的输入和输出,其可以由块202共享且/或与孵化器块184外部的块共享。
在图7中,示出了图释SIL过程的功能框图。SIL过程248包括构建过程和使用过程。构建过程可以由第一操作***(例如LinuxTM)支持。使用过程可以由第二操作***(例如WindowsTM)支持。
构建过程包括转换构建记录252的源代码250和/或手编代码从而产生在使用过程中使用的部件或块。运行展开构建过程254,其包括运行:源代码的交叉编译(编译框256)、解析源代码(解析框258)、产生静态和动态链接库(wrap框260)、压缩源代码(zip框262)并且在打包文件中提供最终文件以用于使用过程。构建过程提供可以被存储在zip文件(压缩文件)中的模型组264。模型组包括.xml文件266、.dll和.lib文件268以及.zip文件270。.xml文件包括描述了.dll文件内容的信息。
使用过程包括使用在构建过程中产生的模型组264。这包括将来自构建过程的编译代码提供到基于模型的环境中,例如由SimulinkTM所提供的环境。使用过程278包括打开模型280,例如车辆***模型,由框282表示。之后可以使用对应于被打开模型的文件来填充对话GUI或菜单,由得到SIL块284表示。基于.xml文件266来构造SIL块,由构造SIL块286表示。基于在构建过程254中生成的.dll和.lib文件268来升级(更新)被打开的模型,由wrap框288表示。之后运行被升级的模型来模拟车辆***,由框290表示。模拟可以包括代码调试并且可以是基于构建过程254期间生成的源代码。
在图8中,示出了SIL过程248的编码过程300的功能框图。SIL过程248包括使用源-目标转换模块302、SIL解析模块304、库构建模块306、校准模块308、SIL块模块310和DLL构建模块312。
源-目标转换模块302是将源代码314转换成目标代码316的交叉编译器。源-目标转换模块302产生与除编译器所运行的平台之外的平台相兼容的二进制编码。源-目标转换模块302可以例如产生与WindowsTM相兼容而与LinuxTM不兼容的目标代码。
SIL解析模块304从源代码314和相应目标代码316中提取软件信息。这种被提取信息被用于产生.xml文件318和定义(.def)文件320。.xml文件318包含描述源代码314(即变量、校准值、函数等)的信息。定义文件包含描述库中什么数据将被导出的信息。
库构建模块306基于目标代码和定义文件来产生.dll和.lib文件322、324。校准模块308从数据文件中提取校准信息并且交叉编译.dll文件322(基于模型的代码)。这个被提取信息可以被用于生成.xml文件。
SIL块模块310提供GUI并且读取包含源代码信息的.xml文件318。GUI向用户呈现信息。SIL块模块310基于用户配置(user configuration)来产生基于模型的源代码330。基于模型的源代码的一个示例是使用仿真软件(例如SimulinkTM)生成的S函数源代码。DLL构建模块312将基于模型的源代码330连同库(.dll和/或.lib文件322、324)一起转换从而生成在仿真环境中运行的.dll文件332。
在图9中,示出了具有输入信号模型342的窗口340的视图。输入信号模型342被用于选择驱动循环并且包括驱动器块344、用户预定义信号块346、车辆信号块348和开关块350、352、354。开关块350、352、354将来自驱动器块344、用户预定义信号块346和车辆信号块348中一者的驱动循环信号选择性地提供给开关块350、352、354下游的块。例如,开关块350、352、354可以将选定的驱动循环信号提供给变速器控制块160。图10中示出了预定义信号的示例。
在图10中,示出了带有预定义信号线图的窗口370的视图。窗口370包括点火开关位置信号372、制动踏板位置信号374、加速踏板位置信号376、自动变速器换挡器位置信号378和变速器齿轮分接头(transmission gear tap)信号380。信号372-380可以被存储在图3的存储器76中。
在图11中,示出了与SIL块构建过程相关联的多个窗口的视图。示出了库浏览器窗口400、模型窗口402、SIL窗口404和模型选择窗口406。仿真***的用户可以打开库浏览器窗口400来生成SIL块,例如变速器控制块160。除SIL块外,还选择了代码生成目录。
可以经由模型窗口402和SIL窗口404来实现SIL块和对应模型的配置。模型窗口被称为GUI,其显示当前模型和对应块。在图11所示的模型窗口中,示出了变速器控制模型158和变速器控制块160。
SIL窗口404识别正在SIL构建框410中构造的当前模型的名称。在输入菜单412和输出菜单414中分别列出了模型的输入和输出。可以修改菜单412、414,包括增加和删除选定的输入和输出。模型选择窗口406示出与当前模型相关联的文件。
在图12中,示出了图释机器模型保真度选择的窗口430的视图。窗口430包括第一保真水平选择标签(基础的)432和第二保真水平选择标签(性能的)434。第一保真水平或基础水平低于第二保真水平或性能水平。虽然示出了两个水平,不过可以包括和选择任意数量的水平。
第二保真水平可以包括模拟没有使用第一保真水平模拟的附加部件和/或***。第二保真水平可以包括模拟没有使用第一保真水平模拟的传感器和离合器。相对于使用第二保真水平模拟的变速器叉致动***,第一保真水平可以模拟简化的变速器叉致动***。与第二保真水平相关的加载和处理时间可能要长于与第一保真水平相关的加载和处理时间。
在图13中,示出了GUI窗口450。可以使用例如MathWorksTM的SimulinkTM Guide软件来生成GUI窗口450。GUI窗口450包括用户输入部分452以及仿真监控和结果部分454。用户输入部分452包括条件和***设定,例如变速器油温滑块456、发动机温度滑块458、环境温度滑块460、变速器齿轮分接头选择器462、自动变速器换挡选择器(PRND54321)464、变速器换挡模式选择框466、节气门位置滑块468、制动踏板位置滑块470、气压位置滑块472、级别滑块474、轮胎打滑速度滑块476和电池电压滑块478。
仿真监控和结果部分454可以包括机器模型变量、软件变量、控制模块变量或其他车辆仿真模型变量。仿真监控和结果部分454包括参数仪表456,例如针对发动机速度、变速器输入速度、变速器输出速度、车辆速度等的仪表。参数仪表中的一个可以度量多个参数,例如变速器偶轴速度、变速器奇轴速度和发动机曲轴速度(轴速)。偶轴和奇轴可以指的是双离合变速器的轴,该离合器包括用于偶齿轮的第一轴和用于奇齿轮的第二轴。通过参数仪表458示出了这样的示例。
参数仪表458包括两个子仪表460、462。第一子仪表460包括指示偶轴速度的第一指针464和指示发动机曲轴速度的第二指针466。第二子仪表包括指示奇轴速度的第一指针468和指示发动机曲轴速度的第二指针470。
仿真监控和结果部分454也可以包括所获得的齿轮框472、发动机转矩框474、变速器管线压力框476、换挡杆压力框478、变速器叉位置框480、电磁阀位置和/或压力框482、偶离合器参数框484和奇离合器参数框486。偶和奇参数框可以包括压力、位置、流量和温度框。上述框指示出针对给定时间的仿真参数值。
在图14中,示出了调度***502的窗口500和功能框图。窗口500包括任务列表部分504和算法(algo)任务部分506。任务列表部分列出了周期性任务(OS任务)510-539和与特定模型和/或SIL块相关联的事件任务。例如,任务可以在预定时间被顺序地执行和基于事件或条件被开始。算法任务部分506列出了与任务列表部分504内的每个任务相关联的触发器(trigger)550-570。可以例如通过点击任务来启动和禁用任务。触发器调用可以被指定到周期性任务和指定成任意次序的环调用。图3的调度模块82基于接收到的用户输入信号来控制任务的启动和禁用,用户输入信号例如是通过选择窗口500中的任务来生成的。
调度***502包括调度模块82,其可以提供调度窗口500以及运行时间操作***(RTOS)580、SIL块582和孵化器块584。RTOS 580几乎实时地服务于应用请求。术语实时指的是在车辆中发生或执行事件、任务和条件的时间。SIL块582可以基于来自RTOS 580的信号来操作。SIL块582生成被提供给孵化器块584的触发器。触发器被用于启动孵化器块内的块(例如旁路块和/或原型块)的任务。
在图15中,示出了具有孵化器触发器592和旁路开关594的窗口590的视图。一个或更多个来自控制模型(例如变速器控制模型160)的触发器信号被分接器592接收。触发器信号被提供给分路器(splitter)596,其针对每个环或块生成至少三个触发器。这三个触发器包括输入和输出捕获触发器597、598以及执行触发器600。输入和输出捕获触发器597、598被用于向孵化器块发出信号以及写下(或更新)来自孵化器块的信号。执行触发器600被用于触发例如环或块的任务。
旁路开关594可以具有两种或更多种状态。在一种实施例中,旁路开关包括如所示的两种状态。旁路开关594中第一旁路开关的第一状态关联于启动在变速器控制块160内部以dll形式存储的环(第一块)的预先存储(第一)版本。当第一开关处于第一状态时执行触发器被直接提供给第一块。第一开关的第二状态关联于在孵化器块184内部以算法模型形式存在的环(第二块或旁路块)的更新(第二)版本。当旁路块被启动时第一块被绕过。当第一开关处于第二状态时执行触发器被提供给旁路块。
在另一实施例中,开关594包括第三状态,其允许用户启动第一块和旁路块二者的仿真运行。当第一开关处于第三状态时执行触发器被提供给第一块和旁路块二者。这允许运行并评估第一块和旁路块二者。
在图16中,示出了窗口620的视图,其示出了旁路开关构造。旁路开关构造包括被用于启动环的旁路算法的旁路开关622。旁路开关622具有启动状态624和禁用状态626。当处于启动状态624时触发器628被提供给旁路算法。使用旁路开关增加了关于启动和禁用SIL块的便宜性并减少了与其相关的时间。取代了启动或禁用单独任务,可以经由单个开关启动和禁用例如与特定环相关的任务组。这也减少了与以每次一个任务为基础来启动和禁用许多任务相关的错误。
旁路开关允许在现有SIL块和新生成的基于算法的SIL块之间的转换。这允许经由一个或更多个仿真来进行先前和新生成SIL块之间的性能比较。
在图17中,示出了数据处理模块650的功能框图。数据处理模块650记录和绘制选定目标的数据。数据处理模块650包括目标选择模块652、信号跟踪模块654、线图选择模块656、数据记录模块658和绘制模块660。目标选择模块652在存储器内存储N个选定目标的列表以便监控接收到的用户输入信号。N是大于或等于2的整数。信号跟踪模块654可以跟踪选定信号的状态。线图选择模块656选择所述N个选定目标中的一个或更多个以便绘图(M个目标,其中M是小于或等于N的整数)。数据记录模块658记录存储器中所述N个选定目标的数据。绘制模块660例如绘制与M个选定目标相关的GUI信号。
在图18中,示出了窗口670的视图,其示出了测量窗口674的启动状态672。启动状态0指示禁止绘制。启动状态1指示启动绘制。
在图19中,示出了带有被监控目标682的窗口680的视图。被监控目标682被示作块684的输出信号。被监控目标682可以是例如N个选定目标中的M个选定目标,如参见图17所描述的。
在图20中,示出了包括目标选择窗口700和绘制窗口702的多个窗口的视图。目标选择窗口700示出了选择N个目标中的M个。目标选择窗口700包括模拟的数据列表704和线图列表706。被模拟的数据列表704是选定目标的列表以便监控和记录相关数据。线图列表706是需执行信号绘图的被模拟的数据列表704中的目标的选定列表。被模拟的数据列表包括N个目标710-733的列表。线图列表706包括M个目标740-746的列表。
在图21中,示出了另一目标选择窗口747的视图。使用HIL测试生成的仿真结果可以与使用SIL测试生成的仿真结果相比较。目标选择窗口747包括HIL比较选择框748。这允许针对选定目标执行一种或更多种比较。图3的数据处理模块92例如可以基于接收到的用户输入信号来进行这种比较。数据处理模块92可以基于接收到的用户输入信号来启动HIL比较。图22中示出了车辆速度的HIL比较线图的一个示例。
在图22中,示出了针对特定目标具有硬件在环(HIL)线图750和SIL线图751的窗口749的视图。HIL线图和SIL线图是针对车辆速度的并且分别在HIL测试和SIL测试期间被提供。
在图23中,示出了多个调试器窗口的视图。调试器窗口包括代码窗口752和观察窗口753。代码窗口示出了逐行代码运行并且突出显示或指示出正被运行的当前行。示出了作为168-191所识别的代码行。代码行可以通过逐行来步进,或者可以单次运行多行代码。代码行也可以被运行直到到达断点为止。这提供了调试变速器控制块(SIL)160内部的代码的灵活性。观察窗口753包括针对误差正被监控的变量或参数的列表。
再次参考图3和图24,其中示出了启动任务的方法。虽然主要参考图3的实施例描述了该方法,不过该方法可以应用到本公开内容的其他实施例。方法可以开始于800。可以通过图3的主机控制模块74的模块来执行下述控制。
在802,调度模块82、孵化器触发模块84和/或旁路转换模块98可以确定是否绕过一个或更多个块。例如,当第一块被绕过时,第二块可以被启动并且用作第一块的替代方案。当绕开第一块时执行任务804,否则控制可以结束于803。
在804,调度模块82和/或孵化器触发模块84可以确定一个或更多个环是否被启动。当一个或更多个环被启动时执行任务806,否则执行任务812。
在806,孵化器触发器模块84打开孵化器触发器GUI,如图15的窗口590。在808,孵化器触发器模块84接收环选择信号。函数选择信号和/或任务选择信号可以被接收。在810,孵化器触发器模块84和/或旁路转换模块98基于在808接收的选择信号来启动选定的环、函数和/或任务。选择信号可以基于用户输入信号而生成。这可以例如当用户改变旁路开关的状态时发生。
在812,调度模块82确定任务是否要被启动。在任务被启动时执行任务814,否则控制可以结束于813。在814,调度模块82打开调度窗口,例如图14的调度窗口500。
在816,调度模块82接收任务选择信号。任务选择信号可以基于接收到的用户输入信号而生成。在818,调度模块82启动选定的任务和/或子任务。
在820,保存在810和818处执行的升级。在822,机器模型选择模块90可以基于接收到的用户输入信号来选择机器模型保真水平。在824,数据处理模块92可以选择要监控的目标。数据处理模块92确定是否针对被监控目标存储数据和绘制信号。在826,校准模块94调整选定的校准模块。
在828,驱动循环模块针对当前仿真选择驱动循环。驱动循环模块可以基于例如图9的开关350-354的状态来选择驱动循环。开关350-354的状态可以基于接收到的用户输入信号被调整。选择的驱动循环可以是例如用户输入的驱动循环、预定义的驱动循环或车辆存储的驱动循环。可以通过例如使用图13的GUI 450来提供用户输入的驱动循环。预定义的驱动循环可以包括预定义信号线图,例如图10的信号线图。车辆存储的驱动循环包括在仿真期间作为车辆***模型的输入使用的被记录的车辆信号。
在830,GUI(例如图13的GUI 450)可以被打开并且执行仿真。在832,仿真的结果被记录并绘图。可以在同一时段执行任务830和832。方法可以结束于834。
图24的上述任务意味着说明性示例;可以基于应用而顺序地、同步地、同时地、连续地、在交叠的时间段期间或者以不同次序来执行所述任务。
例如,VSS可以开始于打开***仿真环境和模型。之后可以如在任务822处选择机器保真度。这之后可以随之如在828处启用用户GUI输入。之后可以如在824处选择变量。之后可以如在826处更新校准值。这之后可以跟随有任务802-820,再之后可以跟随有任务830-834。
在图25中,示出了数据处理模块850。数据处理模块850包括孵化器(或旁路开关)设定模块852,其具有旁路转换模块853、旁路生成模块854、原型(新SIL块)生成模块856、钩设定模块858、调度模块860和触发器设定模块862。模块852-862中的两个或更多个可以被结合成单个模块。
现在同样参考26,示出了生成块的方法。虽然主要参考图25的实施例描述了该方法,不过该方法可以应用到本公开内容的其他实施例。方法可以开始于900。可以通过图25的模块执行下述控制。
在902,旁路生成模块854生成旁路块,或者原型生成模块854或原型生成模块856生成原型块。可以基于经由例如图4-6、图9、图11、图14和图15中所示窗口的用户输入信号来生成旁路块或原型块。新SIL块可以被产生且用作旁路块或原型块。
在904,钩设定模块858将旁路块或原型块的输入连接到当前车辆仿真模型中的其他SIL块或目标。输入可以包括被存储在存储器中的变量或参数的状态。
在906,钩设定模块858将旁路块或原型块的输出连接到当前车辆仿真模型中的其他SIL块或目标。输出可以用于改变被存储在存储器中的变量或参数的状态。
在908,调度模块860和/或触发器设定模块862针对旁路块或原型块设定触发器。可以如参考图14和图15所描述的来执行触发器设定。
在910,当生成旁路块时执行任务912,否则控制可以结束于914。在912,孵化器设定模块852和/或旁路转换模块853可以用于经由相应开关启动或禁用一个或更多个旁路模块。在图15和图16中示出了示例性开关。方法可以结束于912。
图26的上述任务意味着说明性示例;可以基于应用而顺序地、同步地、同时地、连续地、在交叠的时间段期间或者以不同次序来执行所述任务。
上述实施例允许控制模块算法模型被集成到车辆仿真模型中,以便用户能够选择性地运行针对SIL块的自动生成的代码。实施例提供了可由用户选择的机器模型保真水平。可以使用GUI控制选择驱动循环。通过SIL块和/或对应旁路开关的生成有助于算法模型开发。实施例允许变速器算法开发、校准、变速器硬件设计等。
实施例允许分析和评估变速器硬件、车辆性能分析(例如燃料经济性研究、换挡质量等)。可以使用上述***来对基于传感器和致动器误差的整体***性能施加研究影响。在不使用车辆硬件的情况下使用虚拟车辆环境提供变速器算法开发。
本领域的技术人员现在可以从上述描述中意识到可以以各种形式实现本公开内容的广义教导。因此,虽然本公开内容包括具体示例,不过本公开内容的真实范围不应该被限制于此,因为在研究附图、说明书和所附权利要求的基础上,本领域的技术人员将显而易见到其他改型。
Claims (10)
1.一种车辆仿真***,包括:
第一仿真模型,该第一仿真模型在被运行时模拟车辆模块的软件环;
所述软件环的第二仿真模型;
具有第一状态和第二状态的旁路开关;
旁路转换模块,该旁路转换模块基于旁路信号和环启动信号在所述第一仿真模型和所述第二仿真模型之间转换所述旁路开关;以及
仿真控制模块,其运行车辆仿真模型的代码,包括基于所述旁路开关的状态对所述第一仿真模型和所述第二仿真模型中所选定仿真模型的软件在环(SIL)测试。
2.根据权利要求1所述的车辆仿真***,还包括SIL块,该SIL块包括所述第一仿真模型,其中:
所述第二仿真模型的输入和输出被连接到所述SIL块的内部节点;以及
所述SIL块不包括所述第二仿真模型。
3.根据权利要求1所述的车辆仿真***,其中所述第一仿真模型包括第一组任务,并且所述第二仿真模型包括第二组任务。
4.根据权利要求1所述的车辆仿真***,其中:
所述第一仿真模型基于源代码和第一组自动代码被生成,并且所述第一组自动代码基于仿真子模型被生成;以及
所述第二仿真模型不基于源代码被生成。
5.根据权利要求1所述的车辆仿真***,还包括存储多个任务的存储器,其中:
所述旁路转换模块基于任务启动信号在所述第一模型和所述第二模型之间转换所述旁路开关;以及
所述任务启动信号识别所述多个任务中的至少一个。
6.根据权利要求1所述的车辆仿真***,还包括选择机器模型保真水平的机器模型选择模块,
其中所述仿真控制模块基于对应于所述机器模型保真水平的机器模型来运行所述车辆仿真模型。
7.根据权利要求1所述的车辆仿真***,还包括绘制模块,其在图形用户界面上选择和绘制所述车辆仿真模型的变量、信号和节点。
8.根据权利要求1所述的车辆仿真***,还包括选择一组输入的驱动循环模块,其包括下述各项中的一者:
致动(i)由所述车辆仿真模型的SIL块接收的以及(ii)显示在图形用户界面上的用户输入;
选择预定义信号组;以及
选择车辆记录的信号组,
其中所述仿真控制模块基于选定的所述一组输入来运行所述第一仿真模型和所述第二仿真模型中的一者。
9.根据权利要求1所述的车辆仿真***,其中所述车辆仿真模型包括:
包括所述第一仿真模型且接收输入信号的变速器SIL模型;
基于所述变速器SIL模块的输出来运转的变速器的第一机器模型;以及
基于所述第一机器模型的输出来运转的发动机和车辆***中的至少一者的第二机器模型,
其中所述变速器SIL模型基于所述第二机器模型的输出来运转。
10.一种车辆仿真***,包括:
多个仿真模型,所述仿真模型中的每一个均包括相应的输入和输出;
目标选择模块,其基于用户输入信号选择所述多个仿真模型中的N个目标,其中所述N个目标包括变量、信号和节点并且N是大于或等于2的整数;
信号跟踪模块,其跟踪运行车辆仿真模型的代码期间所述N个目标的状态;
数据记录模块,其记录所述N个目标的状态;以及
绘制模块,其在图形用户界面上绘制所述N个节点中M个的状态,其中M是小于或等于N的整数。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US34764110P | 2010-05-24 | 2010-05-24 | |
US61/347641 | 2010-05-24 | ||
US12/861207 | 2010-08-23 | ||
US12/861,207 US8612192B2 (en) | 2010-05-24 | 2010-08-23 | Vehicle simulation system with software-in-the-loop bypass control |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102289210A true CN102289210A (zh) | 2011-12-21 |
CN102289210B CN102289210B (zh) | 2014-06-18 |
Family
ID=44973200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110135104.XA Active CN102289210B (zh) | 2010-05-24 | 2011-05-24 | 具有软件在环旁路控制的车辆仿真*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US8612192B2 (zh) |
CN (1) | CN102289210B (zh) |
DE (1) | DE102011102280A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102890499A (zh) * | 2012-09-21 | 2013-01-23 | 北京智行鸿远汽车技术有限公司 | 一种纯电动汽车整车控制器软件在回路测试的方法 |
CN103034227A (zh) * | 2012-09-20 | 2013-04-10 | 北京智行鸿远汽车技术有限公司 | 纯电动汽车整车控制器模型在回路测试方法 |
CN104850478A (zh) * | 2014-12-19 | 2015-08-19 | 北汽福田汽车股份有限公司 | 一种建立待测对象模型的方法及虚拟测试方法 |
CN104866419A (zh) * | 2014-10-17 | 2015-08-26 | 北汽福田汽车股份有限公司 | 一种虚拟平台以及应用层软件测试方法及*** |
CN104865947A (zh) * | 2014-12-08 | 2015-08-26 | 北汽福田汽车股份有限公司 | 一种整车控制器环境模型生成方法及*** |
CN112269740A (zh) * | 2020-10-27 | 2021-01-26 | 知行汽车科技(苏州)有限公司 | 自动驾驶软件的自动测试方法及装置 |
CN115951973A (zh) * | 2023-01-20 | 2023-04-11 | 昆易电子科技(上海)有限公司 | 模型处理方法、装置、终端设备及存储介质 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510088B2 (en) * | 2008-09-30 | 2013-08-13 | Uchicago Argonne Llc | Flexible evaluator for vehicle propulsion systems |
US8739049B2 (en) | 2010-05-24 | 2014-05-27 | GM Global Technology Operations LLC | Vehicle system modeling systems and methods |
FR2961927B1 (fr) * | 2010-06-23 | 2013-12-20 | Turbomeca | Systeme de simulation temps reel de l'environnement d'un moteur d'aeronef |
US8972931B1 (en) * | 2011-10-31 | 2015-03-03 | The Mathworks, Inc. | Contextual verification of generated code |
US9061775B2 (en) * | 2012-06-22 | 2015-06-23 | Isaac M. Ross | Method and apparatus for spacecraft attitude control using polynomial interpolation |
US20140257675A1 (en) * | 2013-03-07 | 2014-09-11 | Honda Motor Co., Ltd. | System and method for indicating engine power band information on a tachometer display |
US20150127192A1 (en) * | 2013-11-06 | 2015-05-07 | Hitachi, Ltd | Wireless vehicle control system |
CN104020675B (zh) * | 2014-05-05 | 2017-02-22 | 中车青岛四方机车车辆股份有限公司 | 列车制动硬件在环半实物仿真试验台及试验方法 |
CN104850110B (zh) * | 2014-05-27 | 2019-04-16 | 北京宝沃汽车有限公司 | 一种建立测试用例的方法及*** |
CN105279081B (zh) * | 2014-07-14 | 2018-02-23 | 联创汽车电子有限公司 | 汽车控制器开发软件的在环测试方法 |
EP3121666A1 (en) * | 2015-07-23 | 2017-01-25 | Bombardier Transportation GmbH | Modular test platform |
US20170286575A1 (en) | 2016-03-31 | 2017-10-05 | Cae Inc. | Method and systems for anticipatorily updating a remote repository |
CN107918585B (zh) * | 2016-10-07 | 2023-05-02 | 福特全球技术公司 | 用于测试软件程序的方法和装置 |
CN106503376B (zh) * | 2016-10-27 | 2019-10-01 | 安徽江淮汽车集团股份有限公司 | 一种汽车网络架构建模仿真方法及*** |
US10671514B2 (en) * | 2016-11-15 | 2020-06-02 | Inrix, Inc. | Vehicle application simulation environment |
CN108241354B (zh) * | 2016-12-26 | 2022-11-22 | 法法汽车(中国)有限公司 | 用于自动驾驶仿真***的测试方法 |
US10908983B2 (en) | 2017-03-31 | 2021-02-02 | Cae Inc. | Method and system for preventing an anomaly in a simulator |
CN107168102A (zh) * | 2017-06-09 | 2017-09-15 | 南京航空航天大学 | 一种基于转角输入的车辆半实物仿真*** |
US11500338B2 (en) * | 2017-07-13 | 2022-11-15 | Aversan Inc. | Test platform for embedded control system |
US11107308B2 (en) * | 2018-02-02 | 2021-08-31 | Denso International America, Inc. | Automated hardware-in-the-loop tester for automotive electronic control units |
CN108920350A (zh) * | 2018-06-29 | 2018-11-30 | 北京新能源汽车股份有限公司 | 一种测试环境模型生成的控制方法及控制装置 |
CN109814404B (zh) * | 2019-01-22 | 2022-01-21 | 东风航盛(武汉)汽车控制***有限公司 | 整车控制器的在环仿真标定***及标定方法 |
CN110070791B (zh) * | 2019-04-16 | 2021-08-10 | 杭州百子尖科技股份有限公司 | 基于无线技术的可设计型解析智能仿真装置及仿真方法 |
DE102019212617A1 (de) * | 2019-08-22 | 2021-02-25 | Robert Bosch Gmbh | Verfahren zum Bewerten einer Software-Komponente einer SiL-Umgebung |
EP3800518A1 (en) * | 2019-10-02 | 2021-04-07 | Siemens Industry Software and Services B.V. | System, device and method for testing autonomous vehicles |
US11662985B2 (en) * | 2019-10-21 | 2023-05-30 | Woven Alpha, Inc. | Vehicle developer systems, methods and devices |
DE102020109248B4 (de) | 2020-04-02 | 2024-03-07 | Bayerische Motoren Werke Aktiengesellschaft | Steuerung eines Kraftfahrzeugs |
CN112444416B (zh) * | 2020-09-25 | 2022-11-08 | 中车长春轨道客车股份有限公司 | 一种动车组模拟速度方法 |
US11550958B2 (en) * | 2020-12-15 | 2023-01-10 | Robert Bosch Gmbh | System and method for confidential multi-party software in the loop simulation |
CN115580668A (zh) * | 2022-09-15 | 2023-01-06 | 广州汽车集团股份有限公司 | 飞行载具硬件在环通信方法、装置、***及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060277010A1 (en) * | 2005-06-03 | 2006-12-07 | Herbert Schutte | Parameterization of a simulation working model |
CN1908830A (zh) * | 2006-08-28 | 2007-02-07 | 中国科学院电工研究所 | 一种车载分布式网络控制***的开发方法 |
US20070038422A1 (en) * | 2005-08-10 | 2007-02-15 | Ford Global Technologies, Llc | Method and system for developing a vehicle package |
US20090306952A1 (en) * | 2008-06-09 | 2009-12-10 | International Business Machines Corporation | Simulation method, system and program |
US20090306866A1 (en) * | 2008-06-10 | 2009-12-10 | The Regents Of The University Of Michigan | Method, control apparatus and powertrain system controller for real-time, self-learning control based on individual operating style |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7401015B1 (en) * | 2001-06-17 | 2008-07-15 | Brian Bailey | Coherent state among multiple simulation models in an EDA simulation environment |
WO2003054666A2 (en) | 2001-12-19 | 2003-07-03 | Steven Sims | System and method for automated test-case generation for software |
US7353156B2 (en) * | 2002-02-01 | 2008-04-01 | International Business Machines Corporation | Method of switching external models in an automated system-on-chip integrated circuit design verification system |
US7171345B2 (en) | 2002-03-22 | 2007-01-30 | Sun Microsystems, Inc. | System and method for simulating an input to a telematics system |
US7260501B2 (en) * | 2004-04-21 | 2007-08-21 | University Of Connecticut | Intelligent model-based diagnostics for system monitoring, diagnosis and maintenance |
JP4720107B2 (ja) * | 2004-05-27 | 2011-07-13 | 日産自動車株式会社 | ドライバモデルおよび同モデルを備えた車両挙動制御システムのアシスト機能評価装置 |
US7067740B1 (en) | 2005-03-24 | 2006-06-27 | Bae Systems Information And Electronic Systems Integration Inc. | Conversion kit for a remote monitoring system transmitter |
US20070088469A1 (en) * | 2005-10-04 | 2007-04-19 | Oshkosh Truck Corporation | Vehicle control system and method |
US7856294B2 (en) | 2007-12-14 | 2010-12-21 | Sra International, Inc. | Intelligent system and method for spacecraft autonomous operations |
CN100557532C (zh) | 2008-07-07 | 2009-11-04 | 株洲南车时代电气股份有限公司 | 一种快速控制原型*** |
US8510088B2 (en) | 2008-09-30 | 2013-08-13 | Uchicago Argonne Llc | Flexible evaluator for vehicle propulsion systems |
US20110066416A1 (en) * | 2009-09-15 | 2011-03-17 | Eric Sachs | Method and system for simulation and verification of communication devices |
US20110153536A1 (en) * | 2009-12-17 | 2011-06-23 | Zhiping Yang | Computer-Implemented Systems And Methods For Dynamic Model Switching Simulation Of Risk Factors |
-
2010
- 2010-08-23 US US12/861,207 patent/US8612192B2/en active Active
-
2011
- 2011-05-23 DE DE102011102280A patent/DE102011102280A1/de active Pending
- 2011-05-24 CN CN201110135104.XA patent/CN102289210B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060277010A1 (en) * | 2005-06-03 | 2006-12-07 | Herbert Schutte | Parameterization of a simulation working model |
US20070038422A1 (en) * | 2005-08-10 | 2007-02-15 | Ford Global Technologies, Llc | Method and system for developing a vehicle package |
CN1908830A (zh) * | 2006-08-28 | 2007-02-07 | 中国科学院电工研究所 | 一种车载分布式网络控制***的开发方法 |
US20090306952A1 (en) * | 2008-06-09 | 2009-12-10 | International Business Machines Corporation | Simulation method, system and program |
US20090306866A1 (en) * | 2008-06-10 | 2009-12-10 | The Regents Of The University Of Michigan | Method, control apparatus and powertrain system controller for real-time, self-learning control based on individual operating style |
Non-Patent Citations (2)
Title |
---|
ALEXANDER EICHBERGER: "Generating Multibody Real-Time Models for Hardware-in-the-Loop Appications", 《WWW.SIMPACK.COM/UPLOADS/MEDIA/LIT_GENERATINGMBSREALTIME_01.PDF》 * |
DAVID WENZHONG GAO等: "Modeling and Simulation of Electric and Hybrid Vehicles", 《PROCEEDINGS OF THE IEEE》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034227A (zh) * | 2012-09-20 | 2013-04-10 | 北京智行鸿远汽车技术有限公司 | 纯电动汽车整车控制器模型在回路测试方法 |
CN102890499A (zh) * | 2012-09-21 | 2013-01-23 | 北京智行鸿远汽车技术有限公司 | 一种纯电动汽车整车控制器软件在回路测试的方法 |
CN104866419A (zh) * | 2014-10-17 | 2015-08-26 | 北汽福田汽车股份有限公司 | 一种虚拟平台以及应用层软件测试方法及*** |
CN104866419B (zh) * | 2014-10-17 | 2017-12-08 | 北汽福田汽车股份有限公司 | 一种虚拟平台以及应用层软件测试方法及*** |
CN104865947A (zh) * | 2014-12-08 | 2015-08-26 | 北汽福田汽车股份有限公司 | 一种整车控制器环境模型生成方法及*** |
CN104850478A (zh) * | 2014-12-19 | 2015-08-19 | 北汽福田汽车股份有限公司 | 一种建立待测对象模型的方法及虚拟测试方法 |
CN104850478B (zh) * | 2014-12-19 | 2017-06-06 | 北汽福田汽车股份有限公司 | 一种建立待测对象模型的方法及虚拟测试方法 |
CN112269740A (zh) * | 2020-10-27 | 2021-01-26 | 知行汽车科技(苏州)有限公司 | 自动驾驶软件的自动测试方法及装置 |
CN115951973A (zh) * | 2023-01-20 | 2023-04-11 | 昆易电子科技(上海)有限公司 | 模型处理方法、装置、终端设备及存储介质 |
CN115951973B (zh) * | 2023-01-20 | 2024-03-19 | 昆易电子科技(上海)有限公司 | 模型处理方法、装置、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US8612192B2 (en) | 2013-12-17 |
US20110288841A1 (en) | 2011-11-24 |
DE102011102280A1 (de) | 2012-04-05 |
CN102289210B (zh) | 2014-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102289210B (zh) | 具有软件在环旁路控制的车辆仿真*** | |
CN102262394A (zh) | 车辆***建模***和方法 | |
CN104866419B (zh) | 一种虚拟平台以及应用层软件测试方法及*** | |
JP2009283004A (ja) | モデルベース診断インタフェース | |
CN104536870B (zh) | 一种进程监控方法和装置 | |
Haberl et al. | Model-level debugging of embedded real-time systems | |
Kubíček et al. | Continuous enhancement in model-based software development and recent trends | |
Lee et al. | Towards a seamless development process for automotive engine-control system | |
Nanjundaswamy et al. | Development and calibration of on-board-diagnostic strategies using a micro-HiL approach | |
Niyonkuru et al. | Discrete-event modeling and simulation for embedded systems | |
CN114816653A (zh) | 电子控制单元定时仿真 | |
Krisp et al. | Automated real-time testing of electronic control units | |
Vuli et al. | Maximizing test asset re-use across MIL, SIL, and HIL development platforms | |
Butts et al. | 15 AUTOMOTIVE POWERTRAIN CONTROLLER DEVELOPMENT USING CACSD | |
Hugues et al. | Twinops: Digital twins meets devops | |
Liu et al. | Real-Time Hardware-in-the-Loop Simulation for Drivability Development | |
EP3076299B1 (en) | Method to improve and extend the logics of a test rig for a vehicle component, in particular a battery or an alternator | |
Erkkinen et al. | Automatic code generation-technology adoption lessons learned from commercial vehicle case studies | |
US20170315521A1 (en) | Method for configuring a tester equipped for testing an electronic control unit | |
Lauber et al. | Virtual test method for complex and variant-rich automotive systems | |
Saadawi et al. | On the verification of hybrid DEVS models | |
Mitts et al. | Using a co-simulation framework to enable software-in-the-loop powertrain system development | |
Semenov | Automation of Hardware-in-the-Loop and In-the-Vehicle testing and validation for Hybrid Electric Vehicles at Ford | |
Wehrmeister et al. | Framework to simulate the behavior of embedded real-time systems specified in UML models | |
Jain et al. | Implementing ATML into the Automatic Test System development and execution workflow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |