Оптимизация виртуализированных выходных портов

Виртуализированная оптимизация выходных портов позволяет хранить сигнал, входящий в корневой выходной порт, как глобальную переменную. Очистка опции MAT-file logging и установка переменной TLC FullRootOutputVector на 0, обе настройки по умолчанию для Embedded Coder®, устраните код и память данных, сопоставленные с корневыми выходными портами.

Рассмотрим модель в следующем блоке. Сигнал exportedSig имеет exportedGlobal класс памяти.

В случае по умолчанию выход блока Gain записывается в место хранения сигнала, exportedSig. Генератор кода не генерирует код или данные для Out1 блок, который стал виртуальным блоком.

/* Gain Block: <Root>/Gain */
  exportedSig = rtb_PulseGen * VirtOutPortLogOFF_P.Gain_Gain;

В случаях, когда вы включаете MAT-file logging или устанавливаете FullRootOutputVector = 1сгенерированный код представляет корневые выходные порты как представители вектора внешних выходов.

Следующий фрагмент кода был сгенерирован с включенными MAT-file logging. Выходной порт представлен как представитель вектора внешних выходов VirtOutPortLogON_Y. Выходное значение блока Gain копируется в exportedSig и вектору внешних выходов.

/* Gain Block: <Root>/Gain */
  exportedSig = rtb_PulseGen * VirtOutPortLogON_P.Gain_Gain;

/* Outport Block: <Root>/Out1 */
  VirtOutPortLogON_Y.Out1 = exportedSig;

Ведение данных в векторе внешних выходов может быть значимым для небольших моделей, которые выполняют бенчмарки.

Можно заставить корневые выходные порты храниться в векторе внешних выходов (независимо от настройки MAT-file logging) путем установки переменной TLC FullRootOutputVector на 1. Добавьте оператор

%assign FullRootOutputVector = 1

в целевой файл системы Embedded Coder. Кроме того, присвоение можно ввести из MATLAB® командная строка с использованием set_param команда, параметр модели TLCOptions, и опция TLC -a. Для получения дополнительной информации смотрите Задать TLC для Генерации кода и Сконфигурировать TLC.

Для получения дополнительной информации о том, как управлять хранением сигнала в сгенерированном коде, смотрите, Как Сгенерированный код хранит Внутренний сигнал, Состояние, и Данные параметра и Генерации кода C Строения для Элементов Интерфейса Модели.

Похожие темы