编辑推荐: |
文章主要介绍了FMI简介、FMI的主要设计思想:ModelExchange方法、Co-Simulation方法等相关内容。
来自于360doc.com,,由火龙果软件Anna编辑、推荐。 |
|
1. 背景
随着科学技术的发展,面对复杂系统设计和分析的手段逐渐丰富和完善,其中仿真技术越来越受到重视,在西方发达国家已在多个工业领域(航空、航天、汽车、船舶、核…)得到了成熟而广泛的应用。仿真技术的成熟应用为复杂系统设计提供了贯穿V流程全生命周期的分析手段,由于其分析方便、快捷,并可作为实物试验有效的补充手段,在仿真可信度较高的情况下可有效降低实物试验次数,进而节约成本,提高效率。但仿真技术发展至今,在取得工程应用认可的同时,也发现了一些不足和亟待改善的地方,例如如下图所示。
图1仿真工具碎片化
当前仿真工作开展过程中发现的问题和亟待完善的需求:
◆ 由于历史的原因,各单位和部门采购的仿真工具不同,各工具之间的接口不能普遍兼容,所以就导致了仿真工具碎片化的问题,仿真工具碎片化带来的直接问题就是模型的重用性低,增加了建模重复性工作和模型在不同仿真软件中的重复建设。同时,在整个V流程中模型的通用性和一致性也无法保证,使得仿真分析工作从V流程的前端到后端要不同的切换软件平台,要投入过多的精力开发联合仿真软件接口,这为实现模型的继承重用带来了过大的人力和物力成本支出;
◆ 目前,各复杂系统研发单位为提高系统的设计效率和质量,都期望能在设计早期对需求进行验证和确认,但在引入仿真技术解决问题的同时,集成商和供应商的模型如何传递,如何保护知识产权,成为需要解决的急迫问题。
2. FMI简介
为应对工具碎片化、模型重用和知识产权保护的问题和需求,欧洲仿真届提出了FMI标准,FMI标准的全称是Functional
Mock-up Interface,它是一个不依赖于工具的标准,其通过XML文件和已编译的C代码的组合来同时支持动态模型的模型交换(
Model Exchange)和联合仿真(Co-Simulation)。
图2 FMI(Functional Mock-upInterface)
FMI标准的诞生来自于欧盟Modelisar 项目,最初由Daimler AG发起、组织和领导,有28个欧洲伙伴参与,这包括工具供应商、工业用户和科研机构。Modelisar项目于2008年启动,第一期项目到2011年结束,第一期项目共投入经费超过3千万欧元,制定了FMI1.0标准。2012年,FMI2.0标准的制定纳入到Modelica协会管理下(Modelica协会是Modelica语义制定和维护的非营利组织),并在2014年初推出了FMI2.0的成熟标准。
图3 FMI发展历程
当前,FMI标准已成为全球接受程度最高、应用最广泛的功能和性能模型交互重用的接口标准。截至2016年6月,已有近百个全球领先的模型在环、软件在环、硬件在环、软件开发等软、硬件工具支持FMI标准(仅FMI官网测试后公布的工具已有87个,部分支持FMI标准的工具还在陆续测试和更新中,更详细信息请参见FMI标准官网:(https://www.fmi-standard.org/tools)。工业界以BOSCH、Daimler、Dassault
Systèmes、dSPACE、ESI ITI、IFP EN、Maplesoft、Modelon、QTronic、Siemens、Siemens
PLM、Altair、Armines、AVL、DLR、ETAS、Fraunhofer (IIS/EAS
First,SCAI)、IBM、ITKEngineering AG、Open SourceModelica
Consortium、Synopsys、TWT、University ofHalle等各领域工业公司、研究所、高等院校使用或宣布支持FMI为事实,由欧盟主导的FMI标准已经成为全球公认的功能和性能模型重用的接口标准。
通过FMI标准的制定和推广,从技术方面比较好的解决了仿真工作开展过程中遇到的工具碎片化所带来的模型重用和知识产权保护等问题和需求。如下图所示。系统集成商和供应商都遵循FMI标准,供应商各自建立的仿真模型可以通过FMI标准导出FMU文件给集成商,使得集成商可以快速构建系统级模型,而无需像传统解决方法一样大量开发软件定制接口以进行模型的联合仿真。供应商之间也可根据产品设计和分析的需要互换相关联的模型,组成自己关心的系统级仿真模型。基于FMI标准的模型集成重用解决方案可以满足不同层级的复杂系统开发人员集成系统模型,并站在系统的角度分析所负责的系统、子系统或部件与其他相关子系统或部件耦合作用的情况,为整个系统的设计带来更丰富、更科学的分析手段,为分析跨学科和多系统交联的验证和确认提供了技术方法。同时,无论是供应商给集成商提供集成模型,还是供应商之间互换模型,都不用担心知识产权保护的问题,因为FMI标准提供了模型导出加密的方法,完全可以满足工程需要。
图4基于FMI标准的仿真集成环境
3. FMI的主要设计思想
FMI为针对功能和性能模型重用的接口标准,通过FMI标准导出的文件是一个压缩包,文件的结尾为“.fmu”,故称依据FMI标准导出的用于模型重用的文件为FMU文件,即Functional
Mock-up Unit。FMU的压缩包文件里包含了描述模型接口信息和数据的“.xml”文件、实现模型动态行为功能的文件(C代码或二进制文件)和其他用户希望包含在FMU中的文件和数据。
FMI标准共包括两种模型重用的方法:Model Exchange(模型交换)和Co-Simulation(联合仿真)。两者的区别是依据Model
Exchange方法导出的FMU文件不包含求解模型方程的求解器,而依据Co-Simulation方法导出的FMU文件包含求解模型方程的求解器,包含求解器与否是两者最大的区别。
由于FMI标准是一个通用的第三方接口标准,不依赖于任何工具特有的接口形式。所以,只要是支持FMI标准的工具都可以将其他工具导出的FMU文件导入到自身的软件平台内,这时仿真软件会自动解析FMU中的“.xml”文件,并在软件的操作界面上给用户提供操作FMU的选项,例如参数设置值的调整,如果是依据Co-Simulation方法导出的FMU文件,用户还可通过界面设置此FMU的求解步长。对于描述模型动态行为的C或DLL文件,导入FMU的仿真软件会自动建立自身求解器与C或DLL文件的关联关系,并能将用户通过界面设置的一些参数和求解选型应用到稍后的求解过程中。依据FMI标准将希望重用的模型导出和导入操作简单,用户无需参与过多的软件配置即可完成,这也是FMI标准作为第三方独立接口标准得到大范围推广和应用的基础和优势。
图5基于FMI标准的文件传输
3.1 ModelExchange方法
ModelExchange,即模型交换的方法导出的FMU文件不包含求解器,其只包括输入/输出接口和描述物理动态行为的微分代数方程、时间、状态和离散事件等信息。FMU使用导入它工具的求解器与其他模型一起求解,由于使用一个求解器,提高了求解的效率和精度,此方法特别适合大规模模型集成的应用情况,同时其求解占用的系统开销很小,也适合嵌入式系统的应用。FMI标准的专家推荐模型集成和重用尽量选择Model
Exchange方法。
图6 Model Exchange方法
3.2 Co-Simulation方法
Co-Simulation即为联合仿真方法,此方法并不是FMI标准首创,而是在FMI标准的Co-Simulation方法制定之前既已存在。所以这里先介绍一下传统的Co-Simulation方法,然后介绍FMI标准的Co-Simulation方法与传统方法的区别和联系。
传统的Co-Simulation方法通常为特定软件之间制定的联合仿真接口,依赖于商业工具厂商之间的合作,通常不同的仿真工具之间如果没有合作开发接口,则这两款仿真工具无法进行联合仿真。解决方法通常是用户自己根据需求开发定制的联合仿真接口。缺点是需要投入比较多的软件二次开发工作才能实现不同工具之间的联合仿真,同时,传统的联合仿真接口配置麻烦,依赖所使用的软件工具的版本,且超过三个工具之间的联合仿真易出错,这增加了用户使用的入门门槛。
传统联合仿真的定义和动机是:
◆ 定义:
◇几种仿真工具的耦合
◇每个工具作为模块耦合问题的一个组成部分
◇数据交互被限于离散的通信点
◇在通信点之间各子系统独立求解
◆ 动机:
◇异构系统的仿真
◇大系统的分割和并行化
◇多速率集成
◇硬件在环仿真
FMI标准的Co-Simulation方法作为后制定者,借鉴了传统联合仿真技术,其涵盖了传统Co-Simulation技术的全部功能点,并在此基础上做了进一步的优化和丰富,例如:
◆ 支持主/从架构
◆ 考虑不同能力的仿真工具
◆ 支持简单和复杂的耦合算法:
◇迭代和直接反馈算法
◇固定和变化的通信步长
◆ 允许(高阶)连续输入的插值
◆ 支持本地和分布式联合仿真方案
图7 Co-Simulation方法
FMI标准的Co-Simulation方法的提出统一了之前各仿真软件工具接口“各自为政”的乱象。作为第三方独立的接口标准,为不同仿真软件之间的联合仿真提供了便利的技术途径。
FMI标准的Co-Simulation方法按照不同的使用场景,共分为三种模式:
◆ 模式一:代码导出方式的Co-Simulation(Co-Simulation with generated
codeon a single computer)
图8代码导出方式的Co-Simulation
此种模式导出的FMU文件脱离原导出工具,并在使用时无需原导出工具的License限制。将FMU导入到主控软件中,主控软件占用单独的一个进程控制多个FMU同时求解。
◆ 模式二:工具耦合方式的Co-Simulation(Co-Simulation with tool
coupling ona single computer)
图9工具耦合方式的Co-Simulation
此种模式导出的FMU文件绑定原导出工具的License,FMU文件只作为联合仿真的接口封装和数据对接传递功能,模型的实际求解还在各自的软件内部进行,受到各自软件的License控制。主控软件负责各软件之间特定时间点的数据互换共享。无论是主控软件还是从属软件,它们各自占用一个进程独立进行求解。
◆ 模式三:分布式方式的Co-Simulation(Distributed Co-Simulationinfrastructure)
图10分布式方式的Co-Simulation
模式三与模式二类似,应用模式三时导出的FMU文件绑定原导出工具的License,FMU文件只作为联合仿真的接口封装和数据对接传递功能,模型的实际求解还在各自的软件内部进行,受到各自软件的License控制。主控软件负责各软件之间特定时间点的数据互换共享。模式三与模式二的区别在于模式二是在一个计算平台上的多个进程运行各个联合仿真软件,而模式三将各个仿真软件分布于不同的计算平台,不同计算平台之间的数据互换共享除了依赖于FMU的封装接口,还需要计算平台之间的通信层传输数据。模式三为分布式仿真,各仿真软件独占各自的计算平台资源,其可仿真的系统模型规模要大于模式二。
对于FMI标准的Co-Simulation方法,FMI标准只规定了封装接口,而没有定义Co-Simulation实现的算法,对于模式三,FMI标准同样没有定义分布式方案的通信技术方法。这些未定义的部分由各软件工具厂商自行选择实现技术和路径。对于用户来说,只要联合仿真的工具都遵循FMI标准,那么用户在使用时就会配置简单,使用方便。
4. 应用建议
FMI作为功能和性能模型进行模型重用、互换、集成的事实接口标准,解决了工具碎片化导致的各种问题。用户只需遵循FMI标准即可比较便捷的完成模型的集成重用。但是,FMI标准仅定义和给出了完成模型重用和互换的技术方案,对于希望重用的模型是什么、符合什么标准的模型可以重用、建模的标准、模型重用的要求、跨场所集成协作的流程、组织和制度保证、责任分工和管理等并未提及。所以,建议在推广应用FMI标准的同时能根据实际工程需要,探索并完善符合各单位场所的相关标准、规范和流程等内容。
|