Процесс построения включает в себя генерацию кода на языке C или C++ из модели и построение исполняемой программы из сгенерированного кода. В этом примере для генерации кода можно использовать общий целевой файл в реальном времени (GRT) или встроенный целевой файл в реальном времени (ERT). Полученная автономная программа запускается на компьютере разработчика независимо от внешнего времени и событий.
В этом примере используется локальная копия slexAircraftExample модель, хранящаяся в собственной папке, aircraftexample. Настройте рабочую папку следующим образом:
В браузере MATLAB ® Current Folder перейдите к папке, к которой имеется доступ для записи.
Для создания рабочей папки введите следующую команду MATLAB:
mkdir aircraftexample
Сделать aircraftexample рабочая папка:
cd aircraftexample
Откройте окно slexAircraftExample модель:
slexAircraftExample
Модель появится в окне модели Simulink ® Editor.
В окне модели выберите «Файл» > «Сохранить как». Перейдите в рабочую папку, aircraftexample. Сохранение копии slexAircraftExample модель как myAircraftExample.
При создании кода генератор кода создает папку построения в рабочей папке. Имя папки построения: , производный от имени исходной модели и выбранного целевого файла системы. В хранилищах папок построения создан исходный код и другие файлы, созданные в процессе построения. Проверьте содержимое папки построения в конце этого примера.model_target_rtw
Когда модель содержит блоки модели (ссылки на другие модели), сборка модели создает специальные подпапки в папке создания кода, чтобы упорядочить код для ссылочных моделей. Эти папки создания кода существуют рядом с папками сборки продукта и имеют имя slprj. Дополнительные сведения см. в разделе Создание кода для иерархии ссылок на модель.
Под slprj папка, подпапка с именем _sharedutils содержит созданный код, который может использоваться совместно моделями.
Чтобы создать код из модели, необходимо изменить некоторые параметры конфигурации модели. В частности, общий целевой файл системы в реальном времени (GRT) и большинство других целевых файлов системы требуют, чтобы модель указывала решатель с фиксированным шагом.
Примечание
Для моделей, задающих решатели с переменным шагом, генератор кода создает код только в том случае, если модели также задают быстрое моделирование (rsim) или целевые файлы системы S-функции.
Откройте окно myAircraftExample модель, если она еще не открыта.
В диалоговом окне Параметры конфигурации (Configuration Parameters) укажите значения параметров конфигурации для решателя:
Время начала: 0.0
Время остановки: 60
Тип: Fixed-step
Решатель: ode5 (Dormand-Prince)
Фиксированный размер шага (основное время выборки): 0.1
Рассматривайте каждую дискретную скорость как отдельную задачу: Off
Нажмите кнопку «Применить».
Сохраните модель.
Чтобы настроить процесс сборки для модели, выберите системный целевой файл, схему инструментов или файл шаблона и make команда.
В этих примерах и в большинстве приложений нет необходимости указывать эти параметры по отдельности. В примерах используется готовая к запуску общая конфигурация целевого объекта в реальном времени (GRT). Целевой файл системы GRT создает автономную исполняемую программу, которая выполняется на компьютере.
Для выбора целевого файла системы GRT:
Откройте окно myAircraftExample модель, если она еще не открыта.
В диалоговом окне Configuration Parameters в поле System target file введите grt.tlc. Затем нажмите кнопку Применить.
Отображаются варианты выбора для цепочки инструментов (Automatically locate an installed toolchain) и конфигурация сборки (Faster Builds).

Сохраните модель.
Примечание
Если щелкнуть Обзор (Browse), откроется Обозреватель системных целевых файлов (System Target File Browser), который отобразит системные целевые файлы по пути MATLAB. Для некоторых целевых системных файлов требуются дополнительные продукты. Например, ert.tlc требуется встроенный кодер ®.
Откройте окно myAircraftExample модель, если она еще не открыта.
В диалоговом окне «Параметры конфигурации» задайте параметры:
Используйте параметры по умолчанию для дополнительных параметров создания кода, которые управляют подробностью построения и отладкой:
Подробное построение (RTWVerbose)
Сохранить файл .rtw (RetainRTWFile)
Профиль TLC (ProfileTLC)
Запустить отладчик TLC при создании кода (TLCDebug)
Запуск покрытия TLC при формировании кода (TLCCoverage)
Включить утверждение TLC (TLCAssert)
Используйте параметры по умолчанию «Создание кода» > «Комментарии».
Параметры «Создание кода» > «Идентификаторы» определяют внешний вид и внешний вид созданного кода. Используйте настройки по умолчанию.
Выберите «Создание кода» > «Интерфейс».
В списке Размещение общего кода выберите Shared location. Созданный код для утилит помещается в подпапку в папке создания кода.
В разделе Дополнительные параметры снимите флажок Классический интерфейс вызова.
В разделе Дополнительные параметры установите флажок Функция одиночного вывода/обновления.
В меню Создание кода > Отчет выберите Создать отчет о создании кода и Открыть отчет автоматически. Это действие позволяет программному обеспечению создавать и отображать отчет о создании кода для myAircraftExample модель.
Щелкните Применить (Apply) и сохраните модель.
Процесс построения генерирует код C из модели. Затем он компилирует и связывает созданную программу для создания исполняемого образа. Чтобы построить и запустить программу, выполните следующие действия.
С помощью myAircraftExample откройте модель, выполните одно из следующих действий:
В окне команд отображаются сообщения о создании кода и компиляции. Начальное сообщение:
### 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 , процесс построения отображает отчет о создании кода. Дополнительные сведения о создании и использовании отчета о создании кода см. в разделе Создание отчета.
Чтобы просмотреть содержимое рабочей папки после построения, введите dir или ls команда:
>> dir . myAircraftExample.slx slprj .. myAircraftExample.slx.autosave myAircraftExample.exe myAircraftExample_grt_rtw
Чтобы запустить исполняемый файл из окна команд, введите !myAircraftExample. ! символ передает команду, которая следует за ним, в операционную систему, которая запускает автономный myAircraftExample программа.
>> !myAircraftExample ** starting the model ** ** created myAircraftExample.mat **
Для просмотра файлов, созданных в папке построения, используйте 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 системный целевой файл, выбранный для модели. В этом примере папка сборки называется targetmyAircraftExample_grt_rtw.
Папка построения содержит следующие сгенерированные файлы.
| Файл | Описание |
|---|---|
|
|
Автономный код C, реализующий модель |
|
|
Файл заголовка include, содержащий определения параметров и переменных состояния |
|
|
Файл заголовка, содержащий общие определения включения |
|
|
Пересылка объявлений типов данных, используемых в коде |
|
|
Главный файл заголовка для включения сгенерированного кода в статическую основную программу (его имя не изменяется, и он просто включает |
Отчет о создании кода, созданный для myAircraftExample отображает ссылку для каждого из этих файлов. Можно щелкнуть ссылку для просмотра содержимого файла.
Папка построения содержит другие файлы, используемые в процессе построения. К ним относятся:
myAircraftExample.mk - Makefile для построения исполняемого файла с использованием указанной цепочки инструментов.
Объект (.obj) файлы
myAircraftExample.bat - Файл управления пакетами
rtw_proj.tmw - Файл маркера
buildInfo.mat - Создание информации для перемещения созданного кода в другую среду разработки
defines.txt - определения препроцессора, необходимые для компиляции сгенерированного кода;
myAircraftExample_ref.rsp - Данные для включения в качестве аргументов командной строки mex(только для систем Windows)
Папка построения также содержит подпапку, html, который содержит файлы, составляющие отчет о создании кода. Дополнительные сведения см. в разделе Отчеты для создания кода.
После создания кода генератор кода создает пользовательский файл makefile, model.mk. Созданный make-файл инструктирует make системная утилита для компиляции и связывания исходного кода, созданного на основе модели, любой требуемой программы кабельных трасс, библиотек или пользовательских модулей. Генератор кода создает файл model.mk независимо от подхода, используемого для управления процессом построения:
При использовании подхода, основанного на цепочке инструментов, генератор кода создает model.mk на основе настроек схемы инструментов модели. Можно изменить создание makefile с помощью rtwmakecfg.m API.
При использовании метода makefile шаблона генератор кода создает model.mk из файла системного шаблона, system.tmf (где system обозначает выбранное имя целевого файла системы). Файл создания системного шаблона разработан для целевого файла системы. Можно изменить файл создания шаблона, указав компиляторы, параметры компилятора и дополнительную информацию для создания исполняемого файла.
Дополнительные сведения см. в разделах Выбор подхода к построению и настройка процесса построения.