1

(这个问题和我之前发过的问题差不多,但是情况变了……)

我正在使用 Dymola/Simulink 接口的 Modelon FMI 工具箱将 Model-Exchange 类型的 fmu 文件(1.0 版)导入 Simulink 模型。我有一个 Matlab m 文件,它以编程方式依次模拟模型,保存模型的最终内部状态以在下一次模拟中进行初始化。

m文件中的模拟调用是:

simOut_itr = sim(model, model_cs);

其中“model”是 Simulink .slx 模型文件,“model_cs”是 Simulink 配置设置变量。我已经设置了配置,以便模型从工作区加载初始状态,并且我已经将之前的迭代最终状态保存到该工作区变量。

但是,当我运行我的代码时,模型中没有设置初始化值,并且仿真结果表明,每次运行仿真时,模型输出都会重置为其初始值。这种行为向我表明,状态没有使用工作区变量值进行初始化,但在模拟过程中没有设置错误。我已经确认为每次迭代加载和卸载模型没有帮助。

非常感谢有关在 Matlab/Simulink 中的 fmu 文件中初始化系统状态的任何建议。谢谢你。

4

2 回答 2

0

Simulink 中的 FMI 工具箱模块不会通过对模型 (sim) 的调用来设置其初始化值,而是通过一组特定于 FMI 工具箱的单独函数来设置它的初始化值。FMI 工具箱手册有更多详细信息。

于 2013-05-02T23:44:51.907 回答
0

fmuSetValueSimulink() 是要使用的函数。这用于设置状态变量的参数值和起始值。该函数的帮助部分信息量很大,所以我不会在这里详细介绍。

于 2013-05-07T08:12:50.100 回答