После того, как вы создаете модель, которая содержит блок FMU, можно создать и загрузить модель на целевой компьютер при помощи Simulink® Real-Time™. Нижеследующие ограничения применяются:
Simulink Real-Time поддерживает блоки FMU для режима Co-Simulation. Simulink Real-Time не поддерживает блоки FMU для режима Model Exchange.
Simulink Real-Time не поддерживает блоки FMU в модели, на которую ссылаются. блоки FMU должны быть в верхнем уровне модели.
Simulink Real-Time генерирует диалоговое окно маски, которое содержит и параметры со знаком строки и с числовым знаком. Однако Simulink Real-Time генерирует код для только числового - оцененные параметры.
Чтобы преобразовать модель Simulink, которая содержит блоки FMU к модели Simulink Real-Time, устанавливает модель Configuration Parameters на значения, совместимые с выполнением в реальном времени:
В панели Code Generation, набор System target file к slrt.tlc
.
В панели Solver:
Установите Type на Fixed-step
.
Установите Fixed-step size на размер шага, совместимый с требованиями в реальном времени вашей модели.
Можно затем создать и загрузить модель на целевой компьютер и запустить приложение реального времени. Процесс сборки и загрузки загружает необходимые двоичные файлы FMU.
Чтобы открыть модель в качестве примера, которая содержит блоки FMU, запускающиеся в Simulink Real-Time, введите dslrt_bouncing_cs
в командном окне MATLAB®.
Когда вы создаете FMU, зависимости от внешнего DLLs являются важным соображением. Например, если командная строка компилятора не обеспечивает флаг MT, компоновщик соединяет .obj
файл с MSVCRT.lib
. Эта библиотека зависит от многих DLLs, которые недоступны на Simulink Действительный-Timetarget компьютер.
Флаг MT на командной строке компилятора заставляет приложение реального времени использовать мультипоток, статическую версию библиотеки времени выполнения. С MT компилятор помещает LIBCMT.lib
в .obj
файл, таким образом, компоновщик использует LIBCMT.lib
разрешить внешние символы.
Создавать FMU для приложения реального времени Simulink Real-Time, в make-файле, чтобы создать FMU, изменение от:
cl /wd4090 /nologo %DEF% ..\%1\%1.c /I ..\. /I ..\..\%FMI_DIR%\include
Превратитесь на:
cl /MT /wd4090 /nologo %DEF% ..\%1\%1.c /I ..\. /I ..\..\%FMI_DIR%\include
Примечание: Simulink Real-Time поддерживает блоки FMU, которые выполняют FMU v1.0. Блоки, выполняющие FMU v2.0, не поддержаны.