exponenta event banner

Начало работы с быстрым перезапуском

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

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

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

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

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

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

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

    • Измените входные данные на блоки Из файла (From File) и Из рабочей области (From Workspace).

    • Измените параметр начального состояния для следующего моделирования.

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

    • Изменение значений переопределения регистрации сигналов для модели программным путем с помощью set_param команды и DataLoggingOverride параметр. См. раздел Переопределение параметров регистрации сигналов из MATLAB.

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

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

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

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

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

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

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

    Примечание

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

Подготовка модели для быстрого перезапуска

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

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

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

  • Режим моделирования - Обычный (Normal) или Ускоритель (Accelerator).

Примечание

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

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

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

  • Нажмите кнопку Быстрый перезапуск на панели инструментов редактора Simulink.

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

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

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

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

  1. Моделирование модели путем вызова sim или нажмите кнопку «Выполнить» на панели инструментов редактора Simulink. Первое моделирование при быстром перезапуске требует компиляции и сохранения модели ModelOperatingPoint объект.

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

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

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

  4. Когда результаты будут удовлетворены, отключите быструю перезагрузку, нажав кнопку «Быстрая перезагрузка».

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

Примечание

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

Остановить моделирование

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

  • Моделирование не прекращается.

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

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

  • Можно завершить моделирование и выйти из режима быстрого перезапуска, нажав кнопку быстрого перезапуска.

Выход из режима быстрого перезапуска

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

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

  • Simulink завершает моделирование.

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

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

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

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

  • При инициализации модели при быстром перезапуске в дополнение к значениям блоков и базовым переменным рабочей области можно настроить параметры на панелях Импорт/экспорт данных (Data Import/Export) и Решатель (Solver) в диалоговом окне Параметры конфигурации (Configuration Parameters) (на вкладке Моделирование (Simulation) в разделе Подготовка (Prepare) щелкните Настройки модели (Model Settings)).

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

    • Параметр Initial Value блока ИС

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

    • Параметр данных блока «Из рабочей области»

    • Параметр сигнала и группы сигналов блока 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. Подождите в повторно инициализированном состоянии, пока не будет выполнено одно из следующих действий:

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

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

      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 объект.

Анализ данных с помощью инспектора расчетных данных

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

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

При размещении пользовательского кода в области «Параметры конфигурации» > «Цель моделирования» > «Пользовательский код» > «Инициализация функции» диалогового окна «Параметры конфигурации модели» этот код вызывается только во время первого моделирования при быстром перезапуске.

Связанные темы