exponenta event banner

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Макрос для параметров управления форматом идентификатора. Дополнительные сведения см. в разделе Управление форматом идентификатора. См. также Исключения из правил форматирования идентификаторов и Ограничения параметров управления форматом идентификаторов.
Задайте минимальное количество символов, используемых генератором кода для искажения текста.Целое значение параметра Минимальная длина мангля. Дополнительные сведения см. в разделе Управление именами элементов управления в сгенерированных идентификаторах
Управление использованием сокращенных имен для системных идентификаторов.

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

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

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

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

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

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

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

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

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

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

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

Можно управлять этими идентификаторами, указывая правила именования, специфичные для объектов данных Simulink. На панели «Создание кода» > «Идентификаторы» диалогового окна «Параметры конфигурации» настройте параметры в разделе Правила именования объектов данных Simulink.

При указании правил именования для сгенерированного кода следуйте правилам 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. Дважды щелкните по желтому полю «Просмотр конфигурации символов», чтобы открыть панель «Создание кода» > «Идентификаторы» в диалоговом окне «Параметры конфигурации».

  4. В раскрывающемся списке Имя параметра выберите Пользовательская М-функция.

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

  6. Нажмите кнопку «Применить».

  7. Создайте код для модели.

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

Укажите правило именования для класса хранения Define

Можно указать правило именования, которое применяется только к объектам данных Simulink, для класса хранения которых задано значение Define. Для этих объектов данных указанное правило именования переопределяет другие правила именования параметров и сигнальных объектов. На панели «Создание кода» > «Идентификаторы» диалогового окна «Параметры конфигурации» настройте параметр именования # define.

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

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

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

  1. Открытие модели rtwdemo_namerules.

  2. На вкладке Моделирование (Modeling) щелкните Редактор данных модели (Model Data Editor).

  3. В редакторе данных модели на вкладке Параметры (Parameters) нажмите кнопку Показать/обновить дополнительную информацию (Show/refresh additional information).

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

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

  6. В диалоговом окне «Обозреватель моделей» (правая панель) для G1, укажите Identifier свойство как mySpecialParam. Нажмите кнопку «Применить».

  7. Создайте код для модели.

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

Применение пользовательских соглашений об именовании к идентификаторам

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

model='rtwdemo_namerules';
open_system(model)

% Cleanup
rtwdemoclean;
close_system(model,0)

См. также


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