Embedded Coder ® сокращает усилия по настройке интерфейсов данных и функций, предоставляя способ задания конфигураций по умолчанию для категорий элементов данных и функций в модели. Применение конфигураций по умолчанию позволяет сэкономить время и снизить риск появления ошибок в коде, особенно для более крупных моделей и моделей, из которых создается многоэкземплярный код. После применения конфигураций по умолчанию можно выборочно переопределить настройки по умолчанию для отдельных элементов и функций данных.
Настройка интерфейса данных модели rtwdemo_roll путем конфигурирования функции roll_control_step кому:
Считывание входных данных из глобальных переменных, объявленных и определенных во внешних файлах roll_input_data.h и roll_input_data.c.
Запись выходных данных в глобальные переменные, объявленные генератором кода в output_data.h и определяет в output_data.c.
Для внесения этих изменений в окне команд MATLAB ® скопируйте эти файлы внешнего кода в текущую рабочую папку MATLAB.
copyfile(fullfile(matlabroot,'toolbox','rtw','rtwdemos','roll_input_data.c')); copyfile(fullfile(matlabroot,'toolbox','rtw','rtwdemos','roll_input_data.h')); copyfile(fullfile(matlabroot,'toolbox','rtw','rtwdemos','roll_heading_mode.c')); copyfile(fullfile(matlabroot,'toolbox','rtw','rtwdemos','roll_heading_mode.h'));
Внесенные изменения конфигурации интерфейса данных зависят от доступности этих файлов для создания кода и процесса построения. Процесс построения компилирует созданный код с кодом, который находится в этих файлах.
Настройка конфигураций генерации кода по умолчанию для входов и выходов модели.
На вкладке Код C выберите Интерфейс кода > Сопоставления кодов по умолчанию.
Настройте блоки ввода на корневом уровне модели для отображения в сгенерированном коде в виде отдельных глобальных переменных, определенных внешним кодом. В редакторе сопоставлений кодов в разделе «Входы и выходы» выберите категорию «Входы». Задать класс хранения по умолчанию как ImportFromFile.

С помощью этого параметра созданный код не определяет глобальные переменные, представляющие данные ввода. Вместо этого #include оператор включает файл заголовка, который объявляет входные переменные. Имя файла заголовка задается с помощью инспектора свойств.
В инспекторе свойств задайте для свойства HeaseFile значение roll_input_data.h.

Чтобы увидеть, как extern объявления во внешнем файле заголовка roll_input_data.h имя входных переменных, в окне команд MATLAB откройте roll_input_data.h находится в текущей рабочей папке.
extern boolean_T AP_Eng; extern real32_T HDG_Ref; extern real32_T Rate_FB; extern real32_T Phi; extern real32_T Psi; extern real32_T TAS; extern real32_T Turn_Knob;
Настройте правило именования генерации кода для глобальных переменных. По умолчанию генератор кода называет глобальные переменные префиксом rt. Чтобы генератор кода создал код, соответствующий объявлениям внешних переменных в roll_input_data.hнастройте правило именования генерации кода для глобальных переменных соответствующим образом.
Откройте диалоговое окно Параметры конфигурации модели (Model Configuration Parameters). На панели инструментов на вкладке «Код C» нажмите кнопку «Параметры».
Перейдите в область Создание кода > Идентификаторы.
Задать для параметра Глобальные переменные правило именования $N$M (снимите rt префикс). Символ $N представляет имя элемента данных в модели, например имя блока Inport или Outport. Символ $M представляет собой текст, изменяющий имя, который при необходимости вставляется генератором кода во избежание конфликтов имен с другими глобальными переменными в коде.
Примените изменение.
Настройте блоки Outport на корневом уровне модели для отображения в сгенерированном коде в виде отдельных глобальных переменных. В редакторе сопоставлений кодов на вкладке «Значения по умолчанию» для категории «Исходящие порты» установите для параметра «Класс хранилища» значение ExportToFile.
Созданный код объявляет и определяет выходные переменные в файлах заголовков и определений, заданных инспектором свойств.
В Инспекторе свойств укажите имена созданных файлов заголовков и определений. Задать для свойства HeaseFile значение roll_output_data.h и свойство DefinityFile to roll_output_data.c.
Настройка генерации кода для модели для включения внешних исходных файлов roll_input_data.c и roll_heading_mode.c. В диалоговом окне «Параметры конфигурации» выберите «Создание кода» > «Пользовательский код» > «Дополнительная информация о построении» > «Исходные файлы». roll_input_data.c roll_heading_mode.c. Затем нажмите «Применить» и «ОК».
Сохраните модель. Восстановите код, нажав кнопку «Построить».
Ошибка компилятора указывает на эту переменную HDG_Mode не объявлен. Эта переменная не объявлена в файле заголовка roll_input_data.h, который был объявлен в качестве файла заголовка по умолчанию для ввода. Эту ошибку можно исправить в следующем разделе данного учебного пособия.
Модель настроена на открытие отчета о создании кода после завершения создания кода. Сверните это окно отчета для дальнейшего изучения в этом учебном пособии.
Блоки ввода настраиваются для использования внешнего файла заголовка для объявления и определения входных переменных. В ракурсе «Код» подтвердите, что созданный код включает этот внешний файл заголовка путем поиска roll_input_data.h.
Поиск корневого уровня Имя блока ввода, HDG_Ref. По мере ввода выберите предложение поиска с зеленым цветом. V значок. Это предложение поиска находит экземпляры HDG_Ref используется в качестве переменной в созданном коде. Подтвердить, что HDG_Ref определяется как отдельная глобальная переменная.
![]()
В модели, rtwdemo_rollщелкните на блоке «Исходящий» Ail_Cmd. Наведите курсор на многоточие над блоком и выберите «Перейти к коду». Представление «Код» выделяет код в rtwdemo_roll.c соответствует блоку. В коде наведите курсор на многоточие над выходной переменной. Ail_Cmd. В диалоговом окне отслеживания отображаются определения переменных и элементы модели, соответствующие коду. Диалоговое окно подтверждает, что Ail_Cmd определяется как отдельная глобальная переменная. Щелкните код определения, чтобы увидеть определение в output_data.c.

Параметры, выбранные для категории в разделе Значения по умолчанию (Data Defaults), применяются к элементам этой категории в модели. Чтобы переопределить параметры по умолчанию для отдельного элемента данных, используйте редактор сопоставлений кода.
При создании кода после настройки параметров по умолчанию для входов и выходов ошибка компилятора указывала на эту переменную HDG_Mode не объявлен. Эту ошибку можно исправить, переопределив конфигурацию по умолчанию для блока Inport HDG_Mode.
В редакторе сопоставлений кодов на вкладке «Inports» выберите источник HDG_Mode.
Задайте для класса хранения значение ImportFromFile.

В инспекторе свойств задайте для параметра «Идентификатор» значение HDG_Mode и файл заголовка в roll_heading_mode.h.

На основе этих параметров генератор кода импортирует объявление для внешней переменной. HDG_Mode из файла заголовка roll_heading_mode.h.
extern boolean_T HDG_Mode;
Сохраните модель и восстановите код.
Сверните окно отчета о создании кода для исследования позже в этом учебном пособии.
В представлении «Код» выполните поиск roll_heading_mode.h и подтвердите, что он включен в созданный код с файлом конфигурации по умолчанию roll_input_data.h.
Поиск HDG_Mode и подтвердить, что она определена как отдельная глобальная переменная.
Затем настройте параметр модели как глобальную переменную в сгенерированном коде. В качестве глобальной переменной можно настроить значение параметра во время выполнения.