FMU-генератор — инструмент TSMaster для упаковки модели в файл FMU. Поддерживаются стандарты FMI 3.0 и FMI 2.0, тип FMU — только Co-Simulation (CS), то есть FMU совместной симуляции. В статье — устройство окна генератора, параметры экспорта и пример совместной симуляции TSMaster и Simulink.
Ключевые слова: TSMaster, FMU, FMI, Co-Simulation, Simulink.
1. Назначение FMU-генератора
FMU — межъязыковой интерфейс симуляции, описывающий модель по стандарту FMI. Стандарт FMI определяет три типа FMU:
| Тип FMU | Описание |
|---|---|
| Model Exchange (ME) | FMU описывает симуляцию математическими уравнениями. Инструмент импорта должен подключить FMU к численному решателю: решатель задаёт состояние FMU, запрашивает производные состояния, выбирает шаг и вычисляет состояние на следующем шаге. |
| Co-Simulation (CS) | FMU содержит встроенный численный решатель. Инструмент импорта задаёт входы FMU, требует продвинуть модель на заданное время и читает выходы FMU. |
| Scheduled Execution (SE) | Интерфейс планируемого исполнения раскрывает отдельные разделы модели; планировщик импортёра управляет выполнением каждого раздела по отдельности. |
FMU-генератор TSMaster экспортирует FMU типа Co-Simulation версий FMI 2.0 и 3.0.
2. Окно FMU-генератора
Окно генератора состоит из четырёх областей: панель инструментов, настройки экспорта, область отображения и редактирования сигналов, браузер баз данных и системных переменных (рис. 2-1).

2.1. Панель инструментов
Служит для экспорта FMU, удаления сигналов и обновления базы данных. Назначение кнопок показано на рис. 2-2.

2.2. Настройки экспорта
Здесь задаются идентификатор, описание, версия и тип FMI/FMU, шаг симуляции и тип RPC:
| Параметр | Описание |
|---|---|
| Идентификатор | Только буквы, цифры и подчёркивания; начинается с буквы или подчёркивания. |
| Описание | Произвольные символы. |
| Версия FMU | 3.0 или 2.0. |
| Тип FMU | Пока поддерживается только Co-Simulation (CS). |
| Шаг | Шаг совместной симуляции. |
| Тип RPC | Пока только локальный RPC; FMU с локальным RPC нельзя вызывать из самого TSMaster. |
2.3. Область отображения и редактирования сигналов
Показывает сигналы, экспортируемые в FMU; для каждого настраиваются категория, канал и тип значения. Флажок в первом столбце включает или отключает экспорт сигнала или переменной.
3. Порядок работы с FMU-генератором
- Шаг 1. Выберите версию FMU и задайте идентификатор, описание, тип FMU, шаг симуляции и тип RPC.
- Шаг 2. Добавьте нужные сигналы или переменные из браузера баз данных и системных переменных.
- Шаг 3. В области сигналов измените категории сигналов и флажками подтвердите, что именно экспортируется.
- Шаг 4. Нажмите кнопку экспорта на панели инструментов и выберите путь — будет сгенерирован файл FMU.
- Шаг 5. Импортируйте FMU в симуляционную среду и выполните совместную симуляцию с TSMaster.
4. Пример: совместная симуляция TSMaster и Simulink
Пример демонстрирует связку TSMaster и Simulink: вход FMU — Torque, выход — Carspeed. Значение Torque приходит из Simulink, Carspeed вычисляется в TSMaster. Порядок действий:
- Шаг 1. В TSMaster сгенерируйте FMU версии 2.0 — конфигурация генератора на рис. 4-1.
- Шаг 2. Импортируйте FMU в Simulink и соберите модель по рис. 4-2: амплитуда sine wave — 10, смещение — 10, остальные параметры по умолчанию.
- Шаг 3. Создайте в TSMaster Python-мини-программу, имитирующую (виртуальную) зависимость между Torque и Carspeed (рис. 4-3).
- Шаг 4. Запустите симуляцию Simulink. Результат — на рис. 4-4: синяя линия — вход Torque, жёлтая — выход Carspeed.




FMU-генератор входит в состав лицензии TSMaster FMU Generator и работает совместно с модулем TSMaster MATLAB Controller.