Simulink ® Compiler™ позволяет совместно использовать симуляции Simulink в качестве автономных исполняемых файлов. Можно создать исполняемые файлы, упаковав скомпилированную модель Simulink и код MATLAB ® для настройки, запуска и анализа моделирования. Автономные исполняемые файлы могут представлять собой приложения полного моделирования, использующие графические и пользовательские интерфейсы MATLAB, разработанные с помощью MATLAB App Designer. Для косимуляции с внешней средой моделирования можно создать автономные двоичные файлы FMU (Functional Mockup Unit, FMI), соответствующие стандарту Functional Mockup Interface (FMI).
Simulink Coder™ генерирует и выполняет код C и C++ из моделей Simulink, диаграмм Stateflow ® и функций MATLAB. Созданный исходный код может использоваться для приложений в реальном времени и не в реальном времени, быстрого прототипирования и тестирования оборудования в цикле. Можно настроить и контролировать созданный код с помощью Simulink или запустить и взаимодействовать с кодом вне MATLAB и Simulink.
В следующей таблице приведены основные сравнения компилятора Simulink и кодера Simulink. Эта таблица используется для понимания различий между приложениями и использованием двух продуктов.
| Результаты и поддержка | Компилятор Simulink | Симулинк-кодер |
|---|---|---|
| Основной сценарий использования | Развертывание моделирования в виде автономных исполняемых файлов на настольных или производственных серверах | Создание портативного кода C/C + + для модели Simulink, который можно развернуть на встраиваемых платформах или настольных ПК |
| Продукция | Исполняемый или программный компонент или общая библиотека | Переносной и читаемый исходный код C/C + + |
| Поддержка блоков Simulink | Все блоки, поддерживаемые в режиме ускорителя Rapid в Simulink | Подмножество блоков Simulink |
| Поддерживаемые блоки | Все блоки, поддерживаемые режимом Rapid Accelerator в Simulink | Подмножество блоков Simulink |
| Производство | Производственный сервер MATLAB | Встроенный кодер |
| Поддержка графики Simulink | Поддержка графики MATLAB. | Ничего |
| Зависимости библиотеки | Среда выполнения MATLAB | Ничего |
В следующей таблице приведены ответы на некоторые распространенные вопросы об использовании Simulink Compiler и Simulink Coder, такие как требуемая память, производительность и другие вопросы о поддержке.
| Общие вопросы | Компилятор Simulink | Симулинк-кодер |
|---|---|---|
| Какие файлы создаются? | Общие исполняемые файлы или библиотеки вместе с необходимыми компонентами среды выполнения MATLAB. | Исходный код (*.c & *.h), которые могут быть скомпилированы в общие библиотеки и исполняемые файлы |
| На каких платформах можно развернуть эти файлы? | Все платформы, поддерживаемые MATLAB (Windows, Mac и Linux) | Любая платформа, поддерживающая код ANSI/ISO C/C + + |
| Генерирует ли он читаемый код? | Нет, только нечитаемые общие библиотеки | Да, читаемый исходный код |
| Это быстрее, чем Simulink? | Выполняется с той же скоростью, что и режим ускорителя Rapid в Simulink. | Имеет потенциал быть быстрее, в зависимости от алгоритма. Генерируемый код не является более быстрым для оптимизированной функции MATLAB (например, функции FFT или обработки изображений и Computer Vision). Используйте GPU кодера GPU Coder™ для генерации исходного кода CUDA, который потенциально работает быстрее на GPU NVIDIA. |
| Использует ли она преимущества аппаратных ускорителей? | Поддерживает те же аппаратные средства, что и MATLAB, включая графические процессоры и AVX. Многоядерные процессоры и кластеры поддерживаются с помощью Parallel Computing Toolbox | Код C, выполняемый на локальных многоядерных машинах, может поддерживаться с помощью OpenMP API. Используйте кодер графического процессора для создания исходного кода CUDA, который выполняется на графических процессорах NVIDIA. Используйте Coder™ HDL для создания Verilog или VHDL, работающих на FPGA. |
| В чем разница в использовании памяти на рабочем столе? | Сильно зависит от исполняемых файлов. Сама среда выполнения MATLAB использует больше памяти, чем Simulink Coder. | Сильно зависит от кода MATLAB. |
| Какие форматы ввода/вывода файлов поддерживает каждое программное обеспечение? | Поддерживает все форматы, поддерживаемые в MATLAB | Ограниченная поддержка файлов: текстовые файлы, аудио и видео форматы. Не поддерживает форматы изображений. |