Как запустить EnergyPlus-FMU с помощью PyFMI
У меня проблемы с симуляцией EnergyPlus-FMU от PyFMI. Я создал FMU EnergyPlus, используя эталонную модель здания. Я использую PyFMI2.5. Как запустить функцию do_step()?
from pyfmi import load_fmu
model = load_fmu("MyEnergyplus.fmu")
start_time = 0
final_time = 60.0 * 60 * 24 * 3 #seconds
step_size = 60 # seconds
opts = model.simulate_options()
idf_steps_per_hour = 60
ncp = (final_time - start_time)/(3600./idf_steps_per_hour)
opts['ncp'] = ncp
t = 0
status = model.do_step(current_t = t, step_size= step_size, new_step=True)
Ошибка, которую я получил:
File "test_fmi2.py", line 15, in <module> status = model.do_step(current_t = t, step_size= step_size, new_step=True)
AttributeError: 'pyfmi.fmi.FMUModelME2' object has no attribute 'do_step'
Я дважды проверил API-интерфейсы PyFMI и не нашел никаких проблем. Как включить симуляцию? Благодарю.
1 ответ
Из выходных данных мы видим, что загруженный вами FMU является FMU модельного обмена, который не имеет функции шага выполнения (это есть только в FMU совместного моделирования). Для получения дополнительной информации о различных типах FMU см. Спецификацию FMI.
Для имитации FMU Model Exchange, пожалуйста, используйте метод имитации. Метод "моделирования" также доступен для FMU Co-Simulation и является предпочтительным способом выполнения моделирования
Не зная, как вы настроили fmu, я могу хотя бы сказать, что вы забыли model.initialize(start_time,final_time)
.