Для GRT и целей RSim, генератор кода создает идентификаторы для переменных и функций в сгенерированном коде. Для целей ERT можно настроить именование идентификаторов в сгенерированном коде путем определения параметров на панели Code Generation > Identifiers в диалоговом окне Configuration Parameters. Можно также задать параметры, которые управляют идентификаторами, сгенерированными от объектов данных Simulink®. Для получения дальнейшей информации об этих параметрах, смотрите Параметры конфигурации Модели: Идентификаторы Генерации кода.
Цель | Задать |
---|---|
Определите максимальный номер символов, которые генератор кода использует для функции, typedef , и имена переменных (значение по умолчанию 31). | Целочисленное значение для Максимального параметра длины идентификатора. Для получения дополнительной информации смотрите, Задают Длину Идентификатора, чтобы Постараться не Называть Столкновения. Если вы ожидаете, что ваша модель сгенерирует долгие идентификаторы (из-за использования длинных или названий параметра сигнала, например), или если идентификаторы искажаются больше, чем вы ожидаете, увеличиваете значение этого параметра. |
Задайте макрос, который задает определенный текст, включенный в сгенерированных идентификаторах для:
| Макрос для параметров Identifier format control. Для получения дополнительной информации смотрите Управление форматом Идентификатора. См. также Исключения к Соглашениям Форматирования Идентификатора и Ограничения Параметров Управления форматом Идентификатора. |
Определите минимальный номер символов, которые генератор кода использует для текста искажения. | Целочисленное значение для Минимального параметра длины искажения. Для получения дополнительной информации смотрите, что Имя элемента управления Искажает в Сгенерированных Идентификаторах |
Управляйте, сократило ли использование программного обеспечения имена для сгенерированных системой идентификаторов. |
|
Управляйте, описывает ли сгенерированный код встроенные значения параметров скаляра как литеральные значения или как макросы. | Значение
|
Когда ваша модель использует Объекты данных Simulink от Simulink
пакет, идентификаторы в сгенерированном коде копируют имена объектов по умолчанию. Например, Simulink.Signal
возразите названному Speed
появляется как идентификатор Speed
в сгенерированном коде.
Можно управлять этими идентификаторами путем определения называющих правил, которые характерны для Объектов данных Simulink. На Code Generation> панель Identifiers диалогового окна Configuration Parameters, настройте настройки в разделе 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 в диалоговом окне Configuration Parameters.
От Параметра, называющего выпадающий список, выберите 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.
В этом примере показано, как заменить правило именования объекта данных для одного объекта данных.
Можно заменить правила именования объекта данных путем определения 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 является зарегистрированной торговой маркой American National Standards Institute, Inc.