Средства среды 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:
ПРИМЕЧАНИЕ.
Область переменных открывается значком:

Редактор скриптов значком:

Командная строка значком:

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
Задание 1. Построение контура регулирования в среде Simulink.
ПРИМЕЧАНИЕ. Контур создается для проверки работы Engee с Simulink моделями.
1.Постройте в Simulink модель:
Рисунок 1. Контур регулирования и его параметры.
2.Задайте параметры моделирования и выходного сигнала модели.


3.Запустите модель на выполнение и постройте графики переменных.


4.Разберите структуру Out - реакции модели. Определите полное наименование переменных Time и Data.




Задание 2. Вычисление реакции Simulink модели в среде Engee.
- Загрузите среду Engee.
- В среде Engee создайте папку и в ней страницу скрипта, например,
/tmp/exmpl_1.ngscript.

- Скопируйте Simulink model (slx) c вашего ПК в созданный каталог tmp среды Engee.

- Включите в скрипт (ngscript) блоки комментария (текстовая ячейка) и команды (кодовая ячейка) используя команды “+Текст” и “+ Код” /

- Наберите следующий скрипт:

ПРИМЕЧАНИЕ.
5.1. Для работы с ячейками используйте команды

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.
ПРИМЕЧАНИЕ. Скрипт можно выполнять поблочно - кодовыми ячейками


или целиком:

КОНТРОЛЬНЫЕ ВОПРОСЫ
- Назначение среды 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