SaberRD导入FMU的步骤概述

简介功能模拟单元(functional mock-up unit, fmu)是一种模拟模型,它描述了由微分方程、代数方程和离散时间方程构成的动态系统。功能模拟接口(functional mock-up interface, fmi)是为在不同仿真环境下对这些方程进行评估而定义的标准接口。
saber支持导入fmu 2.0,通过将扩展为. fmu的fmu模型转换为等效的mast模型,fmu 2.0是模型交换接口之一。生成的mast模型继承了mast的所有特征,适用于所有分析,如dc(工作点分析)、ac(小信号分析)、tr(瞬态分析)以及高级环路分析,如mc(统计蒙特卡罗分析)和vary(确定性参数扫描分析)。
01
fmi概述
fml是一个独立于工具的标准,使用xml文件和c代码(在dll/共享库中编译或在源代码中编译)的组合来支持模型交换和动态模型的联合模拟。它的目标是改善供应商和原始设备制造商之间的仿真模型交换。fmus的应用非常有限,它在交换信号流数据方面非常有用。fmus不能用于跨越守恒能量边界。因此,如果在fmu和导入模拟器之间存在加载效应的情况下使用fmu,则它将不起作用。fmi模型交换标准定义了在工具之间交换动态模型的接口。saber支持fmu导入功能。fmu以zip文件的形式发布。zip文件包含:
lfmi描述文件(xml格式)。下列一项或两项:
fmu的c源和所需的运行时库。一个或多个目标计算机的二进制文件,例如windows动态链接库(.dll)或linux共享对象库(.so)。fmu特定文件格式的附加fmu数据,例如表或图。
注意:如果fmu提供者希望隐藏源代码以保护敏感数据,则特别需要提供二进制文件而不是c源代码。fmu还可以包含物理参数或几何尺寸,这些参数不应该是开放的,而应该以二进制格式共享。以二进制格式提供库还可以在另一个模拟环境中实现fmu的全自动导入。另一方面,有些功能需要源代码。fmu的示意图如下图所示:
*figure 1 *data flow between the environment and an fmu
02
saber导入fmu的方法
通过拖放方法将fmu导入库
导入fmu最简单的方法是拖放方法。要将一个fmu导入到库中,请遵循以下步骤:
1.打开文件浏览器,选择要导入的fmu (*. fmu),并将其拖放到现有库中。见下图。
*figure 2 *import of an fmu by drag-and-drop method
2.将fmu放入库后,将fmu文件复制到库中。
在库中自动创建一个新的等效mast模型。生成的模型的名称与fmu的modeldescription.xml中定义的相同,并且是小写字母。同时还创建了原理图符号。在此过程中,符号辅助向导将打开,如下图所示。从符号助手向导中,可以重新排列引脚的位置,旋转符号方向,并查看转换模型的日志信息。
figure 3**symbol assistant wizard
3.右键单击添加了新fmu模型的库。从弹出式菜单选择编译库…或update library…。编译库后,新的fmu模型就可以进行仿真了。新的mast模型的文档在更新库之后也可以得到。
手动将fmu导入库
手动将fmu导入库要手动将fmu添加到库中,执行以下步骤:
1.右键单击要添加fmu的库,在弹出菜单中选择add items…。打开文件浏览器。
2.在“文件名”列表中选择文件类型fmu models (*. fmu)。
3.选择fmu,单击open。所选的fmu被添加到库中。另外,在库中生成一个新的mast模型和一个符号。
4.编译新模型。右键单击添加了新fmu模型的库。从弹出式菜单选择编译库…或update library…。库被编译,新的fmu模型已经准备好进行仿真。此外,在更新库之后,可以获得新的mast模型的文档。将fmu手动添加到库的方法如下图所示。
将fmu手动添加到库的方法如下图所示。
*figure 4 *manual addition of an fmu to a library
**使用aim命令将fmu转换为mast模型
**
本实例将考虑fcc和cispr标准,以检查设计是否符合标准。图2所示为本标准对a类设备规定的传导辐射限值作为频率的函数。
也可以通过aim命令导入fmu: fmu2mast。aim命令格式如下:
fmu:fmu2mast foo.fmu -output dirname -statepin discretelnu -debug onloff
上述语法中各选项的说明如下:
-output:指定保存新生成的mast模型的目录名。如果未指定输出目录名,则新生成的mast模型保存在当前目录中。-statepin:指定fmu导入过程中用于状态引脚的单元类型。默认选项是离散的。使用此选项,状态引脚将使用fmu中定义的相同单元创建。如果该选项指定为nu,则创建状态引脚时不带任何单位,并且忽略fmu中定义的端口类型的单位。-debug:将调试信息记录在日志文件中。如果设置为on,则详细的调试信息将记录在日志文件中。默认为关闭。使用aim命令fmu:fmu2mast,只生成等效的mast模型,不需要为其生成符号和文档。要使该模型可用于模拟器,您需要将该模型添加到库并编译库,以便创建符号和文档。有关如何将mast模型添加到库的更多信息,请参阅库管理器用户指南。
03
支持的模拟分析
支持的分析
工作点分析dt(工作点扫描分析)交流小信号分析pac(周期交流分析)瞬态分析alter(参数变更)并行模式蒙特卡罗统计分析参数扫描分析多变量分析pz(零点极分析)灵敏度分析不支持的分析
应力分析:由于fmu中没有可用的应力信息,因此在应力分析中不支持生成的mast模型。然而,如果需要为导入的fmu模型支持应力分析,您可以将应力测量添加到生成的mast模型的control_section中。故障分析:故障分析不支持导入的fmu模型。04
模型局限性
由fmu生成的mast模型有以下几个限制:
saber不支持fmi 1.0。saber只支持fmi 2.0。fmi有两个接口:模型交换和联合仿真。model-exchange接口标准中有导入和导出两种模式。fmu可以在一个fmu中为多个平台提供二进制库。目前,fmu导入仅支持windows和linux上32位格式的fmu。这两个平台都不支持64位fmu。在fmi中,用字符串类型定义端口是合法的。但是,saber不支持字符串类型的端口。因此,具有字符串端口的fmu不能转换为mast模型。fmu中具有枚举单元的离散端口被转换为具有单元的等效状态引脚。但是,fmu中没有为用于离散端口的枚举单元定义冲突解决函数。因此,等效的mast状态引脚没有冲突解决功能。如果需要将这种引脚连接到具有分辨率功能的mast引脚上,则可以开发转换模型,将没有分辨率功能的逻辑转换为具有分辨率功能的逻辑。fmi目前不支持电、液压等节能接口。在fmu导入过程中,不可能使用能量保守引脚创建mast模型。但是,如果系统没有能量保守变量作为端口,并且系统在模型内部满足kcl和kvl定律,则可以将能量保守fmu系统转换为单个mast模型。fmi和mast都有一个物理单元定义。但是,fmi物理单位并不转换为等效单位。所有连续变量都转换为mast,没有nu(无单位)单位。然后将枚举单元转换为等效的mast枚举类型和状态单元。

电冰箱高低压保护电路_电冰箱保护器控制电路
怎么区分锰锌磁环电感和镍锌磁环电感
探讨华为战略布局AI芯片的背后
如何做好水库大坝实时安全监测
TXGA SIM卡座,满足用户的多种插卡方式需求
SaberRD导入FMU的步骤概述
区块链游戏《块西游》让你真正拥有虚拟世界
如何对SpinalEnum类型进行操作
移动网络区域的划分规则
IC Insights :二季度半导体销售预期环比下降5%
学会使用颗粒热量分析的“核武器”,老板主动给你加薪
莱迪思为汽车应用带来行业最佳、专为嵌入式视觉优化的FPGA
5G的普及有可能会比4G更快主要体现在两方面原因
酒店网络高清监控系统整体解决方案
日本UONI由利蒸汽拖把,实用性超乎你想象
模拟鸟叫电路原理图
flyme告诉你智能功能到底有什么用
下一波便携式智能诊疗设备让人人成为家庭医生
海尔彩电维修措施(1)
LTE路由器与普通路由器相比有哪些优点