CN111985055A - 一种模型封装方法、装置及电子设备 - Google Patents
一种模型封装方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111985055A CN111985055A CN202010884057.8A CN202010884057A CN111985055A CN 111985055 A CN111985055 A CN 111985055A CN 202010884057 A CN202010884057 A CN 202010884057A CN 111985055 A CN111985055 A CN 111985055A
- Authority
- CN
- China
- Prior art keywords
- model
- file
- target
- jbsim
- link library
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/15—Vehicle, aircraft or watercraft design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请公开了一种模型封装方法、装置及电子设备,所述方法包括:根据JSBSim模型的可用接口描述文件,获得对应于目标类型的仿真模型的模型接口描述文件;根据所述模型接口描述文件,获得对应于所述目标类型的仿真模型的目标源文件;根据所述JSBSim模型的模型变量声明头文件,获得所述JSBSim模型的静态链接库文件;根据所述JSBSim模型的静态链接库文件,对所述目标源文件进行编译,以得到对应于所述目标类型的仿真模型的模型动态链接库文件;至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型文件。
Description
技术领域
本申请涉及仿真技术领域,尤其涉及一种模型封装方法、装置及电子设备。
背景技术
JSBSim是开源的飞行器仿真工程,它基于通用化的飞行器动力学/运动学仿真模型框架及不同机型的气动/发动机/结构数据,实现了多种不同型号的飞行仿真功能。
如果能将JSBSim模型基于通用化的对外接口标准进行封装,并由集成仿真平台统一调度计算,就可以实现复杂系统的多源异构模型集成仿真,将极大的方便应用。
因此,亟需一种能够将JSBSim模型封装成通用的仿真模型的技术方案。
发明内容
有鉴于此,本申请提供一种模型封装方法、装置及电子设备,包括:
一种模型封装方法,所述方法包括:
根据JSBSim模型的可用接口描述文件,获得对应于目标类型的仿真模型的模型接口描述文件;
根据所述模型接口描述文件,获得对应于所述目标类型的仿真模型的目标源文件;
根据所述JSBSim模型的模型变量声明头文件,获得所述JSBSim模型的静态链接库文件;
根据所述JSBSim模型的静态链接库文件,对所述目标源文件进行编译,以得到对应于所述目标类型的仿真模型的模型动态链接库文件;
至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型文件。
上述方法,优选的,在至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型文件之前,所述方法还包括:
根据所述模型接口描述文件,获得对应于所述目标类型的仿真模型的模型描述文件;
其中,至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型,包括:
至少对所述模型动态链接库文件和所述模型描述文件进行打包,以得到对应于所述目标类型的目标仿真模型。
上述方法,优选的,在至少对所述模型动态链接库文件和所述模型描述文件进行打包,以得到对应于所述目标类型的目标仿真模型文件之前,所述方法还包括:
在所述模型描述文件中添加至少一个目标全局变量对应的描述内容,所述目标全局变量与所述JSBSim模型的模型附加接口描述文件相对应。
上述方法,优选的,在至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型文件之前,所述方法还包括:
获得所述JSBSim模型的接口调整原则描述文件;
其中,至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型,包括:
至少对所述模型动态链接库文件和所述接口调整原则描述文件进行打包,以得到对应于所述目标类型的目标仿真模型。
上述方法,优选的,根据所述JSBSim模型的静态链接库文件,对所述目标源文件进行编译,以得到对应于所述目标类型的仿真模型的模型动态链接库文件,包括:
设置编译环境,所述编译环境与所述JSBSim模型的模型参数相对应;
在所述编译环境下,利用编译器,对所述目标源文件进行编译,以得到编译结果;
将所述编译结果链接到所述JSBSim模型的静态链接库文件,以得到对应于所述目标类型的仿真模型的动态链接库文件。
上述方法,优选的,所述方法还包括:
获得所述JSBSim模型的模型参数,所述模型参数至少包含所述JSBSim模型的模型位数;
其中,设置编译环境,包括:
设置编译环境中执行编译命令的参数与所述JSBSim模型的模型位数相对应。
上述方法,优选的,在所述编译环境下,利用编译器,对所述目标源文件进行编译,以得到编译结果之前,所述方法还包括:
获得所述JSBSim模型的仿真参数,所述仿真参数至少包含所述JSBSim模型的模式参数,所述模型参数为独立仿真模式或联合仿真模式的参数;
在所述编译器中添加与所述JSBSim模型的模式参数相对应的编译参数。
上述方法,优选的,还包括:
对所述目标仿真模型文件进行检测,以得到检测结果,所述检测结果表征所述目标仿真模型文件是否异常。
一种模型封装装置,所述装置包括:
接口文件获得单元,用于根据JSBSim模型的可用接口描述文件,获得对应于目标类型的仿真模型的模型接口描述文件;
源文件获得单元,用于根据所述模型接口描述文件,获得对应于所述目标类型的仿真模型的目标源文件;
静态库文件获得单元,用于根据所述JSBSim模型的模型变量声明头文件,获得所述JSBSim模型的静态链接库文件;
源文件编译单元,用于根据所述JSBSim模型的静态链接库文件,对所述目标源文件进行编译,以得到对应于所述目标类型的仿真模型的模型动态链接库文件;
文件打包单元,用于至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型文件。
一种电子设备,包括:
存储器,用于存储应用程序和所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现:根据JSBSim模型的可用接口描述文件,获得对应于目标类型的仿真模型的模型接口描述文件;根据所述模型接口描述文件,获得对应于所述目标类型的仿真模型的目标源文件;根据所述JSBSim模型的模型变量声明头文件,获得所述JSBSim模型的静态链接库文件;根据所述JSBSim模型的静态链接库文件,对所述目标源文件进行编译,以得到对应于所述目标类型的仿真模型的模型动态链接库文件;至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型文件。
由上述方案可知,本申请提供的一种模型封装方法、装置及电子设备中,通过JSBSim模型的可用接口描述文件,得到对应于目标类型的仿真模型的模型接口描述文件之后,利用该模型接口描述文件,获得对应于目标类型的仿真模型的目标源文件,进而在根据JSBSim模型的模型变量声明头文件,获得JSBSim模型的静态链接库文件之后,就可以根据JSBSim模型的静态链接库文件,对目标源文件进行编译,以得到对应于目标类型的仿真模型的模型动态链接库文件,最后再对模型动态链接库文件进行打包,就可以得到封装好的对应于目标类型的目标仿真模型文件。可见,本申请中通过JSBSim模型的可用接口描述文件获得到目标源文件之后,利用模型变量声明头文件对应的静态链接库文件进行源文件编译,就可以实现JSBSim模型向目标类型的仿真模型的封装。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种模型封装方法的流程图;
图2为JSBSim模型的模型可用接口描述文件JSBSimCatalog.txt的示意图;
图3-图5分别为本申请实施例一提供的一种模型封装方法的另一流程图;
图6为本申请实施例一提供的一种模型封装方法的部分流程图;
图7为本申请实施例一提供的一种模型封装方法的又一流程图;
图8为本申请实施例二提供的一种模型封装装置的结构示意图;
图9-图11分别为本申请实施例二提供的一种模型封装装置的结构示意图;
图12为本申请实施例三提供的一种电子设备的结构示意图;
图13为本申请实施例适用于对B787机型的JSBSim模型进行封装的流程示意图;
图14及图15分别为JSBSim模型的模型接口描述文件B787_VarInfo.h的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,为本申请实施例一提供的一种模型封装方法的实现流程图,该方法可以适用于能够进行数据处理的电子设备中,如计算机或服务器等。本申请中的技术方案主要用于对JSBSim模型进行封装,进而能够得到目标类型的目标仿真模型文件,如基于FMI(Functional Mock-up Interface)的功能模型单元FMU(Functional Mockup Unit)模型文件等。
具体的,本实施例中的方法可以包括以下步骤:
步骤101:根据JSBSim模型的可用接口描述文件,获得对应于目标类型的仿真模型的模型接口描述文件。
其中,目标类型的仿真模型的模型接口描述文件中可以包含有模型接口定义的代码段、模型端口初值函数SetStartValue、交互数据结构体struct JSBVarInfo、结构体JSBVarInfo数组等内容。
具体的,步骤101中可以先获得JSBSim模型的模型可用接口描述文件,如JSBSimCatalog.txt文件,如图2中所示,该TXT文件中提供有:相应机型的JSBSim模型可用的对外接口列表,如名称或类型等,其中,R表示输出量,W表示输入量,RW即可以表示输入量页可以表示输出量;
之后,再根据JSBSim模型的模型可用接口描述文件,生成对应于目标类型的仿真模型如FMU模型的模型接口描述文件,如b787_VarInfo.h文件。具体的,本实施例中可以使用win命令行执行对应于FMU模型的执行工具对JSBSim模型的模型可用接口描述文件进行处理,进而生成对应于FMU模型的模型接口描述文件。
以B787机型为例,步骤101中对于B787机型的JSBSim模型的模型可用接口描述文件进行获取之后,生成B787机型对应于FMU模型的模型接口描述文件,可以记为B787_VarInfo.h。
步骤102:根据模型接口描述文件,获得对应于目标类型的仿真模型的目标源文件。
其中,本实施例中可以将模型接口描述文件中的模型接口定义的代码段、模型端口初值函数SetStartValue、交互数据结构体struct JSBVarInfo、结构体JSBVarInfo数组等内容直接进行复制,具体可以复制到初始生成的源文件中,进而得到对应于目标类型的仿真模型的目标源文件,如FMU模型的目标源文件。
以B787机型为例,步骤102中将B787机型的FMU模型的模型接口描述文件中的模型接口定义的代码段、模型端口初值函数SetStartValue、交互数据结构体structJSBVarInfo、结构体JSBVarInfo数组等内容复制到初始创建的FMU模型的源文件中,进而得到FMU模型的目标源文件,可以记为B787.cpp。
步骤103:根据JSBSim模型的模型变量声明头文件,获得JSBSim模型的静态链接库文件。
其中,JSBSim模型的模型变量声明头文件中包含有JSBSim模型所涉及的一个或多个全局变量,如发动机的螺旋桨相关变量或控制引擎的相关变量等,本实施例中可以使用JSBSim工程对模型变量声明头文件进行处理,以得到JSBSim模型的静态链接库文件。
以B787机型为例,步骤103中可以将B787机型的JSBSim模型的模型变量声明头文件如GC_var.h加入到工程头文件库中,再触发相应的静态库生成命令之后就可以获得到JSBSim模型的静态链接库文件,可以记为JSBSim.lib。
步骤104:根据JSBSim模型的静态链接库文件,对目标源文件进行编译,以得到对应于目标类型的仿真模型的模型动态链接库文件。
其中,本实施例中可以使用编译器等工具结合JSBSim模型的静态链接库文件对目标源文件进行编译,从而得到相应的模型动态链接库文件。
以B787机型为例,步骤104中可以使用cl编译器结合JSBSim.lib对B787.cpp进行编译,从而得到FMU模型的模型动态链接库文件,即为DLL文件。
步骤105:至少对模型动态链接库文件进行打包,以得到对应于目标类型的目标仿真模型文件。
其中,本实施例中可以使用压缩工具等方式对模型动态链接库文件进行打包,进而得到对应于目标类型的目标仿真模型文件。
以B787机型为例,步骤105中可以使用7Zip压缩工具或其他压缩工具对DLL文件和其他文件进行打包,进而得到FMU模型的文件,如B787.fmu文件。
由上述方案可知,本申请实施例一提供的一种模型封装方法中,通过JSBSim模型的可用接口描述文件,得到对应于目标类型的仿真模型的模型接口描述文件之后,利用该模型接口描述文件,获得对应于目标类型的仿真模型的目标源文件,进而在根据JSBSim模型的模型变量声明头文件,获得JSBSim模型的静态链接库文件之后,就可以根据JSBSim模型的静态链接库文件,对目标源文件进行编译,以得到对应于目标类型的仿真模型的模型动态链接库文件,最后再对模型动态链接库文件进行打包,就可以得到封装好的对应于目标类型的目标仿真模型文件。可见,本申请中通过JSBSim模型的可用接口描述文件获得到目标源文件之后,利用模型变量声明头文件对应的静态链接库文件进行源文件编译,就可以实现JSBSim模型向目标类型的仿真模型的封装。
在一种实现方式中,在步骤105之前,本实施例中的方法还可以包括以下步骤,如图3中所示:
步骤106:根据模型接口描述文件,获得对应于目标类型的仿真模型的模型描述文件。
其中,本实施例中可以通过JSBSim模型的模型接口描述文件进行解析,以读取到模型接口描述文件中的内容,进而生成包含有描述输入输出变量的属性等内容的模型描述文件。
以B787机型为例,步骤106中可以使用相应的运行工具对b787_VarInfo.h文件进行解析,在解析出文件中的内容后,生成FMU模型的模型描述文件,如modelDescription.xml文件。
基于此,在步骤105中至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型文件时,具体可以通过以下方式实现:
至少对模型动态链接库文件和模型描述文件进行打包,以得到对应于目标类型的目标仿真模型文件。
其中,本实施例中可以使用压缩工具等方式对模型动态链接库文件和模型描述文件进行打包,进而得到对应于目标类型的目标仿真模型文件。
以B787机型为例,步骤105中可以使用7Zip压缩工具或其他压缩工具对DLL文件和modelDescription.xml文件进行打包,进而得到FMU模型的文件,如B787.fmu文件。
进一步的,在以上模型封装方案中调用了模型变量声明头文件如GC_vars.h文件的全局变量,但是在模型描述文件中可能会缺少模型附加接口描述文件中的变量对应的描述内容,因此,本实施例在步骤105之前,还可以包含以下步骤,如图4中所示:
步骤107:在模型描述文件中添加至少一个目标全局变量对应的描述内容。
其中,目标全局变量与JSBSim模型的模型附加接口描述文件如GC_additional_vars_for_fmu.xml相对应。
基于此,在模型描述文件中添加目标全局变量对应的描述内容之后,可以将添加描述内容后的模型描述文件覆盖原始的模型描述文件,再对模型动态链接库文件和添加描述内容后的模型描述文件进行打包,以得到对应于目标类型的目标仿真模型文件。
需要说明的是,本实施例中以步骤107在步骤105之前执行为例进行说明,而在其他方案中,步骤107也可以在步骤105之后执行,也就是说,在完成模型封装之后,再对模型描述文件进行描述内容的添加,基于此,本实施例中可以添加描述内容后的模型描述文件覆盖目标访问模型文件中原始的模型描述文件,或者,重新对模型动态链接库文件和添加描述内容后的模型描述文件进行打包,以得到对应于目标类型的目标仿真模型。
在一种实现方式中,在步骤105之前,本实施例中的方法还可以包括以下步骤,如图5中所示:
步骤108:获得JSBSim模型的接口调整原则描述文件。
其中,接口调整原则描述文件中包含有多条调整描述内容,每条调整描述内容用于限定对模型接口描述文件中所涉及的输入输出变量的调整原则,如可自由删减、不可删减、修改接口属性用于切换相应端口属性、接口属性与交互数据结构体相匹配等原则内容。
具体的,本实施例中可以通过对模型接口描述文件进行编辑,进而得到接口调整原则描述文件。
以B787机型为例,步骤108中可以使用相应的编辑工具对b787_VarInfo.h文件进行解析,在解析出文件中的内容后,生成该机型下的JSBSim模型的接口调整原则描述文件。
基于此,步骤105中在至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型时,可以通过以下方式实现:
至少对模型动态链接库文件和接口调整原则描述文件进行打包,以得到对应于目标类型的目标仿真模型。
其中,本实施例中可以使用压缩工具等方式对模型动态链接库文件和接口调整原则描述文件进行打包,进而得到对应于目标类型的目标仿真模型文件。进一步的,本实施例中可以使用压缩工具等方式对模型动态链接库文件、接口调整原则描述文件以及模型描述文件进行打包,进而得到对应于目标类型的目标仿真模型文件。
以B787机型为例,步骤105中可以使用7Zip压缩工具或其他压缩工具对DLL文件、接口调整原则描述文件和modelDescription.xml文件等一起进行打包,进而得到FMU模型的文件,如B787.fmu文件。
在一种实现方式中,步骤104中在根据所述JSBSim模型的静态链接库文件,对所述目标源文件进行编译时,可以通过以下方式实现,如图6中所示:
步骤601:设置编译环境。
其中,编译环境与JSBSim模型的模型参数相对应。
具体的,本实施例中在步骤601之前先获得JSBSim模型的模型参数,其中,模型参数至少包含JSBSim模型的模型位数,如32位或64位等,之后,在步骤601中可以设置编译环境中执行编译命令的参数与JSBSim模型的模型位数相对应。
例如,本实施例中通过调用VC设置命令行编译环境中的批处理命令vcvarsall.bat,以实现编译环境的设置,其中,如果JSBSim模型对应于32位FMU模型,那么在批处理命令中添加参数x86,如果果JSBSim模型对应于64位FMU模型,那么在批处理命令中添加参数x86_amd64。
步骤602:在编译环境下,利用编译器,对目标源文件进行编译,以得到编译结果。
具体的,本实施例中在步骤602之前,可以首先获得JSBSim模型的仿真参数,其中,仿真参数至少包含JSBSim模型的模式参数,这里的模型参数可以为独立仿真模式的参数,或可以为联合仿真模式的参数,例如,以me表征独立仿真模式,即只有单个JSBSim模型,以cs表征联合仿真模式,即有多个JSBSim模型;之后,在编译器中添加与JSBSim模型的模式参数相对应的编译参数。
基于此,在步骤602中,利用添加有与模式参数相对应的编译参数的编译器,在设置完成的编译环境下,对目标源文件进行编译,就可以得到编译结果。
以B787机型为例,步骤602中可以使用cl编译器对B787.cpp进行编译,从而得到初始的模型动态链接库文件,即初始的DLL文件。
步骤603:将编译结果链接到JSBSim模型的静态链接库文件,以得到对应于目标类型的仿真模型的动态链接库文件。
以B787机型为例,步骤603中可以将使用cl编译器编译得到的初始DLL文件与JSBSim.lib进行链接,从而得到FMU模型的模型动态链接库文件,即为DLL文件。
在一种实现方式中,在步骤105之后,本实施例中的方法还可以包括以下步骤,如图7中所示:
步骤109:对目标仿真模型文件进行检测,以得到检测结果。
其中,检测结果表征目标仿真模型文件是否异常。
具体的,本实施例中可以通过检测工具对目标仿真模型文件的格式、接口等是否异常进行检测,从而得到检测结果。
参考图8,为本申请实施例二提供的一种模型封装装置的结构示意图,该装置可以配置于能够进行数据处理的电子设备中,如计算机或服务器等。本申请中的技术方案主要用于对JSBSim模型进行封装,进而能够得到目标类型的目标仿真模型文件,如基于FMI(Functional Mock-up Interface)的功能模型单元FMU(Functional Mockup Unit)模型文件等。
具体的,本实施例中的装置可以包括以下功能单元:
接口文件获得单元801,用于根据JSBSim模型的可用接口描述文件,获得对应于目标类型的仿真模型的模型接口描述文件;
源文件获得单元802,用于至少根据所述模型接口描述文件,获得对应于所述目标类型的仿真模型的目标源文件;
静态库文件获得单元803,用于根据所述JSBSim模型的模型变量声明头文件,获得所述JSBSim模型的静态链接库文件;
源文件编译单元804,用于根据所述JSBSim模型的静态链接库文件,对所述目标源文件进行编译,以得到对应于所述目标类型的仿真模型的模型动态链接库文件;
文件打包单元805,用于至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型文件。
由上述方案可知,本申请实施例二提供的一种模型封装装置中,通过JSBSim模型的可用接口描述文件,得到对应于目标类型的仿真模型的模型接口描述文件之后,利用该模型接口描述文件,获得对应于目标类型的仿真模型的目标源文件,进而在根据JSBSim模型的模型变量声明头文件,获得JSBSim模型的静态链接库文件之后,就可以根据JSBSim模型的静态链接库文件,对目标源文件进行编译,以得到对应于目标类型的仿真模型的模型动态链接库文件,最后再对模型动态链接库文件进行打包,就可以得到封装好的对应于目标类型的目标仿真模型文件。可见,本申请中通过JSBSim模型的可用接口描述文件获得到目标源文件之后,利用模型变量声明头文件对应的静态链接库文件进行源文件编译,就可以实现JSBSim模型向目标类型的仿真模型的封装。
在一种实现方式中,本实施例中的装置还包括以下单元,如图9中所示:
第一描述文件获得单元806,用于根据所述模型接口描述文件,获得对应于所述目标类型的仿真模型的模型描述文件;
其中,文件打包单元805具体用于:至少对所述模型动态链接库文件和所述模型描述文件进行打包,以得到对应于所述目标类型的目标仿真模型。
可选的,描述文件获得单元806还用于:在所述模型描述文件中添加至少一个目标全局变量对应的描述内容,所述目标全局变量与所述JSBSim模型的模型变量声明头文件相对应。
在一种实现方式中,本实施例中的装置还包括以下单元,如图10中所示:
第二描述文件获得单元807:获得所述JSBSim模型的接口调整原则描述文件;
其中,文件打包单元805具体用于:至少对所述模型动态链接库文件和所述接口调整原则描述文件进行打包,以得到对应于所述目标类型的目标仿真模型。
在一种实现方式中,源文件编译单元804具体用于:设置编译环境,所述编译环境与所述JSBSim模型的模型参数相对应;在所述编译环境下,利用编译器,对所述目标源文件进行编译,以得到编译结果;将所述编译结果链接到所述JSBSim模型的静态链接库文件,以得到对应于所述目标类型的仿真模型的动态链接库文件。
可选的,源文件编译单元804还用于:获得所述JSBSim模型的模型参数,所述模型参数至少包含所述JSBSim模型的模型位数;
基于此,源文件编译单元804在设置编译环境时,具体用于:设置编译环境中执行编译命令的参数与所述JSBSim模型的模型位数相对应。
可选的,源文件编译单元804还用于在所述编译环境下,利用编译器,对所述目标源文件进行编译,以得到编译结果之前,获得所述JSBSim模型的仿真参数,所述仿真参数至少包含所述JSBSim模型的模式参数,所述模型参数为独立仿真模式或联合仿真模式的参数;在所述编译器中添加与所述JSBSim模型的模式参数相对应的编译参数。
在一种实现方式中,本实施例中的装置还包括以下单元,如图11中所示:
模型检测单元808,用于对所述目标仿真模型文件进行检测,以得到检测结果,所述检测结果表征所述目标仿真模型文件是否异常。
需要说明的是,本实施例中各单元的具体实现可以参考前文中的相应内容,此处不再详述。
参考图12,为本申请实施例三提供的一种电子设备的结构示意图,该电子设备可以为能够进行数据处理的电子设备,如计算机或服务器等。本申请中的技术方案主要用于对JSBSim模型进行封装,进而能够得到目标类型的目标仿真模型文件,如基于FMI(Functional Mock-up Interface)的功能模型单元FMU(Functional Mockup Unit)模型文件等。
具体的,本实施例中的电子设备可以包括以下结构:
存储器1201,用于存储应用程序和所述应用程序运行所产生的数据;
处理器1202,用于执行所述应用程序,以实现:根据JSBSim模型的可用接口描述文件,获得对应于目标类型的仿真模型的模型接口描述文件;至少根据所述模型接口描述文件,获得对应于所述目标类型的仿真模型的目标源文件;根据所述JSBSim模型的模型变量声明头文件,获得所述JSBSim模型的静态链接库文件;根据所述JSBSim模型的静态链接库文件,对所述目标源文件进行编译,以得到对应于所述目标类型的仿真模型的模型动态链接库文件;至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型文件。
由上述方案可知,本申请实施例三提供的一种电子设备中,通过JSBSim模型的可用接口描述文件,得到对应于目标类型的仿真模型的模型接口描述文件之后,利用该模型接口描述文件,获得对应于目标类型的仿真模型的目标源文件,进而在根据JSBSim模型的模型变量声明头文件,获得JSBSim模型的静态链接库文件之后,就可以根据JSBSim模型的静态链接库文件,对目标源文件进行编译,以得到对应于目标类型的仿真模型的模型动态链接库文件,最后再对模型动态链接库文件进行打包,就可以得到封装好的对应于目标类型的目标仿真模型文件。可见,本申请中通过JSBSim模型的可用接口描述文件获得到目标源文件之后,利用模型变量声明头文件对应的静态链接库文件进行源文件编译,就可以实现JSBSim模型向目标类型的仿真模型的封装。
需要说明的是,本实施例中处理器的具体实现可以参考前文中的相应内容,此处不再详述。
结合以上实施例方案,以下以B787机型为例,对其JSBSim模型封装成FMU模型的实现方案进行说明:
首先,本申请中可以使用工具软件如ParseJSBSimCatalog.exe调用模型可用接口描述文件JSBSimCatalog.txt(通过参数调用操作由JSBSim生成),以生成一个模型接口描述文件VarInfo.h文件,VarInfo.h中包含模型输入输出接口定义、模型接口初值函数SetStartValue、交互数据结构体JSBVarInfo、及结构体JSBVarInfo数组。之后,用JSBSim模型的源码如模型变量声明头文件GC_var.h生成静态链接库lib文件,用脚本(编译器)编译包含VarInfo.h的CPP源文件并链接lib文件,最后,将生成的DLL以及相关文件压缩成FMU文件。
具体的,参考图13中所示的整体流程图,具体方案如下:
(1)准备工作:
以JSBSim工程版本为jsbsim-JSBSim-trusty-v2018a为例,本申请的技术方案可以在Visual Studio 2015版本下正常编译。在开始正式流程前需要确认以下内容:
本地已安装Visual Studio 2015与仿真软件;
本地路径…\jsbsim-JSBSim-trusty-v2018a下存在对应机型的XML文件,如B787机型的XML文件;
本地路径…\GC_WorkSpace\JSBSim_config_file下存在对应机型的XML文件;
本地存在实现本申请封装方案的ParseJSBSim工具;
本地存在GC_var.h(模型变量声明头文件);
本地存在GC_additional_vars_for_fmu.xml(模型附加接口描述文件);
本地存在FMU工具文件夹FMUSDK10ModelBuild;
JSBSim工程文件夹存放于…\FMUSDK10ModelBuild\路径下;
(2)JSBSim模型可用接口描述TXT文件生成:
首先,由于JSBSim涉及的机型较多,每种机型对外可用的接口(输入/输出/参数)略有差异,所以有模型接口描述文件来表征对于某个特定的机型封装时可用的对外接口有哪些。
其次,本申请中可以通过以下路径调用应用程序.exe:JSBSim属性页->常规栏->配置类型:选择“应用程序.exe”,再调用vs2015运行完毕后可在Release文件夹找到JSBSim.exe文件。
以获取B787机型的模型可用接口描述文件为例,运行流程可步骤如下:
1、将JSBSim.exe复制至JSBSim根目录;
2、调用win命令行执行“JSBSim.exe--catalog=b787>JSBSimCatalog.txt”;
运行完毕后可在同目录下查看JSBSimCatalog.txt文件;
其中,JSBSimCatalog.txt文件的意义在于提供用户当前机型模型可用的对外接口列表(名称/类型),其中R表示输出量、W表示输入量、RW表示即可作为输入量也可作为输出量。由于模型接口在FMU流程源文件(目标源文件)中需要单独定义,所以该描述文件就成为了FMU对外接口设计的依据。
需要说明的是,后续需要获得的FMU流程源文件中需要用户定义对外接口的名称/序号/类型等信息,可以通过本申请中的模型封装工具根据JSBSimCatalog.txt自动生成FMU流程源文件内的代码段。
1、以UTF-8编码另存为JSBSimCatalog.txt至ParseJSBSim文件夹;
2、使用win命令行执行“ParseJSBSimCatalog.exe JSBSimCatalog.txt”;
运行完毕后可在同目录下查看b787_VarInfo.h文件,如图14和图15中所示,可以看到b787_VarInfo.h中编写有模型接口定义的代码段、模型端口初值函数SetStartValue、交互数据结构体struct JSBVarInfo。这部分内容可直接复制到FMU流程源文件中使用。
(3)JSBSim模型静态链接库Lib文件生成:
本申请中可以使用JSBSim工程生成静态链接库作为封装对象。
1、将GC_var.h加入工程头文件库Header Files;
2、实现本申请封装方案的工具中通过以下方式生成lib文件:JSBSim属性页->常规栏->配置类型:选择“静态库.lib”;
需要说明的是,在JSBSim的源码中可以添加自己代码,然后用输入输出接口来传入或传出值。
运行完毕后可在Release文件夹找到JSBSim.lib文件。
(4)FMU流程源文件编写:
JSBSim封装用的源文件编写比较特殊,除了接口定义、端口初值函数、交互数据结构体内容需根据B787_VarInfo.h调整外,几乎不需要更改预设模板内其它部分。因为示例模板是一种根据JSBSim设计的制式流程,仅适用于JSBSim模型封装的应用场景。JSBSim模型输入/输出接口的调整遵循如下原则:
1、对于TXT描述文件中规定的R类输出型接口,可自由删减;
2、对于TXT描述文件中规定的W类输入型接口,不可删减;
3、对于TXT描述文件中规定的RW类输入/输出型接口,可通过修改接口属性#define x 0…、交互数据结构体struct JSBVarInfo中-1/1标识的方式切换其端口属性;
4、流程源文件中对于同一接口,其接口属性、交互数据结构体内含义需匹配;
其中,JSBSim模型的飞行器/动力数据均取自对应型号的XML文件,从GCAir配置文件路径…\GC_WorkSpace\JSBSim_config_file寻找对应机型的XML文件。
(5)模型封装工具使用:
在前面(1)-(5)中准备工作做好之后,是最后的也是最关键的封装环节。具体操作如下:
在models文件夹下新建空白文件夹,将FMU流程源文件B787.cpp、GC变量头文件GC_vars.h移动至该路径即可。工具的使用流程如下:
1、在models文件夹路径下打开windows命令行(shift+右键->win命令窗口);
2、输入并运行命令build_fmu.bat,其中,有参数cs和B787 JSBSim,参数cs表示联合仿真模式,B787表示待封装的JSBSim模型的仿真机型;
3、命令行提示Everything is Ok build fmu done则表示封装成功;
4、在工具根目录fmu文件夹查看封装后的FMU模型文件。
具体的,运行build_fmu.bat之后,脚本内部主要步骤如下:
1、首先调用vc设置命令行编译环境的批处理命令vcvarsall.bat,其中,如果需要生成32位MFU则加参数x86,如果是64位下则加参数x86_amd64;
2、根据传入的第一个参数是“cs”还是“me”来确定生成保存至的文件夹,并确定编译时添加的/D参数,例如,如果是CS模式则在编译时添加/DFMI_COSIMULATION;
3、用cl编译命令,结合相关参数编译B787.cpp;
4、使用应用程序GenerateXML.exe,通过参数“B787.cpp”来生成modelDescription.xml,此文件是FMU文件的描述文件,里面内容为描述输入输出变量的属性等;
5、把编译生成的DLL与modelDescription.xml等文件按FMI标准的要求放置到相应文件夹下,然后调用7Zip压缩工具压缩包含这些文件的目录成B787.fmu文件;
6、最后调用fmuCheck工具来对生成的fmu进行检测,测试fmu是否有问题。
(6)FMU模型XML文件内容更新;
由于模型封装时调用了GC_vars.h文件的全局变量,但是这类变量并不是JSBSim自带的,所以在JSBSim生成的接口列表中并未包含该部分内容,需要添加该部分接口描述至FMU的XML文件中,因此,在完成下述步骤后,方可得到对应机型的完整FMU模型文件:
1、使用WinRAR打开FMU模型文件解压modelDescription.xml文件至本地;
2、使用记事本或Notepad编辑modelDescription.xml;
3、将GC_additional_vars_for_fmu.xml内容复制至ModelVariables标签的末尾;
4、将更新后的modelDescription.xml覆盖FMU模型内的原文件。
以下为B787.cpp被运行时的主要操作:
1、创建JSBSim::FGFDMExec类型的指针FDMExec。
2、调用FDMExec->SetAircraftPath,FDMExec->SetEnginePath,FDMExec->SetSystemsPath等函数设置路径,路径参数从注册表中获取即可。
3、调用FDMExec->LoadModel来加载JSBSim模型。
4、FDMExec->GetIC()获取IC指针,然后用IC来设置相应输入变量值。
5、FDMExec->RunIC()设置IC。
6、设置SetReal接口函数。调用FDMExec->SetPropertyValue,根据传入变量的索引设置数组相应位置的值。
7、设置DoStep接口函数。调用FDMExec->Run(),并接着对每一个变量调用一次FDMExec->GetPropertyValue,然后将值存入数组,以便下次取值。
8、设置GetReal接口函数。返回从第7步读取的数组中取值。
可见,实现本申请的模型封装工具能够将JSBSim模型封装成FMU模型,并且将JSBSim模型自己的变量或参数添加到FMU模型里,完成封装。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种模型封装方法,其特征在于,所述方法包括:
根据JSBSim模型的可用接口描述文件,获得对应于目标类型的仿真模型的模型接口描述文件;
根据所述模型接口描述文件,获得对应于所述目标类型的仿真模型的目标源文件;
根据所述JSBSim模型的模型变量声明头文件,获得所述JSBSim模型的静态链接库文件;
根据所述JSBSim模型的静态链接库文件,对所述目标源文件进行编译,以得到对应于所述目标类型的仿真模型的模型动态链接库文件;
至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型文件。
2.根据权利要求1所述的方法,其特征在于,在至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型文件之前,所述方法还包括:
根据所述模型接口描述文件,获得对应于所述目标类型的仿真模型的模型描述文件;
其中,至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型,包括:
至少对所述模型动态链接库文件和所述模型描述文件进行打包,以得到对应于所述目标类型的目标仿真模型。
3.根据权利要求2所述的方法,其特征在于,在至少对所述模型动态链接库文件和所述模型描述文件进行打包,以得到对应于所述目标类型的目标仿真模型文件之前,所述方法还包括:
在所述模型描述文件中添加至少一个目标全局变量对应的描述内容,所述目标全局变量与所述JSBSim模型的模型附加接口描述文件相对应。
4.根据权利要求1所述的方法,其特征在于,在至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型文件之前,所述方法还包括:
获得所述JSBSim模型的接口调整原则描述文件;
其中,至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型,包括:
至少对所述模型动态链接库文件和所述接口调整原则描述文件进行打包,以得到对应于所述目标类型的目标仿真模型。
5.根据权利要求1所述的方法,其特征在于,根据所述JSBSim模型的静态链接库文件,对所述目标源文件进行编译,以得到对应于所述目标类型的仿真模型的模型动态链接库文件,包括:
设置编译环境,所述编译环境与所述JSBSim模型的模型参数相对应;
在所述编译环境下,利用编译器,对所述目标源文件进行编译,以得到编译结果;
将所述编译结果链接到所述JSBSim模型的静态链接库文件,以得到对应于所述目标类型的仿真模型的动态链接库文件。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获得所述JSBSim模型的模型参数,所述模型参数至少包含所述JSBSim模型的模型位数;
其中,设置编译环境,包括:
设置编译环境中执行编译命令的参数与所述JSBSim模型的模型位数相对应。
7.根据权利要求5所述的方法,其特征在于,在所述编译环境下,利用编译器,对所述目标源文件进行编译,以得到编译结果之前,所述方法还包括:
获得所述JSBSim模型的仿真参数,所述仿真参数至少包含所述JSBSim模型的模式参数,所述模型参数为独立仿真模式或联合仿真模式的参数;
在所述编译器中添加与所述JSBSim模型的模式参数相对应的编译参数。
8.根据权利要求1所述的方法,其特征在于,还包括:
对所述目标仿真模型文件进行检测,以得到检测结果,所述检测结果表征所述目标仿真模型文件是否异常。
9.一种模型封装装置,其特征在于,所述装置包括:
接口文件获得单元,用于根据JSBSim模型的可用接口描述文件,获得对应于目标类型的仿真模型的模型接口描述文件;
源文件获得单元,用于根据所述模型接口描述文件,获得对应于所述目标类型的仿真模型的目标源文件;
静态库文件获得单元,用于根据所述JSBSim模型的模型变量声明头文件,获得所述JSBSim模型的静态链接库文件;
源文件编译单元,用于根据所述JSBSim模型的静态链接库文件,对所述目标源文件进行编译,以得到对应于所述目标类型的仿真模型的模型动态链接库文件;
文件打包单元,用于至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型文件。
10.一种电子设备,其特征在于,包括:
存储器,用于存储应用程序和所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现:根据JSBSim模型的可用接口描述文件,获得对应于目标类型的仿真模型的模型接口描述文件;根据所述模型接口描述文件,获得对应于所述目标类型的仿真模型的目标源文件;根据所述JSBSim模型的模型变量声明头文件,获得所述JSBSim模型的静态链接库文件;根据所述JSBSim模型的静态链接库文件,对所述目标源文件进行编译,以得到对应于所述目标类型的仿真模型的模型动态链接库文件;至少对所述模型动态链接库文件进行打包,以得到对应于所述目标类型的目标仿真模型文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010884057.8A CN111985055B (zh) | 2020-08-28 | 2020-08-28 | 一种模型封装方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010884057.8A CN111985055B (zh) | 2020-08-28 | 2020-08-28 | 一种模型封装方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111985055A true CN111985055A (zh) | 2020-11-24 |
CN111985055B CN111985055B (zh) | 2023-08-08 |
Family
ID=73439695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010884057.8A Active CN111985055B (zh) | 2020-08-28 | 2020-08-28 | 一种模型封装方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111985055B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667242A (zh) * | 2020-12-28 | 2021-04-16 | 北京世冠金洋科技发展有限公司 | 一种将c代码封装成fmu的方法及装置 |
CN113238834A (zh) * | 2021-05-31 | 2021-08-10 | 北京世冠金洋科技发展有限公司 | 仿真模型文件的处理方法、装置及电子设备 |
CN113568601A (zh) * | 2021-07-27 | 2021-10-29 | 重庆金康动力新能源有限公司 | 基于集成配置文件的模型软件自动集成和动静态校验方法 |
CN114721666A (zh) * | 2022-04-20 | 2022-07-08 | 北京世冠金洋科技发展有限公司 | 一种代码封装方法及装置 |
CN115080049A (zh) * | 2021-03-16 | 2022-09-20 | 中国航发商用航空发动机有限责任公司 | 用于编译仿真模型的方法、系统和计算机可读存储介质 |
Citations (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060230314A1 (en) * | 2005-04-07 | 2006-10-12 | Sanjar Amir F | Automatic generation of solution deployment descriptors |
CN101587446A (zh) * | 2009-06-30 | 2009-11-25 | 中国运载火箭技术研究院 | 基于分布交互仿真平台的仿真模型转换方法 |
CN101826014A (zh) * | 2010-04-20 | 2010-09-08 | 北京邮电大学 | 一种软件工程源代码的分割方法 |
CN102479268A (zh) * | 2010-11-29 | 2012-05-30 | 北京临近空间飞行器系统工程研究所 | Fortran的飞行器联邦成员异构协同互操作方法 |
CN103281393A (zh) * | 2013-06-07 | 2013-09-04 | 北京理工大学 | 一种飞行器分布式系统仿真的负载均衡方法 |
CN103412972A (zh) * | 2013-07-01 | 2013-11-27 | 北京理工大学 | 一种飞行器分布式仿真平台中的仿真模型封装与集成方法 |
CN104298128A (zh) * | 2014-09-29 | 2015-01-21 | 哈尔滨工业大学 | 空间飞行器导航制导技术地面仿真方法 |
US20150118671A1 (en) * | 2013-10-29 | 2015-04-30 | Educational Testing Service | Systems and Methods for Designing, Parsing and Mining of Game Log Files |
US20150142393A1 (en) * | 2012-07-16 | 2015-05-21 | Fujitsu Limited | Method, apparatus, and program for generating a simulation model of a space |
CN104657136A (zh) * | 2015-02-10 | 2015-05-27 | 上海创景计算机系统有限公司 | Simulink组件的集成系统 |
CN105488251A (zh) * | 2015-11-13 | 2016-04-13 | 中国人民解放军国防科学技术大学 | 一种分布式飞行器仿真平台及其实现方法 |
CN106126799A (zh) * | 2016-06-20 | 2016-11-16 | 浪潮(北京)电子信息产业有限公司 | 一种无源仿真链路构建系统及方法 |
CN106951590A (zh) * | 2017-02-16 | 2017-07-14 | 北京宇航系统工程研究所 | 一种面向多学科异构模型的仿真试验系统 |
CN107908830A (zh) * | 2017-10-26 | 2018-04-13 | 北京动力机械研究所 | 基于fmi标准的模型转换方法和模型转换系统 |
CN108280291A (zh) * | 2018-01-22 | 2018-07-13 | 湖南和信智仿信息科技有限公司 | 可重用仿真模型接口设计与对接方法、装置和计算机设备 |
CN108345749A (zh) * | 2018-02-11 | 2018-07-31 | 中国电子科技集团公司第二十九研究所 | 射频集成工艺容差与电性能耦合特性的建模与封装方法 |
CN108614941A (zh) * | 2018-05-08 | 2018-10-02 | 湖南城市学院 | 一种针对集成qfn芯片的板级封装设计优化方法 |
CN109086147A (zh) * | 2018-07-31 | 2018-12-25 | 深圳市元征科技股份有限公司 | 应用程序的服务接口调用方法、装置及存储介质 |
CN109799971A (zh) * | 2018-12-07 | 2019-05-24 | 陕西法士特齿轮有限责任公司 | 一种文件生成装置和方法 |
CN109948213A (zh) * | 2019-03-11 | 2019-06-28 | 北京世冠金洋科技发展有限公司 | 一种基于fmi标准的协同仿真方法及装置 |
CN110069876A (zh) * | 2019-04-29 | 2019-07-30 | 北京世冠金洋科技发展有限公司 | 一种实验管理方法及装置 |
CN110196720A (zh) * | 2019-05-29 | 2019-09-03 | 北京灵思创奇科技有限公司 | 一种Simulink生成动态链接库的优化方法 |
CN110619185A (zh) * | 2019-09-25 | 2019-12-27 | 北京世冠金洋科技发展有限公司 | 一种数据处理方法、装置及电子设备 |
CN110765639A (zh) * | 2019-11-05 | 2020-02-07 | 国网重庆市电力公司电力科学研究院 | 一种电气仿真建模方法、装置及可读存储介质 |
CN111221532A (zh) * | 2019-12-23 | 2020-06-02 | 北京轩宇信息技术有限公司 | 一种动态链接库的生成方法及装置 |
CN111367511A (zh) * | 2020-03-02 | 2020-07-03 | 北京中科宇航技术有限公司 | 一种仿真模型接口适配开发系统及其工作方法 |
CN111580898A (zh) * | 2020-05-15 | 2020-08-25 | 北京世冠金洋科技发展有限公司 | 一种仿真软件自动化执行的方法和装置 |
CN111581839A (zh) * | 2020-05-15 | 2020-08-25 | 北京世冠金洋科技发展有限公司 | 一种模型的嵌套关系处理方法、装置及电子设备 |
-
2020
- 2020-08-28 CN CN202010884057.8A patent/CN111985055B/zh active Active
Patent Citations (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060230314A1 (en) * | 2005-04-07 | 2006-10-12 | Sanjar Amir F | Automatic generation of solution deployment descriptors |
CN101587446A (zh) * | 2009-06-30 | 2009-11-25 | 中国运载火箭技术研究院 | 基于分布交互仿真平台的仿真模型转换方法 |
CN101826014A (zh) * | 2010-04-20 | 2010-09-08 | 北京邮电大学 | 一种软件工程源代码的分割方法 |
CN102479268A (zh) * | 2010-11-29 | 2012-05-30 | 北京临近空间飞行器系统工程研究所 | Fortran的飞行器联邦成员异构协同互操作方法 |
US20150142393A1 (en) * | 2012-07-16 | 2015-05-21 | Fujitsu Limited | Method, apparatus, and program for generating a simulation model of a space |
CN103281393A (zh) * | 2013-06-07 | 2013-09-04 | 北京理工大学 | 一种飞行器分布式系统仿真的负载均衡方法 |
CN103412972A (zh) * | 2013-07-01 | 2013-11-27 | 北京理工大学 | 一种飞行器分布式仿真平台中的仿真模型封装与集成方法 |
US20150118671A1 (en) * | 2013-10-29 | 2015-04-30 | Educational Testing Service | Systems and Methods for Designing, Parsing and Mining of Game Log Files |
CN104298128A (zh) * | 2014-09-29 | 2015-01-21 | 哈尔滨工业大学 | 空间飞行器导航制导技术地面仿真方法 |
CN104657136A (zh) * | 2015-02-10 | 2015-05-27 | 上海创景计算机系统有限公司 | Simulink组件的集成系统 |
CN105488251A (zh) * | 2015-11-13 | 2016-04-13 | 中国人民解放军国防科学技术大学 | 一种分布式飞行器仿真平台及其实现方法 |
CN106126799A (zh) * | 2016-06-20 | 2016-11-16 | 浪潮(北京)电子信息产业有限公司 | 一种无源仿真链路构建系统及方法 |
CN106951590A (zh) * | 2017-02-16 | 2017-07-14 | 北京宇航系统工程研究所 | 一种面向多学科异构模型的仿真试验系统 |
CN107908830A (zh) * | 2017-10-26 | 2018-04-13 | 北京动力机械研究所 | 基于fmi标准的模型转换方法和模型转换系统 |
CN108280291A (zh) * | 2018-01-22 | 2018-07-13 | 湖南和信智仿信息科技有限公司 | 可重用仿真模型接口设计与对接方法、装置和计算机设备 |
CN108345749A (zh) * | 2018-02-11 | 2018-07-31 | 中国电子科技集团公司第二十九研究所 | 射频集成工艺容差与电性能耦合特性的建模与封装方法 |
CN108614941A (zh) * | 2018-05-08 | 2018-10-02 | 湖南城市学院 | 一种针对集成qfn芯片的板级封装设计优化方法 |
CN109086147A (zh) * | 2018-07-31 | 2018-12-25 | 深圳市元征科技股份有限公司 | 应用程序的服务接口调用方法、装置及存储介质 |
CN109799971A (zh) * | 2018-12-07 | 2019-05-24 | 陕西法士特齿轮有限责任公司 | 一种文件生成装置和方法 |
CN109948213A (zh) * | 2019-03-11 | 2019-06-28 | 北京世冠金洋科技发展有限公司 | 一种基于fmi标准的协同仿真方法及装置 |
CN110069876A (zh) * | 2019-04-29 | 2019-07-30 | 北京世冠金洋科技发展有限公司 | 一种实验管理方法及装置 |
CN110196720A (zh) * | 2019-05-29 | 2019-09-03 | 北京灵思创奇科技有限公司 | 一种Simulink生成动态链接库的优化方法 |
CN110619185A (zh) * | 2019-09-25 | 2019-12-27 | 北京世冠金洋科技发展有限公司 | 一种数据处理方法、装置及电子设备 |
CN110765639A (zh) * | 2019-11-05 | 2020-02-07 | 国网重庆市电力公司电力科学研究院 | 一种电气仿真建模方法、装置及可读存储介质 |
CN111221532A (zh) * | 2019-12-23 | 2020-06-02 | 北京轩宇信息技术有限公司 | 一种动态链接库的生成方法及装置 |
CN111367511A (zh) * | 2020-03-02 | 2020-07-03 | 北京中科宇航技术有限公司 | 一种仿真模型接口适配开发系统及其工作方法 |
CN111580898A (zh) * | 2020-05-15 | 2020-08-25 | 北京世冠金洋科技发展有限公司 | 一种仿真软件自动化执行的方法和装置 |
CN111581839A (zh) * | 2020-05-15 | 2020-08-25 | 北京世冠金洋科技发展有限公司 | 一种模型的嵌套关系处理方法、装置及电子设备 |
Non-Patent Citations (7)
Title |
---|
云超;李小民;郑宗贵;刘品;: "面向对象与应用框架的飞行仿真软件开发方法", 探测与控制学报, no. 04 * |
刘哲;董长虹;韩潮;: "空间拦截仿真平台设计", 北京航空航天大学学报, no. 03 * |
岳显;吉华;王强;樊刚;王佳;: "基于JSBSim模型飞行能力初步评估系统的研究与实践", 计算机应用与软件, no. 04 * |
庞国峰;朱纪洪;: "通用飞行动力学模型库的开发及应用", 飞行力学, no. 02 * |
朱向东;周军;呼卫军;: "基于XML的飞行制导控制仿真软件的设计与实现", 计算机测量与控制, no. 08 * |
王鸿亮;廉东本;徐久强;: "基于FMI的分布式联合仿真技术研究", 计算机仿真, no. 04 * |
陆冠华;郝明瑞;胡松;水尊师;: "基于FMI的飞行器分系统多源异构模型一体化仿真", 导航定位与授时, no. 06, pages 99 - 104 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667242A (zh) * | 2020-12-28 | 2021-04-16 | 北京世冠金洋科技发展有限公司 | 一种将c代码封装成fmu的方法及装置 |
CN112667242B (zh) * | 2020-12-28 | 2023-08-22 | 北京世冠金洋科技发展有限公司 | 一种将c代码封装成fmu的方法及装置 |
CN115080049A (zh) * | 2021-03-16 | 2022-09-20 | 中国航发商用航空发动机有限责任公司 | 用于编译仿真模型的方法、系统和计算机可读存储介质 |
CN113238834A (zh) * | 2021-05-31 | 2021-08-10 | 北京世冠金洋科技发展有限公司 | 仿真模型文件的处理方法、装置及电子设备 |
CN113238834B (zh) * | 2021-05-31 | 2023-08-08 | 北京世冠金洋科技发展有限公司 | 仿真模型文件的处理方法、装置及电子设备 |
CN113568601A (zh) * | 2021-07-27 | 2021-10-29 | 重庆金康动力新能源有限公司 | 基于集成配置文件的模型软件自动集成和动静态校验方法 |
CN113568601B (zh) * | 2021-07-27 | 2024-04-19 | 重庆金康动力新能源有限公司 | 基于集成配置文件的模型软件自动集成和动静态校验方法 |
CN114721666A (zh) * | 2022-04-20 | 2022-07-08 | 北京世冠金洋科技发展有限公司 | 一种代码封装方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111985055B (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111985055A (zh) | 一种模型封装方法、装置及电子设备 | |
CN106775723B (zh) | 基于Android平台的系统固件定制的方法和Android设备 | |
US7155381B2 (en) | Module for developing wireless device applications using an integrated emulator | |
US7131111B2 (en) | Development of manifest for java embedded server bundle | |
US20030236657A1 (en) | Method of developing wireless device applications using an integrated emulator and an IDE | |
CN113238834B (zh) | 仿真模型文件的处理方法、装置及电子设备 | |
US10614227B2 (en) | Method and system for identifying functional attributes that change the intended operation of a compiled binary extracted from a target system | |
CN100492387C (zh) | 基于Keil C51的软件保护开发的方法和系统 | |
JP7262818B2 (ja) | エンジンデバッグ、テスト、較正、及び調節を制御するためのソフトウェア環境 | |
CN108595187A (zh) | 安卓安装包集成软件开发工具包的法、装置及存储介质 | |
CN114610640B (zh) | 一种面向物联网可信执行环境的模糊测试方法和系统 | |
CN110196720B (zh) | 一种Simulink生成动态链接库的优化方法 | |
CN110333872A (zh) | 一种应用的处理方法、装置、设备和介质 | |
KR20150061203A (ko) | 네이티브 빌드 기반의 임베디드 소프트웨어 개발 환경을 지원하기 위한 임베디드 소프트웨어 개발 도구 제공 방법 및 장치 | |
EP2626784A1 (en) | Method and apparatus for automated MATLAB interfacing | |
US8776010B2 (en) | Data type provider for a data store | |
CN112667242A (zh) | 一种将c代码封装成fmu的方法及装置 | |
CN114895935A (zh) | 刷写车辆ecu的方法、装置、电子设备及存储介质 | |
CN116243923A (zh) | 一种小程序处理方法、装置及电子设备 | |
CN115809076A (zh) | Ecu软件自动化集成方法及系统 | |
CN112953721B (zh) | 一种ipa文件的解析方法、装置、设备及存储介质 | |
CN115080049A (zh) | 用于编译仿真模型的方法、系统和计算机可读存储介质 | |
CN111596906A (zh) | 一种基于MVPVM的Android应用开发方法、装置、设备及介质 | |
US7580962B1 (en) | Automatic code generation for co-simulation interfaces | |
CN114579135B (zh) | 一种安装包生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |