Для целей GRT и RSim генератор кода создает идентификаторы для переменных и функций в сгенерированном коде. Для целей ERT можно настроить именование идентификаторов в сгенерированном коде, задав параметры на панели Code Generation > Identifiers в диалоговом окне Параметры конфигурации. Можно также задать параметры, которые управляют идентификаторами, сгенерированными из Simulink® объекты данных. Для получения подробной информации об этих параметрах смотрите Параметры конфигурации модели: Идентификаторы генерации кода.
Цель | Определить |
---|---|
Установите максимальное количество символов, которое генератор кода использует для функции, typedef , и имена переменных (по умолчанию 31). | Целое число значения для параметра Maximum identifier length. Для получения дополнительной информации смотрите Задать длину идентификатора, чтобы избежать конфликтов имен. Если вы ожидаете, что ваша модель сгенерирует длинные идентификаторы (из-за использования длинного сигнала или имен параметров, например), или если идентификаторы искажаются больше, чем вы ожидаете, увеличьте значение этого параметра. |
Задайте макрос, который задает определенный текст, включенный в сгенерированные идентификаторы для:
| Макрос для параметров Identifier format control. Дополнительные сведения см. в разделе Управление форматом идентификатора. Смотрите также Исключения для условий форматирования идентификаторов и Ограничения параметров управления формата идентификаторов. |
Установите минимальное количество символов, используемое генератором кода для искривления текста. | Целое число значения для параметра Minimum mangle length. Для получения дополнительной информации смотрите Управление Именем в Сгенерированных Идентификаторах |
Управляйте, использует ли программное обеспечение укороченные имена для системных идентификаторов. |
|
Управляйте, выражает ли сгенерированный код скалярные встроенные значения параметров как буквальные значения или как макросы. | Значение
|
Когда ваша модель использует объекты данных Simulink из Simulink
идентификаторы в сгенерированном коде копируют имена объектов по умолчанию. Для примера, a Simulink.Signal
объект с именем Speed
появляется как идентификатор Speed
в сгенерированном коде.
Вы можете управлять этими идентификаторами, задавая правила именования, которые характерны для объектов данных Simulink. На панели Code Generation > Identifiers диалогового окна Параметров конфигурации настройте параметры в разделе Simulink data object naming rules.
Когда вы задаете правила именования для сгенерированного кода, следуйте ANSI® C[1] / C++ правила для именования идентификаторов.
В этом примере показано, как настроить идентификаторы в сгенерированном коде путем определения MATLAB® функция.
Напишите функцию 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];
Откройте модель rtwdemo_namerules
.
Дважды кликните желтое поле с меткой View Symbols Configuration, чтобы открыть панель Code Generation > Identifiers в диалоговом окне Параметры конфигурации.
В раскрывающемся списке Parameter naming выберите Custom M-function.
В M-function поле введите имя файла, который задает функцию MATLAB, append_text.m
.
Нажмите Apply.
Сгенерируйте код для модели.
Смотрите отчет о генерации кода, чтобы подтвердить правило именования объектов параметра. Для примера сгенерированный файл rtwdemo_namerules.h
представляет объекты параметров G1
, G2
, и G3
с переменными G1_param
, G2_param
, и G3_param
.
Define
Можно задать правило именования, которое применяется только к объектам данных Simulink, чей класс памяти установлен на Define
. Для этих объектов данных заданное правило именования переопределяет другие правила именования параметров и сигнальных объектов. На панели Code Generation > Identifiers в диалоговом окне Configuration Parameters настройте параметр # define naming.
В этом примере показано, как переопределить правило именования объектов данных для одного объекта данных.
Можно переопределить правила именования объектов данных, задав Identifier
свойство отдельного объекта данных Simulink. Сгенерированный код использует текст, который вы задаете как идентификатор, чтобы представлять объект данных, независимо от правил именования.
Откройте модель rtwdemo_namerules
.
На вкладке Modeling нажмите Model Data Editor.
В Model Data Editor на вкладке Parameters нажмите кнопку Show/refresh additional information.
В таблице данных найдите строку, которая соответствует Simulink.Parameter
G1 объекта
, который находится в базовом рабочем пространстве.
В строке дважды щелкните значок параметра.
На панели Диалоговое окно Model Explorer (правая панель) для G1
, задайте Identifier
свойство как mySpecialParam
. Нажмите Apply.
Сгенерируйте код для модели.
В отчете о генерации кода подтвердите идентификатор объекта параметра G1
. Сгенерированный файл rtwdemo_namerules.h
представляет G1
с переменной mySpecialParam
.
В этом примере показано, как применить единообразные правила именования для объектов данных Simulink ®, включая сигналы, параметры и переменные памяти хранилища данных.
model='rtwdemo_namerules';
open_system(model)
% Cleanup
rtwdemoclean;
close_system(model,0)
[1] ANSI является зарегистрированным товарным знаком Американского национального института стандартов, Inc.