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

Описание

Укажите, нужно ли генерировать model_step функция.

Category: Генерация кода > Интерфейс

Настройки

По умолчанию: on

На

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

Прочь

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

Совет

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

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

  • Является многоскоростным

  • Имеет непрерывный шаг расчета

  • Являются ли состояния журнала (с использованием параметров States или Final states на панели Configuration Parameters > Data Import/Export

Зависимости

  • Установка значения Code interface packaging C++ class включает и отключает эту опцию.

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

  • При использовании этой опции необходимо удалить Minimize algebraic loop occurrences опции на панели Model Referencing.

  • Если вы настраиваете ert_main.c или .cpp чтобы считать выходы модели после каждого шага модели базовой скорости, выбор обоих параметров Support: continuous time и Single output/update function может привести к выходным значениям, считанным из ert_main для непрерывного выходного порта, который будет отличаться от соответствующих выходных значений в записанных данных для модели. Это потому, что, в то время как записанные данные являются моментальным снимком выхода на основных временных шагах, вывод, считанный из ert_main после шага модели базовой скорости потенциально отражает промежуточные незначительные временные шаги. В следующей таблице перечислены обходные пути, которые устраняют расхождения.

    Работайте вокругНастраиваемые ert_main.cНастраиваемые ert_main.cpp
    Разделите сгенерированные выходы и обновления (очистите параметр Single output/update function) и вставьте код в 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
    Поместите блок Zero-Order Hold перед непрерывным выходным портом.XX

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

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

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

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

Нет рекомендации

Похожие темы