exponenta event banner

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

Описание

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

Щелкните гиперссылку для перехода к блоку в модели.

Связанные темы