Запуск с быстрым перезапуском

Когда вам нужно итерационно симулировать модель, чтобы настроить параметры, достичь желаемого отклика или автоматизировать проверку, используйте быстрый перезапуск, чтобы избежать повторного компиляции. Быстрый перезапуск позволяет вам выполнять итерационные симуляции, не компилируя модель или завершая симуляцию каждый раз. Типовой рабочий процесс, использующий быстрый перезапуск, включает следующие шаги.

  1. Включите быстрый перезапуск с помощью кнопки Fast Restart на Simulink® Панель инструментов или из командной строки.

  2. Симулируйте модель. Первая симуляция требует от модели компиляции, инициализации и сохранения ModelOperatingPoint объект. Когда симуляция завершена, оно не прекращается. Вместо этого модель снова инициализируется при быстром перезапуске.

  3. Выполните любое из следующих действий:

    • Измените настраиваемые параметры.

    • Настройка входов корневого уровня.

    • Измените базовое рабочее пространство, моделируйте переменные рабочего пространства модели и записей в словаре данных, на которые ссылаются настраиваемые параметры.

    • Измените входы на From File и From Workspace блоки.

    • Измените параметр Initial state для следующей симуляции.

    • Используя блок Signal Builder, измените данные, переименуйте сигналы и группы сигналов и добавьте новые группы.

    • Измените значения переопределения логгирования сигналов для модели программно при помощи set_param команда и DataLoggingOverride параметр. См. раздел «Переопределение параметров логгирования сигналов из MATLAB».

    После того, как вы инициализировали модель в быстром перезапуске, вы не можете

    • Измените размерность, тип или сложность сигнала или переменной.

    • Внесите изменения в нетронутый параметр, такой как шаг расчета.

    • Внесите такие структурные изменения, как добавление или удаление блоков или соединений.

    Эти изменения требуют, чтобы вы снова скомпилировали модель. Чтобы внести такие изменения, отключите быстрый перезапуск, внесите изменения и повторите эту процедуру.

  4. Симулируйте модель. Модель использует новые значения параметров и входов, которые вы предоставили, но не компилируются снова.

  5. После достижения требуемого отклика отключите быстрый перезапуск.

    Примечание

    Когда вы отключаете быстрый перезапуск, Simulink не хранит никакой информации о компиляции для модели. Модель компилируется, когда вы следующий симулируете модель.

Подготовьте модель, чтобы использовать быстрый перезапуск

Прежде чем вы моделируете модель в быстром перезапуске, убедитесь, что модель соответствует следующим требованиям:

  • Если в модели активированы коллбэки, убедитесь, что они не пытаются вносить структурные изменения при повторной инициализации модели. Для примера в начале каждой симуляции вызываются коллбэки, такие как команды инициализации маски. Поэтому избегайте использования кода инициализации маски, который вносит структурные изменения в модель.

  • Все блоки в модели должны поддерживать ModelOperatingPoint объект.

  • Режим симуляции Normal или Режим Accelerator.

Примечание

Когда быстрый перезапуск включен, вы не можете сохранить изменения в модели после ее компиляции. Для сохранения изменений требуется, чтобы Simulink отбросил информацию о скомпилированном состоянии. Чтобы сохранить любые изменения модели, сначала отключите быстрый перезапуск.

Включите быстрый перезапуск

Используйте один из следующих методов, чтобы включить быстрый перезапуск:

  • Нажмите кнопку Fast restart на панели редакторов.

  • В MATLAB® Командная строка, использование set_param чтобы включить быстрый перезапуск. Напечатать

    set_param(model,'FastRestart','on')

Симулируйте модель с помощью быстрого перезапуска

После того, как вы загрузите модель и включите быстрый перезапуск, симулируйте модель.

  1. Симулируйте модель путем вызова sim или нажмите кнопку Run на панели инструментов Редактор. Первая симуляция в быстром перезапуске требует, чтобы модель скомпилировала и сохранила ModelOperatingPoint объект.

    Когда симуляция завершена, строка состояния показывает, что модель инициализируется при быстром перезапуске.

  2. Настройте настраиваемые параметры в модели, такие как значение усиления блока Gain или настройте входные значения корневого уровня. Можно также внести изменения в переменные базовые рабочие пространства. Вы не можете настроить нетронутые параметры, такие как шаг расчета, потому что для этого требуется, чтобы модель скомпилировалась еще раз.

  3. Моделируйте модель еще раз. На этот раз модель не компилируется. При нажатии кнопки Play или шаге вперед Simulink обновляет блоки, которые имеют новые значения, а также блоки, которые ссылаются на переменные рабочей области.

  4. Когда вы удовлетворены результатами, отключите быстрый перезапуск, нажав кнопку Fast restart off.

  5. Чтобы сохранить изменения, сохраните модель.

Примечание

После инициализации модели в быстром перезапуске Simulink отображает предупреждение, если вы пытаетесь внести структурное изменение в модель. Чтобы внести такие изменения, необходимо выключить быстрый перезапуск.

Остановите симуляцию

Когда вы нажимаете Stop в середине симуляции быстрого перезапуска:

  • Симуляция не завершается.

  • Модель находится в инициализированном состоянии.

  • Теперь можно изменить настраиваемые параметры в модели

  • Вы можете завершить симуляцию и выйти из быстрого перезапуска, нажав кнопку Fast restart off.

Выход из функции быстрого перезапуска

Вы можете быстро выйти из перезапуска, только когда модель находится в инициализированном состоянии. После симуляции нажмите кнопку Fast restart of.Для этого программно введите:

set_param(model,'FastRestart','off')

  • Simulink завершает симуляцию.

  • Simulink отбрасывает любую скомпилированную информацию о модели.

  • Модель должна скомпилироваться снова при следующем моделировании.

Методика быстрого перезапуска

Настройка параметров между симуляциями

  • Когда модель инициализируется в быстром перезапуске, в сложение к блокировке значений и базового рабочего пространства переменных, можно настроить параметры в панелях Data Import/Export и Solver в диалоговом окне Параметров конфигурации (на вкладке Simulation, под Prepare, нажмите Model Settings).

  • Определенные параметры настраиваются между симуляциями только тогда, когда модель инициализируется при быстром перезапуске. Они включают в себя:

    • Initial Value параметр блока IC

    • Initial Output параметр блока Merge

    • Data параметр блока From Workspace

    • Signal параметр и сигнальные группы блока Signal Builder.

Моделируйте методы и коллбэки при быстром перезапуске

Когда быстрый перезапуск включен, Simulink вызывает модель и методы блоков и коллбэки следующим образом:

  1. Вызов модели InitFcn коллбэк.

  2. Вызов модели SetupRuntimeResources способ.

    1. Функции mdlSetupRuntimeResources Метод S-функции.

  3. Вызов модели Start способ.

    1. Функции mdlStart Метод S-функции.

  4. Вызов модели Initialize способ.

    1. Функции mdlInitializeConditions Метод S-функции.

      Примечание

      Используйте флаг ssIsFirstInitCond для защиты кода, который должен запускаться только во время фазы инициализации любой симуляции, включая первую и последующую инициализацию при быстром перезапуске.

  5. Вызывайте модель и блокируйте StartFcn коллбэки.

    Примечание

    Шаги 1-5 применяются ко всем симуляциям в Simulink (с быстрым перезапуском или без него).

  6. Для первой симуляции в быстром перезапуске захватите снимок симуляции. Симуляционный снимок содержит состояние симуляции (ModelOperatingPoint) и информацию, относящуюся к записанным данным и блокам визуализации. В рамках захвата моментального снимка вызовите ModelOperatingPoint Метод S-функции.

  7. Это стандартная фаза выполнения любой симуляции с быстрым перезапуском или без него.

    • Вызов модели Outputs.

    • Вызов модели Update.

    • Вызов модели Derivatives.

    • Повторите эти шаги в цикле до тех пор, пока не будет запрошено время остановки или остановка.

  8. Вызов модели Terminate способ.

    1. Функции mdlTerminate Метод S-функции.

  9. После окончания симуляции вызывайте модель и StopFcn блоков коллбэки. Это стандартная фаза любой симуляции с быстрым перезапуском или без него.

  10. Восстановите снимок симуляции, взятый для быстрого перезапуска. В рамках восстановления вызовите set Метод S-функции.

  11. Подождите в повторно инициализированном состоянии до одного из следующих действий:

    • Чтобы запустить другую симуляцию (программно или с помощью Редактор) при быстром перезапуске, вернитесь к шагу 3.

    • Чтобы завершить режим Fast Restart и распаковать модель:

      1. Вызовите метод модели CleanupRuntimeResources и mdlCleanupRuntimeResources Метод S-функции.

      2. Не вызывайте StopFcn коллбэки снова на этой точке.

В некоторых случаях. а Start и Terminate методы вызываются только один раз, а не для каждой последующей симуляции быстрого перезапуска. В этих случаях эти вызовы методов объединяются с вызовами в SetupRuntimeResources и CleanupRuntimeResources, соответственно. Эти случаи являются следующими:

  • Когда S-функция содержит пользовательские ModelOperatingPoint сохраните и восстановите методы.

  • Когда S-функция устанавливает флаг SS_OPTION_CALL_TERMINATE_ON_EXIT.

  • Когда S-функция помещена в ускоренный режим ссылочной модели.

Для получения дополнительной информации о обратных вызовах модели коллбэки Коллбэки для настраиваемого поведения модели».

Значения рабочих точек и начальных состояний

Можно изменить начальные значения состояния, включая ModelOperatingPoint, между симуляциями быстрого перезапуска.

Когда ModelOperatingPoint объект для начального состояния используется в быстром перезапуске, каждая новая симуляция сбрасывается во время запуска модели, а не во время моментального снимка каждой ModelOperatingPoint объект. После этого, на первом шаге вперед, Simulink проверяет, чтобы увидеть, ModelOperatingPoint ли был задан. Если да, Simulink восстанавливает его перед вычислением следующего шага. Таким образом, первый шаг симуляции эффективно быстро переходит ко времени моментального снимка заданного ModelOperatingPoint объект.

Анализируйте данные с помощью Данных моделирования Inspector

Быстрый перезапуск поддерживает логгирование данных с помощью Данные Моделирования Inspector. Каждая симуляция в быстром перезапуске создает объект SDI с <modelname> fast restart run <number> имени. Значение number шаги для каждой симуляции.

Пользовательский код в функции инициализации

Когда Вы помещаете пользовательский код в диалоговое окно <reservedrangesplaceholder4>> <reservedrangesplaceholder3>> <reservedrangesplaceholder2>> <reservedrangesplaceholder1> pane in the <reservedrangesplaceholder0>, это называют только во время первой симуляции в быстром перезапуске.

Похожие темы