您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 
 订阅
FMI标准简介
 
作者: 行者虎牙
  12926  次浏览      17 次
 2021-11-26
 
编辑推荐:
在本文中主要讨论了 FMI 发展历程,FMI的主要设计思想以及应用建议。
来自于个人图书馆,由火龙果软件Luca译、推荐。

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 标准的同时能根据实际工程需要,探索并完善符合各单位场所的相关标准、规范和流程等内容。

 

   
12926 次浏览       17
 
相关文章

用户手册:EA Helper
自然语言自动化生成图
使用iSpace进行多人协作建模
基于模型的软件复用(MBSR)
 
相关文档

AUTOSAR_TR_BSW UML模型建模指南
UML时间图建模(基于EA)
UML 模型框架(基于EA)
UML序列图编写规范
 
相关课程

UML+EA+面向对象分析设计
UML + 嵌入式系统分析设计
业务建模与业务分析
基于UML和EA进行系统分析设计

最新活动计划
MBSE(基于模型的系统工程)4-18[北京]
自然语言处理(NLP) 4-25[北京]
基于 UML 和EA进行分析设计 4-29[北京]
以用户为中心的软件界面设计 5-16[北京]
DoDAF规范、模型与实例 5-23[北京]
信息架构建模(基于UML+EA)5-29[北京]
 
 
最新文章
在EA中内嵌文档- Artifact
EA中模型视图
EA中的实体关系图
使用EA进行风险建模
EA中的项目词汇表
EA的模型导出或导入csv文件
自定义表格(Custom Table)在EA中的使用
Gap Analysis Matrix(差距分析矩阵)
更多...   
MBSE工具
MBSE平台
建模工具 EA
模型库-Model Center
需求管理-ReqManager
自动建模-Modeler
多级仿真-Sys Simulator
代码工程-Code Engineer
文档生成器-DocGenerator
更多...   
成功案例
广汽研究院 SysML+EA+软件分析设计
高合汽车研发部门 建模工具EA、WebEA、学习视频
国汽智联 建模工具EA、模型库、WebEA和iSpace
亿咖通 MBSE工程体系与工具链咨询
中航无人机 MBSE工具链
吉利汽车 购买EA工具
华科汽车零部件 购买EA工具
东风岚图汽车 购买EA工具 以及EA定制开发
更多...