Управление выражением значений скалярных встроенных параметров в создаваемом коде. Параметры блока отображаются встроенными в созданный код, если для параметра «Параметры конфигурации» > «Оптимизация» > «Поведение параметров по умолчанию» задано значение Inlined.
Категория: Создание кода > Идентификаторы
По умолчанию:
Literals
LiteralsСоздает скалярные встроенные параметры в виде числовых констант.
MacrosСоздает скалярные встроенные параметры как переменные с #define макросы. Этот параметр делает созданный код более читаемым.
Этот параметр:
Отображается только для целевых объектов на основе ERT.
При создании кода требуется Embedded Coder ®.
Параметр:
InlinedPrmAccess |
| Текст: символьный вектор |
Значение:
Literals | Macros |
По умолчанию:
Literals |
| Приложение | Настройка |
|---|---|
| Отладка | Никакого воздействия |
| Отслеживаемость | Macros |
| Эффективность | Никакого воздействия |
| Меры безопасности | Никакого воздействия |
При создании эффективного кода путем встраивания числовых значений параметров блока (с параметром конфигурации Default parameter behavior) можно настроить отображение скалярных параметров в виде макросов вместо буквенных чисел. Каждый макрос имеет уникальное имя, основанное на имени соответствующего параметра блока.
Открыть пример модели sldemo_fuelsys_dd_controller.
sldemo_fuelsys_dd_controller

Модель использует следующие настройки параметров конфигурации:
Поведение параметра по умолчанию установлено в значение Inlined.
Системный целевой файл имеет значение ert.tlc.
Задайте для параметра конфигурации Generate scalar inlined parameters значение Macros.
set_param('sldemo_fuelsys_dd_controller','InlinedPrmAccess','Macros')
Создайте код из модели.
slbuild('sldemo_fuelsys_dd_controller')
### Starting build procedure for: sldemo_fuelsys_dd_controller ### Successful completion of code generation for: sldemo_fuelsys_dd_controller Build Summary Top model targets built: Model Action Rebuild Reason ================================================================================================ sldemo_fuelsys_dd_controller Code generated Code generation information file does not exist. 1 of 1 models built (0 models already up to date) Build duration: 0h 0m 25.095s
Файл заголовка sldemo_fuelsys_dd_controller_private.h определяет несколько макросов, представляющих встроенные (не настраиваемые) параметры блока. Например, макросы rtCP_DiscreteFilter_NumCoe_EL_0 и rtCP_DiscreteFilter_NumCoe_EL_1 представляют собой константы с плавающей запятой.
file = fullfile('sldemo_fuelsys_dd_controller_ert_rtw',... 'sldemo_fuelsys_dd_controller_private.h'); rtwdemodbtype(file,'#define rtCP_DiscreteFilter_NumCoe_EL_0',... 'rtCP_DiscreteFilter_NumCoe_EL_1',1,1)
#define rtCP_DiscreteFilter_NumCoe_EL_0 (8.7696F) #define rtCP_DiscreteFilter_NumCoe_EL_1 (-8.5104F)
Комментарии над определениями макросов указывают на то, что код, созданный для блока дискретного фильтра, использует макросы.
rtwdemodbtype(file,'Computed Parameter: DiscreteFilter_NumCoef',... 'Referenced by: ''<S12>/Discrete Filter''',1,1)
/* Computed Parameter: DiscreteFilter_NumCoef * Referenced by: '<S12>/Discrete Filter'
Щелкните гиперссылку для перехода к блоку в модели.