(这个问题类似于我之前发布的问题,但情况已经发生变化......)
我使用Modelon FMI工具箱进行Dymola / Simulink接口,将Model-Exchange类型fmu文件(版本1.0)导入Simulink模型。我有一个Matlab m文件,它以编程方式顺序模拟模型,保存模型的最终内部状态,以便在下一次模拟中进行初始化。
m文件中的模拟调用是:
simOut_itr = sim(model, model_cs);
其中“model”是Simulink .slx模型文件,“model_cs”是Simulink配置设置变量。我已经设置了配置,以便模型从工作空间加载初始状态,并且我已将先前的迭代最终状态保存到该工作空间变量。
但是,当我运行我的代码时,初始值不会在模型中设置,并且模拟结果显示模型输出在每次运行模拟时都会重置为其初始值。此行为向我指示状态未使用工作空间变量值进行初始化,但在模拟期间未设置错误。我已经确认每次迭代加载和卸载模型都无济于事。
有关在Matlab / Simulink中初始化fmu文件中的系统状态的任何建议都非常感谢。谢谢。
答案 0 :(得分:0)
Simulink中的FMI工具箱块不会从调用模型(sim)中设置初始化值,而是从特定于FMI工具箱的一组单独函数中设置。 FMI工具箱手册有更多详细信息。
答案 1 :(得分:0)
fmuSetValueSimulink()是要使用的函数。这用于设置状态变量的参数值和起始值。该功能的帮助部分非常有用,所以我不会在这里详细介绍。