我正在尝试使用pyfmi在主算法中实例化几个模拟从站。
例如:
models = []
for path in fmuList:
models.append(pyfmi.load_fmu(path))我得到的问题是,最终会引发一个异常:
***FMUException: Failed to instantiate slave.在pdb跟踪调试器中调用相同的for循环我看到每个模型都被成功加载,但是,每个模型都被加载到内存中的相同位置。例如:
<pyfmi.fmi.FMUModelCS1 object at 1xxxxxxxxx>
<pyfmi.fmi.FMUModelCS1 object at 1xxxxxxxxx>
...如何使用pyfmi正确实例化多个FMU?
发布于 2020-02-03 16:18:38
我也有同样的问题。pyfmi似乎无法更改工作目录,因此不同的模型使用具有相同套接字和变量文件的相同文件夹'Output_EPExport_Slave‘。您必须手动更改工作目录。
请改用:
from os import chdir
from pyfmi import load_fmu
fmus = {}
for id in id_list:
chdir(fmu_path+str(id))
fmus[id] = load_fmu('f_' + str(id)+'.fmu',fmu_path+str(id))
fmus[id].initialize(start_time,final_time)这样,调用模型也更容易。
https://stackoverflow.com/questions/25999554
复制相似问题