Как проверить алгоритм управления на реальном микроконтроллере, если сам двигатель существует только в виде математической модели? Ответ — полунатурное моделирование (HIL).
Контекст задачи
Разработана система автоматического регулирования тока для двигателя постоянного тока. Наша цель — перенести ПИ-регулятор на реальный микроконтроллер STM32F446 и, применяя технологию HIL, добиться идентичности результатов при имитационном и полунатурном моделированиях.
Что сделали в Engee
Результаты симуляции
В то время как "чистое" имитационное моделирование показывало идеальную отработку, HIL позволило выявить иную картину. График тока показал увеличенное перерегулирование, а установившееся значение оказалось меньше заданного.
В чем польза для инженера
Подобные динамические и статические ошибки мгновенно сигнализируют о неэффективной настройке регулятора для работы с реальным "железом". Технология HIL позволила нам наглядно увидеть задержки и искажения, которые вносит электронная схема передачи аналоговых сигналов, еще до подключения реального привода. Теперь эти элементы цепи можно перенести в исходную модель Engee, чтобы скорректировать алгоритм.
Полный проект и все материалы для самостоятельного воспроизведения сценария тестирования доступны в Сообществе Engee.
♦️ С наступающим 23 февраля, друзья!
Пусть инженерный характер остается железным, решения точными, а воля — стальной даже в самых сложных задачах.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍9❤4🕊3🎉2 2🆒1
🔧 Тестирование кода в Engee без ручной рутины
Тестирование ПО-в-контуре (SIL) – важный элемент рабочего процесса кодогенерации. Ведь нам необходимо проверить, что модель и код считаются одинаково.
Обычный процесс SIL-тестирования выглядит так: включили настройку создания проверочной Си-функции, сгенерировали код, запустили скрипт, вставили Си-функцию, запустили симуляцию, сравнили результаты. Это занимает время. А если моделей много, то легко запутаться что с чем сравнивать, что уже сделано, а что еще надо проверить. Надо как-то избавится от этой головной боли. В идеале хочется нажать кнопку и пойти пить кофе, а тестирование выполнится само собой.
Что будем использовать
Слышим тестирование - применяем библиотеку Test.jl.
А что тестируем? Надо проверить сразу несколько вещей:
1️⃣ Код вообще генерируется?
2️⃣ Создается ли проверочная Си-функция?
3️⃣ Эквивалентность работы модели и кода
Чтобы не рушить тестовую обвязку модели будем делать ее копию. И это тоже предмет тестирования. Для работы с моделями будем использовать программное управление моделями.
Как это работает?
Используя Test.jl, создадим наборы тестов, которые будут выполнять наше тестирование поэтапно:
А все манипуляции с моделями спрячем в отдельный модуль SILAutomation.
⚠️ ВАЖНО - Как правильно сравнить сигналы
Нельзя просто сравнить два сигнала численно и сказать, что они равны. Надо проверить, что они синхронизированы по времени, а значения не различаются больше чем на ошибку. Написали такую функцию:
Что мы получили в итоге
В результате сделали утилиту, которая
✅ запускает и проверяет генерацию кода
✅ Собирает обвязку SIL
✅ Запускает симуляции тестов и корректно сравнивает результаты
Теперь можно спокойно запускать тесты и идти пить кофе, а Engee все сделает за вас!
📎 Скачать себе все файлы утилиты можно тут
🎓 Школа моделирования уже стартовала!
🧑💻 Расписание бесплатных тренингов
Тестирование ПО-в-контуре (SIL) – важный элемент рабочего процесса кодогенерации. Ведь нам необходимо проверить, что модель и код считаются одинаково.
Обычный процесс SIL-тестирования выглядит так: включили настройку создания проверочной Си-функции, сгенерировали код, запустили скрипт, вставили Си-функцию, запустили симуляцию, сравнили результаты. Это занимает время. А если моделей много, то легко запутаться что с чем сравнивать, что уже сделано, а что еще надо проверить. Надо как-то избавится от этой головной боли. В идеале хочется нажать кнопку и пойти пить кофе, а тестирование выполнится само собой.
Что будем использовать
Слышим тестирование - применяем библиотеку Test.jl.
А что тестируем? Надо проверить сразу несколько вещей:
Чтобы не рушить тестовую обвязку модели будем делать ее копию. И это тоже предмет тестирования. Для работы с моделями будем использовать программное управление моделями.
Как это работает?
Используя Test.jl, создадим наборы тестов, которые будут выполнять наше тестирование поэтапно:
@testset verbose = true "SIL" begina
@testset "Code Generation" begin
@test SILAutomtion.buildCUT(CUT)==true
@test isfile(CUT*"_verification.engee")
end
SILAutomation.buildCUT(CUT)a
SILAutomtion.buildSILHarness(SIL_Harness,CUT, MIL_Harness)a
@testset "SIL Equality" begin
(MR,SR) = SILAutomtion.runSims(MIL_Harness,SIL_Harness)a
(sync,equal) = SILAutomtion.compare_signals(MR["filtered"],SR["C Function.1"])
@test sync==true
@test equal==true
end
end
А все манипуляции с моделями спрячем в отдельный модуль SILAutomation.
Нельзя просто сравнить два сигнала численно и сказать, что они равны. Надо проверить, что они синхронизированы по времени, а значения не различаются больше чем на ошибку. Написали такую функцию:
function compare_signals(sig_one,sig_two)
Ds = collect(sig_one);
Rs = collect(sig_two);
Cmp = isapprox.(Ds, Rs)
issynched = all(Cmp.time)
issimilar = all(Cmp.value)
return (issynched, issimilar)
endЧто мы получили в итоге
В результате сделали утилиту, которая
Теперь можно спокойно запускать тесты и идти пить кофе, а Engee все сделает за вас!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍8🥰4👏2❤1
Когда спектр сигнала меняется во времени (например, в ЛЧМ-сигналах), классическое БПФ за весь интервал наблюдения даёт лишь усреднённую картину и не позволяет увидеть эволюцию частотного состава. Решение — использовать STFT (Short-Time Fourier Transform).
В новом проекте сообщества подробно разобрана реализация STFT в Engee с помощью блоков библиотеки EngeeDSP и инструментов интерактивной визуализации.
Структура модели и ключевые параметры:
• Вычисляется БПФ (блок FFT) длиной 1024,
• Выделяется первая половина спектра (положительные частоты),
• Вычисляется модуль комплексного вектора в dBm и кадр записывается в переменную.
Два подхода к визуализации:
модель настроена так, что 1 секунда расчёта соответствует 1 секунде реального времени. Это позволяет, открыв окно «Визуализация сигналов», наблюдать в реальном времени:🔹 Осциллограммы комплексного сигнала (I/Q компоненты).🔹 Промежуточные «кадры» спектра на выходе пользовательской цепи обработки (тип отображения «Кадр во временной области»).🔹 Изменение спектра ЛЧМ-сигнала до и после фильтра с помощью встроенного анализатора спектра (отображение «Сигналы в частотной области»).
после симуляции все накопленные кадры спектра собираются скриптом в матрицу размером [512 x N], где N — число кадров. Далее строится трёхмерная поверхность (частотно-временная спектрограмма) с помощью функции surface.
Что это даёт?
Проект демонстрирует, как комбинация готовых блоков EngeeDSP, интерактивных инструментов проектирования фильтров и гибкости расчётной среды Engee превращает сложную задачу анализа нестационарных сигналов в эффективное и наглядное исследование.
🔗 Описание, скрипт и саму модель для воспроизведения можно найти здесь: EngeeDSP: спектрограмма комплексного сигнала
Please open Telegram to view this post
VIEW IN TELEGRAM
Релиз 26.02 – новое в феврале 🌱 ⚙️🔅
Февраль в этом году пролетел особенно быстро — всего 28 дней, и весна уже на пороге! Зато список изменений в Engee за этот месяц получился совсем не коротким. Делимся с вами тем, что успели сделать в продукте за февраль.
Самое важное:
⭐️ Переработанные модели-ссылки;
⭐️ Обратное наследование характеристик сигналов;
⭐️ Блок конвертации единиц измерения;
⭐️ Поддержка USB-CAN модуля от Марафон;
⭐️ Пакет поддержки Target x86;
⭐️ Новый объект fixed_ts_sinestream в библиотеке ТАУ;
А еще:
✅ Новые блоки и функции в библиотеках Базовая, РЧ, Радары, Системы управления, Механика, Гидравлика, ЦОС, Аэрокосмические системы и Оборудование;
✅ Новая функциональность в приложении Анализ файлов цифровой подстанции;
✅ Расширение количества портов у С Function и Engee Function;
✅ Изменения и обновления в генераторе кода;
✅ Расширение поддержки CAN для Engee и КПМ РИТМ;
✅ Пакет поддержки Analog Discovery;
✅ Новые статьи в Документации и новые Примеры;
Подробности — в разделе Что нового 26.02.
А еще напомним: открыта регистрация на конференцию по системному моделированию, пока еще места есть!
👤 Также доступны места на практические тренинги — хороший шанс разобрать сложные вещи руками и задать вопросы разработчикам и практикам. Расписание ТУТ.
🎓 Школа моделирования уже стартовала!
Февраль в этом году пролетел особенно быстро — всего 28 дней, и весна уже на пороге! Зато список изменений в Engee за этот месяц получился совсем не коротким. Делимся с вами тем, что успели сделать в продукте за февраль.
Самое важное:
А еще:
Подробности — в разделе Что нового 26.02.
А еще напомним: открыта регистрация на конференцию по системному моделированию, пока еще места есть!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16 8👍6 4🥰1
Встречаем весеннюю погоду вместе с Engee! 💐
Друзья, мы подготовили для вас проект, который не даст вам упустить ни единого солнечного луча. Помимо созерцания теплых дней за окном, теперь вы сможете управлять погодой на нашей погодной карте.
Откройте проект, чтобы убедиться в этом (интересно, как быстро вы найдете отсылку?)
Почему стоит изучить этот пример? Будь то моделирование транспортных средств, радиолокация или связь, трубопроводная сеть или космические явления, в Engee вы можете рассчитывать самые масштабные задачи, объединяя динамическое моделирование и программирование.
Что еще интересного есть в этом проекте?
С праздником 8 марта! Пусть весеннее тепло согревает ваши сердца и до встречи на просторах Engee💼
Также не пропустите этой весной:
📢 Конференция по системному моделированию, регистрация еще открыта
🎓 Школа моделирования еще идет, присоединяйтесь!
🧑💻 Расписание бесплатных тренингов
Друзья, мы подготовили для вас проект, который не даст вам упустить ни единого солнечного луча. Помимо созерцания теплых дней за окном, теперь вы сможете управлять погодой на нашей погодной карте.
🌷И конечно, в этом материале мы спешим поздравить всю прекрасную половину человечества с замечательным праздником!
Откройте проект, чтобы убедиться в этом (интересно, как быстро вы найдете отсылку?)
Почему стоит изучить этот пример? Будь то моделирование транспортных средств, радиолокация или связь, трубопроводная сеть или космические явления, в Engee вы можете рассчитывать самые масштабные задачи, объединяя динамическое моделирование и программирование.
Что еще интересного есть в этом проекте?
1️⃣ Мы показываем, как работать с API погодного сервиса OpenMeteo. Пусть этот источник данных работает сравнительно медленно, зато позволяет загрузить данные для анализа, с которыми очень интересно работать.
2️⃣ Контур России сохранен в распространенном промышленном формате GeoJSON, с которым тоже нужно уметь обращаться, если вы собираетесь рассчитывать масштабные проекты с географической привязкой. Возьмите себе файл и используйте в любых проектах.
3️⃣ Мы сравниваем методы обработки тонких деталей – береговой линии, островов, чтобы сохранить как можно больше информации для наглядной визуализации.
4️⃣ И, наконец, просто выводим всю карту при помощи текстовых пиктограмм, что позволяет вам получить прогноз погоды в любопытном виде.
С праздником 8 марта! Пусть весеннее тепло согревает ваши сердца и до встречи на просторах Engee
Также не пропустите этой весной:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13🤩5⚡4 2
This media is not supported in your browser
VIEW IN TELEGRAM
🐍 Змейка на нейросетях 🐍
В демонстрационном проекте «Змейка» показано применение алгоритма Deep Q-Network (DQN) для задачи управления в дискретной среде. DQN относится к методам глубокого обучения с подкреплением и использует нейронную сеть для аппроксимации Q-функции — оценки ожидаемой суммарной награды при выборе действия в заданном состоянии.
🔧 Ключевые компоненты алгоритма:
Аппроксимация Q-функции.
Нейросеть обобщает накопленный опыт вместо хранения таблицы состояний и действий, что позволяет работать со сложными пространствами состояний.
Experience Replay.
Буфер воспроизведения опыта хранит переходы вида (состояние, действие, награда, новое состояние, флаг завершения). Обучение на случайных мини-батчах снижает корреляции между шагами и повышает устойчивость обучения.
Target Network.
Отдельная целевая сеть с задержкой обновления весов используется для расчёта целевых Q-значений, уменьшая нестабильность процесса обучения.
✍ ️ Описание среды и архитектуры:
• состояние среды представлено вектором из 8 признаков (опасности столкновения, положение еды, длина змейки и др.);
• действия дискретны: движение вперёд, поворот налево и направо;
• функция награды: +10 за еду, −1 за столкновение и дополнительные сигналы за движение к цели;
• архитектура сети: вход (8) → скрытый слой (128, ReLU) → выход (3);
• инициализация Xavier, обучение градиентным спуском с обратным распространением ошибки.
Проект показывает, как в Engee можно одновременно работать с кодом, моделью и визуализацией обучения в единой среде и быстро переходить от теории к практическим экспериментам с алгоритмами обучения с подкреплением.
🚨 Конференция по системному моделированию, регистрация еще открыта
🎓 Школа моделирования еще идет, присоединяйтесь!
👤 Расписание бесплатных тренингов
Обучение с подкреплением — одно из ключевых направлений современного ИИ, лежащее в основе автономных систем, робототехники и адаптивных алгоритмов. Платформа Engee предоставляет удобную среду для изучения и экспериментов с такими моделями: готовые шаблоны проектов, интерактивная визуализация и запуск прямо в браузере позволяют сосредоточиться на алгоритмах, не тратя время на настройку инфраструктуры и окружения.
В демонстрационном проекте «Змейка» показано применение алгоритма Deep Q-Network (DQN) для задачи управления в дискретной среде. DQN относится к методам глубокого обучения с подкреплением и использует нейронную сеть для аппроксимации Q-функции — оценки ожидаемой суммарной награды при выборе действия в заданном состоянии.
🔧 Ключевые компоненты алгоритма:
Аппроксимация Q-функции.
Нейросеть обобщает накопленный опыт вместо хранения таблицы состояний и действий, что позволяет работать со сложными пространствами состояний.
Experience Replay.
Буфер воспроизведения опыта хранит переходы вида (состояние, действие, награда, новое состояние, флаг завершения). Обучение на случайных мини-батчах снижает корреляции между шагами и повышает устойчивость обучения.
Target Network.
Отдельная целевая сеть с задержкой обновления весов используется для расчёта целевых Q-значений, уменьшая нестабильность процесса обучения.
• состояние среды представлено вектором из 8 признаков (опасности столкновения, положение еды, длина змейки и др.);
• действия дискретны: движение вперёд, поворот налево и направо;
• функция награды: +10 за еду, −1 за столкновение и дополнительные сигналы за движение к цели;
• архитектура сети: вход (8) → скрытый слой (128, ReLU) → выход (3);
• инициализация Xavier, обучение градиентным спуском с обратным распространением ошибки.
Проект показывает, как в Engee можно одновременно работать с кодом, моделью и визуализацией обучения в единой среде и быстро переходить от теории к практическим экспериментам с алгоритмами обучения с подкреплением.
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
🔬 Цифровой микроскоп бесконечности — приложение, созданное прямо в Engee
Этот проект показывает не столько математику множества Мандельброта, сколько то, как в Engee можно быстро превращать вычислительные модели в полноценные интерактивные приложения.
Мы собрали цифровой «математический микроскоп», где пользователь управляет параметрами модели и мгновенно видит результат расчёта. Модель фрактала рассчитывается на Julia, а интерфейс собран на фреймворке Genie. В результате получается интерактивный инструмент, где можно:
🔶 менять масштаб и координаты области
🔶 управлять глубиной итераций
🔶 переключать цветовые схемы
🔶 наблюдать, как изображение пересчитывается почти мгновенно
Что видно при моделировании
✅ классическая «кардиоида» при общем масштабе
✅ «морские коньки» у границы множества
✅ бесконечно повторяющиеся структуры при увеличении
✅ тонкие детали и фрактальная «пыльца» при росте числа итераций
Изменяете параметры — и график пересчитывается сразу, создавая ощущение работы с настоящим оптическим прибором!
📎 Приложение доступно в Сообществе Engee, можно открыть и поэкспериментировать с параметрами.
📹 Видео в ВК
❗️ ❗️ ❗️ Хотите научиться создавать такие приложения в Engee?
15 апреля проведём вебинар, где покажем, как превращать модели и расчёты в интерактивные инженерные приложения.
➡️ Регистрация ⬅️
Когда-то рендер одного фрактала занимал часы вычислений. Сегодня интерактивное исследование бесконечных структур работает прямо в браузере — как обычное веб-приложение.
Этот проект показывает не столько математику множества Мандельброта, сколько то, как в Engee можно быстро превращать вычислительные модели в полноценные интерактивные приложения.
Мы собрали цифровой «математический микроскоп», где пользователь управляет параметрами модели и мгновенно видит результат расчёта. Модель фрактала рассчитывается на Julia, а интерфейс собран на фреймворке Genie. В результате получается интерактивный инструмент, где можно:
Что видно при моделировании
Изменяете параметры — и график пересчитывается сразу, создавая ощущение работы с настоящим оптическим прибором!
15 апреля проведём вебинар, где покажем, как превращать модели и расчёты в интерактивные инженерные приложения.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🥰4👌3🎉2
📡 5G New Radio в Engee
В Engee для этого существует специализированная библиотека блоков 5G NR, позволяющая собирать и исследовать реальные трактовые схемы без реализации стандарта с нуля.
Сегодня показываем её возможности на примерах проектов из Сообщества:
1️⃣ Канальное кодирование 5G NR
Модель демонстрирует архитектуру кодирования согласно 3GPP:
🔸 LDPC для пользовательских данных
🔸 Polar-коды для управляющих каналов
Реализованы все ключевые этапы: сегментация транспортного блока, CRC, кодирование, перемежение и скремблирование с поддержкой различных кодовых скоростей и размеров TB.
2️⃣ Канал управления PUCCH
Пример генерации Physical Uplink Contr
ol Channel (форматы 1–4):
🔸 маппинг UCI (HARQ-ACK, CSI, SR)
🔸 формирование последовательностей
🔸 OFDM-модуляция
Позволяет исследовать поведение uplink-сигналов и проверять алгоритмы обработки управления.
3️⃣ Передающий тракт PDSCH
Полный pipeline передачи данных:
🔸 скремблирование и модуляция
🔸 слоевое маппирование и предкодирование
🔸 формирование ресурсной сетки (DM-RS, PT-RS)
🔸 генерация OFDM-символов
Поддерживаются различные numerology (15/30/60/120 кГц) и конфигурации BWP.
👉 Что это даёт в Engee:
✅ моделирование PHY-уровня 5G из готовых блоков
✅ параметры строго по спецификациям 3GPP
✅ исследование отдельных алгоритмов без сборки всего стека
✅ расчёт BER, PSD, EVM
✅ подключение собственных алгоритмов через Engee Function
✅ верификация приёмников на эталонных сигналах
📎 Откройте проекты в Сообществе и посмотрите, как устроены реальные модели 5G внутри.
🚨 Конференция по системному моделированию, регистрация еще открыта
🎓 Вебинар Создание пользовательских приложений
👤 Расписание бесплатных тренингов
Алгоритмы 5G — это всегда баланс между строгими требованиями 3GPP и необходимостью быстро проверять идеи в моделях.
В Engee для этого существует специализированная библиотека блоков 5G NR, позволяющая собирать и исследовать реальные трактовые схемы без реализации стандарта с нуля.
Сегодня показываем её возможности на примерах проектов из Сообщества:
Модель демонстрирует архитектуру кодирования согласно 3GPP:
Реализованы все ключевые этапы: сегментация транспортного блока, CRC, кодирование, перемежение и скремблирование с поддержкой различных кодовых скоростей и размеров TB.
Пример генерации Physical Uplink Contr
ol Channel (форматы 1–4):
Позволяет исследовать поведение uplink-сигналов и проверять алгоритмы обработки управления.
Полный pipeline передачи данных:
Поддерживаются различные numerology (15/30/60/120 кГц) и конфигурации BWP.
Библиотека 5G NR в Engee позволяет сосредоточиться не на реализации стандарта, а на инженерной задаче — исследовании, прототипировании и проверке алгоритмов связи.
📎 Откройте проекты в Сообществе и посмотрите, как устроены реальные модели 5G внутри.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🎉5❤3🥰2
Как подружить облачную среду моделирования с облачным промышленным ПЛК?
Мы решили проверить это не теоретически, а на практике — интегрировали Engee с открытым программным контроллером OpenSoftPLC, разработанным «Северсталь-инфоком».
В рамках проекта возник вполне прикладной вопрос:
Можно ли управлять логикой программного ПЛК напрямую из модели Engee, если сама среда работает в браузере и не имеет прямого доступа к сетевым интерфейсам компьютера пользователя?
Как устроили интеграцию
Для решения использовали подсистему Engee.Интеграции.
Она работает как связующее звено: на локальной машине запускается агент, который соединяет по RPC облачную модель с сетевым стеком и внешним оборудованием.
Далее сценарий выглядит так:
1️⃣ Настройка ПЛК
В среде 4diac FORTE (IEC 61499) на удаленной виртуальной машине запущен алгоритм инкрементного счетчика со сбросом по внешнему сигналу. Контроллер настроен как Modbus Slave (порт 1502).
2️⃣ Подготовка среды Engee
Установлен пакет Engee.Интеграции и запущен локальный агент для работы с внешними устройствами.
3️⃣ Архитектура модели
В динамической модели использованы три интерфейсных блока:
• Modbus TCP Setup — установка соединения с ПЛК,
• Modbus Write Coil — передача бита сигнала сброса,
• Modbus Read Holding Register — чтение текущего значения счётчика из регистра.
4️⃣ Сценарий моделирования
Генератор импульсов с периодом 5 секунд отправляет сигнал сброса.
В этом режиме Engee выступает как Modbus Master, управляя ПЛК и одновременно считывая данные для анализа.
➡️ Результаты
Моделирование показало стабильную работу связки:
🔹 обмен данными происходит без потерь,
🔹 графики в Engee полностью повторяют логику работы счётчика,
🔹 команды управления исполняются с заданной периодичностью.
Интересная деталь: физически программный ПЛК находится в Череповце, а сервер модели — в Москве.
💎 Практическая польза
Такая архитектура позволяет использовать модель не только для разработки, но и как часть реального контура проверки:
🔸 тестировать алгоритмы управления без аппаратных стендов,
🔸 заранее проверять совместимость решений разных вендоров,
🔸 отлаживать распределённые системы до внедрения,
🔸 ускорять переход от модели к эксплуатации.
По сути, модель перестает быть просто расчетным инструментом и становится активным участником системы управления.
🔗 Полное описание и файлы модели доступны по ссылке
🚨 Конференция по системному моделированию, регистрация еще открыта
🎓 Вебинар Создание пользовательских приложений
👤 Расписание бесплатных тренингов
Мы решили проверить это не теоретически, а на практике — интегрировали Engee с открытым программным контроллером OpenSoftPLC, разработанным «Северсталь-инфоком».
Контекст задачи
Открытая АСУ ТП — это инициатива по созданию модульной и вендорно-независимой экосистемы промышленной автоматизации. В её основе лежит стандарт IEC 61499, ориентированный на распределённые и событийно-управляемые системы.
В рамках проекта возник вполне прикладной вопрос:
Можно ли управлять логикой программного ПЛК напрямую из модели Engee, если сама среда работает в браузере и не имеет прямого доступа к сетевым интерфейсам компьютера пользователя?
Как устроили интеграцию
Для решения использовали подсистему Engee.Интеграции.
Она работает как связующее звено: на локальной машине запускается агент, который соединяет по RPC облачную модель с сетевым стеком и внешним оборудованием.
Далее сценарий выглядит так:
В среде 4diac FORTE (IEC 61499) на удаленной виртуальной машине запущен алгоритм инкрементного счетчика со сбросом по внешнему сигналу. Контроллер настроен как Modbus Slave (порт 1502).
Установлен пакет Engee.Интеграции и запущен локальный агент для работы с внешними устройствами.
В динамической модели использованы три интерфейсных блока:
• Modbus TCP Setup — установка соединения с ПЛК,
• Modbus Write Coil — передача бита сигнала сброса,
• Modbus Read Holding Register — чтение текущего значения счётчика из регистра.
Генератор импульсов с периодом 5 секунд отправляет сигнал сброса.
В этом режиме Engee выступает как Modbus Master, управляя ПЛК и одновременно считывая данные для анализа.
Моделирование показало стабильную работу связки:
Интересная деталь: физически программный ПЛК находится в Череповце, а сервер модели — в Москве.
Такая архитектура позволяет использовать модель не только для разработки, но и как часть реального контура проверки:
По сути, модель перестает быть просто расчетным инструментом и становится активным участником системы управления.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10🤩4❤3 2
Друзья, представляем вашему вниманию проект из области радиолокации, в котором авторы не просто сравнивают два классических алгоритма определения угловых координат (DOA) — Beamscan и MVDR, но и демонстрируют, как быстро и наглядно строить динамические модели радиотехнических комплексов в Engee.
Ключевые узлы модели:
Почему в Engee удобно создавать такие модели?
Результаты сравнения алгоритмов
MVDR Spectrum
Beamscan Spectrum
Вывод
Выбор алгоритма зависит от задачи: MVDR, если важна разрешающая способность. Beamscan, если требуется надёжное обнаружение.
👉 Попробуйте сами по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14 4 4
Релиз 26.3 – новое в марте 🤖🌷 💻
Март для Engee прошёл чрезвычайно активно: Школа системного моделирования, подготовка к Конференции, первые по-весеннему солнечные дни, а еще новый релиз, который мы рады сегодня представить!
В нём мы сосредоточились на том, что напрямую влияет на ежедневную инженерную работу: скорость, точность, понятность инструментов и удобство моделирования.
Самое важное:
⭐️ Julia обновлена до версии 1.12;
⭐️ Новое приложение: Модальный анализ;
⭐️ Повышение качества диагностики физических моделей;
⭐️ Улучшение синтаксиса языка физического моделирования;
⭐️ Запись сигналов для моделей-ссылок;
А еще:
✅ Новые блоки и функции в библиотеках Механика, Навигация, Гидравлика, Электричество, Оборудование, ЦОС и РЧ;
✅ Решатели для реального времени в Solver Configuration;
✅ Валидация имени для пользовательских шин;
✅ Перенесли «Выделение не-скаляров» в правильный раздел;
✅ Поддержка внешнего Initial Condition у блока Discrete-Time Integrator;
✅ Новые статьи в Документации и новые Примеры;
✅ Убрали сетку холста;
Подробности, как и всегда, вы найдете в разделе Что нового 26.3.
А ещё напоминаем о предстоящих событиях:
🔶 23-24 апреля пройдет ежегодный тренинг по РЛС — место встречи профессионалов в области радиолокации. Успейте записаться по ссылке!
🔶 А 15 апреля мы вас ждем на вебинаре: «Создание инженерных приложений в Engee». Разберём, как превратить ваши расчеты и модели в удобные графические инструменты для команды. Регистрация ТУТ.
Хороших вам выходных!💼
Март для Engee прошёл чрезвычайно активно: Школа системного моделирования, подготовка к Конференции, первые по-весеннему солнечные дни, а еще новый релиз, который мы рады сегодня представить!
В нём мы сосредоточились на том, что напрямую влияет на ежедневную инженерную работу: скорость, точность, понятность инструментов и удобство моделирования.
Самое важное:
А еще:
Подробности, как и всегда, вы найдете в разделе Что нового 26.3.
А ещё напоминаем о предстоящих событиях:
Хороших вам выходных!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11 5🔥3🥰1
Media is too big
VIEW IN TELEGRAM
Друзья,
Знаете, как через Engee управлять другими моделями на других платформах в режиме косимуляции?
В приложенном видео (ссылка на ВК ниже) мы показываем, как Engee позволяет создать алгоритмическую часть гибридной модели, при этом другая ее часть будет выполняться в российском программном комплексе Euler, предназначенном для расчета механических систем.
↗️ Входные данные этого блока отправляются на ваш локальный компьютер и становятся выходными воздействиями для модели Euler
⬇️ Выходные данные блока Euler Cosimulation в Engee — это выходные показания датчиков на платформе Euler, которые фиксируют какие-либо измерения на каждом шаге интегрирования модели
📹 Видео в ВК
Подробнее об этой конфигурации вы можете узнать в Сообществе Engee или на странице Engee.Интеграции💼
Желаем удачи и ждем на наших мероприятиях:
🚨 Конференция по системному моделированию 8.04
🎓 Вебинар Создание пользовательских приложений 15.04
🎓 Тренинг по РЛС 23-24.04
👻 Подписаться в MAX
Знаете, как через Engee управлять другими моделями на других платформах в режиме косимуляции?
В приложенном видео (ссылка на ВК ниже) мы показываем, как Engee позволяет создать алгоритмическую часть гибридной модели, при этом другая ее часть будет выполняться в российском программном комплексе Euler, предназначенном для расчета механических систем.
Подробнее об этой конфигурации вы можете узнать в Сообществе Engee или на странице Engee.Интеграции
Желаем удачи и ждем на наших мероприятиях:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8🥰4🕊2
Forwarded from Экспонента для инженеров
На конференции вы узнаете, как системное моделирование превращает жизненный цикл сложных изделий в управляемый и предсказуемый процесс. От требований и архитектуры до разработки, испытаний и внедрения решений — все этапы объединены в единый контур управления.
Что вас ждёт:
📍 8 апреля, Москва, Holiday Inn Москва Сокольники
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4 3 1
This media is not supported in your browser
VIEW IN TELEGRAM
🎭 Обратные вызовы в масках: создаём интерактивные блоки
Для того чтобы работа инженера была эффективной, модель должна быть точной, наглядной и удобной.
Сегодня мы хотим рассказать вам об очень полезной возможности среды моделирования Engee - маскировании блоков.
Маска - это настраиваемый пользовательский интерфейс, упрощающий использование блока.
С помощью маски можно:
✔️ Создать окно настроек для быстрого изменения параметров подсистемы или блока;
✔️ Скрыть содержимое подсистемы и защитить её от случайных изменений;
✔️ Изменить внешний вид блока, настроив его иконку.
Мы подготовили простой и понятный пример, как с помощью обратных вызовов маски можно превратить обычную подсистему в интерактивный блок:
⭐️ Как использовать методы программного управления при формировании обратных вызовов маски;
⭐️ Как валидировать значения параметров, чтобы защитить блок от ввода некорректных данных;
⭐️ Как скрывать элементы управления в настройках блока, чтобы интерфейс стал по-настоящему отзывчивым;
⭐️ Как настроить иконку блока и вывести на неё полезную информацию.
🔗 Ознакомиться с проектом вы можете в Сообществе Engee.
Создавайте наглядные и надёжные блоки, и превращайте наработки в удобные инструменты, которыми будет легко поделиться с коллегами!
Желаем хороших выходных и ждём вас на ближайших мероприятиях:
🗓 Конференция по системному моделированию 08.04
📹 Вебинар "Создание пользовательских приложений" 15.04
🎓 Тренинг по РЛС 23.04-24.04
Для того чтобы работа инженера была эффективной, модель должна быть точной, наглядной и удобной.
Сегодня мы хотим рассказать вам об очень полезной возможности среды моделирования Engee - маскировании блоков.
Маска - это настраиваемый пользовательский интерфейс, упрощающий использование блока.
С помощью маски можно:
Мы подготовили простой и понятный пример, как с помощью обратных вызовов маски можно превратить обычную подсистему в интерактивный блок:
Создавайте наглядные и надёжные блоки, и превращайте наработки в удобные инструменты, которыми будет легко поделиться с коллегами!
Желаем хороших выходных и ждём вас на ближайших мероприятиях:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍4 3 3
👁️ Цифровая обработка изображений в Engee: от пикселей до компьютерного зрения
В сообществе Engee вышло сразу несколько практических разборов, показывающих разные методы обработки изображений: от базовых операций до задач сопоставления сцен.
➡️ Работа с матрицами пикселей
Любое изображение в Engee — это прежде всего матрица. Понимание структуры пиксельных данных позволяет строить собственные алгоритмы анализа вместо использования «чёрных ящиков».
➡️ Адаптивная бинаризация — когда освещение мешает алгоритму
Глобальный порог работает только в идеальных условиях. В реальных задачах освещение неоднородно, и тут нужны адаптивные методы.
Адаптивные методы позволяют корректно выделять объекты даже при сложном фоне и градиентах освещения — ключевой этап для распознавания документов и промышленного зрения.
➡️ Поиск и сопоставление ключевых точек (ORB)
Следующий уровень — уже геометрия сцены, в Engee демонстрируется: автоматическое обнаружение ключевых точек, сопоставление изображений, вычисление гомографии.
Такие алгоритмы лежат в основе: визуальной навигации, SLAM, робототехники, анализа изображений с БПЛА.
📹 Вебинар "Создание пользовательских приложений" 15.04
🎓 Тренинг по РЛС 23.04-24.04
Обработка изображений — это не только компьютерное зрение и нейросети. Большинство инженерных задач начинается гораздо раньше: с правильной работы с пикселями, бинаризации и выделения признаков.
В сообществе Engee вышло сразу несколько практических разборов, показывающих разные методы обработки изображений: от базовых операций до задач сопоставления сцен.
Любое изображение в Engee — это прежде всего матрица. Понимание структуры пиксельных данных позволяет строить собственные алгоритмы анализа вместо использования «чёрных ящиков».
Глобальный порог работает только в идеальных условиях. В реальных задачах освещение неоднородно, и тут нужны адаптивные методы.
Адаптивные методы позволяют корректно выделять объекты даже при сложном фоне и градиентах освещения — ключевой этап для распознавания документов и промышленного зрения.
Следующий уровень — уже геометрия сцены, в Engee демонстрируется: автоматическое обнаружение ключевых точек, сопоставление изображений, вычисление гомографии.
Такие алгоритмы лежат в основе: визуальной навигации, SLAM, робототехники, анализа изображений с БПЛА.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4🆒2❤1
12 апреля 1961 года Юрий Гагарин на корабле «Восток-1» впервые в истории человечества совершил орбитальный облет Земли. Ровно 65 лет назад его «Поехали!» стало символом безграничной дерзости мысли и научно‑технического прорыва.
Сегодня мы празднуем не только полет Гагарина, но и человеческое стремление познать Вселенную: от околоземной орбиты до самых загадочных объектов космоса.
🌌 Что движет космосом? Гравитация.
Но как она работает там, где заканчивается классическая физика, у пределов чёрной дыры? Ньютон дал нам закон всемирного тяготения и понятие скорости убегания. Эйнштейн перевернул всё: гравитация — это искривление пространства‑времени. И только общая теория относительности (ОТО) способна описать горизонт событий, замедление времени и спагеттификацию.
В Engee мы разместили новый пример про чёрные дыры, в нём вы сможете:
🛰 Engee — это платформа, где сложные темы становятся понятными, а обучение превращается в увлекательное исследование. Присоединяйтесь к сообществу, запускайте код, экспериментируйте и делитесь результатами!
С праздником, с Днём космонавтики! Пусть ваше любопытство не знает гравитационных барьеров 🧑🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🤩4 4 4
🎮 Как протестировать модель гидроусилителя руля без стенда: подключаем Logitech G29 в Engee
🔧 Что решали
Объект: система рулевого управления с гидравлическим усилителем (двухсторонний цилиндр, 4-ходовой распределитель, насос постоянного давления, торсион с механическими упорами).
Цель: проверить работу модели при реальных входных сигналах от «водителя» – до этапа испытаний на стенде КПМ РИТМ.
Условия: стенда реального времени еще нет, а алгоритмы переключения режимов (включение/отключение ГУР) нужно валидировать уже сейчас.
🔧 Что моделировали
• Динамику гидроцилиндра с учетом сжимаемости жидкости и перетечек
• Механическую нагрузку: пружина + демпфер + торсион (жёсткость 2.5 Н·м/град, упоры при >9°)
• Обратную связь через коэффициент усиления Gain = -0.0212, преобразующий угол руля в смещение штока клапана
• Режим отключения ГУР: при Gain = 0 система переходит в «ручное» управление
✍️ Конкретные инженерные шаги
✅ Технические результаты
• Угол поворота колёс модели точно повторяет входной сигнал от G29 (ошибка < 0.5° в установившемся режиме)
• При отключении ГУР наблюдается характерное запаздывание реакции колёс – модель корректно отражает потерю усиления
• Система устойчиво работает при шаге 1e-4: задержка ввода-вывода не превышает 12 мс
• Подсистема фильтрации эффективно подавляет высокочастотные шумы от джойстика без потери динамики
🔗 Полный проект доступен в каталоге сообщества Engee
📹 Видео в ВК
⭐️ Такая схема позволяет:
• Тестировать алгоритмы управления с реальным «железом» без капитальных затрат на стенд
• Отлаживать логику переключения режимов (ГУР вкл/выкл, аварийные сценарии) в безопасной среде
• Готовить модель к последующему развертыванию на КПМ РИТМ с минимальными доработками
• Собирать данные для обучения и валидации более сложных моделей (электрогидравлические системы, адаптивное усиление)
📹 Вебинар "Возможности Engee для моделирования Систем управления" 20.05
🎓 Тренинг "Моделирование в Engee" 27.05-28.05
Можно ли отладить алгоритмы управления в связке с реальным механизмом, когда под рукой нет HIL-стенда? Да – если использовать доступное оборудование и платформу Engee.Интеграции. Мы подключили контроллер руля Logitech G29 к физической модели в Engee и получили реалистичные данные в псевдореальном времени.
Объект: система рулевого управления с гидравлическим усилителем (двухсторонний цилиндр, 4-ходовой распределитель, насос постоянного давления, торсион с механическими упорами).
Цель: проверить работу модели при реальных входных сигналах от «водителя» – до этапа испытаний на стенде КПМ РИТМ.
Условия: стенда реального времени еще нет, а алгоритмы переключения режимов (включение/отключение ГУР) нужно валидировать уже сейчас.
• Динамику гидроцилиндра с учетом сжимаемости жидкости и перетечек
• Механическую нагрузку: пружина + демпфер + торсион (жёсткость 2.5 Н·м/град, упоры при >9°)
• Обратную связь через коэффициент усиления Gain = -0.0212, преобразующий угол руля в смещение штока клапана
• Режим отключения ГУР: при Gain = 0 система переходит в «ручное» управление
1. Подключили блок оборудования Logitech G29 Wheel к физической модели гидроусилителя (физические домены Гидравлика и Механика).
2. Добавили подсистему дифференцирования угла поворота для расчета угловой скорости
3. Реализовали логику переключения коэффициента обратной связи при нажатии кнопки «Enter» на руле
4. Настроили режим псевдореального времени с коэффициентом скорости симуляции = 1.0 и шагом интегрирования 1e-4 с.
5. Провели серию тестов: плавные повороты, резкие рывки, переключение режима ГУР «на ходу» с подключением к интерфейсам компьютера через платформу Engee.Интеграции.
• Угол поворота колёс модели точно повторяет входной сигнал от G29 (ошибка < 0.5° в установившемся режиме)
• При отключении ГУР наблюдается характерное запаздывание реакции колёс – модель корректно отражает потерю усиления
• Система устойчиво работает при шаге 1e-4: задержка ввода-вывода не превышает 12 мс
• Подсистема фильтрации эффективно подавляет высокочастотные шумы от джойстика без потери динамики
🔗 Полный проект доступен в каталоге сообщества Engee
• Тестировать алгоритмы управления с реальным «железом» без капитальных затрат на стенд
• Отлаживать логику переключения режимов (ГУР вкл/выкл, аварийные сценарии) в безопасной среде
• Готовить модель к последующему развертыванию на КПМ РИТМ с минимальными доработками
• Собирать данные для обучения и валидации более сложных моделей (электрогидравлические системы, адаптивное усиление)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Создаем модель алгоритма для надежных измерений
В новом проекте разобрано, как обеспечить надежные измерения.
➡️ Как это работает?
Смоделировали алгоритм объединения показаний нескольких датчиков с проверками исправности и отбрасыванием выбросов. Алгоритм назначает каждому датчику вес, который характеризует степень доверия к датчику - чем ниже вес, тем меньше мы доверяем датчику. Эти веса учитываются при объединении показаний, и если вес какого-то датчика меньше порогового значения, мы просто не работаем с его показаниями. А еще не забыли сначала применить фильтр на входе алгоритма для сглаживания сигнала.
➡️ Как это смоделировать?
Обработка показаний датчиков начинается с фильтрации. Изучили спектр измеряемого сигнала и синтезировали БИХ-фильтр нижних частот с помощью приложения Редактор Цифровых Фильтров. Для алгоритмов контроля исправности датчиков и исключения выбросов будем применять блоки из библиотеки Обработка сигналов. Сам наш алгоритм реализован в коде и работает внутри Engee Function. Мы не делаем ветки модели для каждого датчика, так как все блоки Engee умеют работать с векторными сигналами, и достаточно мультиплексировать показания датчиков перед работой алгоритма.
➡️ Проверяем работу
Мы смоделировали реальные показания датчиков, зашумив их значения, и добавили имитацию отказа датчика. В результате тестов получили стабильные измерения, которые работают даже во время отказа одного из датчиков.
🔥 Польза
Получили алгоритм согласования показаний датчиков, который будет применяться в наших последующих проектах. Алгоритм работает с произвольным количеством датчиков.
📹 Вебинар "Возможности Engee для моделирования Систем управления" 20.05
🎓 Тренинг "Моделирование в Engee" 27.05-28.05
В жизни мы постоянно сталкиваемся с измерениями - например, надо измерять температуру помещения для управления отоплением. Но правильно ли мы это делаем? Если мы ошибемся с измерением температуры в комнате, то ничего страшного не произойдет. А если мы измеряем угол тангажа самолета? Тут ошибки должны быть минимизированы! Поэтому во многих системах датчики дублируются или тренируются, и применяются специальные алгоритмы обработки их показаний.
В новом проекте разобрано, как обеспечить надежные измерения.
Смоделировали алгоритм объединения показаний нескольких датчиков с проверками исправности и отбрасыванием выбросов. Алгоритм назначает каждому датчику вес, который характеризует степень доверия к датчику - чем ниже вес, тем меньше мы доверяем датчику. Эти веса учитываются при объединении показаний, и если вес какого-то датчика меньше порогового значения, мы просто не работаем с его показаниями. А еще не забыли сначала применить фильтр на входе алгоритма для сглаживания сигнала.
Обработка показаний датчиков начинается с фильтрации. Изучили спектр измеряемого сигнала и синтезировали БИХ-фильтр нижних частот с помощью приложения Редактор Цифровых Фильтров. Для алгоритмов контроля исправности датчиков и исключения выбросов будем применять блоки из библиотеки Обработка сигналов. Сам наш алгоритм реализован в коде и работает внутри Engee Function. Мы не делаем ветки модели для каждого датчика, так как все блоки Engee умеют работать с векторными сигналами, и достаточно мультиплексировать показания датчиков перед работой алгоритма.
Мы смоделировали реальные показания датчиков, зашумив их значения, и добавили имитацию отказа датчика. В результате тестов получили стабильные измерения, которые работают даже во время отказа одного из датчиков.
Получили алгоритм согласования показаний датчиков, который будет применяться в наших последующих проектах. Алгоритм работает с произвольным количеством датчиков.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥6❤3👏1