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

Откройте приложение Embedded Coder ®. Убедитесь, что в поле Output установлено значение Embedded C++ Code. На вкладке Код C++ щелкните Интерфейс кода и выберите Сопоставления кода.
Редактор сопоставления кодов можно использовать для настройки видимости данных и доступа к методам элементов модели в сгенерированном интерфейсе класса C++. В этом примере используется модель rtwdemo_roll чтобы показать, как настроить видимость данных и доступ к методам для входов в этой модели.
Открытая модель rtwdemo_roll.
Откройте приложение Embedded Coder. В галерее Apps щелкните Embedded Coder.
Установите язык на C++. На вкладке Код C++ щелкните Вывод и выберите Код Embedded C++.
Откройте редактор сопоставлений кода. На вкладке щелкните Интерфейс кода (Code Interface) и выберите Сопоставления кода (Code Mappings).
В редакторе сопоставлений кодов перейдите на вкладку «Данные».
Настройте видимость данных. В категории «Ввод» в столбце «Видимость данных» выберите public.
Настройте доступ к методу. В категории «Inports» в столбце «Member Access Method» выберите method.
Создать код.
Проверьте сгенерированный код C++ для входов. В представлении «Код» откройте rtwdemo_roll.cpp и выполните поиск входных данных в модели.
Редактор Сопоставления кодов (Code Mappings) можно использовать для настройки имен функций точек входа и имен и аргументов базовых периодических или Simulink Functions. В этом примере используется модель rtwdemo_roll чтобы показать, как настроить имя и аргументы периодической функции базовой скорости.
Открытая модель rtwdemo_roll.
Откройте приложение Embedded Coder. В галерее Apps щелкните Embedded Coder.
Установите язык на C++. На вкладке Код C++ щелкните Вывод и выберите Код Embedded C++.
Откройте редактор сопоставлений кода. На вкладке щелкните Интерфейс кода (Code Interface) и выберите Сопоставления кода (Code Mappings).
В редакторе сопоставлений кодов перейдите на вкладку Функции.
Настройте имя периодической функции. В столбце «Имя функции» введите имя roll_run.
Настройте аргументы периодической функции. В столбце «Предварительный просмотр функции» щелкните гиперссылку прототипа. Откроется диалоговое окно конфигурации.
В диалоговом окне выберите Configure arguments for Step function prototype и нажмите Get Default. Откроется таблица, в которой отображаются аргументы.
Настройте аргументы:
В раскрывающемся списке возвращаемых аргументов C++ выберите Ail_Cmd.
Для каждого порта в поле C++ Identifier Name удалите arg_ префикс из имен по умолчанию.
Для HDG_Mode inport, в выпадающем списке C++ Type Qualifier выберите Pointer. В поле C++ Identifier Name измените имя на HDG_Mode_Ptr
Нажмите кнопку «Применить». Визуально убедитесь, что прототип функции отражает изменения. Нажмите кнопку ОК, чтобы выйти.
Создать код.
Проверьте обновленные имена методов и аргументы в сгенерированном коде C++. В представлении «Код» в открытом окне rtwdemo_roll.cpp файл, поиск базовой периодической функции, roll_run.
Model Element Category - Категория элементов данных моделиКаждая категория описывает тип элемента данных модели Simulink. Набор видимости данных и доступа к методу для категории применяется к элементам данных в этой категории для модели.
| Категория элементов модели | Описание |
|---|---|
| Inports | Порты ввода данных корневого уровня модели, такие как блоки Inport и In Bus Element. |
| Вспомогательные порты | Порты вывода данных корневого уровня модели, такие как блоки Outport и Out Bus Element. |
| Аргументы параметра модели | Переменные рабочей области, которые могут отображаться как элементы данных класса экземпляра (нестатические). |
| Параметры модели | Переменные рабочей области, которые совместно используются экземплярами класса модели и создаются как статические элементы данных класса. |
| Сигналы, состояния и внутренние данные | Элементы данных, являющиеся внутренними для модели, такие как выходные сигналы блоков, состояния дискретных блоков, хранилища данных и сигналы пересечения нулей. |
Data Visibility - определяет спецификатор доступа для созданных членов класса; Видимость данных определяет, отображаются ли элементы данных в сгенерированном коде как открытые или частные. Для аргументов параметров модели этот параметр может также указывать, что элементы данных генерируются вне класса и передаются как отдельные аргументы.
Member Access Method - определяет сгенерированные методы get и set для членов класса;Доступ определяет, каким образом созданный код обеспечивает доступ к данным члена класса.
Source - Функции в моделиФункции в модели, генерирующие методы точек входа в интерфейсе класса C++. К этим функциям относятся:
Инициализация функций
Завершение функций
Периодические функции
Функции секционирования
Экспортированные функции
Сброс функций
Функции симулятора
Method Name - Имя сформированного метода классаИмя созданного метода класса.
Method Preview - Предварительный просмотр прототипа методаПредварительный просмотр прототипа метода начальной точки. Чтобы настроить прототип, щелкните гиперссылку предварительного просмотра и настройте метод в открывшемся диалоговом окне.