exponenta event banner

Сопоставления кодов - редактор C++

Настройка отображения элементов и функций модели в сгенерированном коде C++

Описание

Редактор сопоставлений кодов представляет собой графический интерфейс, используемый для настройки отображения элементов и функций данных модели Simulink ® в сгенерированном коде C++.

Чтобы настроить элементы и функции данных модели Simulink для создания кода C++, используйте вкладки в редакторе сопоставлений кодов:

  • Данные

  • Функции

Откройте окно «Сопоставления кода» - редактор C++

Откройте приложение Embedded Coder ®. Убедитесь, что в поле Output установлено значение Embedded C++ Code. На вкладке Код C++ щелкните Интерфейс кода и выберите Сопоставления кода.

Примеры

Настройка элементов данных

Редактор сопоставления кодов можно использовать для настройки видимости данных и доступа к методам элементов модели в сгенерированном интерфейсе класса C++. В этом примере используется модель rtwdemo_roll чтобы показать, как настроить видимость данных и доступ к методам для входов в этой модели.

Настройка среды
  1. Открытая модель rtwdemo_roll.

  2. Откройте приложение Embedded Coder. В галерее Apps щелкните Embedded Coder.

  3. Установите язык на C++. На вкладке Код C++ щелкните Вывод и выберите Код Embedded C++.

  4. Откройте редактор сопоставлений кода. На вкладке щелкните Интерфейс кода (Code Interface) и выберите Сопоставления кода (Code Mappings).

Настройка видимости данных и доступа к методам элементов данных
  1. В редакторе сопоставлений кодов перейдите на вкладку «Данные».

  2. Настройте видимость данных. В категории «Ввод» в столбце «Видимость данных» выберите public.

  3. Настройте доступ к методу. В категории «Inports» в столбце «Member Access Method» выберите method.

Создание и проверка кода
  1. Создать код.

  2. Проверьте сгенерированный код C++ для входов. В представлении «Код» откройте rtwdemo_roll.cpp и выполните поиск входных данных в модели.

Настройка функций

Редактор Сопоставления кодов (Code Mappings) можно использовать для настройки имен функций точек входа и имен и аргументов базовых периодических или Simulink Functions. В этом примере используется модель rtwdemo_roll чтобы показать, как настроить имя и аргументы периодической функции базовой скорости.

Настройка среды
  1. Открытая модель rtwdemo_roll.

  2. Откройте приложение Embedded Coder. В галерее Apps щелкните Embedded Coder.

  3. Установите язык на C++. На вкладке Код C++ щелкните Вывод и выберите Код Embedded C++.

  4. Откройте редактор сопоставлений кода. На вкладке щелкните Интерфейс кода (Code Interface) и выберите Сопоставления кода (Code Mappings).

Настроить имя функции и аргументы
  1. В редакторе сопоставлений кодов перейдите на вкладку Функции.

  2. Настройте имя периодической функции. В столбце «Имя функции» введите имя roll_run.

  3. Настройте аргументы периодической функции. В столбце «Предварительный просмотр функции» щелкните гиперссылку прототипа. Откроется диалоговое окно конфигурации.

  4. В диалоговом окне выберите Configure arguments for Step function prototype и нажмите Get Default. Откроется таблица, в которой отображаются аргументы.

  5. Настройте аргументы:

    • В раскрывающемся списке возвращаемых аргументов C++ выберите Ail_Cmd.

    • Для каждого порта в поле C++ Identifier Name удалите arg_ префикс из имен по умолчанию.

    • Для HDG_Mode inport, в выпадающем списке C++ Type Qualifier выберите Pointer. В поле C++ Identifier Name измените имя на HDG_Mode_Ptr

  6. Нажмите кнопку «Применить». Визуально убедитесь, что прототип функции отражает изменения. Нажмите кнопку ОК, чтобы выйти.

Создание и проверка кода
  1. Создать код.

  2. Проверьте обновленные имена методов и аргументы в сгенерированном коде C++. В представлении «Код» в открытом окне rtwdemo_roll.cpp файл, поиск базовой периодической функции, roll_run.

Параметры

Данные

Каждая категория описывает тип элемента данных модели Simulink. Набор видимости данных и доступа к методу для категории применяется к элементам данных в этой категории для модели.

Категория элементов моделиОписание
InportsПорты ввода данных корневого уровня модели, такие как блоки Inport и In Bus Element.
Вспомогательные портыПорты вывода данных корневого уровня модели, такие как блоки Outport и Out Bus Element.
Аргументы параметра моделиПеременные рабочей области, которые могут отображаться как элементы данных класса экземпляра (нестатические).
Параметры моделиПеременные рабочей области, которые совместно используются экземплярами класса модели и создаются как статические элементы данных класса.
Сигналы, состояния и внутренние данныеЭлементы данных, являющиеся внутренними для модели, такие как выходные сигналы блоков, состояния дискретных блоков, хранилища данных и сигналы пересечения нулей.

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

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

Функции

Функции в модели, генерирующие методы точек входа в интерфейсе класса C++. К этим функциям относятся:

  • Инициализация функций

  • Завершение функций

  • Периодические функции

  • Функции секционирования

  • Экспортированные функции

  • Сброс функций

  • Функции симулятора

Имя созданного метода класса.

Предварительный просмотр прототипа метода начальной точки. Чтобы настроить прототип, щелкните гиперссылку предварительного просмотра и настройте метод в открывшемся диалоговом окне.

Представлен в R2021a