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