Сконфигурируйте модель и сгенерируйте код

Об этом примере

Изучение целей

  • Сконфигурируйте модель для генерации кода.

  • Примените инструменты проверки модели, чтобы обнаружить условия и параметры конфигурации, приводящие к генерации неточного или неэффективного кода.

  • Сгенерируйте код из модели.

  • Найдите и идентифицируйте файлы сгенерированного кода.

  • Рассмотрите сгенерированный код.

Необходимые условия

  • Способность открыться и изменить модели Simulink® и подсистемы.

  • Способность установить параметры конфигурации модели.

  • Способность использовать Model Advisor Simulink.

  • Способность считать код С.

  • Установленный, поддерживаемый компилятор C.

Необходимые файлы

rtwdemo_throttlecntrl файл модели

Сконфигурируйте модель для генерации кода

Параметры конфигурации модели определяют метод для генерации кода и получившегося формата.

  1. Открытый rtwdemo_throttlecntrl и сохраните копию как throttlecntrl в перезаписываемом месте на вашем пути MATLAB. Затем откройте приложение Simulink Coder.

  2. Откройте диалоговое окно Configuration Parameters, панель Solver. Чтобы сгенерировать код для модели, необходимо сконфигурировать модель, чтобы использовать решатель фиксированного шага. Следующая таблица показывает настройку решателя для этого примера.

    ПараметрУстановкаЭффект на сгенерированном коде
    TypeFixed-stepОбеспечивает постоянный (фиксированный) размер шага, который требуется для генерации кода
    Solverdiscrete (no continuous states)Применяет метод интегрирования фиксированного шага для вычисления производной состояния модели
    Fixed-step size.001Устанавливает базовую ставку; должно быть наименьшее общее кратное уровней в системе

  3. Установите параметр конфигурации модели System target file на grt.tlc.

    Примечание

    GRT (Типовая Цель В реальном времени) настройка требует решателя фиксированного шага. Однако rsim.tlc системный конечный файл поддерживает переменную генерацию кода шага.

    Системный конечный файл задает среду для генерации и строительные нормы и правила для выполнения на определенном оборудовании или платформе операционных систем. Например, одно свойство системного конечного файла является значением для CodeFormat Переменная TLC. Настройка GRT требует фиксированного решателя шага, и rsim.tlc поддерживает переменную генерацию кода шага.

  4. Установите параметр конфигурации модели Include directories можно следующим образом:

    "$matlabroot$\toolbox\rtw\rtwdemos\EmbeddedCoderOverview\"

    Эта папка включает файлы, которые требуются, чтобы создавать исполняемый файл для модели.

  5. Закройте диалоговое окно Model Configuration Parameters.

Сохраните свою настройку модели как функцию MATLAB

Можно сохранить настройки параметров конфигурации модели как функция MATLAB® при помощи getActiveConfigSet функция. В командном окне MATLAB, введите:

thcntrlAcs = getActiveConfigSet('throttlecntrl');
thcntrlAcs.saveAs('throttlecntrlModelConfig');

Можно затем использовать получившуюся функцию (например, throttlecntrlModelConfig) к:

  • Заархивируйте настройку модели.

  • Сравните различные настройки модели при помощи инструментов дифференцирования.

  • Установите настройку других моделей.

Например, можно установить настройку модели myModel совпадать с настройкой моделей контроллеров дросселя путем открытия myModel и ввод:

myModelAcs = throttlecntrlModelConfig;
attachConfigSet('myModel', myModelAcs, true);
setActiveConfigSet('myModel', myModelAcs.Name);

Для получения дополнительной информации смотрите, Сохраняют Конфигурацию модели и Загрузку Сохраненная Конфигурация модели.

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

Прежде, чем сгенерировать код для модели, используйте Model Advisor Simulink, чтобы проверять модель на условия и параметры конфигурации. Эта проверка находит проблемы, которые могут привести к неточному или неэффективному коду.

  1. Открытая модель throttlecntrl. Затем откройте приложение Simulink Coder.

  2. Запустите Model Advisor. Во вкладке C Code нажмите C/C++ Code Advisor. Диалоговое окно открывает показ системной иерархии модели.

  3. Нажмите rtwdemo_throttlecntrl и затем нажмите OK. Окно Model Advisor открывается.

  4. На правой панели выберите Run this check. Отчет показывает Run Summary, что флаги проверяют предупреждения.

  5. Рассмотрите отчет. Предупреждения подсвечивают проблемы. На данном этапе можно проигнорировать их. Для получения дополнительной информации об отчетах, вид на море Отчеты Проверки Model Advisor.

Сгенерируйте код для модели

  1. Открытый throttlecntrl. Затем откройте приложение Simulink Coder.

  2. Выберите параметр конфигурации модели Generate code only.

  3. Выберите параметр конфигурации модели Create code generation report и нажмите Apply.

  4. Сгенерируйте код.

    Сообщения появляются в Средстве просмотра Диагностики. Генератор кода производит стандарт C и заголовочные файлы и отчет генерации кода HTML. Генератор кода помещает файлы в папку сборки, подпапку под названием throttlecntrl_grt_rtw под вашей текущей рабочей папкой.

Рассмотрите сгенерированный код

  1. В отчете генерации кода щелкните по ссылке для сгенерированного файла модели C и рассмотрите сгенерированный код. Ищите эти элементы в отчете:

    • Идентификация, версия, метка времени и комментарии настройки.

    • Ссылки, чтобы помочь вам перейти в и между файлами

    • Определения данных

    • Код планировщика

    • Код контроллера

    • Функции инициализации и завершения модели

    • Вызовите интерфейс для системного конечного файла GRT — выход, обновление, инициализация, запуститесь, и оконечный

  2. Сохраните и закройте модель throttlecntrl.

Рассмотрите исследование следующих файлов. В генерации кода сообщают о панели Contents, щелкают по ссылкам.

ФайлОписание
throttlecntrl.cC файл, который содержит планировщик, контроллер, инициализацию и интерфейсный код
throttlecntrl_data.cC файл, который присваивает значения сгенерированным структурам данных
throttlecntrl.hЗаголовочный файл, который задает структуры данных
throttlecntrl_private.hЗаголовочный файл, который задает данные, используемые только сгенерированным кодом
throttlecntrl_types.hЗаголовочный файл, который задает структуру данных модели

Для получения дополнительной информации смотрите, Управляют Зависимостями от Файла Процесса сборки.

На данном этапе рассмотрите данные о регистрации к MAT-файлу. Для примера см. Данные логов для Анализа.

Сгенерируйте исполняемый файл

  1. Открытый throttlecntrl. Затем откройте приложение Simulink Coder.

  2. Параметр конфигурации модели Clear Generate code only и нажимает Apply.

  3. Создайте модель. См. сообщения в Средстве просмотра Диагностики. Генератор кода использует make-файл шаблона, сопоставленный с вашим системным выбором конечного файла, чтобы создать исполняемый файл. Можно запустить эту программу на рабочей станции, независимой от внешней синхронизации и событий.

  4. Проверяйте свою рабочую папку на файл throttlecntrl.exe.

  5. Запустите исполняемый файл. В Командном окне введите !throttlecntrl. ! символ передает команду, которая следует за ним к операционной системе, которая запускает автономную программу.

    Программа продолжает одну линию вывода в Командном окне:

    ** starting the model **

    На данном этапе рассмотрите данные о регистрации к MAT-файлу. Для примера см. Данные логов для Анализа.

Совет

Для платформ UNIX® запустите исполняемую программу в Командном окне с синтаксисом !./executable_name. Если предпочтено, запуск исполняемая программа от ОС окружают с синтаксисом ./executable_name. Для получения дополнительной информации смотрите Запуск Внешние Команды, Скрипты и Программы.

Ключевые пункты

  • Чтобы сгенерировать код, измените настройку модели, чтобы указать, что решатель фиксированного шага затем выбирает системный конечный файл. Используя grt.tlc файл требует решателя фиксированного шага. Если модель содержит непрерывные блоки времени, можно использовать решатель переменного шага с rsim.tlc системный конечный файл.

  • После отладки модели считайте конфигурирование модели со встраиванием параметра включенным.

  • Используйте getActiveConfigSet функционируйте, чтобы сохранить настройку модели для будущего использования или применить его к другой модели.

  • Прежде, чем сгенерировать код, рассмотрите проверку модели с Model Advisor.

  • Генератор кода помещает сгенерированные файлы в подпапку (model_grt_rtw) из вашей рабочей папки.

Похожие темы