我也遇到过,而试图使用FMU文件在Simulink仿真模型的问题:
我现在用的是FMI毛涤纶工具箱的Dymola的/ Simulink的界面导入模型交换型FMU文件(1.0版本)到Simulink模型。 我有一个Matlab m文件以编程模拟模型顺序,保存模型的最终内部状态,在接下来的模拟初始化。 模拟的第一次迭代运行没有错误,但在第二次迭代,MATLAB在呼吁模拟返回以下错误:
模块= partial_run_sim2 / BasicModels.System_model_final_Sim,日志级别= ERROR:[] [FMU状态:错误] fmiInitialize:dsblock_失败,QiErr = 1
模块= partial_run_sim2 / BasicModels.System_model_final_Sim,日志级别= ERROR:[] [FMU状态:错误]可能的错误(非穷举):1.许可证文件没有被发现。 使用环境变量“DYMOLA_RUNTIME_LICENSE”到指定Dymola的许可文件。 2.示范引用不存在在目标机器上,至少不与同一位置的外部数据。 通过S-功能“sfun_fmu_me_1_0”在'partial_run_sim2 / BasicModels.System_model_final_Sim报告错误:fmiInitialize在initialize_fmu_model_first_time返回错误。 查看命令窗口由FMU模型打印的更多信息。
我知道,我的Dymola的和FMI工具箱许可证是最新的。
在M文件模拟电话是:
simOut_itr = sim(model, model_cs);
当“模特”是的Simulink .slx模型文件和“model_cs”是Simulink的配置设置变量。 我已经设定该模型从工作区中加载初始状态的配置,我已经保存了以前的迭代最终状态到该工作区变量。 这个动作对于第一次迭代出现为好,尽管最初的状态是一样的FMU文件的默认初始状态。 我怀疑,因为初始化是一样的默认值,但随后的迭代有不同的初始值,它不与FMU块同意第一次迭代没有问题运行。
我知道,模拟使用FMI功能在Matlab中FMU文件的能力,但这些方法不允许尽可能多的透明度系统的状态,这阻碍了连续的模拟。 我打开,使这种模拟的任何方法,但是。
关于初始化在Matlab / Simulink仿真FMU文件系统的状态任何建议都非常赞赏。 谢谢。