Profiler фиксирует данные о производительности во время моделирования модели. Он определяет детали модели, для моделирования которых требуется наибольшее время. Используйте информацию о профилировании для выбора направления оптимизации модели.
Примечание
Приложение Profiler нельзя использовать в режиме ускорителя Rapid.
Simulink ® сохраняет данные о производительности в отчете о профиле моделирования. Данные показывают время, затраченное на выполнение каждой функции в модели.
Основой для Profiler является модель выполнения, которую суммирует этот псевдокод.
Sim() ModelInitialize(). ModelExecute() for t = tStart to tEnd Output() Update() Integrate() Compute states from derivs by repeatedly calling: MinorOutput() MinorDeriv() Locate any zero crossings by repeatedly calling: MinorOutput() MinorZeroCrossings() EndIntegrate Set time t = tNew. EndModelExecute ModelTerminate EndSim
Согласно этой концептуальной модели, Simulink запускает модель, вызывая следующие функции ноль, один или несколько раз, в зависимости от функции и модели.
| Функция | Цель | Уровень |
|---|---|---|
sim | Моделирование модели. Эта функция верхнего уровня вызывает другие функции, необходимые для моделирования модели. Время, затраченное в этой функции, является общим временем, необходимым для моделирования модели. | Система |
ModelInitialize | Настройте модель для моделирования. | Система |
ModelExecute | Выполнение модели путем вызова функций вывода, обновления, интеграции и т.д. для каждого блока на каждом временном шаге от начала до конца моделирования. | Система |
Output | Вычислите выходные данные блока на текущем шаге времени. | Блок |
Update | Обновить состояние блока на текущем шаге времени. | Блок |
Integrate | Вычислите непрерывные состояния блока, интегрировав производные состояния на текущем шаге времени. | Блок |
MinorOutput | Вычислить вывод блока на второстепенном временном шаге. | Блок |
MinorDeriv | Вычислите производные состояния блока на второстепенном временном шаге. | Блок |
MinorZeroCrossings | Вычисление значений пересечения нуля блока на второстепенном временном шаге. | Блок |
ModelTerminate | Освободите память и выполните любую другую очистку в конце моделирования. | Система |
Nonvirtual Subsystem | Вычислите выходные данные невиртуальной подсистемы на текущем шаге времени путем вызова функций вывода, обновления, интеграции и т.д. для каждого блока, который в ней содержится. Время, затраченное в этой функции, - это время, необходимое для выполнения невиртуальной подсистемы. | Блок |
Profiler измеряет время, необходимое для выполнения каждого вызова этих функций. После моделирования модели Profiler создает отчет, в котором описывается время моделирования, затраченное на каждую функцию.
Откройте модель.
На вкладке Отладка выберите Performance Advisor > Simulink Profiler.
Моделирование модели.
По завершении моделирования Simulink генерирует и отображает профиль моделирования для модели на панели в редакторе Simulink.

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

Представление стека выполнения разбивает отчет о профилировании по фазе моделирования модели. Основными этапами моделирования модели являются компиляция, инициализация, моделирование и завершение. Более подробное описание этапов моделирования см. в разделе Этапы моделирования в динамических системах.

Отчет Profiler можно сохранить в mat файл. Позднее можно импортировать и просмотреть отчет путем загрузки сохраненного mat в текущую рабочую область или импортировать ее в существующую сессию профилировщика.
Чтобы сохранить отчет о профилировании, выберите «Экспорт в MAT» в разделе «Общий доступ» на вкладке «Профиль» и при необходимости укажите имя mat файл.
Для просмотра сохраненного отчета в открытом сеансе профилирования в редакторе Simulink выберите «Импорт из файла» на вкладке «Профиль».
Чтобы просмотреть сохраненный отчет в командной строке, загрузите mat файл, содержащий отчет. Информация о профилировании загружается в текущую рабочую область как Simulink.profiler.Data объект. Дополнительные сведения см. в разделе Simulink.profiler.Data.