Подготовьте модель к генерации кода

Несколько стандартных методов доступны для подготовки модели, чтобы сгенерировать определенные построения C в вашем коде. Для подготовки вашей модели для генерации кода некоторые из этих методов включают: конфигурирование сигналов и портов, инициализация состояний и параметров конфигурации подготовки для генерации кода. В зависимости от компонентов вашей модели некоторые из этих методов являются дополнительными. Методы для конфигурирования модели, чтобы сгенерировать определенные построения C организованы по категориям, например, категория Потока управления включает, создает if-else, switchдля, и while. Обратитесь к имени построения, чтобы видеть, как необходимо сконфигурировать блоки и параметры в модели. Различные методологии моделирования доступны, таковы как блоки Simulink®, графики Stateflow® и блоки MATLAB Function, которые реализуют построение C.

Примеры модели в Моделировании Шаблонов для кода С имеют следующие соглашения о присвоении имен:

Компоненты моделиСоглашение о присвоении имен
Входные параметрыu1, u2, u3, и так далее
Выходные параметры y1, y2, y3, и так далее
Параметрыp1, p2, p3, и так далее
Состоянияx1x2 , x3, и так далее

Input port называют, чтобы отразить имена сигнала, которые они распространяют.

Сконфигурируйте Input port, выходные порты и произвольные сигналы

  1. Создайте модель в Simulink. Для получения дополнительной информации смотрите Интерактивное Редактирование моделей (Simulink).

  2. На вкладке Modeling нажмите Model Data Editor. Можно также использовать горячую клавишу Ctrl + Shift + E.

  3. В Model Data Editor, на вкладке Inports/Outports или вкладке Signals, используют столбец Signal Name, или столбец Name, чтобы дать цель сигнализируют об имени.

  4. Установите Change view выпадающий список на Code.

  5. Используйте столбец Storage Class, чтобы применить класс памяти к сигналу.

    Например, примените класс памяти ExportedGlobal, который заставляет сигнал появиться в сгенерированном коде как отдельная глобальная переменная. Переменная имеет то же имя как сигнал в модели.

Инициализируйте и сконфигурируйте состояния

  1. В Model Data Editor, на вкладке States, используют столбец Initial Value, чтобы задать начальные значения для состояния блока (такие как состояние блока Unit Delay).

  2. Установите Change view выпадающий список на Code.

  3. Используйте столбец Name, чтобы дать состоянию имя.

  4. Используйте столбец Storage Class, чтобы применить класс памяти к состоянию.

Настройте параметры конфигурации для генерации кода

  1. На вкладке C Code нажмите Settings, чтобы открыть диалоговое окно Configuration Parameters. Можно также использовать горячую клавишу Ctrl + E.

    Откройте диалоговое окно Configuration Parameter путем выбора Simulation> Model Configuration parameters.

  2. Откройте панель Solver и выбор

    • Solver type: Fixed-Step

    • Solver: discrete (no continuous states)

  3. Откройте панель Optimization и установите Default parameter behavior на Inlined.

  4. Откройте панель Code Generation и задайте ert.tlc как System Target File.

  5. Очистите Generate makefile.

  6. Выберите Generate code only.

  7. Включите генерацию отчета HTML путем открытия Code Generation> панель Report и выбора Create code generation report и Open report automatically. Кликните по горизонтальному замещающему знаку и, под Advanced parameters, выберите Code-to-model. Включение генерации отчета HTML является дополнительным.

  8. Нажмите Apply и затем OK, чтобы выйти.

Настройте модель в качестве примера с диаграммой Stateflow

Выполните эту общую процедуру, чтобы создать простую модель, содержащую диаграмму Stateflow.

  1. От библиотеки Stateflow > Chart добавьте диаграмму Stateflow в свою модель.

  2. Добавьте блоки Inport и блоки Outport согласно модели в качестве примера.

  3. Откройте Stateflow Editor путем выполнения одного из следующего:

    • Дважды кликните диаграмму Stateflow.

    • Нажмите Ctrl+R.

  4. Выберите Chart > Add Inputs & Outputs > Data Input from Simulink, чтобы добавить входные параметры в график. Диалоговое окно Data открывается для каждого входа.

  5. Задайте (u1, u2, ...) Name и Type (Inherit: Same as Simulink) для каждого входа, если не задано по-другому в примере. Нажмите OK.

    Нажмите Apply и закройте каждое диалоговое окно.

  6. Выберите Chart > Add Inputs & Outputs > Data Output from Simulink, чтобы добавить выходные параметры в график. Диалоговое окно Данных открывается для каждого выхода.

  7. Задайте (y1, y2, ...) Name и Type (Inherit: Same as Simulink) для каждого выхода, если не задано по-другому в примере. Нажмите OK.

  8. Нажмите Apply и закройте каждое диалоговое окно.

  9. В Stateflow Editor создайте схему Stateflow, характерную для примера.

  10. Вводы и выводы появляются на графике в вашей модели.

  11. Соедините блоки Inport и Outport с диаграммой Stateflow.

  12. Сконфигурируйте сигналы ввода и вывода; смотрите Конфигурируют Input port, Выходные порты и Произвольные Сигналы.

Настройте модель в качестве примера с блоком MATLAB Function

  1. Добавьте количество Inport и блоков Outport согласно примеру построения C, включенному в эту главу.

  2. От Simulink Пользовательская библиотека Functions перетаскивают блок MATLAB Function в модель.

  3. Дважды кликните блок. Редактор блока MATLAB function открывается. Отредактируйте функцию, чтобы реализовать ваше приложение.

  4. На вкладке Editor нажмите Save и закройте Редактор блока MATLAB function.

  5. Соедините блоки Inport и Outport с блоком MATLAB Function. Смотрите Конфигурируют Input port, Выходные порты и Произвольные Сигналы.

  6. Сохраните свою модель.