Искажение имени элемента управления в сгенерированных идентификаторах

Положение лексемы $M в спецификации параметра Identifier format control определяет положение искажающего имя текста в сгенерированных идентификаторах. Например, если вы используете спецификацию $R$N$M, искажающий имя текст добавлен (при необходимости) в конец идентификатора. Для получения дополнительной информации смотрите Управление форматом Идентификатора.

Искажающий имя текст на объект

Тип объектаИсточник искажения текста

Блок-схема

Имя блок-схемы

Блок Simulink®

Идентификатор Simulink (для получения дополнительной информации смотрите, Определяют местоположение Компонентов Схемы Используя Идентификаторы Simulink (Simulink)),

Параметр Simulink

Полное имя владельца параметра (модель или блок) и название параметра

Сигнал Simulink

Имя сигнала, полное имя исходного блока и номер порта

Объекты Stateflow®

Полный путь к блоку Stateflow и Stateflow вычислил имя (уникальный в рамках графика)

Длина искажающего имя текста задана Minimum mangle length (Simulink Coder) параметр. Значением по умолчанию является 1, но это автоматически увеличивается во время генерации кода как функция количества столкновений. Чтобы минимизировать воздействие к сгенерированному коду во время разработки, задайте большую Минимальную длину искажения. Минимальная длина искажения 4 является консервативным значением. Значение 4 допускает более чем 1,5 миллиона столкновений для конкретного идентификатора, прежде чем длина искажения будет увеличена.

Минимизируйте искажение имени

Длина сгенерированных идентификаторов ограничивается Maximum identifier length (Simulink Coder) параметр. Когда столкновение имени существует, лексема $M расширена до минимального количества символов, требуемых избегать столкновения. Другие лексемы расширены в порядке, перечисленном в Лексемах Формата Идентификатора. Если Maximum identifier length не является достаточно большим, чтобы разместить полные расширения других лексем, частичные расширения используются. Чтобы избежать частичных расширений, это - хорошая практика к:

  • Избегайте столкновений имени. Один способ избежать столкновений имени не состоит в том, чтобы использовать имена блока по умолчанию (например, Gain1, Gain2...), когда существует много блоков того же типа в модели.

  • Где возможно, увеличивают Maximum identifier length, чтобы разместить длину идентификаторов, которые вы ожидаете генерировать.

  • Установите параметр Maximum identifier length, чтобы зарезервировать по крайней мере три символа для искажающего имя текста. Длина искажающего имя текста увеличивается как количество увеличений столкновений имени.

    Если изменения в модели создают больше или меньше столкновений, существующих искажающих имя текстовых увеличений или уменьшений в длине. Если продолжительность искажающих имя текстовых увеличений, дополнительные символы добавлены к существующему тексту. Например, текст искажения 'xyz' может измениться на 'xyzQ'. Для меньшего количества столкновений искажающий имя текст 'xyz' изменяется на 'xy'.