用于实时仿真的方法、系统和计算机可读存储介质技术方案

技术编号:35200723 阅读:17 留言:0更新日期:2022-10-15 10:08
本发明专利技术公开了一种用于使用仿真系统进行交互式仿真的方法,所述仿真系统包括至少部分级联的多个模型,所述方法包括:根据调度周期来周期性地调度所述多个模型执行仿真;在所述仿真期间,实时接收来自所述用户的用于修改所述多个模型中的一个或多个模型的参数或输入变量的指令;以及基于所述指令,在线修改所述一个或多个模型的所述参数或输入变量并使用修改后的参数或输入变量执行仿真。还公开了仿真系统和计算机可读介质。本发明专利技术能够实时地进行交互式仿真。行交互式仿真。行交互式仿真。

【技术实现步骤摘要】
用于实时仿真的方法、系统和计算机可读存储介质


[0001]本专利技术涉及模型的仿真,尤其涉及用于实时仿真的方法、系统和计算机可读存储介质。

技术介绍

[0002]目前,越来越多的仿真工具软件被用于硬件系统(例如航空、汽车等领域的系统)的设计或者验证。仿真工具软件的示例包括但不限于:Simulink、Amesim、Flowmaster、SCADE等。在许多系统(尤其是大型系统)的设计和验证过程中,有时需要用到不止一种仿真工具软件。这些仿真工具软件通常提供代码生成工具。用户可通过仿真工具软件的图形用户界面来调用和设置这些代码生成工具,以便将该仿真工具软件的模型文件生成目标码、可执行码、或者动态链接库文件。然而,上述操作需要用户手动操作,且不同仿真工具软件所生成的可执行码或动态链接库文件之间并不一定兼容,因此现有技术无法自动地将多种仿真工具软件的仿真模型生成统一格式的动态链接库文件。这使得使用多种仿真工具软件进行仿真困难且耗时。
[0003]即便人工实现了包括多个模型的仿真模型的编译和执行,现有技术中仍然无法实现可交互的实时仿真。
[0004]因此,需要能够执行实时仿真的方法和系统。

技术实现思路

[0005]本专利技术是为解决以上所述的现有技术的问题而做出的。本专利技术提供了一种能够统一调度各个模型并且能够实现可交互的实时仿真的方案,从而解决了上述问题。
[0006]在一个方面中,公开了一种用于使用仿真系统进行交互式仿真的方法,所述仿真系统包括至少部分级联的多个模型,所述方法包括:根据调度周期来周期性地调度所述多个模型执行仿真;在所述仿真期间,实时接收来自所述用户的用于修改所述多个模型中的一个或多个模型的参数或输入变量的指令;以及基于所述指令,在线修改所述一个或多个模型的所述参数或输入变量并使用修改后的参数或输入变量执行仿真。
[0007]优选地,所述仿真系统包括仿真调度模块,所述仿真调度模块包括实时调度引擎和通信引擎,所述实时调度引擎通过所述通信引擎与所述用户所使用的用于监控的系统交换指令和数据。
[0008]优选地,所述方法还包括:在每个调度周期开始时,确定是否存在尚未被执行的、来自所述用户的、用于修改所述多个模型中的任何模型的参数的指令;如果存在,则根据所述指令来修改所述多个模型中的相应模型的参数,如果不存在,则不对所述多个模型的参数进行修改。
[0009]优选地,所述多个模型中的级联模型中的前级模型的输出变量被作为输入变量传递到后级模型。
[0010]优选地,所述方法还包括:在模型被调用前,确定是否存在尚未被执行的、来自所
述用户的、用于修改该模型的输入变量的指令;
[0011]如果存在,则使用所述指令中的新输入变量作为该模型的输入变量。
[0012]优选地,所述方法还包括:对于后级模型,如果不存在尚未被执行的、来自所述用户的、用于修改该后级模型的输入变量的指令,则使用来自其前级模型的输出变量作为该后级模型的输入变量。
[0013]在另一方面,公开了一种仿真系统,所述仿真系统包括:仿真调度模块,所述仿真调度模块包括实时调度引擎和至少部分级联的多个模型,所述实时调度引擎用于:根据调度周期来周期性地调度所述多个模型执行仿真;在所述仿真期间,实时接收来自所述用户的用于修改所述多个模型中的一个或多个模型的参数或输入变量的指令;以及基于所述指令,在线修改所述一个或多个模型的所述参数或输入变量并使用修改后的参数或输入变量执行仿真。
[0014]优选地,所述仿真系统还包括通信引擎,所述实时调度引擎通过所述通信引擎与所述用户所使用的用于监控的系统交换指令和数据。
[0015]优选地,所述实时调度引擎还用于:在每个调度周期开始时,如果存在尚未被执行的、来自所述用户的、用于修改所述多个模型中的任何模型的参数的指令,则根据所述指令来修改所述多个模型中的相应模型的参数;以及在模型被调用前,如果存在尚未被执行的、来自所述用户的、用于修改该模型的输入变量的指令,则使用所述指令中的新输入变量作为该模型的输入变量。
[0016]在另一方面,公开了一种非瞬态的计算机可读存储介质,所述计算机可读存储介质存储计算机可执行指令,所述计算机可执行指令在被计算机执行时可执行如前所述的任何方法。
[0017]本专利技术的一个或多个实施例提供的方案能够实现以下技术效果中的一者或多者:
[0018]实现多个模型的统一封装和接口,从而允许对多个模型的统一调度;
[0019]对于用户对参数或输入变量的改变,能够在尽量短的时间内执行,提升了实时性,增强了仿真的可交互性。
附图说明
[0020]附图中示出了本专利技术的非限制性的较佳实施结构,结合附图,可使本专利技术的特征和优点更加明显。其中:
[0021]图1示出根据本说明书的实施例的用于实时仿真的系统的示意图。
[0022]图2示出用于生成单个仿真模型的动态链接库的简化示例的示意图。
[0023]图3示出根据本说明书的实施例的用于生成基于封装架构的测试可执行文件的过程的示意图。
[0024]图4示出根据本说明书实施例的基于封装架构的实时仿真调度策略的时序示意图。
[0025]图5示出根据本说明书实施例的用于仿真测试的方法的示例流程图。
[0026]图6示出根据本说明书的实施例的用于实现实时仿真的流程的函数调用示意图。
具体实施方式
[0027]下面将参考附图来对本专利技术的具体实施例进行描述。应当了解,附图中所示的仅仅是本专利技术的较佳实施例,其并不构成对本专利技术的范围的限制。本领域的技术人员可以在附图所示的实施例的基础上对本专利技术进行各种显而易见的修改、变型、等效替换,并且在不相矛盾的前提下,在所描述的实施例中的技术特征可以任意组合,而这些都落在本专利技术的保护范围之内。
[0028]根据本公开的实施例的系统和/或方法可在任何可用类型的操作系统上实现,包括但不限于Windows操作系统、Linux操作系统等。在不同操作系统中,可能具有实现细节上的差异。例如,对于动态链接库文件在Windows操作系统中可使用.dll文件,而在Linux操作系统中可使用.so文件;对于静态链接库文件在Windows操作系统中可使用.lib文件,而在Linux操作系统中可使用.a文件等等。在下面的描述中,将使用Windows操作系统作为示例来说明。然而,应当领会,本公开可适用于其他类型的操作系统,且本领域技术人员在阅读本公开之后知晓如何在其他类型的操作系统中实现本公开的各实施例。
[0029]在本说明书的实施例中,较佳地,该源代码为C代码。替代地,该源代码可以为其它代码,例如C++代码等。在阅读本申请说明书后,本领域技术人员知晓在其它形式的代码的情况下如何实现本专利技术。
[0030]参见图1,其示出了根据本说明书的实施例的用于实时仿真的仿真系统100的示意图。
[0031]如图1所示,仿真系统100可包括两个子系统:仿真监控子系统102和实时仿真子系本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于使用仿真系统进行交互式仿真的方法,其特征在于,所述仿真系统包括至少部分级联的多个模型,所述方法包括:根据调度周期来周期性地调度所述多个模型执行仿真;在所述仿真期间,实时接收来自所述用户的用于修改所述多个模型中的一个或多个模型的参数或输入变量的指令;以及基于所述指令,在线修改所述一个或多个模型的所述参数或输入变量并使用修改后的参数或输入变量执行仿真。2.如权利要求1所述的方法,其特征在于,所述仿真系统包括仿真调度模块,所述仿真调度模块包括实时调度引擎和通信引擎,所述实时调度引擎通过所述通信引擎与所述用户所使用的用于监控的系统交换指令和数据。3.如权利要求1所述的方法,其特征在于,还包括:在每个调度周期开始时,确定是否存在尚未被执行的、来自所述用户的、用于修改所述多个模型中的任何模型的参数的指令;如果存在,则根据所述指令来修改所述多个模型中的相应模型的参数,如果不存在,则不对所述多个模型的参数进行修改。4.如权利要求1所述的方法,其特征在于,所述多个模型中的级联模型中的前级模型的输出变量被作为输入变量传递到后级模型。5.如权利要求1所述的方法,其特征在于,还包括:在模型被调用前,确定是否存在尚未被执行的、来自所述用户的、用于修改该模型的输入变量的指令;如果存在,则使用所述指令中的新输入变量作为该模型的输入变量。6.如权利要求5所述的方法,其特征在于,还包括:对于后级模型,如果不存在尚未被执行的、来自所...

【专利技术属性】
技术研发人员:张园锁宋云峰朱群超陈海泉
申请(专利权)人:中国航发商用航空发动机有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1