Документация Engee

Пакет поддержки Euler

Пакет поддержки Euler обеспечивает работу Engee с решателем Euler через клиент-серверную DLL, которая работает в контексте решателя Euler и обменивается сигналами с Engee.

Пакет работает поверх подсистемы Engee.Интеграции.

По умолчанию используются порты:

  • Прием сигналов в Euler: 7489

  • Передача сигналов из Euler: 7490

Требования

  • Установлена и запущена подсистема Engee.Интеграции.

  • Установлен решатель Euler.

  • Доступны локально порты 7489 и 7490 (не заняты другими приложениями, разрешены правилами ОС/Firewall).

  • Конфигурация settings.cfg размещена в папке проекта Euler (рядом с открытым проектом — файлом .elr); DLL-библиотека интеграции может располагаться в любой папке и подключается в Euler по указанному пути.

Файл settings.cfg должен лежать в той же папке, что и открытый проект Euler (.elr). Иначе Euler не сможет прочитать конфигурацию.

Быстрый старт

  1. В Engee добавьте на холст блок Euler Cosimulation и сгенерируйте файл settings.cfg с параметрами сигналов — см. раздел Конфигурация settings.cfg и Пример settings.cfg ниже.

  2. Поместите settings.cfg в папку, где находится открытый проект Euler (.elr).

  3. В Euler перейдите в режим «Редактирование проекта» в верхнем меню.

  4. В правом окне выбора объектов:

    • Выберите объект sensor (датчик):

      euler app 1

    • Нажмите «Создание объекта»

      euler app 2

    • Во всплывающем окне выберите объект «Модель Engee»:

      euler app 3

  5. В появившемся окне сопоставьте входные и выходные сигналы Engee соответствующим датчикам (sensor) в Euler по именам, заданным в settings.cfg.

    euler app 4

    Объекты типа sensor (датчики) в Euler предназначены для получения численной информации о процессе движения механической модели. Каждый датчик возвращает вещественное значение с физической размерностью, зависящей от способа его создания.

    В рамках косимуляции EngeeEuler датчики используются как точки привязки сигналов: входные сигналы из Engee и выходные значения из Euler связываются именно через объекты sensor. Подробнее о датчиках в Euler можно ознакомиться в официальной документации по ссылке.

  6. В том же окне задайте основные параметры объекта Engee:

    • Укажите произвольное имя объекта (например, engee_connector);

    • Задайте путь к DLL-библиотеке интеграции;

    • Проверьте количество входных и выходных сигналов (берется из файла settings.cfg);

    • Укажите шаг расчёта модели Euler.

    euler app 5

  7. Назначьте входные и выходные сигналы Engee соответствующим датчикам (sensor) в Euler, выбирая датчики из списка:

    euler app 6

    В результате все сигналы будут назначены соответственным датчикам:

    euler app 7

  8. Далее откройте «Текстовый редактор»[1]:

    euler app 8

    и проверьте, что в коде проекта появился объект-коннектор между Engee и Euler:

    euler app 9

  9. В Euler перейдите в режим «Исследование проекта»:

    euler app 10

  10. Запустите модель в Engee и дождитесь начала симуляции. Сообщение о готовности к косимуляции должно появиться в клиентской программе Engee.Интеграции.

  11. После этого в Euler нажмите кнопку «Расчет динамики движения» euler app 14.

  12. По завершении расчета нажмите «Переход в исходное состояние» для освобождения ресурсов косимуляции и повторного запуска модели:

    euler app 12

Конфигурация settings.cfg

Файл settings.cfg описывает модель и состав сигналов для обмена между Engee и Euler: имена, количества, параметры модели и режим логирования.

Пример settings.cfg
MODEL_NAME OscillatorExample
INPUT_SIGNAL_COUNT 3
OUTPUT_SIGNAL_COUNT 3
MODEL_PARAM_COUNT 3
INPUT_SIGNAL_NAMES dX dY dZ
OUTPUT_SIGNAL_NAMES Fx Fy Fz
MODEL_PARAM_NAMES Cx Cy Cz
INIT_MODEL_PARAM 2000 2000 2000
CONTINUOUS_STATE_NUM_COUNT 0
DISCRETE_STATE_NUM_COUNT 0
DIAGNOSTIC 1
Параметры INIT_MODEL_PARAM, CONTINUOUS_STATE_NUM_COUNT и DISCRETE_STATE_NUM_COUNT зарезервированы и в дальнейшем применяться не будут.

Логирование

Параметр DIAGNOSTIC управляет записью логов в файл engee_logs.txt (располагается рядом с settings.cfg).

  • DIAGNOSTIC 1 — логирование включено.

  • DIAGNOSTIC 0 — логирование отключено.

Пример фрагмента engee_logs.txt
[2025-12-07 22:12:54] Euler model time: 0.053750
[2025-12-07 22:12:54] Engee model time: 0.054000
[2025-12-07 22:12:54] Received from Engee, signal dX: 0.400000
[2025-12-07 22:12:54] Received from Engee, signal dY: 0.300000
[2025-12-07 22:12:54] Received from Engee, signal dZ: 0.500000
[2025-12-07 22:12:54] Send from Euler, signal Fx: 0.305510
[2025-12-07 22:12:54] Send from Euler, signal Fy: 0.104000
[2025-12-07 22:12:54] Send from Euler, signal Fz: 0.524999

Важно

Для работы DLL необходимо синхронизировать момент начала интегрирования в Euler (с заданным шагом) с моментом инициирования передачи сигналов из Engee.

Запускайте модель в Engee раньше, чем интегрирование в Euler. Запуск процесса интегрирования в Euler необходимо выполнить не позднее чем через 30 секунд после старта модели в Engee.

1. Текстовый редактор Эйлер — это описательное (в виде кода) представление модели Эйлер.