CN102708234B - 基于HLA的Matlab仿真模型集成系统和方法 - Google Patents

基于HLA的Matlab仿真模型集成系统和方法 Download PDF

Info

Publication number
CN102708234B
CN102708234B CN201210124391.9A CN201210124391A CN102708234B CN 102708234 B CN102708234 B CN 102708234B CN 201210124391 A CN201210124391 A CN 201210124391A CN 102708234 B CN102708234 B CN 102708234B
Authority
CN
China
Prior art keywords
hla
module
matlab
realistic model
simulation
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.)
Expired - Fee Related
Application number
CN201210124391.9A
Other languages
English (en)
Other versions
CN102708234A (zh
Inventor
范文慧
马成
肖田元
唐树才
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201210124391.9A priority Critical patent/CN102708234B/zh
Publication of CN102708234A publication Critical patent/CN102708234A/zh
Application granted granted Critical
Publication of CN102708234B publication Critical patent/CN102708234B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开一种基于HLA的Matlab仿真模型集成系统,为解决现有技术效率低且性能差等缺点而发明。本发明基于HLA的Matlab仿真模型集成系统包括仿真模型模块、配置文件模块、HLA使能模块和RTI系统。配置文件模块用于填写SOM信息;HLA使能模块用于实现仿真模型与RTI系统的交互。HLA使能模块包括仿真参数配置子模块、输入子模块、输出子模块、数据空间子模块、RTI服务函数子模块和回调服务函数子模块。本发明公开一种基于HLA的Matlab仿真模型集成方法。本发明基于HLA的Matlab仿真模型集成系统及方法实现了Matlab仿真模型的HLA集成,提高了仿真模型的重用能力。

Description

基于HLA的Matlab仿真模型集成系统和方法
技术领域
本发明涉及一种基于HLA的Matlab仿真模型集成系统和方法。
背景技术
HLA是目前被广泛接受的分布式仿真标准,大多数分布式交互仿真平台都是参照HLA标准构建的。Matlab是一套工程计算与数值分析软件包,包含许多应用于不同领域的工具箱以及simulink系统仿真等,由于其强大而完整的功能,目前已成为世界上应用最广泛的工程计算与分析软件工具之一,其应用范围涉及工业、建筑、医疗以及电子等众多领域。虽然Matlab具有强大的建模和仿真功能,并提供了友好的API接口,但是其本身并不支持HLA/RTI,无法直接参与基于HLA/RTI的协同仿真。
目前国内外相关文献中已有多种在HLA仿真中应用Matlab模型的方法,主要分为将Matlab模型编译成编程语言代码实现HLA集成、将RTI服务包装成Matlab软件能够调用的函数实现HLA集成、以及在RTI与Matlab平台之间建立适配器实现HLA集成这三大类。
第一类方法是利用Matlab提供的Real-Time Workshop工具,将Simulink模块图模型转化成优化的,可移植的和可定制的ANSI C代码。然后对这些C代码进行编译链接,得到可执行程序,从而使模型的执行脱离Matlab环境。再在这些C语言模型的基础上,添加HLA接口功能,使之变成符合HLA标准的联邦成员。由于得到的联邦成员是C++实现,因此运行不依赖Matlab环境,且仿真运行速度快。这种方法的缺点是SOM信息以硬编码的形式存在,无法实现OMT动态配置,即使模型有微小改动,也必须重新编译链接,同时,仿真成员代码完全脱离原仿真软件Matlab运行,无法充分利用仿真软件强大的求解能力。由于这种方法依赖于仿真软件的开放性,不适合推广到多种仿真软件。
第二类方法是利于Matlab调用C语言函数的二次开发接口,把RTI一系列标准服务包装成C-MEX函数,存储在Matlab函数库中供调用。由于是在Matlab环境下直接编写联邦成员模型,调用的RTI服务函数是解释执行的,因此对模型的修改不需重新编译。这种方法的缺点是数据映射和模型交互等SOM信息存在于模型中,不支持OMT动态配置和联邦成员动态重用,且需要将底层RTI的运行API函数库以能被仿真软件调用的函数形式重新编写,要求仿真模型开发者熟悉RTI服务和联邦成员的开发,程序量大,调试困难。
第三类方法是在Matlab仿真模型和RTI之间建立适配器,通过Matlab引擎单步地运行模型,在每个积分步点上将从数据空间中取得的模型输出,通过RTI服务发送出去,并把从RTI得到的输入数据写入工作空间。这种方法的缺点是对工作空间的读写和单步运行都依赖于仿真软件的开放性,且单步运行和工作空间的数据复制使得仿真运行效率很低;数据映射机制不灵活,不支持OMT动态配置;适配器的方式与模型分离,在仿真过程中读写数据空间,受限于数据空间开放程度,只能在步长点上进行数据交互和模型修改,因此对于交互模型采用不同仿真求解算法、变步长算法,步长不相同等复杂情况,协同仿真的精度会受到很大影响。
发明内容
为了克服上述的缺陷,本发明提供一种效率高且性能好的基于HLA的Matlab仿真模型集成系统。
为达到上述目的,一方面,本发明提供一种基于HLA的Matlab仿真模型集成系统,所述平台包括仿真模型模块、配置文件模块、HLA使能模块和RTI系统;
仿真模型模块,用于支持Matlab仿真模型;
配置文件模块,用于填写SOM信息,所述SOM信息至少包括数据映射信息和模型交互信息;
HLA使能模块,用于实现Matlab仿真模型与RTI系统的交互;所述HLA使能模块包括仿真参数配置子模块、输入子模块、输出子模块、数据空间子模块、RTI服务函数子模块和回调服务函数子模块;其中,
仿真参数配置子模块,连接至配置文件模块,用于从配置文件获取信息,并跟据所述信息配置仿真模型的仿真运行参数;所述信息至少包括仿真步长、仿真结束条件、以及所选用的仿真求解算法;
输入子模块,一端连接仿真模型模块,另一端连接数据空间子模块,用于分别接收来自所述仿真模型模块和数据空间子模块的数据信息;
输出子模块,一端连接仿真模型模块,另一端连接数据空间子模块,用于分别向所述仿真模型模块和数据空间子模块发送数据信息;
RTI服务函数子模块,用于被RTI系统调用管理指令;
回调服务函数子模块,用于回调RTI系统得管理指令。
特别是,所述RTI服务函数子模块和回调服务函数子模块中运行的管理指令至少包括联邦管理、声明管理、对象管理、所有权管理、时间管理和数据分发管理。
特别是,HLA使能模块所实现的回调函数至少包括:
初始化阶段中的mdlInitializeSizes()、mdlInitializeSampleTimes()和/或mdlStart();
运行期中的mdlOutputs();
仿真结束阶段中的mdlTerminate()。
另一方面,本发明提供一种基于HLA的Matlab仿真模型集成方法,所述方法包括下述步骤:
4.1建立Matlab仿真模型模块,定义所述模型模块的输入端口和输出端口,验证端口定义的正确性,并保存所建立的Matlab仿真模型;
4.2根据仿真模型模块在分布式协调仿真系统中的输入输出关系,将SOM信息填写入配置文件;
4.3根据仿真需求填写fed文件;
4.4在Matlab仿真模型模块中添加符合仿真需要的HLA使能模块,形成Matlab仿真模型单元;将所述Matlab仿真模型单元的输入与HLA使能模块的输出相连,将所述Matlab仿真模型单元的输出与HLA使能模块的输入相连;
4.5设置Matlab仿真模型单元的仿真求解算法和仿真时间、仿真步长;
4.6启动RTIg服务器;
4.7在Matlab软件中启动Matlab仿真模型单元;
4.8启动HLA协同仿真系统中的其它成员,进行协同仿真,直至仿真停止;
4.9仿真结束后通过Maltab的数据空间子模块查看并分析仿真结果。
特别是,HLA使能单元的实现过程为:
在初始化阶段中,HLA使能模块创建并加入联邦;根据模型说明文件提供的信息来公布并注册模型输出的数据对象,订购模型输入的数据对象;
在仿真运行阶段中,每当联邦内发生与该模型成员相关的事件时,HLA使能模块就调用RTI所实现的对应功能函数或被RTI回调HLA使能模块所实现功能函数来进行处理,主要包括:在Matlab仿真运行的每一步,Matlab仿真引擎都按照顺序逐个计算模型各模块的输出,在Matlab仿真引擎计算到HLA使能模块时,HLA使能模块将自身输入端口输入的数据向RTI发布,随后请求推进HLA仿真时间;在时间推进被允许后,HLA使能模块通过回调函数获得所订购的数据,并据此更新自身输出端口值;重复上述过程直到仿真运行结束;
在仿真运行结束时,HLA使能模块退出仿真联邦。
特别是,所述HLA使能模块以动态链接库的形式存在。
特别是,步骤4.4所述的Matlab仿真模型模块中添加HLA使能模块的过程为:
在Matlab仿真模型模块中添加HLA使能模块;
根据Matlab仿真模型模块在分布式协调仿真系统中的输入输出关系,确定HLA使能模块的输入输出端口数;
将Matlab仿真模型模块的各输出端口连接到HLA使能模块的输入端;
将HLA使能模块的输出端连接到Matlab仿真模型模块的各输入端口。
本发明基于HLA的Matlab仿真模型集成系统采用HLA使能模块来实现Matlab仿真模型的HLA集成,因为HLA使能模块能够在Matlab仿真模型模块中即插即用,从Matlab仿真模型到HLA仿真成员代码的转化过程不需编译。简化了仿真成员程序开发过程,仿真模型和程序代码的独立性和重用性都得到了进一步的提升。
本发明基于HLA的Matlab仿真模型集成方法中HLA使能模块以动态链接库的形式存在,具有很好的封装性。通过HLA使能模块,将RTI功能接口嵌入仿真模型,而不是在模型之外添加适配器,可以获得对模型和仿真过程更强的控制能力,支持级间(Minor-STEP)的数据交互,与步长法相比,提高了仿真精度,在此基础上能够开发算法实现不同仿真求解算法(属于模型运行的仿真参数之一,不是平台的一部分,是平台中“仿真参数配置子模块”需要配置的仿真参数之一。采用了不同的仿真求解算法后——包括变步长算法和固定步长算法两类多种算法,由于参与协同的模型步长不同或步长可变,使得它们难以像定步长且步长相同的仿真模型间协同那样,可以在步长点上发生数据交互,因此需要特定的协同仿真同步算法来支持这种复杂的协同过程),不同步长,变步长的模型间协同仿真的同步机制。
附图说明
图1为本发明基于HLA的Matlab仿真模型集成系统优选实施例示意图。
图2为本发明模型模块与嵌入HLA使能模块后得到的仿真模型单元对比示意图。
图3为基于HLA使能模块的Matlab仿真模型HLA集成方案原理示意图。
图4为S-Function的运行框架示意图。
图5为S-Function的RTI功能封装示意图。
具体实施方式
下面结合说明书附图对本发明的具体实施方式做详细描述。
如图1所示,本发明提出一种基于HLA使能模块的Matlab方法模型HLA集成方法。在HLA使能模块的具体实现中,为了使协同仿真模型具有较高的通用性和较强的模型仿真过程控制能力,不再构建独立于模型之外的联邦成员程序,而是反过来将联邦成员的运行流程嵌入到商业仿真软件的模型仿真过程里,使所开发的仿真软件与HLA的接口成为仿真模型的一部分。
在技术实现上,采用Matlab最基本的外部编程接口之一:S-Function。S-Function是Matlab提供给用户编写自定义模块的一套规范,HLA使能模块是基于S-Function构建的一个Matlab模块。HLA使能模块以动态链接库的形式存在,具有很好的封装性。
在将Matlab仿真模型模块进行HLA集成时,只需将用HLA使能模块与Matlab仿真模型模块的输入/输出端口相连,即可将Matlab模型改造成符合HLA标准的仿真成员。集成方案如图3所示。
开发HLA使能模块首先要使其实现RTI服务功能。本文中的HLA使能模块是利用Simulink平台的自定义S-Function机制,通过编写S-Function函数实现的。
S-Function是Simulink平台提供的用户自定义子功能模块的接口函数,支持Matlab、C、C++、Fortran等多种实现语言,本文中用C++实现具有RTI接口功能的S-Function模块。
在Matlab中,完整模型的运行框架分为初始化、仿真循环和仿真结束三个阶段。
(1)初始化阶段:计算各个模块处理顺序、模块参数、采样时间、数据类型、信号宽度,以及分配内存等。
(2)仿真循环阶段:在仿真循环的每一积分极点上,SIMULINK仿真求解算法按照初始化阶段计算出的模块处理顺序计算每个模块当前时间的状态、微分、输出。
(3)仿真结束阶段:释放内存。
每个模块的S-Function模型是由一系列回调函数组成,在仿真过程的三个阶段,Matlab处理器会自动调用对应的回调函数。用户只需在对应阶段的回调函数中填充自己的代码,就可以完成自定义的模块所需的仿真功能。
S-Function是Matlab提供给用户编写自定义模块的一套规范,我们将所有与HLA进行信息交互的功能封装成是一个基于S-Function的Matlab模块,以动态链接库的形式存在于Matlab模型库中。当要将一个Matlab模型改造成基于HLA的协同仿真模型时,只要将原模型的各输出端口连接到RTI接口模块的输入端,再将RTI接口模块的输出端连接到原模型的各输入端口即可。RTI接口模块实现了RTI相关服务,通过内部调用,把从接口模块输入端口得到的原模型输出数据发送给RTI,并把从RTI接收到的数据通过接口模块的输出端口发送到Simulink的其它模块,通过这种方式实现Matlab模型在Simulink平台下与RTI之间的通信。RTI接口模块在模型的运行期能够密切的参与到模型的仿真运行中,实现通过外部控制所难以达到的对模型仿真过程的控制能力,在此基础上还完成对模型之间不同仿真算法的协调。只要将通常的Simulink模型加入RTI接口模块,就完成了Matlab仿真模型模块的HLA集成,使之成为了符合HLA标准的仿真成员。当模型在Simulink环境中测试正确后,再使用Real-TimeWorkshop生成C++代码提高运行效率。
Matlab仿真模型的运行遵循Matlab提供的通用运行框架的调度,每个Simulink模块的具体运行过程如图4所示。
(1)初始化运行:在开始运行模型之前,首先要初始化,包括运行时间接口、注册模型、分配数据结构工作区等工作。
(2)开始运行:
MdlStart函数——模型状态变量初始化。
(3)仿真过程:系统在仿真运行循环阶段会在每个积分极点上自动调用以下函数:
MdlOutPut函数——更新连续状态并产生模型的输出;
MdlUpdate函数——更新离散状态;
MdlDerivatives函数——计算模型连续状态的微分量,使模型当前时刻运行的模块产生输出并更新状态。
MdlTerminate函数——结束仿真。
利用这个通用运行框架,我们可以将RTI接口功能封装到S-Function当中去,具体的封装思路如图5所示。
当要将一个Matlab模型改造成基于HLA的协同仿真模型时,只要将原模型的各输出端口连接到HLA使能模块的输入端,再将HLA使能模块的输出端连接到原模型的各输入端口即可。HLA使能模块在模型的运行期能够密切的参与到模型的仿真运行中,实现通过外部控制所难以达到的对模型仿真过程的控制能力,在此基础上完成对模型之间不同仿真算法的协调。
当运行一个仿真任务时,要求每一个参与仿真的模型都嵌入了HLA使能模块,这些协同仿真模型组成一个仿真联邦,联邦的运行过程就是仿真任务的执行过程。模型的仿真运行分为三个阶段。
在初始化阶段:HLA使能模块创建并加入联邦,根据模型说明文件提供的信息,公布并注册模型输出的数据对象,订购模型输入的数据对象。
在仿真运行阶段:一方面,每当联邦内发生与该模型成员相关的事件时,RTI就调用用户自定义类的对象进行处理。另一方面,在Matlab仿真运行的每一步,仿真求解算法进程都按照一定的顺序逐个计算模型各个模块的输出,再根据所设定的仿真算法更新状态变量,推进仿真时钟。因此,每当执行到HLA使能模块时,HLA使能模块就将自身的输入端口数据(模型的输出变量)包装成对象类实例向联邦内的有关成员模型映射,然后在协同仿真算法的控制下,根据用户自定义类的对象的状态,读取由其他成员模型映射来的对象类实例(模型的输入变量),基于已经接收到的历史时间点上模型输入变量的值来计算Matlab当前要求的仿真时点上的变量值,将其作为模块的输出来更新原始模型的各个输入端口值。这个过程一直重复直到仿真运行结束。
在仿真运行结束时:HLA使能模块退出仿真联邦。
一个典型的在源Matlab模型中嵌入HLA使能模块实现Matlab仿真模型的HLA集成过程的示例如图2所示。
Matlab模型的仿真运行是在仿真求解算法控制下完成的,所以在仿真运行之前用户需要指定所要使用的仿真求解算法以及步长设定。Matlab模型仿真时间推进的基本单位是级(minorstep),根据仿真求解算法的不同,一个步长(majorstep)可能包含不同数量的minorstep。仿真求解算法在每一步minorstep都以回调函数的方式要求模块更新自身的状态变量以及输出值,对于HLA使能模块也是如此。HLA使能模块要实现的主要回调函数包括:初始化阶段的mdlInitializeSizes()、mdlInitializeSampleTimes()、mdlStart();运行期的mdlOutputs();仿真结束阶段的mdlTerminate()。
HLA使能模块是Matlab模型转化为协同仿真联邦成员模型的关键部分,它的输入是原始模型的输出,而它的输出端口连接着原始模型的输入端口。因此对参与仿真的每个模型来说,其内部的HLA使能模块代表了整体联邦模型的其他部分。HLA使能模块采用S-Function编写,接受Matlab仿真求解算法进程的调控,它的运行包括三个阶段:
(1)仿真初始化阶段
mdlInitializeSizes(·)根据模型说明文件的信息,指定HLA使能模块输入/输出端口的数量和带宽。
mdlInitializeSampleTimes(·)设置模块仿真运行期的采样时间,HLA使能模块将该值设为INHERITED_SAMPLE_TIME,从而使模块继承它的前驱模块(即原始模型的一部分)的采样时间。
mdlStart(SimStruct*S)仿真运行前最后的准备工作:
初始化模块的联邦成员类对象,该类继承了联邦成员大使类NullFederateAmbassador
调用rtiAmb->createFederationExecution(·)建立模型说明文件中指定的联邦。如果联邦已存在,说明仿真联邦中的其它模型已经启动并完成了建立联邦的工作。
调用rtiAmb->joinFederationExecution(·)加入指定的仿真联邦。
根据模型说明文件,调用rtiAmb->publishObjectClass(·)公布对象类,每一个公布的对象类对应于原始模型的一个输出端口,初始化联邦成员对象中该类的类句柄及注册允许标志。
根据模型说明文件,调用rtiAmb->subscribeObjectClassAttributes(·)订购对象类属性集,每一个订购的对象类属性集对应于原始模型的一个输入端口。初始化联邦成员对象中该类的类句柄及更新缓冲队列。
一直等待,利用RTI的回调函数discoverObjectInstance(.)监视联邦中被本成员订购的对象的注册情况。当联邦中本本成员所订购的对象全部加入联邦后,说明联邦内的其它相关模型已经启动就绪,仿真开始阶段的同步性已经达成,可以进入仿真运行阶段。
(2)仿真运行阶段
这个阶段只有一个回调函数mdlOutput()被执行,它是整个HLA使能模块的核心部分。在每一个minorstep,仿真求解算法都会按预定的顺序逐个调用各模块的mdlOutput(·)来更新模块的输出端口值。每次执行到HLA使能模块的mdlOutput(·)时,它的输入端口值(即原始模型的输出端口)已经由前驱模块更新完毕,mdlOutput()的算法如下:
仿真子模型输出
对于HLA使能模块的每个输入端口,获取端口的当前值,即原始模型的输出端口值。在模型说明文件中,模型的每个输入端口都对应有一个发布对象类实例。将每个输出变量和模型的仿真时间一起封装,作为这个公布对象类实例的一次属性集更新,通过rtiAmb->updateAttributeValues()向仿真联邦内发送。
仿真子模型输入
请求时间推进到当前仿真成员时间+Lookahead,查询队列,如果有下一步仿真需要的时间点的反射属性值,或者可以通过插值得到下一步仿真所需要时间点的反射属性值,则将此反射属性值写到对应的HLA使能模块的输出端口上,作为仿真子模型的输入,驱动仿真下一步的运行;如果查询队列不能得到下一步仿真所需时间点的反射属性值且不能插值得到,说明其他联邦成员还没有计算到该时间点,则重复前述过程,继续请求时间推进,查询队列,直到得到需要的属性值。
(3)仿真结束阶段
在一次仿真运行结束时,仿真求解算法调用mdlTerminate()完成退出仿真联邦、销毁仿真联邦及其他善后工作,如释放对象空间等等。
本发明提出一种通过S-Function开发HLA使能模块,实现基于HLA的Matlab仿真模型集成的方法。实验案例验证了该方法的可行性和可靠性,为今后更大规模的复杂产品协同仿真奠定了坚实的基础。在计算机仿真及软件工程领域,该方法能够发挥很大的作用,并获得很好的经济效益。
以上,仅为本发明的较佳实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求所界定的保护范围为准。

Claims (7)

1.一种基于HLA的Matlab仿真模型集成系统,其特征在于,所述系统包括仿真模型模块、配置文件模块、HLA使能模块和RTI系统;
仿真模型模块,用于支持Matlab仿真模型;
配置文件模块,用于填写SOM信息,所述SOM信息包括数据映射信息和模型交互信息;
HLA使能模块,用于实现Matlab仿真模型与RTI系统的交互;所述HLA使能模块包括仿真参数配置子模块、输入子模块、输出子模块、数据空间子模块、RTI服务函数子模块和回调服务函数子模块;其中,
仿真参数配置子模块,连接至配置文件模块,用于从配置文件获取信息,并跟据所述信息配置仿真模型的仿真运行参数;所述信息包括仿真步长、仿真结束条件、以及所选用的仿真求解算法;
输入子模块,一端连接仿真模型模块,另一端连接数据空间子模块,用于分别接收来自所述仿真模型模块和数据空间子模块的数据信息;
输出子模块,一端连接仿真模型模块,另一端连接数据空间子模块,用于分别向所述仿真模型模块和数据空间子模块发送数据信息;
RTI服务函数子模块,用于被RTI系统调用管理指令;
回调服务函数子模块,用于回调RTI系统得管理指令。
2.根据权利要求1所述的基于HLA的Matlab仿真模型集成系统,其特征在于,所述RTI服务函数子模块和回调服务函数子模块中运行的管理指令包括联邦管理、声明管理、对象管理、所有权管理、时间管理和数据分发管理。
3.根据权利要求1所述的基于HLA的Matlab仿真模型集成系统,其特征在于,HLA使能模块所实现的回调函数包括:
初始化阶段中的mdlInitializeSizes()、mdlInitializeSampleTimes()和/或mdlStart();
运行期中的mdlOutputs();
仿真结束阶段中的mdlTerminate()。
4.一种基于HLA的Matlab仿真模型集成方法,其特征在于,所述方法包括下述步骤:
4.1建立Matlab仿真模型模块,定义所述模型模块的输入端口和输出端口,验证端口定义的正确性,并保存所建立的Matlab仿真模型;
4.2根据仿真模型模块在分布式协调仿真系统中的输入输出关系,将SOM信息填写入配置文件;
4.3根据仿真需求填写fed文件;
4.4在Matlab仿真模型模块中添加符合仿真需要的HLA使能模块,形成Matlab仿真模型单元;将所述Matlab仿真模型单元的输入与HLA使能模块的输出相连,将所述Matlab仿真模型单元的输出与HLA使能模块的输入相连;
4.5设置Matlab仿真模型单元的仿真求解算法和仿真时间、仿真步长;
4.6启动RTIg服务器;
4.7在Matlab软件中启动Matlab仿真模型单元;
4.8启动HLA协同仿真系统中的其它成员,进行协同仿真,直至仿真停止;
4.9仿真结束后通过Maltab的数据空间子模块查看并分析仿真结果。
5.根据权利要求4所述的基于HLA的Matlab仿真模型集成方法,其特征在于,HLA使能单元的实现过程为:
在初始化阶段中,HLA使能模块创建并加入联邦;根据模型说明文件提供的信息来公布并注册模型输出的数据对象,订购模型输入的数据对象;
在仿真运行阶段中,每当联邦内发生与该模型成员相关的事件时,HLA使能模块就调用RTI所实现的对应功能函数或被RTI回调HLA使能模块所实现功能函数来进行处理,包括:在Matlab仿真运行的每一步,Matlab仿真引擎都按照顺序逐个计算模型各模块的输出,在Matlab仿真引擎计算到HLA使能模块时,HLA使能模块将自身输入端口输入的数据向RTI发布,随后请求推进HLA仿真时间;在时间推进被允许后,HLA使能模块通过回调函数获得所订购的数据,并据此更新自身输出端口值;重复上述过程直到仿真运行结束;
在仿真运行结束时,HLA使能模块退出仿真联邦。
6.根据权利要求4所述的基于HLA的Matlab仿真模型集成方法,其特征在于,所述HLA使能模块以动态链接库的形式存在。
7.根据权利要求4所述的基于HLA的Matlab仿真模型集成方法,其特征在于,步骤4.4所述的Matlab仿真模型模块中添加HLA使能模块的过程为:
在Matlab仿真模型模块中添加HLA使能模块;
根据Matlab仿真模型模块在分布式协调仿真系统中的输入输出关系,确定HLA使能模块的输入输出端口数;
将Matlab仿真模型模块的各输出端口连接到HLA使能模块的输入端;
将HLA使能模块的输出端连接到Matlab仿真模型模块的各输入端口。
CN201210124391.9A 2012-04-25 2012-04-25 基于HLA的Matlab仿真模型集成系统和方法 Expired - Fee Related CN102708234B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210124391.9A CN102708234B (zh) 2012-04-25 2012-04-25 基于HLA的Matlab仿真模型集成系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210124391.9A CN102708234B (zh) 2012-04-25 2012-04-25 基于HLA的Matlab仿真模型集成系统和方法

Publications (2)

Publication Number Publication Date
CN102708234A CN102708234A (zh) 2012-10-03
CN102708234B true CN102708234B (zh) 2014-08-27

Family

ID=46900997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210124391.9A Expired - Fee Related CN102708234B (zh) 2012-04-25 2012-04-25 基于HLA的Matlab仿真模型集成系统和方法

Country Status (1)

Country Link
CN (1) CN102708234B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103135989B (zh) * 2013-03-11 2016-02-10 北京经纬恒润科技有限公司 一种回调函数代码生成方法及装置
CN103473389B (zh) * 2013-08-12 2016-04-20 北京理工大学 一种应用于hla分布式仿真技术的通用模型
CN104391709A (zh) * 2014-12-12 2015-03-04 北京润科通用技术有限公司 一种文件生成方法及装置
CN105792270A (zh) * 2014-12-24 2016-07-20 国家电网公司 一种适用于WiMAX系统的离散事件仿真方法及其平台
CN106155667B (zh) * 2015-04-20 2019-07-19 北京仿真中心 一种基于接口模型的内嵌式工具软件集成系统及方法
CN108153921B (zh) * 2016-12-05 2021-06-04 北京仿真中心 一种hla联邦成员的动态部署分配方法
CN106997414B (zh) * 2017-04-06 2020-08-14 北京仿真中心 一种基于反射内存网络的多学科协同仿真实现方法
CN107317705B (zh) * 2017-06-22 2020-11-24 重庆邮电大学 一种基于Agent感知区域的有限乐观并行仿真同步方法
CN108629102B (zh) * 2018-04-27 2021-08-13 北京航空航天大学 数字飞行器同步与时间推进源代码人工智能书写方法
CN108873738A (zh) * 2018-08-06 2018-11-23 中国科学院长春光学精密机械与物理研究所 电子学模型闭环仿真方法
CN109995417B (zh) * 2019-01-08 2021-05-11 上海卫星工程研究所 星载sar合路数据转传输通道数据功能模块生成方法
CN112001028A (zh) * 2020-07-17 2020-11-27 武汉船用电力推进装置研究所(中国船舶重工集团公司第七一二研究所) 一种永磁推进系统仿真方法及平台
CN113467272A (zh) * 2021-06-01 2021-10-01 中国航空工业集团公司沈阳飞机设计研究所 一种基于Simulink的联合仿真方法及系统
CN114201165A (zh) * 2021-12-17 2022-03-18 北京世冠金洋科技发展有限公司 一种构建仿真模型的方法及装置
CN116149620B (zh) * 2023-04-04 2023-06-30 中国船舶集团有限公司第七一九研究所 一种面向Matlab脚本重定义的设计方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1804804A (zh) * 2005-11-23 2006-07-19 中国航天科技集团公司第一研究院 基于hla的分布交互仿真平台及其实现方法
CN101741906A (zh) * 2009-12-08 2010-06-16 中国运载火箭技术研究院 支持hla分布交互仿真的网格资源管理系统及其实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006075253A2 (en) * 2005-01-11 2006-07-20 Commissariat A L'energie Atomique Peptides for desensitizing subjects allergic to dog hair and dander and compositions containing said peptides.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1804804A (zh) * 2005-11-23 2006-07-19 中国航天科技集团公司第一研究院 基于hla的分布交互仿真平台及其实现方法
CN101741906A (zh) * 2009-12-08 2010-06-16 中国运载火箭技术研究院 支持hla分布交互仿真的网格资源管理系统及其实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于高层体系结构的电力系统综合仿真平台;杨选怀等;《电网技术》;20090630;第33卷(第11期);全文 *
杨选怀等.基于高层体系结构的电力系统综合仿真平台.《电网技术》.2009,第33卷(第11期),全文.

Also Published As

Publication number Publication date
CN102708234A (zh) 2012-10-03

Similar Documents

Publication Publication Date Title
CN102708234B (zh) 基于HLA的Matlab仿真模型集成系统和方法
CN106372370A (zh) 一种飞行控制分布式实时仿真系统
CN109711071B (zh) 一种服务器SoC软硬件协同仿真加速方法及系统
CN102480467B (zh) 一种基于网络通讯协议的soc软硬件协同仿真验证方法
CN106844822A (zh) 一种支持快速虚实互换的运载火箭半实物仿真方法
CN113568705B (zh) 一种分布式架构下的代码集成仿真方法
CN104750603A (zh) 一种多核dsp软件仿真器及其物理层软件测试方法
CN102495552A (zh) 面向星载电子系统的实时仿真系统
Gomes et al. SimKit: A high performance logical process simulation class library in C++
CN103942092B (zh) 一种支持LabView图形化编程的HLA协同仿真方法
CN102859489A (zh) 可恢复的方法
CN109325900A (zh) 一种算法的部署方法和系统
CN108639374A (zh) 一种飞机部件数字化装配实测数据处理方法及系统
CN107515966A (zh) 一种基于dds的雷达仿真系统分层构建方法
CN107885500A (zh) 一种面向autosar软件架构的运行时环境生成方法
CN103425469A (zh) 基于mda技术的手机游戏代码生成方法
CN102968533B (zh) 一种液体火箭发动机通用化仿真方法
Perrotin et al. TASTE: An open-source tool-chain for embedded system and software development
CN104360962B (zh) 匹配于高性能计算机结构的多级嵌套数据传输方法与系统
Roth et al. A gateway to easily integrate simulation platforms for co-simulation of cyber-physical systems
KR101621841B1 (ko) Hla/rti 기반 혼합회로 시뮬레이션 시스템 및 방법
van der Steen Issues in computational frameworks
CN115421940A (zh) 一种基于共享内存技术的多源异构模型白盒集成方法
CN114792058A (zh) 一种新能源电磁暂态封装模型统一接口方法及系统
CN107515587A (zh) 人机交互操作仿真的系统、方法、装置、设备和存储介质

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140827

Termination date: 20150425

EXPY Termination of patent right or utility model