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