Для создания кода C или C++ на основе моделей Simulink ®, диаграмм Stateflow ® и функций MATLAB ® используйте продукт Simulink Coder™. Создаваемый код используется в таких приложениях, как ускорение моделирования, быстрое создание прототипов и моделирование аппаратного обеспечения в цикле (HIL).
Если вы новичок в Simulink Coder или требования к настройке кода приложения минимальны, для быстрого создания кода можно использовать графические инструменты и настройки конфигурации модели по умолчанию.
Создание и просмотр кода могут быть такими же простыми, как и подготовка модели к созданию кода с помощью инструмента быстрого запуска. Затем с помощью инструментов кода, доступных из Simulink Editor, можно настроить интерфейсы данных, инициировать создание кода и проверить созданный код.
В данном учебном пособии используется пример модели rtwdemo_secondOrderSystem.
Откройте модель, введя имя модели в окне команд.
rtwdemo_secondOrderSystem

Модель реализует физическую систему второго порядка, называемую идеальной системой масса-пружина-демпфер. Блоки усиления представляют компоненты системного уравнения: Mass, Stiffness, и Damping. Уравнение для системы - mX "+ cX '+ kX = f (t).
m = масса системы (1.0E-6 кг)
c = коэффициент демпфирования (4,0e-4 Нс/м)
k = жесткость пружины (1,0 Н/м)
f(t) = функция форсирования в направлении x (N)
Блок генератора сигнала вводит квадратную форму волны с амплитудой 4 и частотой 20 Гц. Блок использует время моделирования в качестве источника значений для переменной времени формы сигнала. Поскольку модель сконфигурирована с решателем с фиксированным шагом, который необходим для создания кода, Simulink использует один и тот же размер шага для всего моделирования. Согласованный размер шага обеспечивает равномерно дискретизированное представление идеальной формы сигнала.
Пример модели показывает, как можно использовать функциональные блоки MATLAB для интеграции существующего кода функции MATLAB в модели Simulink, из которых можно создать встраиваемый код C. Функциональный блок MATLAB в примерной модели объединяет функцию MATLAB, которая вычисляет сумму переменных компонента.
Интеграторные блоки вычисляют интегралы выходного сигнала функционального блока MATLAB относительно времени. Решатель вычисляет выходной сигнал блока интегратора на текущем шаге времени, используя текущее входное значение и значение состояния на предыдущем шаге времени. Для поддержки этой вычислительной модели блок интегратора сохраняет выходные данные на текущем шаге времени для использования решателем для вычисления выходных данных на следующем шаге времени. Блок также предоставляет решателю начальное условие для использования при вычислении начального состояния блока в начале моделирования. Исходное условие по умолчанию и настройка для этой модели - 0.
Блоки приборной панели, Ручка и Область приборной панели, обеспечивают визуальную оснастку для настройки демпфирования и мониторинга формы сигнала. Блок ручки подключен к Damping
Блок усиления. Блок области инструментальной панели подключается к сигналам Force: f(t):1 и X.
Используйте эту модель, чтобы узнать, как:
Создайте код с помощью инструмента быстрого запуска Simulink Coder.
Убедитесь, что созданные результаты исполняемой программы соответствуют результатам моделирования.
Настройка параметра во время выполнения программы.
Развертывание прототипа кода и артефактов.
Для запуска учебного пособия см. раздел Создание кода C с помощью инструмента быстрого запуска Simulink Coder.