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

Описание

Управляйте выражением встроенных значений параметров скаляра в сгенерированном коде. Параметры блоков кажутся встроенными в сгенерированном коде, когда вы устанавливаете 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: sldemo_fuelsys_dd_controller
### Successful completion of code generation for: 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'

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

Похожие темы