首页 文章

使用Matlab在FMI工具箱块中设置初始值

提问于
浏览
1

(这个问题类似于我发布的上一个问题,但情况发生了变化......)

我使用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文件中初始化系统状态的任何建议都非常受欢迎 . 谢谢 .

2 回答

  • 0

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

  • 0

    fmuSetValueSimulink()是要使用的函数 . 这用于设置状态变量的参数值和起始值 . 该功能的帮助部分非常丰富,所以我不在这里详细介绍 .

相关问题