Сгенерируйте скалярные inlined параметры как

Описание

Управляйте выражением скаляра встроенных значений параметров в сгенерированном коде. Параметры блоков появляются встроенными в сгенерированный код, когда вы задаете Configuration Parameters > Optimization > Default parameter behavior Inlined.

Category: Генерация кода > Идентификаторы

Настройки

По умолчанию: Literals

Literals

Генерирует скалярные inlined параметры как числовые константы.

Macros

Генерирует скалярные inlined параметры как переменные с #define макросы. Эта настройка делает сгенерированный код более читаемым.

Зависимости

Этот параметр:

  • Появляется только для целей, основанных на ERT.

  • Требуется Embedded Coder® при генерации кода.

Информация о командной строке

Параметр: InlinedPrmAccess
Тип: Вектор символов
Значение: Literals | Macros
По умолчанию: Literals

Рекомендуемые настройки

ПриложениеНастройка
ОтладкаНикакого влияния
ТрассируемостьMacros
ЭффективностьНикакого влияния
Меры безопасностиНикакого влияния

Улучшите чтение кода путем генерации Параметров блоков значений как макросов

Когда вы генерируете эффективный код путем встраивания числовых значений параметров блоков (с параметром конфигурации Поведение параметра по умолчанию), можно сконфигурировать скалярные параметры, чтобы они появлялись в виде макросов вместо буквальных чисел. Каждый макрос имеет уникальное имя, основанное на имени соответствующих параметров блоков.

Откройте пример модели sldemo_fuelsys_dd_controller.

sldemo_fuelsys_dd_controller

Модель использует следующие настройки параметров конфигурации:

  • Поведение параметра по умолчанию установлено на Inlined.

  • Для системного целевого файла задано значение ert.tlc.

Установите параметр конфигурации Generate scalar inlined parameters as to 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 задает несколько макросов, которые представляют inlined (nontunable) параметры блоков. Например, макросы 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)

Комментарии выше определений макросов указывают, что код, сгенерированный для блока Discrete Filter, использует макросы.

rtwdemodbtype(file,'Computed Parameter: DiscreteFilter_NumCoef',...
    'Referenced by: ''<S12>/Discrete Filter''',1,1)
/* Computed Parameter: DiscreteFilter_NumCoef
 * Referenced by: '<S12>/Discrete Filter'

Щелкните гиперссылку, чтобы перейти к блоку в модели.

Похожие темы