TGViewer
Engee на старт! Engee на старт! @engee_com · 4.59K subscribers
Post #742 524
Друзья,

Представим, что у вас есть алгоритм, который годами работает и уже прошел проверку. Модель переезжает в Engee. Переписывать алгоритм с нуля?


Необязательно.

1️⃣Если сохранился Cи код, его можно подключить к модели через блок C Function. Если исходной реализации нет или алгоритм нужно переработать, его можно собрать в отдельный модуль на Julia, протестировать и затем подключить к Engee Function.

В проекте Буфер с внешним сбросом C Function реализует циклический буфер для потоковых данных. Состояние блока хранится в рабочих переменных: отдельно выделены буфер данных и счётчик позиции. Память заранее выделяется для каждого экземпляра блока, поэтому алгоритм работает без динамического выделения памяти.

Сам алгоритм остается на Си, а модель Engee используется для его проверки. Для буфера создана тестовая обвязка со входными данными и сигналом сброса, после чего запускается симуляция и анализируются результаты.

2️⃣Но исходного Cи кода может не быть. Тогда алгоритм приходится реализовывать заново. Для сложной логики не обязательно помещать весь код непосредственно в Engee Function.

В проекте Продвинутая разработка блоков на основе Engee Function алгоритм вычисления расстояний между наборами данных вынесен в отдельный модуль Julia. Модуль отдельно тестируется: проверяется обычный вызов функции, обработка несовместимых размерностей и корректность результата. Для оценки производительности измеряются время выполнения, объём выделяемой памяти и количество аллокаций.

🔧 Затем модуль подключается к Engee Function. Ошибки из вычислительной функции можно обрабатывать отдельно: например, при несовпадении размерностей возникает DimensionMismatch, который передается в диагностику Engee и останавливает симуляцию.

В итоге при миграции можно сохранить существующий Cи код или вынести новую реализацию в отдельный тестируемый модуль. При этом алгоритм остается частью модели: его можно запускать на модельных данных, проверять результаты, измерять производительность и обрабатывать ошибки в рамках одного инженерного цикла.

О том, как работать с существующим кодом и переносить алгоритмы в Engee, поговорим в День Engee 2026 в отдельной секции.

➡️ Программа и регистрация
  • 👍 5
  • 🥰 4
  • 🤝 1
More from @engee_com
  1. Sep 28, 2026🧑‍🎓 Запись вебинара «ПИД-регулятор в АСУ ТП: управление температурой в Engee» 🔗 Презент…
  2. Sep 25, 2026Релиз 26.9 – новое в сентябре 🍂 ☕️ ⚙️ Друзья, Сентябрь подходит к концу — за окном яркая…
  3. Sep 23, 2026Engee MIND — ИИ непосредственно в инженерном проекте На ИТОПК-2026 впервые представили Eng…
  4. Sep 18, 2026🔄 Почему ПИД теряет управление при насыщении: разбираем anti-windup Представим: регулятор…
  5. Sep 15, 2026Собрали в карточках, что вас ждёт в День Engee 2026: демозона с реальным оборудованием, но…
  6. Sep 11, 2026📡 EngeeDSP: инструменты для ЦОС в Engee Для ЦОС в Engee мы развиваем специализированную б…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →