Простой пример использования BuildingsPy с Dymola - PullRequest
0 голосов
/ 15 мая 2019

Я хотел бы использовать Python для вызова моих моделей Modelica с использованием Dymola и BuildingsPy. Я прочитал учебник по BuildingsPy, я в целом понимаю, как это происходит, но я признаю, что примеры не слишком интуитивны для меня. Может ли кто-нибудь помочь мне с простым примером, используя, например, существующую модель в библиотеке Modelica.

Спасибо

Ответы [ 2 ]

2 голосов
/ 16 мая 2019

Для buildspy вы должны установить следующие дополнительные пакеты Python:

  • NumPy
  • SciPy
  • matplotlib (для черчения)

В Windows я рекомендую использовать для этого анаконду.

Теперь вы можете запустить простую симуляцию следующим образом:

from buildingspy.simulate.Simulator import Simulator
import os

# Make dymola.exe available
os.environ["PATH"] += os.pathsep + r"C:\Program Files\Dymola 2019 FD01\bin64"

s = Simulator(modelName="Modelica.Blocks.Examples.PID_Controller", 
              simulator="dymola")

# Simulation settings
s.addParameters({'PI.k': 10.0, 'PI.Ti': 0.1})
s.setNumberOfIntervals(100)
s.setSolver("dassl")
s.setStopTime(3.2)
s.showGUI(show=True)
s.showProgressBar(show=True)

s.simulate()

print("done")

Когда симуляция завершится успешно, рабочий каталог python будет содержать файл результатов PID_Controller.mat.

Теперь вы можете использовать классы Reader и Plotter для отображения результатов, как описано здесь: https://simulationresearch.lbl.gov/modelica/buildingspy/io.html

Предостережения

  • Файл dymola.exe должен быть доступен в переменной системного пути. Код выше гарантирует, что.
  • buildingspy не работает, если установлен пользовательский рабочий каталог.
    • В Dymola 2018 FD01 и более поздних версиях: выберите «Настройки»> «Настройки» и установите Сохранить каталог запуска на Не сохранять
0 голосов
/ 22 мая 2019

Спасибо за ваше объяснение, оно действительно понятно и мне очень помогло.Я протестировал одну из моих моделей, но при запуске кода открывается димола, но она не загружает библиотеку или моя модель существует.Вот сообщение, которое я получил:

Ошибка: имитация не удалась в 'C: \ Temp \ tmp-simulator-wwuvls \ BEE' Исключение: файл C: \ Temp \ tmp-simulator-wwuvls \ BEE \ simulator.logне существует.Вам необходимо удалить каталог вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...