Code Mappings – C++ Editor

Сконфигурируйте, как элементы и функции модели появляются в сгенерированном коде С++

Описание

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

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

  • Data

  • Functions

Откройте Код Отображений - C++ Editor

Откройте Embedded Coder® приложение. Проверьте, что для Output задано значение Embedded C++ Code. На вкладке C++ Code нажмите Code Interface и выберите Code Mappings.

Примеры

Сконфигурируйте элементы данных

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

Настройка окружения
  1. Откройте rtwdemo_roll модели.

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

  3. Установите язык на C++. На вкладке C++ Code нажмите Output и выберите Embedded C++ Code.

  4. Откройте редактор Отображения. На вкладке щелкните Code Interface и выберите Code Mappings.

Настройка видимости данных и доступа к методам элементов данных
  1. В редакторе Отображения перейдите на вкладку Data.

  2. Настройте видимость данных. Для категории Inports в столбце Data Visibility выберите public.

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

Сгенерируйте и проверьте код
  1. Сгенерируйте код.

  2. Проверьте сгенерированный код С++ для входных портов. В представлении Code откройте rtwdemo_roll.cpp файл и поиск входных портов в модели.

Сконфигурируйте функции

Можно использовать редактор Code Mappings, чтобы настроить имена функций точки входа, а также имена и аргументы периодических функций базовой скорости или функций Simulink. Эти примеры используют модель rtwdemo_roll чтобы показать, как сконфигурировать имя и аргументы периодической функции базовой скорости.

Настройка окружения
  1. Откройте rtwdemo_roll модели.

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

  3. Установите язык на C++. На вкладке C++ Code нажмите Output и выберите Embedded C++ Code.

  4. Откройте редактор Отображения. На вкладке щелкните Code Interface и выберите Code Mappings.

Настройка имени функции и аргументов
  1. В редакторе Отображения перейдите на вкладку Functions.

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

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

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

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

    • В раскрывающемся списке C++ return argument выберите Ail_Cmd.

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

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

  6. Нажмите Apply. Визуально проверьте, что прототип функции отражает изменения. Нажмите OK для выхода.

Сгенерируйте и проверьте код
  1. Сгенерируйте код.

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

Параметры

Данные

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

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

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

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

Функции

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

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

  • Функции завершения работы

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

  • Функции разбиения

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

  • Функции сброса

  • Функции Simulink

Имя сгенерированного метода класса.

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

Введенный в R2021a