Что нового в 25.2
Дата релиза: февраль 2025
Общее
Редактор цифровых фильтров 2.0
Выпустили новую, обновленную версию приложения для разработки цифровых фильтров. Обновили дизайн приложения, оно стало красивее и удобнее. Улучшена генерация модели для КИХ и БИХ фильтров. Проведена оптимизация генерации – удаление нулевых, единичных усилений и минимизация элементов задержки (реализовано пока только для КИХ фильтров). Появились новые возможности выбора генерации модели фильтра. Напомним, что приложения Engee запускаются в соответствующем меню в интерфейсе.
Новые иконки для переменных
Обновили иконки переменных в соответствующем меню. Теперь ориентироваться в ваших переменных стало гораздо удобнее и проще. Также реализовали возможность расположить вкладки Окно переменных по горизонтали.
Переход на уровень выше в файловом браузере
Активно продолжаем работу над улучшением файлового браузера . Добавили возможность перейти на уровень выше в вашем хранилище файлов с помощью специальной иконки
. Также добавили иконку для файлов инспектора данных (.ngdat) и реализовали сортировку по данному типу файлов.
Горячие клавиши командной строки
Описали и добавили в меню горячих клавиш (Shift+?) горячие клавиши для командной строки . Теперь вы всегда можете открыть меню и ознакомиться с ними.
Доработки двойного клика для раскрытия окна
Раннее мы добавили возможность открыть любое окно в интерфейсе на весь экран с помощью двойного нажатия на заголовке окна. Теперь мы доработали эту функцию и она будет запоминать расположение окон до раскрытия, а при повторном двойном клике все вернется в то состояние, как и было:
Улучшения контекстного меню по ПКМ в Файловом браузере
Провели оптимизацию контекстного меню в файловом браузере. Убрали пункты, нерелевантные для различных типов файлов, а также добавили пункты, специфических для них. Например, теперь вы можете запустить скрипт или .jl-файл, просто нажав на него правой кнопкой мыши и выбрав соответствующий пункт. Быстро и удобно!
Локализация и обновления в документации
Мы начали большую и такую долгожданную работу по переводу блоков на русский язык. Надеемся, что вы уже заметили плоды этого труда. Со временем, все блоки в библиотеке будут переведены не только на русский, но и другие языки.
Кроме того, мы добавили в документацию важную статью по архитектуре моделей в Engee, а также обновили базовые разделы Быстрый старт и Интерфейс.
Среда математических вычислений
Графический редактор масок кодовых ячеек
Мы очень гордимся функциональностью масок для кодовых ячеек. Они позволяют в удобной и красивой форме параметризировать ваш код. Маски позволяют создавать настоящие инженерные мини-приложения из ваших ячеек кода. А теперь, вдохновляясь концепцией «no-code», мы реализовали графический редактор для элементов маски ячейки. Вы можете добавлять или редактировать элементы с помощью понятных и легко доступных кнопок и меню без необходимости описывать их в коде. Это просто великолепно!
Отладчик в редакторе скриптов
Такая долгожданная функция для всех, кто проводит много времени за разработкой и отладкой инженерных расчетных программ (и не только) в редакторе скриптов . Теперь вы можете выставить в кодовой ячейке точки останова и воспользоваться различными командами для отладки:
-
Продолжить — эта команда продолжает выполнение программы до следующей точки остановки или до завершения ячейки;
-
Шаг с обходом — эта команда выполняет текущую строку кода, но не заходит внутрь функций. Если текущая строка содержит вызов функции, то она будет выполнена полностью, и отладчик переходит к следующей строке;
-
Шаг с выходом — эта команда позволяет выйти из текущей функции и вернуться к месту, где она была вызвана.
Пример: если вы находитесь внутри функции
foo()
, и вы используете Шаг с выходом, то отладчик завершит выполнениеfoo()
и вернется к строке, следующей за вызовом этой функции. -
Шаг с заходом — эта команда позволяет перейти внутрь функции или метода, если текущая строка содержит вызов функции.
Пример: если у вас есть вызов функции
foo()
, и вы используете Шаг с заходом, то отладчик переходит внутрь функцииfoo()
.
Горячие клавиши для запуска выделенного кода или строки
Ранее мы добавили возможность выполнить выделенный код в фоне в командной строке для отладки. Теперь вы добавили соответствующие сочетания горячих клавиш:
-
Shift+F7 для выполнения выделенного кода;
-
Shift+F5 для выполнения строки, где стоит курсор.
Среда моделирования
Оптимизация и ускорение моделирования
Последние месяцы мы не переставали заниматься оптимизацией вычислительного ядра. Модели с физическими компонентами, которые при неудачно подобранных настройках раньше могли запускаться довольно долго, теперь ускорились от 2 до 15 раз. Также нам удалось добиться дальнейшего ускорения старта больших моделей (1000+ направленных блоков) до двух раз. В результате реорганизации и оптимизации внутреннего представления исполняемой модели получено ускорение счета на довольно широком классе моделей. Особенно оно будет заметно на специфических физических моделях, которые в режиме непрерывной синхронизации стали считаться до 10 раз быстрее.
Новые дополнительные настройки для графиков
Серьезно расширили функциональность окна графиков :
-
Теперь вы можете настраивать цвет, размер и форму линий отдельных сигналов по своему вкусу, требованиям и желаниям. Также вы можете добавлять на сигналы маркеры. Это бывает полезно, когда требуется отличить сигналы не только по цвету. Конечно же, новые настройки отображения линий сигналов на графике будут дублироваться и в легенде.
-
При увеличении размера шрифта на осях теперь также будет увеличиваться и размер шрифта в легенде Графика.
-
И в заключение добавили возможность удалить последний график, чтобы очистить поле полностью.
Новые возможности для отображения векторных сигналов
Доработали отображение векторных сигналов в окне графиков и инспекторе данных. Теперь вы можете выбрать требуемый сигнал из выпадающего списка и отдельно настроить отображение каждого сигнала по вашему вкусу.
Инспектор данных: новый график X от Y
Добавили новый тип графика для инспектора данных – Зависимость Х от Y. Такой тип графика уже давно доступен в основном окне графиков, теперь есть и в инспекторе.
Инспектор данных: запуск по двойному клику по иконке записи (так же известной как «значок антенны»)
Некоторым пользователям было не очень удобно запускать инспектор данных через меню Приложения Engee и искать там требуемый сигнал. Теперь вы можете быстро запустить инспектор с помощью двойного нажатия на антенну
и он подсветит для вас искомый сигнал.
Конечные автоматы: определение параметров из Рабочей области
Добавили в Конечные автоматы и блок Chart такую долгожданную функцию — возможность определить значение параметров и сигналов из рабочей области. Вам больше не нужно задавать их «руками». Теперь вы сможете задавать параметры моделей алгоритмов с помощью программного управления, рассчитывать их в скриптах и повышать уровень автоматизации в рамках МОП.
Отображение ошибки при пересечении блоков
Состояния в алгоритмах конечных автоматов не должны пересекаться. Чтобы помочь вам правильно расположить элементы конечного автомата на холсте, разработали специальную визуальную подсказку, которая покажет, когда требуется более удачное расположение состояний в модели.
Параллельные состояния
Реализовали поддержку параллельной декомпозиции состояний в блоке Chart. В отличие от исключающей декомпозиции, при использовании которой только одно состояние (внутри определенного уровня иерархии) может быть активно в заданный момент времени, параллельные состояния активируются одновременно. Это позволяет объединять взаимозависимые машины состояний в одну диаграмму и обеспечивает четкое разделение логических компонентов.
Для координации работы параллельных состояний, вы можете использовать новый оператор проверки активности состояния «in».
Конечные автоматы: Узел памяти
Добавили поддержку узлов памяти (History Junction) в редактор конечных автоматов. Узел памяти фиксирует активность дочерних состояний внутри родительского, для того чтобы при его повторной активации вернуться к последнему активному дочернему состоянию. Теперь моделировать сложную управляющую логику будет еще удобнее!
Подробнее про узел памяти вы можете прочитать в статье.
Конечные автоматы: отключение блоков
Еще одна новая функция в конечных автоматах. Реализовали возможность быстро отключать или подключать отдельные блоки в ваших алгоритмах конечных автоматов для отладки. Это действительно удобно.
Отображение свойств блока на холсте
Теперь вы можете вывести в аннотации важные свойства блока. Это очень удобно, поскольку избавляет от необходимости открывать окно настройки каждый раз при разработке или отладке. Параметризация модели стала еще более наглядной!
Engee Function: управление методами через интерфейс
Мы постоянно работаем над улучшением пользовательского опыта работы с блоком Engee Function — он позволяет создавать пользовательские блоки на языке Julia. Сейчас мы упростили управлением методами блока. Вы можете выбрать или скрыть требуемые методы из соответствующего контекстного меню и работать с ними.
Изменения параметров блока в процессе моделирования с помощью программного управления
Вы можете изменять параметры блоков Engee во время симуляции. В дополнение к возможности сделать это из окна настроек блока, мы реализовали возможность изменить параметры с помощью программного управления. С помощью команды engee.set_param!
вы можете задать значение параметра в процессе моделирования «на лету», а с помощью engee.update_params
вы можете обновить все параметры из рабочей области.
Возможность взаимодействовать с неподключенными сигналами
Многие привыкли взаимодействовать с неподключенными сигналами в процессе разработки для определения будущего облика модели или подготовки места для будущих связей и сигналов. Мы реализовали возможность делать это в Engee, теперь вы можете проводить их, ветвить и подключать другие сигналы.
Обновления для аннотаций: быстрый выбор размера шрифтов и «кат»
Добавили новые функции в Аннотации. Теперь вы можете быстро выбрать размер шрифта в заголовках аннотаций с помощью выпадающего меню. А также скрыть лишний или второстепенный текст «под кат».
Определение количества итераций нелинейного решателя
Для расчетов в реальном времени на КПМ РИТМ необходимо иметь возможность контролировать затраты машинного времени на выполнение шага модели. Мы добавили возможность явно указывать количество итераций нелинейного решателя в режиме быстрой дискретной синхронизации для физических сетей, а также нескольких экспериментальных настроек, позволяющих упростить обработку событий.
Новая библиотека: РЧ компоненты
Заложили основу для будущей библиотеки блоков Engee для проектирования радиочастотных систем связи и радиолокации.
Библиотека позволит осуществлять симуляцию нелинейных РЧ-усилителей и моделировать эффекты памяти для оценки коэффициента усиления, шума, интермодуляционных искажений четного и нечетного порядка. Вы сможете моделировать РЧ-смесители для того, чтобы предсказать ослабление по зеркальному каналу, взаимное смещение, фазовый шум гетеродина и смещение постоянной составляющей. И это далеко не все возможности будущей растущей библиотеки.
Обновления и исправления в блоках
Базовая библиотека
Обработка сигналов
Фазированные антенные решетки
Электричество
Радары
Аэрокосмические системы
Изотермическая жидкость
Теплопроводная жидкость
Системы связи
Обновления и исправления в библиотеках
Фазированные антенные решетки
Системные объекты:
-
EngeePhased.WidebandBackscatterRadarTarget
-
EngeePhased.NonlinearFMWaveform
-
EngeePhased.IntensityScope
-
EngeePhased.GCCEstimator
-
EngeePhased.CustomFMWaveform
-
EngeePhased.BeamspaceESPRITEstimator
Генерация кода
Поддержка фиксированной точки при генерации верификационных скриптов
Теперь при генерации верификационного блока C Function (подробнее см. здесь) поддерживаются типы данных с фиксированной точкой на интерфейсах верифицируемой подсистемы или модели.
Это позволяет осуществлять верификацию сгенерированного Verilog кода посредством симуляции.
Поддержка моделей-ссылок для генерации кода
Теперь поддерживается генерация кода для моделей-ссылок (блок Model). Это способствует лучшему разделению модели на компоненты, повторному использованию моделей и кода и командной разработке.
Запуск моделей на РИТМе
Настройки модели для запуска на РИТМе
Теперь в окне настроек модели при выборе машины РИТМ появляется дополнительная панель с параметрами:
Здесь можно настроить различные параметры работы модели на РИТМе. Более подробное описание читайте в статье.