Как запустить 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).

Другие вопросы по тегам