[发明专利]基于HLA的Matlab仿真模型集成平台和方法无效
申请号: | 201210124391.9 | 申请日: | 2012-04-25 |
公开(公告)号: | CN102708234A | 公开(公告)日: | 2012-10-03 |
发明(设计)人: | 范文慧;马成;肖田元;唐树才 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 北京中伟智信专利商标代理事务所 11325 | 代理人: | 张岱 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 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系统得管理指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210124391.9/2.html,转载请声明来源钻瓜专利网。