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

EDM-Target-FMI

Экспорт FMU из модели Engee.

Тип: SubSystem

Путь в библиотеке:

/Interfaces/Targets/EDM-Target-FMI

Описание

Для работы с блоком установите/обновите пакет поддержки оборудования.

Блок EDM-Target-FMI предназначен для экспорта FMU из модели Engee с использованием генератора кода через подсистему Engee.Интеграции.

FMU — это архив, содержащий модель и вспомогательные файлы в формате FMI. Формат FMI используется для обмена моделями между различными инструментами моделирования и симуляции.

При запуске в режиме Target Hardware из модели генерируется Си-код. Затем он компилируется на компьютере пользователя в разделяемую библиотеку .so или .dll, после чего библиотека упаковывается в архив FMU вместе со вспомогательной информацией для импорта.

В результате работы блока пользователь получает готовый .fmu-файл, который можно использовать для импорта в FMI-совместимые инструменты.

Ограничения

Запуск экспортированного FMU возможен только на компьютере с операционной системой того же семейства, на котором FMU был собран:

  • FMU, собранный на Windows, предназначен для запуска на Windows;

  • FMU, собранный на Linux, предназначен для запуска на Linux.

Если необходимо использовать FMU на нескольких платформах, экспорт следует выполнить отдельно на каждой целевой платформе.

Предварительные требования

Перед использованием блока убедитесь, что:

  • модель успешно запускается в Engee;

  • для модели доступна генерация Си-кода;

  • на компьютере пользователя установлен поддерживаемый компилятор;

  • установлен генератор системы сборки;

  • настроена подсистема Engee.Интеграции;

  • у пользователя есть права на запись в директорию экспорта FMU и в директорию кодогенерации.

Для компиляции разделяемой библиотеки на компьютере пользователя должны быть установлены компилятор и генератор системы сборки.

Инструкция по установке необходимых компонентов для Windows доступна по ссылке.

Пример настройки

Пример значений параметров для Linux:

Параметр Пример значения

FMI version:

2.0

FMU output folder:

/home/user/fmu_export

Codegen folder:

/home/user/fmu_build

Пример значений параметров для Windows:

Параметр Пример значения

FMI version:

2.0

FMU output folder:

C:\Users\User\fmu_export

Codegen folder:

C:\Users\User\fmu_build

Порядок работы

  1. Добавьте блок EDM-Target-FMI в модель.

  2. Выберите версию FMI.

  3. Укажите директорию экспорта FMU.

  4. Укажите директорию кодогенерации.

  5. Запустите модель в режиме Target Hardware.

  6. Дождитесь завершения генерации кода и сборки.

  7. Откройте директорию экспорта FMU и проверьте наличие .fmu-файла.

Результат работы

После успешного выполнения в директории экспорта будет создан FMU-файл.

В директории кодогенерации будут находиться промежуточные файлы генерации кода и артефакты сборки. Эти файлы могут быть полезны для диагностики ошибок компиляции или настройки окружения.

Пример использования

Готовый пример модели example_fmi_target.engee доступен в составе демонстрационных примеров Engee-Device-Manager.

Чтобы загрузить примеры, воспользуйтесь командой engee.package.getdemos:

engee.package.getdemos("Engee-Device-Manager")

Параметры

EDM Target FMI

# FMI version: — версия FMI
2.0 | 3.0

Details

Версия FMI для экспорта. Доступны варианты 2.0 и 3.0.

Значения

2.0 | 3.0

Значение по умолчанию

3.0

Имя для программного использования

fmi_version

Настраиваемый

Нет

Вычисляемый

Да

# FMU output folder: — директория экспорта FMU

Details

Директория на компьютере пользователя, в которую будет помещен собранный FMU-файл.

Значение по умолчанию

.

Имя для программного использования

fmi_folder

Настраиваемый

Нет

Вычисляемый

Да

# Codegen folder: — директория кодогенерации

Details

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

Рекомендуется использовать разные директории для экспорта FMU и кодогенерации. Директория экспорта предназначена для итогового .fmu-файла, а директория кодогенерации — для промежуточных файлов сборки.
Значение по умолчанию

.

Имя для программного использования

codegen_folder

Настраиваемый

Нет

Вычисляемый

Да