Когда необходимо будет моделировать модель многократно к настройкам параметров, достигнуть желаемого ответа или автоматизировать тестирование, используйте быстрый перезапуск, чтобы не компилировать снова. Быстрый перезапуск позволяет вам выполнять итеративные моделирования, не компилируя модель или отключая моделирование каждый раз. Типичный рабочий процесс с помощью быстрого перезапуска включает следующие шаги.
Включите быстрый перезапуск с помощью Быстрой кнопки перезапуска на панели инструментов Editor Simulink® или из командной строки.
Моделируйте модель. Первое моделирование требует, чтобы модель скомпилировала, инициализировала и сохранила SimState
. Если моделирование завершено, оно не отключает. Вместо этого модель инициализируется снова в быстром перезапуске.
Выполните любое из этих действий:
Измените настраиваемые параметры.
Настройте входные параметры корневого уровня.
Измените базовое рабочее пространство, переменные рабочего пространства модели и словарные статьи данных, на которые ссылаются настраиваемые параметры.
Измените входные параметры на Из Файла и Из блоков Рабочей области.
Измените параметр начального состояния для следующего моделирования.
Используя блок Signal Builder, данные изменения, переименовывают сигналы и группы сигнала, и добавляют новые группы.
Измените сигнал, регистрирующий значения переопределения для модели программно при помощи команды set_param
и параметра DataLoggingOverride
. Смотрите Сигнал Переопределения Регистрировать Настройки от MATLAB.
Если вы инициализировали модель в быстром перезапуске, вы не можете
Измените размерность, введите, или сложность сигнала или переменной.
Внесите изменения в ненастраиваемый параметр, такие как частота дискретизации.
Внесите структурные изменения, такие как добавление или удаление блоков или связей.
Эти изменения требуют, чтобы вы скомпилировали модель снова. Чтобы внести изменения как они, выключите быстрый перезапуск, внесите свои изменения и повторите эту процедуру.
Моделируйте модель. Модель использует новые значения параметров и входных параметров, которые вы обеспечили, но не компилируете снова.
Если вы достигли желаемого ответа, выключите быстрый перезапуск.
Когда вы выключаете быстрый перезапуск, Simulink не хранит информации компиляции для модели. Модель компилирует, когда вы затем моделируете модель.
Прежде чем вы моделируете модель в быстром перезапуске, гарантируете, что модель удовлетворяет эти требования:
Если вы включили обратные вызовы в модели, убедитесь, что они не пытаются внести структурные изменения, когда модель повторно инициализируется. Например, обратные вызовы, такие как команды инициализации маски называются в начале каждого моделирования. Поэтому избегайте использования кода инициализации маски, который вносит структурные изменения в модель.
Все блоки в модели должны поддержать SimState
.
Режим моделирования Нормален или Режим Accelerator.
Когда быстрый перезапуск включен, вы не можете сохранить изменения в модели после того, как это компилирует. Сохранение изменений требует, чтобы Simulink отбросил информацию о скомпилированном состоянии. Чтобы сохранить любые изменения в модели, выключите быстрый перезапуск сначала.
Используйте один из этих методов, чтобы включить быстрый перезапуск:
Нажмите Быструю кнопку перезапуска на панели инструментов Simulink Editor.
В Командной строке MATLAB® используйте set_param
, чтобы включить быстрый перезапуск. Ввод
set_param(model,'FastRestart','on')
После того, как вы загружаете свою модель и включаете быстрый перезапуск, моделируете модель.
Моделируйте модель путем вызова sim
или щелкания по кнопке Run в панели инструментов Редактора Simulink. Первое моделирование в быстром перезапуске требует, чтобы модель скомпилировала и сохранила SimState
.
Если моделирование завершено, строка состояния показывает, что модель инициализируется в быстром перезапуске.
Настройте настраиваемые параметры в модели, такие как значение усиления блока Gain или входные значения корневого уровня мелодии. Можно также внести изменения в переменные базового рабочего пространства. Вы не можете настроить ненастраиваемые параметры, такие как частота дискретизации, потому что выполнение так требует, чтобы модель скомпилировала еще раз.
Моделируйте модель снова. На этот раз модель не компилирует. Когда вы кликаете по кнопке воспроизведения или шагу вперед, блоки обновлений Simulink, которые имеют новые значения, а также блоки та ссылочная рабочая область переменные.
Когда вы удовлетворены своими результатами, выключаете быстрый перезапуск путем нажатия Быстрой кнопки перезапуска прочь.
Чтобы сохранить ваши изменения, сохраните модель.
После того, как модель инициализируется в быстром перезапуске, Simulink отображает предупреждение, при попытке внести структурное изменение в модель. Чтобы внести такие изменения, необходимо выключить быстрый перезапуск.
Когда вы нажимаете Stop посреди быстрого моделирования перезапуска:
Моделирование не отключает.
Модель находится в инициализированном состоянии.
Можно теперь изменить настраиваемые параметры в модели
Можно отключить моделирование и выйти из быстрого перезапуска путем нажатия Быстрой кнопки перезапуска прочь.
Можно выйти из быстрого перезапуска только, когда модель находится в инициализированном состоянии. После моделирования нажмите Быструю кнопку перезапуска прочь. Для этого программно введите:
set_param(model,'FastRestart','off')
Simulink отключает моделирование.
Симулинк отбрасывает любую скомпилированную информацию о модели.
Модель должна скомпилировать снова в следующий раз, когда вы моделируете.
Когда модель инициализируется в быстром перезапуске, кроме того чтобы блокировать значения и переменные базового рабочего пространства, вы можете настройки параметров в панелях Импорта/Экспорта и Решателя Данных в диалоговом окне Simulation> Model Configuration Parameters.
Определенные параметры являются настраиваемыми между моделированиями только, когда модель инициализируется в быстром перезапуске. Они включают:
Параметр Начального значения блока IC
Начальный Выходной параметр блока Merge
Параметр данных блока From Workspace
Параметр сигнала и группы сигнала блока Signal Builder.
Когда быстрый перезапуск включен, модель вызовов Симулинка и блочные методы и обратные вызовы можно следующим образом:
Вызовите образцовый обратный вызов InitFcn
.
Вызовите образцовый метод SetupRuntimeResources
.
Вызовите метод S-функции mdlSetupRuntimeResources
.
Вызовите образцовый метод Start
.
Вызовите метод S-функции mdlStart
.
Вызовите образцовый метод Initialize
.
Вызовите метод S-функции mdlInitializeConditions
.
Используйте флаг ssIsFirstInitCond
, чтобы охранять код, который должен запуститься только во время фазы инициализации любого моделирования, включая первые и последующие инициализации в быстром перезапуске.
Вызовите обратные вызовы блока StartFcn
и модель.
Шаги 1-5 применяются ко всем моделированиям в Simulink (с или без быстрого перезапуска).
Для первого моделирования в быстром перезапуске получите снимок состояния моделирования. Снимок состояния моделирования содержит состояние моделирования (SimState
) и информация, связанная с блоками визуализации и записанными данными. Как часть получения снимка состояния, вызовите метод S-функции mdlGetSimState
.
Это - стандартная фаза выполнения любого моделирования, с или без быстрого перезапуска.
Вызовите образцовый Outputs
.
Вызовите образцовый Update
.
Вызовите образцовый Derivatives
.
Повторите эти шаги в цикле до времени остановки, или остановку требуют.
Вызовите образцовый метод Terminate
.
Вызовите метод S-функции mdlTerminate
.
После концов моделирования вызовите обратные вызовы блока StopFcn
и модель. Это - стандартная фаза любого моделирования, с или без быстрого перезапуска.
Восстановите снимок состояния моделирования, взятый для быстрого перезапуска. Как часть восстановления, вызовите метод S-функции mdlSetSimState
.
Ожидайте в повторно инициализированном состоянии до одного из этих действий:
Чтобы запустить другое моделирование (программно или использование Редактора Simulink) в быстром перезапуске, возвратитесь к шагу 3.
Закончить режим Fast Restart и не скомпилировать модель:
Вызовите образцовый метод CleanupRuntimeResources
и метод S-функции mdlCleanupRuntimeResources
.
Не вызывайте обратные вызовы StopFcn
снова в этой точке.
В некоторых случаях. Start
и методы Terminate
только называются однажды а не для каждого последовательного Быстрого моделирования Перезапуска. В этих случаях эти вызовы метода объединены с вызовами SetupRuntimeResources
и CleanupRuntimeResources
, соответственно. Эти случаи следующие:
Когда S-функция содержит пользовательский SimState
, сохраняют и восстанавливают методы.
Когда S-функция устанавливает флаг SS_OPTION_CALL_TERMINATE_ON_EXIT
.
Когда S-функция помещается в ускоренном режиме модели, на которую ссылаются.
Для получения дополнительной информации об образцовых обратных вызовах смотрите Обратные вызовы для Индивидуально настраиваемого Поведения Модели.
Можно изменить значения начального состояния, включая SimState
, промежуточные быстрые моделирования перезапуска.
Когда объект SimState
для начального состояния используется в быстром перезапуске, каждом новом моделировании сброс ко времени начала модели а не время снимка состояния каждого объекта SimState
. После того, на первом шаге вперед, Simulink Check, чтобы видеть, был ли SimState
задан. Если да, Simulink восстанавливает его прежде, чем вычислить следующий шаг. Таким образом, первое моделирование продвигаются эффективно ускоренная перемотка вперед во время снимка состояния заданного объекта SimState
.
Быстро перезапустите регистрацию данных поддержек с помощью Моделирования Data Inspector. Каждое моделирование в быстром перезапуске создает объект SDI с именем <modelname>, быстро перезапускают выполнение <номер>. Значение number
постепенно увеличивается для каждого моделирования.
Когда вы помещаете пользовательский код в Параметры конфигурации> Цель Моделирования>, Пользовательский код> Инициализирует функциональную панель в диалоговом окне Model Configuration Parameters, это называется только во время первого моделирования в быстром перезапуске.