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

Для целей GRT и RSim генератор кода создает идентификаторы для переменных и функций в сгенерированном коде. Для целей ERT можно настроить именование идентификаторов в сгенерированном коде, задав параметры на панели Code Generation > Identifiers в диалоговом окне Параметры конфигурации. Можно также задать параметры, которые управляют идентификаторами, сгенерированными из Simulink® объекты данных. Для получения подробной информации об этих параметрах смотрите Параметры конфигурации модели: Идентификаторы генерации кода.

Применение правил именования к идентификаторам глобально

ЦельОпределить
Установите максимальное количество символов, которое генератор кода использует для функции, typedef, и имена переменных (по умолчанию 31).Целое число значения для параметра Maximum identifier length. Для получения дополнительной информации смотрите Задать длину идентификатора, чтобы избежать конфликтов имен. Если вы ожидаете, что ваша модель сгенерирует длинные идентификаторы (из-за использования длинного сигнала или имен параметров, например), или если идентификаторы искажаются больше, чем вы ожидаете, увеличьте значение этого параметра.

Задайте макрос, который задает определенный текст, включенный в сгенерированные идентификаторы для:

  • Глобальные переменные

  • Глобальные типы

  • Имена полей глобальных типов

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

  • Аргументы метода подсистемы

  • Локальные временные переменные

  • Выходные переменные локальных блоков

  • Постоянные макросы

  • Формат идентификатора общих утилит

Макрос для параметров Identifier format control. Дополнительные сведения см. в разделе Управление форматом идентификатора. Смотрите также Исключения для условий форматирования идентификаторов и Ограничения параметров управления формата идентификаторов.
Установите минимальное количество символов, используемое генератором кода для искривления текста.Целое число значения для параметра Minimum mangle length. Для получения дополнительной информации смотрите Управление Именем в Сгенерированных Идентификаторах
Управляйте, использует ли программное обеспечение укороченные имена для системных идентификаторов.

Shortened для параметра System-generated identifers. Эта настройка:

  • Предоставляет больше пространство для имен пользователей.

  • Предоставляет более предсказуемую и последовательную систему именования, которая использует регистр верблюда.

  • Не включает подчеркивания или множественные значения.

  • Обеспечивает допустимые сокращения как для типа, так и для переменной.

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

Значение Literals или Macros для параметра Сгенерировать скалярные inlined параметры как.

  • Literals: Если вы задаете Default parameter behavior Inlined, параметры выражены в виде числовых констант.

  • Macros: Параметры выражены как переменные (с #define макросы). Эта настройка делает код более читаемым.

Применение правил именования к объектам данных Simulink

Когда ваша модель использует объекты данных Simulink из Simulink идентификаторы в сгенерированном коде копируют имена объектов по умолчанию. Для примера, a Simulink.Signal объект с именем Speed появляется как идентификатор Speed в сгенерированном коде.

Вы можете управлять этими идентификаторами, задавая правила именования, которые характерны для объектов данных Simulink. На панели Code Generation > Identifiers диалогового окна Параметров конфигурации настройте параметры в разделе Simulink data object naming rules.

Когда вы задаете правила именования для сгенерированного кода, следуйте ANSI® C[1] / C++ правила для именования идентификаторов.

Задайте правило именования, используя функцию

В этом примере показано, как настроить идентификаторы в сгенерированном коде путем определения MATLAB® функция.

  1. Напишите функцию MATLAB, которая возвращает идентификатор путем изменения имени объекта данных и сохраните функцию в рабочей папке. Например, следующая функция возвращает имя идентификатора путем добавления текста _param в имя объекта данных.

    function revisedName = append_text(name, object)
    % APPEND_TEXT: Returns an identifier for generated
    % code by appending text to a data object name.
    %
    % Input arguments:
    % name: data object name as spelled in model
    % object: target data object
    %
    % Output arguments:
    % revisedName: altered identifier returned for use in
    % generated code.
    %
    %
    text = '_param';
    
    revisedName = [name,text];
  2. Откройте модель rtwdemo_namerules.

  3. Дважды кликните желтое поле с меткой View Symbols Configuration, чтобы открыть панель Code Generation > Identifiers в диалоговом окне Параметры конфигурации.

  4. В раскрывающемся списке Parameter naming выберите Custom M-function.

  5. В M-function поле введите имя файла, который задает функцию MATLAB, append_text.m.

  6. Нажмите Apply.

  7. Сгенерируйте код для модели.

  8. Смотрите отчет о генерации кода, чтобы подтвердить правило именования объектов параметра. Для примера сгенерированный файл rtwdemo_namerules.h представляет объекты параметров G1, G2, и G3 с переменными G1_param, G2_param, и G3_param.

Задайте правило именования для класса памяти Define

Можно задать правило именования, которое применяется только к объектам данных Simulink, чей класс памяти установлен на Define. Для этих объектов данных заданное правило именования переопределяет другие правила именования параметров и сигнальных объектов. На панели Code Generation > Identifiers в диалоговом окне Configuration Parameters настройте параметр # define naming.

Переопределение правил именования объектов данных

В этом примере показано, как переопределить правило именования объектов данных для одного объекта данных.

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

  1. Откройте модель rtwdemo_namerules.

  2. На вкладке Modeling нажмите Model Data Editor.

  3. В Model Data Editor на вкладке Parameters нажмите кнопку Show/refresh additional information.

  4. В таблице данных найдите строку, которая соответствует Simulink.Parameter G1 объекта, который находится в базовом рабочем пространстве.

  5. В строке дважды щелкните значок параметра.

  6. На панели Диалоговое окно Model Explorer (правая панель) для G1, задайте Identifier свойство как mySpecialParam. Нажмите Apply.

  7. Сгенерируйте код для модели.

  8. В отчете о генерации кода подтвердите идентификатор объекта параметра G1. Сгенерированный файл rtwdemo_namerules.h представляет G1 с переменной mySpecialParam.

Применение настраиваемых правил именования к идентификаторам

В этом примере показано, как применить единообразные правила именования для объектов данных Simulink ®, включая сигналы, параметры и переменные памяти хранилища данных.

model='rtwdemo_namerules';
open_system(model)

% Cleanup
rtwdemoclean;
close_system(model,0)

См. также


[1] ANSI является зарегистрированным товарным знаком Американского национального института стандартов, Inc.