Настройка сгенерированных идентификаторов глобальных типов.
Category: Генерация кода > Идентификаторы
По умолчанию: $N$R$M_T
Введите макрос, который определяет, следует ли включать определенный текст в сгенерированный идентификатор и в каком порядке. Макрос может включать комбинацию следующих лексем формата.
Лексема | Описание |
---|---|
$M
| При необходимости вставьте текст управления именами, чтобы избежать конфликтов имен. Обязательно. |
$N | Вставьте имя объекта (блок, объект сигнала или сигнала, состояние, параметр или объект параметра), для которого генерируется идентификатор. |
$R | Вставьте имя корневой модели в идентификатор, заменив неподдерживаемые символы символом подчеркивания (_). Требуется для ссылки на модель. |
$U | Вставьте текст, заданный для |
$G | Вставьте имя класса памяти, связанного с элементом данных. |
Избегайте конфликтов имен в целом. Один из способов - избежать использования имен блоков по умолчанию (для примера, Gain1
, Gain2
...) когда ваша модель имеет много блоков одного типа.
Где это возможно, увеличьте Maximum identifier length, чтобы вместить длину идентификаторов, которые вы ожидаете сгенерировать. Резервируйте по крайней мере три символа для текста управления именами.
Чтобы контролировать регистр (верхний или нижний регистр) текста, который представляет каждую лексему, включите в него такие декораторы, как [U_]
в вашем макросе. Смотрите Control Case with Token Decorators.
Если вы задаете $R
, значение, которое вы задаете для Maximum identifier length, должно быть достаточно большим, чтобы соответствовать полным расширениям $R
и $M
лексемы.
Когда происходит конфликт по совпадению имен между идентификатором в возможности модели более высокого уровня и идентификатором в возможности модели-ссылки, генератор кода сохраняет идентификатор из модели-ссылки. Управление именами выполняется по идентификатору в модели более высокого уровня.
Соглашения об управлении именами не применяются к именам типов (то есть typedef
операторы), сгенерированные для глобальных типов данных. Параметр Maximum identifier length не применяется к определениям типов. Если вы задаете $R
генератор кода включает имя модели в typedef
.
Эта опция не влияет на объекты (такие как сигналы и параметры), которые имеют класс памяти, отличный от Auto
(такие как ImportedExtern
или ExportedGlobal
).
Для ссылочных моделей, если параметр Global types не содержит $R
Лексема (которое представляет имя образца модели), генерация кода готовит $R
лексема к формату идентификатора.
Можно использовать Model Advisor, чтобы идентифицировать модели в иерархии моделей, для которых генерация кода изменяет настройки параметров конфигурации.
На вкладке Modeling выберите Model Advisor.
Выберите By Task.
Запустите проверку Check code generation identifier formats used for model reference.
Этот параметр:
Появляется только для целей, основанных на ERT.
Требуется Embedded Coder® при генерации кода.
Параметр:
CustomSymbolStrType |
Тип: Вектор символов |
Значение: действительная комбинация лексем |
По умолчанию:
$N$R$M_T
|
Приложение | Настройка |
---|---|
Отладка | Никакого влияния |
Трассируемость | Используйте по умолчанию |
Эффективность | Никакого влияния |
Меры безопасности | Нет рекомендации |