fmi标准linux,SimCube对FMI联合仿真标准的实现

原标题:SimCube对FMI联合仿真标准的实现

发展简史

在2010年的时候,我们承担了一个大项目的一部分,将搭建一个仿真平台集成多家高校自研的计算程序进行某个基于时间的动态过程仿真计算。

彼时,FMI标准刚刚发布了1.0版本。我们的项目在2014年交付时,FMI发布了2.0版本,估计在今年FMI将发布3.0版本。

在当时的项目里我们没有采用FMI标准,该项目成果后来转化为SimCube软件产品,在2015年1月正式发布1.0版本,也在同年的4月份SimCube1.2版本中,我们实现了FMI1.0,2.0两个版本中的联合仿真(Co-Simulation)标准,在16,17两年里我们又进一步完善了对该标准的支持。

纯真年代

回到刚才提到的仿真平台项目,基本需求如下图所示(使用SimCube建模的流程图):集成四个不同学科的计算模块,前三个是使用C语言开发的,第四个是使用Matlab开发的,包裹四个计算模块的大模块是总控中心,它将根据业务逻辑调度底下四个子模块的运行。

082cfe197af21ccbc606c71406cadb5c.png

大概简述下当时的业务逻辑:从t=0开始,计算模块1将以一个时间步被调度起来持续迭代运行,当上层的联合仿真探测其某个输出满足某个条件时,将调度计算模块1与2一起计算,它们之间通过上层的联合仿真有数据通信,两个计算模块的时间步长不一致,因此

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 通用模型接口标准FMI(Functional Mock-up Interface)是一种用于共享仿真模型的开放标准。它为不同软件工具和环境提供了一种统一的接口规范,使得不同模型之间可以互相交互和协作。 FMI有两个版本,分别是FMI 1.0和FMI 2.0。FMI 1.0定义了一种基于C语言的接口规范,通过定义了模型的数据输入输出接口和函数接口,实现了模型的可移植性和互操作性。而FMI 2.0进一步扩展和改进了FMI 1.0,并引入了新的功能和特性,例如支持多种数据交换格式(XML和二进制)和模型的共享内存通信等。 FMI的主要目标是提供一个开放和灵活的标准,使得不同软件工具能够方便地将仿真模型进行共享和集成。通过使用FMI,用户可以使用不同的仿真工具进行模型开发和测试,然后将模型导出为FMI的格式,以便在其他工具中使用和集成。这样一来,用户可以充分利用各种软件工具的特点和优势,提高模型的开发效率和仿真结果的准确性。 FMI在多个领域中都得到了广泛应用,例如汽车、航空航天和能源系统等。它不仅可以用于模型开发和精细化调试,还可以用于系统级联和跨工具的集成仿真。此外,FMI还为模型共享和模型交换提供了一种标准化的方式,使得各种模型可以更容易地被复用和集成,促进了模型驱动工程的发展。 总而言之,FMI作为一种通用模型接口标准,为不同仿真软件工具之间的互操作性和模型共享提供了一种标准化的解决方案。通过使用FMI,用户可以更加灵活地开发和使用仿真模型,提高了工程仿真的效率和质量。 ### 回答2: 通用模型接口标准 (FMI) 是一种用于描述和交换仿真模型的接口标准FMI 的目标是提供一个开放的规范,使得不同仿真软件之间能够无缝地交换模型,并且保持模型的功能和性能不变。 FMI 是由国际FMI协会组织(FMI Association)开发和管理的。它定义了一种使用XML(可扩展标记语言)和二进制格式的模型描述文件,以及使用C和C++编程语言的可执行模型。这些模型可以在不同的仿真环境中进行交互和共享。 FMI 提供了一种基于功能的方法来描述和交换仿真模型。它使用了多个接口和函数,包括模型初始化、参数设置、状态更新和结果输出等。这些接口和函数通过模型描述文件进行定义,使得各个仿真软件可以理解和使用。 FMI 还支持模型的版本控制和复用。模型开发者可以为每个版本的模型生成独立的描述文件,使得用户可以选择不同的版本。同时,模型也可以在不同的仿真环境中进行复用,从而提高模型的可移植性和复用性。 总的来说,FMI 通过标准化模型描述和交换接口,促进了仿真模型的互操作性和可复用性。它为不同仿真软件的用户提供了更多选择,并且简化了模型开发和集成过程。FMI 在工业领域和学术界有着广泛的应用,成为了一种通用的模型接口标准

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值