Методы подсистемы

Описание

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

Category: Генерация кода > Идентификаторы

Настройки

По умолчанию: $R$N$M$F

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

ЛексемаОписание
$F

Вставьте имя метода (для примера, _Update для метода обновления).

$H

Вставьте тег, указывающий на уровень иерархии системы. Для блоков корневого уровня тег является текстом root_. Для блоков на уровне подсистемы тег имеет вид sN_, где N является уникальным системным номером, присвоенным Simulink® программное обеспечение.

Пустой для Stateflow® функций.

$M

При необходимости вставьте текст управления именами, чтобы избежать конфликтов имен.

Обязательно.

$N

Вставьте имя объекта (блок, объект сигнала или сигнала, состояние, параметр или объект параметра), для которого генерируется идентификатор.

$R

Вставьте имя корневой модели в идентификатор, заменив неподдерживаемые символы символом подчеркивания (_).

Требуется для ссылки на модель.

$U

Вставьте текст, заданный для $U лексема. Используйте параметр Custom token text, чтобы задать этот текст.

Совет

  • Избегайте конфликтов имен в целом. Один из способов - избежать использования имен блоков по умолчанию (для примера, 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).

  • Для ссылочных моделей, если параметр Subsystem methods не содержит $R Лексема (которое представляет имя образца модели), генерация кода готовит $R лексема к формату идентификатора.

    Можно использовать Model Advisor, чтобы идентифицировать модели в иерархии моделей, для которых генерация кода изменяет настройки параметров конфигурации.

    1. На вкладке Modeling выберите Model Advisor.

    2. Выберите By Task.

    3. Запустите проверку Check code generation identifier formats used for model reference.

Зависимость

Этот параметр:

  • Появляется только для целей, основанных на ERT.

  • Требуется Embedded Coder® при генерации кода.

Информация о командной строке

Параметр: CustomSymbolStrFcn
Тип: Вектор символов
Значение: действительная комбинация лексем
По умолчанию: $R$N$M$F

Рекомендуемые настройки

ПриложениеНастройка
ОтладкаНикакого влияния
ТрассируемостьИспользуйте по умолчанию
ЭффективностьНикакого влияния
Меры безопасностиНет рекомендации

Похожие темы