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