exponenta event banner

Одна функция вывода/обновления

Описание

Укажите, нужно ли создавать model_step функция.

Категория: Создание кода > Интерфейс

Настройки

По умолчанию: вкл.

На

Создает model_step для модели. Эта функция содержит код функции вывода и обновления для блоков в модели и вызывается по rt_OneStep выполняют обработку в течение одного тактового периода модели на уровне прерывания.

Прочь

Не объединяет код функции вывода и обновления в одну функцию и вместо этого создает код отдельно model_output и model_update функции.

Совет

Ошибки или неожиданное поведение могут возникнуть, если блок модели является частью цикла, блок модели является блоком прямого сквозного канала, и результаты алгебраического цикла. Дополнительные сведения о прямой подаче см. в разделе Алгебраические концепции цикла.

Simulink ® Coder™ игнорирует этот параметр для ссылочной модели, если к этой модели применяется одно из следующих условий:

  • Многоскоростной

  • Имеет непрерывное время выборки

  • Состояние ведения журнала (с использованием параметров Состояния (States) или Конечное состояние (Final states) в области Параметры конфигурации (Configuration Parameters) > Импорт/экспорт данных (Data Import/Export)

Зависимости

  • Установка для упаковки интерфейса кода значения C++ class принудительно включает и отключает эту опцию.

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

  • При использовании этой опции необходимо очистить опцию Минимизировать вхождения алгебраического цикла на панели Привязка модели (Model Referencing).

  • При настройке ert_main.c или .cpp считывание выходных данных модели после каждого шага модели базовой скорости, выбор обоих параметров Поддержка: непрерывное время и Функция одиночного вывода/обновления может вызвать считывание выходных значений из ert_main для непрерывного выходного порта, отличающегося от соответствующих выходных значений в записанных данных для модели. Это связано с тем, что, хотя записанные данные являются снимком выходных данных на основных этапах времени, выходные данные считываются из ert_main после шага модели базовой скорости потенциально отражает промежуточные второстепенные временные шаги. В следующей таблице перечислены обходные пути устранения расхождений.

    Работа вокругНастраиваемые ert_main.cНастраиваемые ert_main.cpp
    Разделите созданные функции вывода и обновления (снимите флажок Single output/update function parameter) и вставьте код в ert_main для считывания выходных значений модели, отражающих только основные временные шаги. Например, в ert_main, между model_output вызов и model_update звоните, прочитайте модель External outputs глобальная структура данных (определена в model.h). X 
    Выберите параметр Single output/update function и вставьте код в созданную model.c или .cpp для возврата выходных значений модели, отражающих только основные временные шаги. Например, в функции шага модели между выходным кодом и кодом обновления сохраните значение модели. External outputs глобальная структура данных (определена в model.h). Затем восстановите значение после завершения обновления кода.XX
    Установите блок удержания нулевого порядка перед портом непрерывного вывода.XX

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

Параметр: CombineOutputUpdateFcns
Текст: символьный вектор
Значение: 'on' | 'off'
По умолчанию: 'on'

Рекомендуемые параметры

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

Рекомендации отсутствуют

Связанные темы