Программное управление симуляцией модели
Работа с моделями
Запуск симуляции
Перед редактированием модели откройте ее с помощью метода open. После редактирования не забудьте сохранить результаты с помощью save.
Для запуска симуляции модели используется публичный метод run
engee.run(model_name; verbose=false)
engee.run(model; verbose=false)
engee.run(; verbose=false)
-
Запускает симуляцию модели. Возвращает результаты симуляции.
-
Если модель не указана, запускает симуляцию текущей модели.
-
При
verbose=true
, выводится прогресс симуляции. По умолчаниюverbose=false
.
Пример
m = engee.load("/user/start/examples/power_systems/power_line_apv/power_line_apv.engee") #загружает модель из указанного пути присваивает ее переменной m
#другой вариант
m = "power_line_apv"
engee> engee.run(m)
Dict{String, DataFrame} with 6 entries:
"Va" => 40001×2 DataFrame…
"Ia" => 40001×2 DataFrame…
"Ib" => 40001×2 DataFrame…
"Ic" => 40001×2 DataFrame…
"Vc" => 40001×2 DataFrame…
"Vb" => 40001×2 DataFrame…
Приостановка запущенной симуляции
Используется публичный метод pause
engee.pause(model_name)
engee.pause(model)
engee.pause()
-
Приостанавливает запущенную симуляцию модели. Возвращает
nothing
.
Ошибки
Если симуляция не запущена, то выдаст ошибку Engee.Exceptions.SimulationError("Only running simulation may be paused")
.
Возобновление приостановленной симуляции
Используется публичный метод resume
engee.resume(model_name)
engee.resume(model)
engee.resume()
-
Возобновляет приостановленную симуляцию модели. Возвращает результаты симуляции.
Прерывание симуляции
Используется публичный метод stop
engee.stop(model_name)
engee.stop(model)
engee.stop()
-
Останавливает запущенную симуляцию модели. Возвращает
nothing
.
Просмотр результатов симуляции
Используется публичный метод get_results
engee.get_results(model_name)
engee.get_results(model)
engee.get_results()
-
Возвращает результаты симуляции указанной модели в виде словаря Dict, где ключ – имя отслеживаемого порта.
-
Если модель не указана, возвращает результаты последней симуляции.
-
Метод напрямую связан с переменной simout, хранящей результаты симуляции модели. Более подробно о работе с переменной simout читайте по ссылке Программная обработка результатов симуляции в Engee.
Пример
engee.get_results("newmodel_1")
#вывод
Dict{String, DataFrames.DataFrame} with 1 entry:
"Integrator.1" => 1001×2 DataFrame…
Ошибки
-
Если модель не открыта, то бросается исключение
Engee.Exceptions.ModelDoesntExistException
.
Просмотр статуса симуляции модели
Используется публичный метод get_status
engee.get_status(model_name)
engee.get_status(model)
engee.get_status()
-
Возвращает статус симуляции как
SimulationStatus
.
Просмотр событий симуляции
Используется публичный метод get_logs
engee.get_logs(model_name)
engee.get_logs(model)
engee.get_logs()
-
Получает сообщения из журнала, связанные с моделью.
-
Возвращает массив с сообщениями из журнала, связанные с указанной моделью.
Все публичные методы программного управления, доступные в Engee, представлены в статье Публичные методы программного управления. |
Примеры
engee.run("newmodel_1") # запускает симуляцию модели. Возвращает результаты симуляции
engee.pause("newmodel_1") # останавливает запущенную симуляцию модели
engee.resume("newmodel_1") # возобновляет процесс симуляции модели
engee.stop() # останавливает запущенную симуляцию модели
engee.get_results("newmodel_1") # возвращает результаты симуляции в виде словаря Dict
engee.get_status("newmodel_1") # возвращает статус симуляции как SimulationStatus
engee.get_logs("newmodel_1") # получает сообщения из журнала, связанные с моделью