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

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

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

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

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

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

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

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

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

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

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

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

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

  • Разделяемый сервисный формат идентификатора

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

Shortened для сгенерированного Системой параметра идентификаторов. Эта установка:

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

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

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

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

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

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

  • Literals: Если вы устанавливаете Default parameter behavior на Inlined, параметры описываются как числовые константы.

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

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

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

Можно управлять этими идентификаторами путем определения называющих правил, которые характерны для Объектов данных Simulink. На Code Generation> панель Identifiers диалогового окна Configuration Parameters, настройте настройки в разделе 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 в диалоговом окне Configuration Parameters.

  4. От Параметра, называющего выпадающий список, выберите 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.

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

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

Можно заменить правила именования объекта данных путем определения 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 является зарегистрированной торговой маркой American National Standards Institute, Inc.