Средства среды Engee для решения задач управления
Средства среды Engee для решения задач управления
Цель работы: ознакомиться со средствами Engee для решения задач управления.
Задача работы: выявить особенности вычисления реакций Simulink моделей в среде Engee.
Приборы и принадлежности: персональный компьютер, Simulink, Engee, выход в
Интернет.
ВВЕДЕНИЕ
Engee - российская платформа для разработки сложных технических систем с применением
методологии модельно-ориентированного проектирования [1].
Engee содержит в себе универсальное математическое ядро и быстроразвивающиеся
библиотеки, это среда независимая от MATLAB, но способная взаимодействовать c
проектами MATLAB интегрированными в Engee.
В этой работе предлагается рассмотреть особенности программирования в среде Engee на
примере вычисления реакции контура управления Simulink модели.
ОБЩИЕ СВЕДЕНИЯ
Преимущества программирования в Engee:
- В 30 раз быстрее чем Python, быстрее, чем MATLAB. Схож с С и Rust
- Прост, как MATLAB;
- Для написания команд Engee используется язык Julia [2]. Engee позволяет легко
перейти и адаптировать код к другим языкам, например:
A = [1, 2, 3] # Engee, язык Julia
using MATLAB # язык MATLAB
mat"A = [1, 2, 3]"
using PyCall # язык Python
py"""
import numpy as np
A = np.array([1, 2, 3])
"""
- Имеет множество доступных библиотек, функций и расширений. Имеет средства для
моделирование линейных, нелинейных, дискретных и непрерывных систем,
разработки систем автоматического управления; - Engee обладает качественной русскоязычной документацией.
Программирование в Engee может осуществляться как через командную строку, так и
путем создания скриптов. Перед применением библиотечных модулей к ним необходимо подключиться.
ВНИМАНИЕ: Доступ к Engee студенты запрашивают самостоятельно после согласования
с преподавателем.
Для того чтобы узнать, как работать в Engeе и познакомиться с учебными курсами,
материалами и примерами
1.Откройте скрипт: Файлы → user → Start.ngscript;

- В редакторе скриптов выполните разделы:
•Получение утилиты обновления каталога демонстраций
•Использование утилиты refresh_demo_catalog
3.После загрузки документации перейдите в папку Файлы → user → start → courses → getting-started.

ПРИМЕЧАНИЕ. Полную документацию по языку программирования в Engee можно найти по ссылке [3]. Заявку на доступ к тренингам и онлайн-курсам можно оставить на сайте [4].
Доступа к материалам используйте Файловый Браузер, например:


В этом примере рассматривается управление устойчивым объектом второго порядка c помощью ПИД-
регулятора в среде Engee. Дополнительно проводится сравнение результатов
моделирования в среде Engee с результатами моделирования в Simulink. Исследуемая система управления находится в модели pid_controls_tf_stable.engee:
ПРИМЕЧАНИЕ.
Область переменных открывается значком:
.png)
Редактор скриптов значком:
.png)
Командная строка значком:
.png)
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
Задание 1. Построение контура регулирования в среде Simulink.
ПРИМЕЧАНИЕ. Контур создается для проверки работы Engee с Simulink моделями.
1.Постройте в Simulink модель:
Рисунок 1. Контур регулирования и его параметры.
2.Задайте параметры моделирования и выходного сигнала модели.
.png)
.png)
3.Запустите модель на выполнение и постройте графики переменных.
.png)
.png)
4.Разберите структуру Out - реакции модели. Определите полное наименование переменных Time и Data.




Задание 2. Вычисление реакции Simulink модели в среде Engee.
- Загрузите среду Engee.
- В среде Engee создайте папку и в ней страницу скрипта, например,
/tmp/exmpl_1.ngscript.
.png)
- Скопируйте Simulink model (slx) c вашего ПК в созданный каталог tmp среды Engee.
.png)
- Включите в скрипт (ngscript) блоки комментария (текстовая ячейка) и команды (кодовая ячейка) используя команды “+Текст” и “+ Код” /
.png)
- Наберите следующий скрипт:
.png)
ПРИМЕЧАНИЕ.
5.1. Для работы с ячейками используйте команды
.png)
5.2. Ячейки можно перемещать по скрипту выше или ниже
5.3. Код в текстовом формате:
using Plots
using MATLAB
using CSV
plotlyjs();
mat"start_simulink"
mat"p = genpath('/user/start/tmp'); addpath(p);"
mat"out = sim('pid_controls_tf_stable');";
pid_values = mat"out.yout{1}.Values.Data";
pid_time = mat"out.yout{1}.Values.Time";
plot(pid_time, pid_values, legend = false)
plot!(title = "Результаты моделирования в Simulink", ylabel = "Отклик",
xlabel="Время, c")
Запустите скрипт на выполнение. Сравните реакции Simulink модели вычисленные в
MATLAB и Engee.
ПРИМЕЧАНИЕ. Скрипт можно выполнять поблочно - кодовыми ячейками
.png)
.png)
или целиком:
.png)
КОНТРОЛЬНЫЕ ВОПРОСЫ
- Назначение среды Engee?
- Каковы основные преимущества среды Engee?
- Чем отличается применение команд MATLAB в среде Engee?
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
- Среда математических вычислений и инженерных исследований.
https://start.engee.com/ltc - Dr. Bob Davidov. СРЕДСТВА ЯЗЫКА JULIA ДЛЯ РЕШЕНИЯ ЗАДАЧ
УПРАВЛЕНИЯ. https://portalnp.snauka.ru/2023/09/11099 - Язык программирования в Engee. https://engee.com/helpcenter/stable/julia/engeelanguage.html
- Обучение Engee.
https://start.engee.com/learn?utm_source=Email&utm_medium=engee_digest&utm_campai
gn=december - Dr. Bob Davidov. Компьютерные технологии управления в технических системах
http://portalnp.snauka.ru/author/bobdavidov