功能模拟接口 functional mock-up interface
功能模拟接口fmi functional mock-up interface功能样机单元fmu functional mock-up unit
https://en.wikipedia.org/wiki/functional_mock-up_interface
功能模拟接口(或fmi)定义了一个标准化的接口,用于计算机模拟来开发复杂的网络物理系统。
fmi的愿景是支持这种做法:如果真实产品是一系列以复杂的方式相互作用的部分组合而成,每个部分各由一套复杂的物理规律控制,那么就有可能创造一个从一组模型装配的虚拟的产品,每个模型代表一组部件,每一个模型的物理规律也是(采用电子、液压、数字软件..)数字化组装的模型的控制系统。fmi标准也提供了基于模型的系统开发方法,并用于在车辆里面的电子设备(例如esp控制器、主动安全系统、燃烧控制器)驱动的功能设计示例。fmi方法可以覆盖系统建模、仿真、验证和测试等活动。
为了创建fmi标准,大量的软件企业和研发中心已工作在一个合作项目,这项目由达索系统dassault systèmes主导的欧洲联盟以modelisar名称建立。modelisar项目开始于2008年,定义fmi规格,提供技术研究,通过云顶集团官方网站入口的合作伙伴详尽描述的用例证明fmi概念,和使能工具供应商建立先进的原型或在某些情况下甚至产品。
fmi规格发展由戴姆勒daimler ag协调。
2011年modelisar项目结束后,fmi被管理和开发作为一个modelica协会项目modelica association project (map)。
创造能够组装的模型所需的fmi四个方面已经被包括在modelisar项目:
fmi模型交换,
fmi协同仿真,
fmi应用,
fmi用于plm(产品生命周期管理相关数据和模型的集成)。
在实践中,通过软件建模工具的fmi实现使得可以创建互相连接的仿真模型或创建一个软件库fmu(功能样机单元)。
[ 1 ]
内容
1fmi方法
2许可证
3架构
4例子
5比较simulink s-函数
6工具支持
7参见
8参考文献
9外部链接
fmi方法
典型的fmi方法是在以下几个阶段的描述:
建模环境通过微分或代数或离散时间的方程、状态和步骤事件描述一个产品子系统。这些模型可以是大的用在离线或在线仿真,或可小的用在嵌入式控制系统;
作为一种替代,一种工程工具定义了用于控制车辆系统的控制器代码;
这样的工具生成并导出组件在fmu(功能样机单元);
然后,一个fmu可以导入在另一个环境被执行;
几个fmu可以顺便地通过协同仿真环境在运行时合作,由于其接口fmi的定义。
许可证
fmi规范分发在开放源代码许可证:
规范被许可在cc-by-sa (creative commons attribution-sharealike 3.0 unported) cc_by_sa 3.0
符合这文档的c-header和xml schema文件,可用在扩展的bsd许可证,即,其修改也必须提供在bsd许可证。
架构
每个fmu(功能样机单元)模型分发在zip文件带扩展名.fmu,它包括:[ 1 ]
一个xml文件,包含在其他东西里fmu使用的变量定义;
模型所用的所有方程(定义为一组c函数);
可选的其他的数据,如参数表,用户界面,模型可能需要的文档。
例子
下面是modelica发布的一个fmi模型描述实例。
modelname="modelicaexample"
modelidentifier="modelicaexample_friction"
...
valuereference="16777217"
description="moment of inertia"
variability="parameter">
...
simulink的s-函数的比较
fmi经常被与simulink的s-函数比较,因为二者技术都可用于集成第三方工具。s-函数是用来规定一个动态系统的一种计算机语言描述。它们被编译成mex文件,需要时动态链接到matlab。函数使用一个调用语法与simulink的方程求解器进行交互。这种相互作用类似于内置的simulink模块和求解器之间的相互作用。[ 2 ]
fmi的支持者解释,fmi模型比simulink的s-函数有几个优势:【3】
s函数的格式是专有的,而fmi架构授权在bsd许可证下。
s函数建立的块比fmi复杂得多,使得很难集成在其他仿真模拟器除了simulink本身。
此外,s函数格式是simulink特定的。
s函数不适合嵌入式系统,由于函数的内存开销。
引用fmi/fmu时也有一些局限性:[ 4 ]
内存参数,状态,输入,和输出不直接暴露在外面,与此相反,ecu软件通常考虑如何组织有关存储器以允许透明、简单和高效。
事件处理-事件可以在不可预知的方式中增加实时系统的运行时间。
有潜在危险的特征可以包括在ecu-一些对离线模拟有感觉的功能不应当出现。fmi支持或不明确禁止的功能例子,包括记录和i/o操作如print()。
数据类型支持-优化代码时更多支持的数据类型是必要的。例如,现在没有办法区分一个uint8和uint32变量。
工具支持
截至2011.11,fmi支持以下仿真框架:[ 1 ]看全部,网页的最新的目录和详细资料。
amesim-仿真软件,用于多领域的机电一体化系统的建模和分析,来自siemens plm software
ansys scade display -人机界面的嵌入式软件设计
ansys scade suite -用于关键系统的基于模型的嵌入式软件开发
ansys simplorer -多域系统建模仿真环境
asim – autosar生成器,来自达索系统dassault systèmes
adams - 高端多体动力学仿真软件,来自msc软件
atego ace – 协同仿真环境和仿真,带autosar and hil支持
canoe - 综合性的软件工具,用于开发、测试与分析整个ecu的网络和单个的ecu
catia v6r2012 – 产品设计和创新环境,包括基于modelica的系统工程工具,来自达索系统
coreds for fmi -工具,整合fmi/fmu成一个高级架构high-level architecture (hla)或分布式交互仿真distributed interactive simulation (dis)模拟。
cybernetica cenit - industrial product for nonlinear model predictive control (nmpc) from cybernetica.非线性模型预测控制(nmpc)工业产品,来自cybernetica
cybernetica modelfit - 软件用于模型验证,状态和参数估计,使用记录的过程数据。by cybernetica
controlbuild-iec 61131-3标准控制应用环境,来自达索系统dassault systèmes
cosimate–协同仿真环境,来自chiastek
dshplus –流体动力仿真软件,来自fluidon
dymola 7.4 – modelica环境,来自达索系统dassault systèmes
flowmaster - 建模热流体系统的仿真软件
fmi add-in for excel –批模拟fmu在微软excel
fmu compliance checker – 软件,用于验证fmu符合fmi标准
fmi library – c库导入自定义应用的fmu
fmu trust centre - 密码保护和安全产品包括存储模型签名;安全认证和保护授权(合作)模拟
fmu sdk – fmu软件开发工具包,来自qtronic
gt-suite -动力系统和车辆系统的多物理仿真平台
hopsan -采用tlm方法的分布式系统仿真工具
icos independent co-simulation – 独立协同仿真环境,来自虚拟汽车研究中心virtual vehicle research center
ipg carmaker–通过建模和协同仿真环境,来自modelon
jmodelica.org – 开源modelica环境,来自modelon
maplesim -通过maplesim连接器对fmi,来自maplesoft
matlab –通过modelon提供的 fmi toolbox或通过dassault systèmes提供的 fmu 导出从 simulink
optimica studio – modelica环境,来自modelon
mworks 2.5 – modelica环境,来自苏州同元
ni veristand – 实时测试与仿真软件,来自国家仪器ni
labview – 图形化编程环境用于测量、试验和控制系统,来自国家仪器ni
openmodelica –open source modelica environment from osmc
python–通过modelon提供的pyfmi,也可作为jmodelica.org的部分
silver 2.0 –软件在环路(sil)虚拟集成平台,来自qtronic
simpack 9 – 高端多体动力学仿真软件,来自simpack ag
simulationx 3.4 – modelica environment from iti
simulink – via dymola 7.4 using real-time workshop
simulink – via @source
simulink – via fmi toolbox from modelon
tisc – 协同仿真环境,来自tlk-thermo
twt co-simulation framework - 通信层工具用于灵活插接模型一起进行联合仿真;前端设置、监测和后处理包括
twt matlab/simulink fmu interface - fmi兼容的即插即用接口到matlab/simulink,可作为一个集成块
virtual.lab motion -是一个高端的多体软件,来自lms international
wolfram systemmodeler - modelica环境,来自wolfram research
xmod - 异构模型集成环境与虚拟仪器和实验室,法国石油与新能源研究院(ifpen)的子公司d2t发布。
ephasorsim - 来自opal-rt technologies inc.,通过openmodelica对电力系统暂态稳定仿真
参见
modelica
simulink
页:
[1]