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