exponenta event banner

Создание рабочего процесса процесса для систем реального времени

Процесс построения включает в себя генерацию кода на языке C или C++ из модели и построение исполняемой программы из сгенерированного кода. В этом примере для генерации кода можно использовать общий целевой файл в реальном времени (GRT) или встроенный целевой файл в реальном времени (ERT). Полученная автономная программа запускается на компьютере разработчика независимо от внешнего времени и событий.

Рабочая папка

В этом примере используется локальная копия slexAircraftExample модель, хранящаяся в собственной папке, aircraftexample. Настройте рабочую папку следующим образом:

  1. В браузере MATLAB ® Current Folder перейдите к папке, к которой имеется доступ для записи.

  2. Для создания рабочей папки введите следующую команду MATLAB:

    mkdir aircraftexample
  3. Сделать aircraftexample рабочая папка:

    cd aircraftexample
  4. Откройте окно slexAircraftExample модель:

    slexAircraftExample

    Модель появится в окне модели Simulink ® Editor.

  5. В окне модели выберите «Файл» > «Сохранить как». Перейдите в рабочую папку, aircraftexample. Сохранение копии slexAircraftExample модель как myAircraftExample.

Создать папку и папки создания кода

При создании кода генератор кода создает папку построения в рабочей папке. Имя папки построения: model_target_rtw, производный от имени исходной модели и выбранного целевого файла системы. В хранилищах папок построения создан исходный код и другие файлы, созданные в процессе построения. Проверьте содержимое папки построения в конце этого примера.

Когда модель содержит блоки модели (ссылки на другие модели), сборка модели создает специальные подпапки в папке создания кода, чтобы упорядочить код для ссылочных моделей. Эти папки создания кода существуют рядом с папками сборки продукта и имеют имя slprj. Дополнительные сведения см. в разделе Создание кода для иерархии ссылок на модель.

Под slprj папка, подпапка с именем _sharedutils содержит созданный код, который может использоваться совместно моделями.

Установка параметров модели для создания кода

Чтобы создать код из модели, необходимо изменить некоторые параметры конфигурации модели. В частности, общий целевой файл системы в реальном времени (GRT) и большинство других целевых файлов системы требуют, чтобы модель указывала решатель с фиксированным шагом.

Примечание

Для моделей, задающих решатели с переменным шагом, генератор кода создает код только в том случае, если модели также задают быстрое моделирование (rsim) или целевые файлы системы S-функции.

  1. Откройте окно myAircraftExample модель, если она еще не открыта.

  2. В диалоговом окне Параметры конфигурации (Configuration Parameters) укажите значения параметров конфигурации для решателя:

    • Время начала: 0.0

    • Время остановки: 60

    • Тип: Fixed-step

    • Решатель: ode5 (Dormand-Prince)

    • Фиксированный размер шага (основное время выборки): 0.1

    • Рассматривайте каждую дискретную скорость как отдельную задачу: Off

  3. Нажмите кнопку «Применить».

  4. Сохраните модель.

Настройка процесса построения

Чтобы настроить процесс сборки для модели, выберите системный целевой файл, схему инструментов или файл шаблона и make команда.

В этих примерах и в большинстве приложений нет необходимости указывать эти параметры по отдельности. В примерах используется готовая к запуску общая конфигурация целевого объекта в реальном времени (GRT). Целевой файл системы GRT создает автономную исполняемую программу, которая выполняется на компьютере.

Для выбора целевого файла системы GRT:

  1. Откройте окно myAircraftExample модель, если она еще не открыта.

  2. В диалоговом окне Configuration Parameters в поле System target file введите grt.tlc. Затем нажмите кнопку Применить.

    Отображаются варианты выбора для цепочки инструментов (Automatically locate an installed toolchain) и конфигурация сборки (Faster Builds).

  3. Сохраните модель.

Примечание

Если щелкнуть Обзор (Browse), откроется Обозреватель системных целевых файлов (System Target File Browser), который отобразит системные целевые файлы по пути MATLAB. Для некоторых целевых системных файлов требуются дополнительные продукты. Например, ert.tlc требуется встроенный кодер ®.

Задать параметры генерации кода

  1. Откройте окно myAircraftExample модель, если она еще не открыта.

  2. В диалоговом окне «Параметры конфигурации» задайте параметры:

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

      • Подробное построение (RTWVerbose)

      • Сохранить файл .rtw (RetainRTWFile)

      • Профиль TLC (ProfileTLC)

      • Запустить отладчик TLC при создании кода (TLCDebug)

      • Запуск покрытия TLC при формировании кода (TLCCoverage)

      • Включить утверждение TLC (TLCAssert)

    2. Используйте параметры по умолчанию «Создание кода» > «Комментарии».

    3. Параметры «Создание кода» > «Идентификаторы» определяют внешний вид и внешний вид созданного кода. Используйте настройки по умолчанию.

    4. Выберите «Создание кода» > «Интерфейс».

      1. В списке Размещение общего кода выберите Shared location. Созданный код для утилит помещается в подпапку в папке создания кода.

      2. В разделе Дополнительные параметры снимите флажок Классический интерфейс вызова.

      3. В разделе Дополнительные параметры установите флажок Функция одиночного вывода/обновления.

    5. В меню Создание кода > Отчет выберите Создать отчет о создании кода и Открыть отчет автоматически. Это действие позволяет программному обеспечению создавать и отображать отчет о создании кода для myAircraftExample модель.

  3. Щелкните Применить (Apply) и сохраните модель.

Построение и запуск программы

Процесс построения генерирует код C из модели. Затем он компилирует и связывает созданную программу для создания исполняемого образа. Чтобы построить и запустить программу, выполните следующие действия.

  1. С помощью myAircraftExample откройте модель, выполните одно из следующих действий:

    • На вкладке «Приложения» откройте приложение Simulink Coder. На вкладке C Code нажмите кнопку Build.

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

    • Запустить slbuild из командной строки MATLAB.

    • Запустить slbuild из командной строки MATLAB.

    В окне команд отображаются сообщения о создании кода и компиляции. Начальное сообщение:

    ### Starting build procedure for model: myAircraftExample

    Содержание многих последующих сообщений зависит от компилятора и операционной системы. Окончательные сообщения включают в себя:

    ### Created executable myAircraftExample.exe
    ### Successful completion of build procedure for model: myAircraftExample
    ### Creating HTML report file myAircraftExample_codegen_rpt.html

    Папка создания кода теперь содержит исполняемый файл, myAircraftExample.exe (платформы Microsoft ® Windows ®) илиmyAircraftExample (платформы UNIX ®). Кроме того, процесс сборки создал slprj папку и myAircraftExample_grt_rtw в папке создания кода.

    Примечание

    После генерации кода для myAircraftExample , процесс построения отображает отчет о создании кода. Дополнительные сведения о создании и использовании отчета о создании кода см. в разделе Создание отчета.

  2. Чтобы просмотреть содержимое рабочей папки после построения, введите dir или ls команда:

    >> dir
    
    .                               myAircraftExample.slx           slprj
    ..                              myAircraftExample.slx.autosave
    myAircraftExample.exe           myAircraftExample_grt_rtw
  3. Чтобы запустить исполняемый файл из окна команд, введите !myAircraftExample. ! символ передает команду, которая следует за ним, в операционную систему, которая запускает автономный myAircraftExample программа.

    >> !myAircraftExample
    
    ** starting the model **
    ** created myAircraftExample.mat **
  4. Для просмотра файлов, созданных в папке построения, используйте dir или ls снова команда. Точный список выпускаемых файлов варьируется в зависимости от платформ и версий MATLAB. Вот пример списка с платформы Windows:

    >> dir myAircraftExample_grt_rtw
    
    .                     rt_main.obj                  myAircraftExample_data.c
    ..                    rtmodel.h                    myAircraftExample_data.obj
    buildInfo.mat         rtw_proj.tmw                 myAircraftExample_private.h
    codeInfo.mat          myAircraftExample.bat        myAircraftExample_ref.rsp
    defines.txt           myAircraftExample.c          myAircraftExample_types.h
    html                  myAircraftExample.h
    modelsources.txt      myAircraftExample.mk
    rt_logging.obj        myAircraftExample.obj

Содержимое папки построения

Процесс построения создает папку построения и называет ее именем model_target_rtw, где model - имя исходной модели и target системный целевой файл, выбранный для модели. В этом примере папка сборки называется myAircraftExample_grt_rtw.

Папка построения содержит следующие сгенерированные файлы.

ФайлОписание

myAircraftExample.c

Автономный код C, реализующий модель

myAircraftExample.h

Файл заголовка include, содержащий определения параметров и переменных состояния

myAircraftExample_private.h

Файл заголовка, содержащий общие определения включения

myAircraftExample_types.h

Пересылка объявлений типов данных, используемых в коде

rtmodel.h

Главный файл заголовка для включения сгенерированного кода в статическую основную программу (его имя не изменяется, и он просто включает myAircraftExample.h)

Отчет о создании кода, созданный для myAircraftExample отображает ссылку для каждого из этих файлов. Можно щелкнуть ссылку для просмотра содержимого файла.

Папка построения содержит другие файлы, используемые в процессе построения. К ним относятся:

  • myAircraftExample.mk - Makefile для построения исполняемого файла с использованием указанной цепочки инструментов.

  • Объект (.obj) файлы

  • myAircraftExample.bat - Файл управления пакетами

  • rtw_proj.tmw - Файл маркера

  • buildInfo.mat - Создание информации для перемещения созданного кода в другую среду разработки

  • defines.txt - определения препроцессора, необходимые для компиляции сгенерированного кода;

  • myAircraftExample_ref.rsp - Данные для включения в качестве аргументов командной строки mex(только для систем Windows)

Папка построения также содержит подпапку, html, который содержит файлы, составляющие отчет о создании кода. Дополнительные сведения см. в разделе Отчеты для создания кода.

Настраиваемое создание Makefile

После создания кода генератор кода создает пользовательский файл makefile, model.mk. Созданный make-файл инструктирует make системная утилита для компиляции и связывания исходного кода, созданного на основе модели, любой требуемой программы кабельных трасс, библиотек или пользовательских модулей. Генератор кода создает файл model.mk независимо от подхода, используемого для управления процессом построения:

  • При использовании подхода, основанного на цепочке инструментов, генератор кода создает model.mk на основе настроек схемы инструментов модели. Можно изменить создание makefile с помощью rtwmakecfg.m API.

  • При использовании метода makefile шаблона генератор кода создает model.mk из файла системного шаблона, system.tmf (где system обозначает выбранное имя целевого файла системы). Файл создания системного шаблона разработан для целевого файла системы. Можно изменить файл создания шаблона, указав компиляторы, параметры компилятора и дополнительную информацию для создания исполняемого файла.

Дополнительные сведения см. в разделах Выбор подхода к построению и настройка процесса построения.

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