出口金宝app模型到功能模型单元
出口的模型
出口仿真软件金宝app®模型到功能模型单元(FMU),支持FMI 2.0版本的联合仿真。金宝app要检查导出的块仍然是一个有效的Simulink模型,您还可以指示软件将FMU导入回Simulink模金宝app型,作为导出过程的一部分。
需求包括:
金宝app仿真软件编译器™
一个可写文件夹,将导出的FMU放入其中。
导出的模型可以有:
输入和输出数据类型:double, int32, boolean, string
矩阵
总线信号
可调参数。可调参数可以是模型参数、基本工作区或数据字典变量。
单位和描述。
独立FMU
金宝app在2.0版本中,Simulink模型可以导出到独立联合仿真FMU。生成的FMU包包含以下文件:
modelDescription.xml
model.png(可选)
二进制文件\ win64 \ modelname.dll
,或二进制文件\ linux64 \ modelname.so
,或二进制文件\ darwin64 \ modelname.dylib
对于联合仿真模式,您可能会在导出的FMU中遇到预期的时间延迟。
FMU变量
FMU modelDescription.xml文件包含从Simulink模型转换而来的接口变量:金宝app
变量的因果关系= ' input ':从根导入块转换
因果关系= ' output '的变量:从根输出端口块转换而来
带有因果关系= ' parameter '的变量:从引用的运行时可调参数转换而来
自变量“时间”
为了生成FMU输入和输出,在Simulink模型中定义根输入和输出块。金宝app通过删除特殊字符和空白字符并避免重复,生成的变量的名称从根导入/输出端口块名称转换而来。如果输入/输出信号携带单元信息,则输出为单位
FMU变量的属性。如果输入/输出块下有一个非空的描述信息块的属性>一般,则导出为描述
FMU变量的属性。
支持以下输入/输出数据类型:金宝app
double (FMI中的实数)
int32 (FMI中的整数)
布尔值(FMI中的布尔值)
字符串(FMI中的字符串)
如果模型根导入或输出端口块是非虚拟总线,则使用结构化命名约定(' . ')将单个总线元素扩展为变量。如果模型根导入或输出端口块,将使用数组命名约定('[]')将单个标量元素扩展为变量。
要将引用的变量导出为FMU参数,可以这样做
定义一个变量。
定义一个Simul金宝appink Parameter对象。
确保变量和参数对象通过Simulink块的可调参数直接引用。金宝app在FMU Export对话框中展开参数的细节……配置每个参数。您可以:
取消选择出口选项隐藏参数
修改出口的名字所以参数在FMU界面上以不同的名称显示。不要使用特殊字符和重复的名称。
集
单位
而且描述
的FMU参数变量,点击参数名称,直接修改参数对象。不能配置FMU单位
而且描述
使用MATLAB窗口。
支持以下参数数据类型:金宝app
double (FMI中的实数)
int32 (FMI中的整数)
布尔或逻辑(FMI中的布尔)
如果引用的形参是结构,则各个结构成员将使用结构化命名约定(' . ')扩展为变量。如果引用的参数是数组或矩阵,则使用数组命名约定('[]')将单个标量元素展开为变量。
FMU解算器
对于独立的FMU导出支持固定步骤求解器。金宝app建议设置固定的基本采样时间(解算器>解算器的细节>固定的大小),然后导出模型。在其他环境下模拟独立FMU时,通信步长必须是基本采样时间的整数倍。
FMU动态库
生成的FMU包含针对当前平台的动态库构建。使用默认的fmi2TypesPlatform值。
FMI标准定义的所有必需的和可选的fmi2函数都可以调用。然而,以下函数没有操作,并立即返回fmi2OK:
模型交换功能
函数访问或序列化FMUstate
函数设置或获取输入或输出导数
命令功能查询fmi2DoStep状态或取消fmi2DoStep
计算变量方向导数的函数
用FMU导出保存源代码
您可以将Simulink模型与C源金宝app代码一起导出到FMU。你可以检查一下保存源代码在导出模型到FMU联合仿真窗口或使用命令行API,exportToFMU2CS(“mdlName”、“SaveSourceCodeToFMU”,“上”)
用C源代码将模型导出到FMU。
请注意
要用C源代码将Simul金宝appink模型导出到FMU,请安装金宝app仿真软件编码器™
如果Simul金宝appink模型包含带有自定义数据类型或定点函数的模型引用,则导出带源代码的FMU可能会出错,因为_sharedutils
文件夹中。按照“生成共享实用程序代码”的说明进行设置代码生成>接口>共享代码放置参数为'共享位置
,并重新生成FMU。
限制
您不能从Simulink模型生成FMU,由于以下限制:金宝app
不支持变步长求解器金宝app
不支持非零模拟开始时间金宝app
金宝app不支持引用外部资源(数据文件、mex或m文件)的Simulink模型金宝app
导出Simulin金宝appk模型
使用“导出”对话框
导出vdp
使用Simulink工具条的金宝app例子:模拟>保存>导出模型到独立FMU
打开模型,
vdp
在Si金宝appmulink编辑器中,Simulink工具条:模拟>保存>独立FMU.
在Si金宝appmulink编辑器中,选择保存>导出模型到>FMU联合仿真.
在“导出”对话框中指定导出路径。
单击Create
默认情况下,Simuli金宝appnk创建FMU和一个依赖项存储在
垫
文件。然后将它们打包到存档项目(.mlproj
).您可以通过设置来改变行为内容选项独立的FMU(。fmu0只.
使用编程接口
使用默认值将vdp示例导出到FMU
exportToFMU2CS
函数。这个命令创建了FMU文件,modelName.fmu.默认情况下,它还会创建一个Simulink模型,金宝appmodelName_fmu.slx,它包含与原始模型的FMU联合仿真块。如果您想检查导出的FMU的完整性,则创建此模型。load_system (“vdp”) set_param (“vdp”,“SolverType”,“固定的”) exportToFMU2CS (“vdp”)
使用exportToFMU2CS函数将vdp示例导出到FMU,但不要创建Simulink模型。金宝app这个命令创建了FMU文件,modelName.fmu.
load_system (“vdp”) set_param (“vdp”,“SolverType”,“固定的”) exportToFMU2CS (“vdp”,“CreateModelAfterGeneratingFMU”,“关闭”)
将vdp示例导出到FMU
exportToFMU2CS
函数。为FMU创建一个模型,并使用原始模型的图像作为块图标。这个命令创建了FMU文件,modelName.fmu,以及具有FMU金宝app联合仿真块的Simulink模型,其块图标为原始模型。exportToFMU2CS (vdp,“AddIcon”,“快照”)
另请参阅
configureForDeployment
|金宝app仿真软件。SimulationInput
|世纪挑战集团
|deploytool
|sim卡