当前位置: 首页 > 专利查询>清华大学专利>正文

基于HLA的Matlab仿真模型集成平台和方法技术

技术编号:7843486 阅读:358 留言:0更新日期:2012-10-13 01:51
本发明专利技术公开一种基于HLA的Matlab仿真模型集成平台,为解决现有技术效率低且性能差等缺点而发明专利技术。本发明专利技术基于HLA的Matlab仿真模型集成平台包括仿真模型模块、配置文件模块、HLA使能模块和RTI系统。配置文件模块用于填写SOM信息;HLA使能模块用于实现仿真模型与RTI系统的交互。HLA使能模块包括仿真参数配置子模块、输入子模块、输出子模块、数据空间子模块、RTI服务函数子模块和回调服务函数子模块。本发明专利技术公开一种基于HLA的Matlab仿真模型集成方法。本发明专利技术基于HLA的Matlab仿真模型集成平台及方法实现了Matlab仿真模型的HLA集成,提高了仿真模型的重用能力。

【技术实现步骤摘要】

本专利技术涉及一种。
技术介绍
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使能模块所实现的回调函数至少包括初始化阶段中的mdllnitializeSizes ()、mdllnitializeSampleTimes ()和 / 或mdlStart ();运行期中的mdlOutputs ();仿真结束阶段中的mdlTerminate ()。另一方面,本专利技术提供一种基于HLA的Matlab仿真模型集成方法,所述方法包括下述步骤4. I建立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仿真弓I擎计算到HLA使能模块时,HLA使能模块将自身输入端口输入的数 据向RTI发布,随后请求推进HLA仿真时间;在时间推进被允许后,HLA使能模块通过回调函数获得所订购的数据,并据此更新自身输出端口值;重复上述过程直到仿真运行结束;在仿真运行结束时,HLA使能模块退出仿真联邦。特别是,所述HLA使能模块以动态链接库的形式存在。特别是,步骤4. 4所述的Matlab仿真模型模块中添加HLA使能模块的过程为在Matlab仿真模型模块中添加HLA使能模块;根据Matlab仿真模型模块在分布式协调仿真系统中的输入输出关系,确定HLA使能模块的输入输出端口数;将Matlab仿真模型模块的各输出端口连接到HLA使能模块的输入端; 将HLA使能模块的输出端连接到Matlab仿真模型模块的各本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于HLA的Matlab仿真模型集成平台,其特征在于,所述平台包括仿真模型模块、配置文件模块、HLA使能模块和RTI系统; 仿真模型模块,用于支持Matlab仿真模型; 配置文件模块,用于填写SOM信息,所述SOM信息至少包括数据映射信息和模型交互信息; HLA使能模块,用于实现Matlab仿真模型与RTI系统的交互;所述HLA使能模块包括仿真参数配置子模块、输入子模块、输出子模块、数据空间子模块、RTI服务函数子模块和回调服务函数子模块;其中, 仿真参数配置子模块,连接至配置文件模块,用于从配置文件获取信息,并跟据所述信息配置仿真模型的仿真运行参数;所述信息至少包括仿真步长、仿真结束条件、以及所选用的仿真求解算法; 输入子模块,一端连接仿真模型模块,另一端连接数据空间子模块,用于分别接收来自所述仿真模型模块和数据空间子模块的数据信息; 输出子模块,一端连接仿真模型模块,另一端连接数据空间子模块,用于分别向所述仿真模型模块和数据空间子模块发送数据信息; RTI服务函数子模块,用于被RTI系统调用管理指令; 回调服务函数子模块,用于回调RTI系统得管理指令。2.根据权利要求I所述的基于HLA的Matlab仿真模型集成平台,其特征在于,所述RTI服务函数子模块和回调服务函数子模块中运行的管理指令至少包括联邦管理、声明管理、对象管理、所有权管理、时间管理和数据分发管理。3.根据权利要求I所述的基于HLA的Matlab仿真模型集成平台,其特征在于,HLA使能模块所实现的回调函数至少包括 初始化阶段中的 mdllnitializeSizes ()、mdllnitializeSampleTimes ()和 / 或mdlStart (); 运行期中的mdlOutputs (); 仿真结束阶段中的mdlTerminate ()。4.一种基于HLA的Matlab仿真模型集成方法,其特征在于,所述方法包括下述步骤 ·4.I建立Matlab仿真模型模块,定义所述模型模块的输入端口和输出端口,验证端口定义的正确性,并保存所建立的Matlab仿真模型; · 4.2根据仿真模型模块在分布式协调仿真系统中的输入输出关系,将SOM信息填写入配置文件; · 4.3根据仿真需求填写fe...

【专利技术属性】
技术研发人员:范文慧马成肖田元唐树才
申请(专利权)人:清华大学
类型:发明
国别省市:

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

1