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

Описание

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

Генерация кода Category:> Символы

Настройки

Значение по умолчанию: Literals

Literals

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

Macros

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

Зависимости

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

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

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

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

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

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

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

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

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

Откройте модель sldemo_fuelsys_dd_controller в качестве примера.

sldemo_fuelsys_dd_controller

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

  • Набор поведения параметра по умолчанию к Inlined.

  • Системный набор конечного файла к ert.tlc.

Установите параметр конфигурации, Генерируют встроенные параметры скаляра относительно Macros.

set_param('sldemo_fuelsys_dd_controller','InlinedPrmAccess','Macros')

Сгенерируйте код из модели.

rtwbuild('sldemo_fuelsys_dd_controller')
### Starting build procedure for model: sldemo_fuelsys_dd_controller
### Successful completion of code generation for model: sldemo_fuelsys_dd_controller

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)

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

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

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

Похожие темы