exponenta event banner

Настройка модели и создание кода

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

Цели обучения

  • Настройте модель для создания кода.

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

  • Создание кода из модели.

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

  • Просмотрите созданный код.

Предпосылки

  • Возможность открывать и изменять модели и подсистемы Simulink ®.

  • Возможность установки параметров конфигурации модели.

  • Возможность использования Simulink Model Advisor.

  • Возможность чтения кода C.

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

Обязательные файлы

rtwdemo_throttlecntrl файл модели

Конфигурирование модели для создания кода

Параметры конфигурации модели определяют метод генерации кода и результирующий формат.

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

  2. Откройте диалоговое окно «Параметры конфигурации» на панели «Решатель». Чтобы создать код для модели, необходимо настроить модель на использование решателя с фиксированным шагом. В следующей таблице показана конфигурация решателя для этого примера.

    ПараметрНастройкаВлияние на сгенерированный код
    НапечататьFixed-stepПоддерживает постоянный (фиксированный) размер шага, необходимый для создания кода
    Решающее устройствоdiscrete (no continuous states)Применение метода интеграции с фиксированным шагом для вычисления производной состояния модели
    Фиксированный размер шага.001Задает базовую скорость; должно быть наименьшим общим кратным ставкам в системе

  3. Задайте для параметра конфигурации модели System target file значение grt.tlc.

    Примечание

    Конфигурация GRT (Generic Real-Time Target) требует решателя с фиксированным шагом. Тем не менее, rsim.tlc системный целевой файл поддерживает генерацию кода шага переменной.

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

  4. Задайте параметр конфигурации модели Включить каталоги следующим образом:

    "$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);

Дополнительные сведения см. в разделах Сохранение набора конфигурации и Загрузка сохраненного набора конфигурации.

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

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

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

  2. Запустите мастер модели. На вкладке Код C щелкните Помощник по коду C/C + +. Откроется диалоговое окно с иерархией системы модели.

  3. Щелкнуть rtwdemo_throttlecntrl и нажмите кнопку OK. Откроется окно Model Advisor.

  4. В правой области выберите Выполнить эту проверку. В отчете отображается сводка выполнения, которая помечает предупреждения о проверке.

  5. Просмотрите отчет. Предупреждения высвечивают проблемы. На этом этапе их можно игнорировать. Дополнительные сведения об отчетах см. в разделе Просмотр отчетов проверки помощника по модели.

Создание кода для модели

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

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

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

  4. Создать код.

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

Просмотр созданного кода

  1. В отчете о создании кода щелкните ссылку на созданный файл модели C и просмотрите созданный код. Найдите в отчете следующие элементы:

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

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

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

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

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

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

    • Интерфейс вызова для целевого файла системы GRT - вывод, обновление, инициализация, запуск и завершение

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

Рассмотрите следующие файлы. На панели Содержимое отчета о создании кода щелкните ссылки.

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

Дополнительные сведения см. в разделе Управление зависимостями файлов процесса построения.

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

Создание исполняемого файла

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

  2. Снимите флажок «Только генерировать код» и нажмите кнопку «Применить».

  3. Создайте модель. Просмотр сообщений в программе Diagnostics Viewer. Для создания исполняемого файла генератор кода использует шаблон создания файла, связанного с выбранным системным целевым файлом. Эту программу можно запускать на рабочей станции независимо от внешнего времени и событий.

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

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

    Программа выводит одну строку выходных данных в окне команд:

    ** starting the model **

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

Совет

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

Ключевые моменты

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

  • После отладки модели рассмотрите возможность настройки модели с включенным встроенным параметром.

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

  • Перед созданием кода рассмотрите возможность проверки модели с помощью Model Advisor.

  • Генератор кода помещает сгенерированные файлы во вложенную папку (модель_grt_rtw) рабочей папки.

Связанные темы