Сгенерируйте сигналы блока модели (блок ввода-вывода) и дискретные состояния (DWork), действующие с той же скоростью в одну и ту же структуру данных. В зависимости от того, сколько скоростей у модели, эти структуры содержат префиксы FuncInternalData0, FunctionInternalData1и так далее.
Category: Генерация кода > Интерфейс
По умолчанию: off
Сохраните данные глобального блочного сигнала (блок ввода-вывода) и данные о глобальном состоянии (векторы DWork), работающие с одной скоростью в одной структуре данных в сгенерированном коде.
Не храните данные глобального блочного сигнала (блок ввода-вывода) и данные о глобальном состоянии (векторы DWork), работающие с одной скоростью в одной структуре данных в сгенерированном коде
Установка этого параметра на On повышает эффективность кэша при развертывании модели в многоядерном аппаратном окружении, удовлетворяющей следующим требованиям:
Модель имеет несколько скоростей и имеет Treat each discrete rate as a separate task, набор параметров для on.
Модель содержит несколько экспортированных функций, которые выполняются с различными скоростями.
Предыдущие модели имеют отдельные функции точки входа, которые могут вызываться различными ядрами. Ядро имеет свой кэш данных. Размещение данных для одной функции точки входа в одних и тех же фундаментальных выражениях повышает эффективность выполнения, поскольку обращения к кэшу являются непрерывными, а не распределяются по нескольким ядрам.
Для модели, которая генерирует этот код:
/* Block signals and states (default storage) for system '<Root>' */
typedef struct {
real_T RTBS2F; /* '<Root>/RTBS2F' */
real_T UDS; /* '<Root>/UDS' */
real_T Sum3; /* '<Root>/Sum3' */
real_T Sum1; /* '<Root>/Sum1' */
real_T UDF_DSTATE; /* '<Root>/UDF' */
real_T UDS_DSTATE; /* '<Root>/UDS' */
real_T RTBS2F_Buffer0; /* '<Root>/RTBS2F' */
real_T MIXEDDSM; /* '<Root>/DSMM' */
real_T SLOWDSM; /* '<Root>/DSMS' */
} DW_demo1_T;
Если вы выбираете Generate separate internal data per entry-point function, сгенерированный код теперь выглядит как этот код:
/* Block signals and states (default storage) for system '<Root>' */
typedef struct {
real_T RTBS2F_Buffer0; /* '<Root>/RTBS2F' */
real_T MIXEDDSM; /* '<Root>/DSMM' */
} DW_demo1_T;
/* Internal Data Grouped For Same Function, for system '<Root>' */
typedef struct {
real_T RTBS2F; /* '<Root>/RTBS2F' */
real_T Sum3; /* '<Root>/Sum3' */
real_T UDF_DSTATE; /* '<Root>/UDF' */
} FuncInternalData0_demo1_T;
/* Internal Data Grouped For Same Function, for system '<Root>' */
typedef struct {
real_T UDS; /* '<Root>/UDS' */
real_T Sum1; /* '<Root>/Sum1' */
real_T UDS_DSTATE; /* '<Root>/UDS' */
real_T SLOWDSM; /* '<Root>/DSMS' */
} FuncInternalData1_demo1_T;
Этот параметр требует Embedded Coder® лицензия при генерации кода.
Этот параметр активируется путем выбора параметра Combine signal/state structures.
Параметр:
GroupInternalDataByFunction |
| Тип: Вектор символов |
Значение:
'on' | 'off' |
По умолчанию:
'off' |
| Приложение | Настройка |
|---|---|
| Отладка | Никакого влияния |
| Трассируемость | Никакого влияния |
| Эффективность | На |
| Меры безопасности | Никакого влияния |