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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  4. От Parameter naming (Simulink Coder) выпадающий список выберите 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> панель Symbols в диалоговом окне Configuration Parameters, настройте установку #define naming (Simulink Coder).

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

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

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

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

  2. В модели выберите View> Model Data Editor.

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

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

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

  6. В Диалоговой панели Model Explorer (правая панель), для G1, задают свойство Alias как 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.