Укажите, нужно ли генерировать
функция.model
_step
Category: Генерация кода > Интерфейс
По умолчанию: on
Генерирует
функция для модели. Эта функция содержит выход и обновления для блоков в модели и вызывается model
_steprt_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 , между вызов и позвоните, прочитайте модель External outputs глобальные данные (определена в ). | X | |
Выберите параметр Single output/update function и вставьте код в сгенерированный или .cpp файл, чтобы вернуть выходные значения модели, отражающие только основные временные шаги. Для примера в функции шага модели между кодом выхода и кодом обновления сохраните значение модели External outputs глобальные данные (определена в ). Затем восстановите значение после завершения обновления кода. | X | X |
Поместите блок Zero-Order Hold перед непрерывным выходным портом. | X | X |
Параметр:
CombineOutputUpdateFcns |
Тип: Вектор символов |
Значение:
'on' | 'off' |
По умолчанию:
'on'
|
Приложение | Настройка |
---|---|
Отладка | На |
Трассируемость | На |
Эффективность | На |
Меры безопасности | Нет рекомендации |