有没有办法使用 python 库 FMPy 或 pyFMI 列出 FMU(或 FMU 中的子模型)的参数?

Kau*_*ubh 5 python modelica fmi pyfmi

我有一个模型的 FMU,用例是更改 FMU 的参数值以查看对结果的影响。如果我无法访问 Modelica 模型,有没有办法使用 FMPy 或 pyFMI 列出 FMU 的顶级参数?

我一直在遵循的过程之一是使用 FMPy.gui 打开 FMU 并查看参数列表,然后在脚本中使用它们,但我想知道是否有更简单的方法,以便我可以列出然后在 Jupyter notebook 中根据需要更改参数?

mar*_*rco 2

使用 fmpy,您可以循环modelVariables模型描述中的 ,如下所示:

from fmpy import read_model_description
from fmpy.util import download_test_file

fmu_filename = 'CoupledClutches.fmu'

download_test_file('2.0', 'CoSimulation', 'MapleSim', '2016.2', 'CoupledClutches', fmu_filename)

model_description = read_model_description(fmu_filename)

parameters = [v for v in model_description.modelVariables if v.causality == 'parameter']
Run Code Online (Sandbox Code Playgroud)