Для профилирования выполнения кода, чтобы уменьшить использование полосы пропускания канала связи во время симуляции программа в цикле (SIL), симуляции процессор в цикле (PIL) или симуляции режима external mode XCP, можно захватывать и хранить только эти метрики профилирования на целевом компьютере:
Максимальное время выполнения секции кода
Среднее время выполнения секции кода
Количество вызовов секции кода
В конце симуляции Simulink® загружает метрики с целевого компьютера на компьютер разработчика.
Чтобы запустить SIL симуляцию, которая генерирует только основные метрики во время выполнения:
Откройте rtwdemo_sil_topmodel
модель, которая имеет две подсистемы CounterTypeA
и CounterTypeB
.
На вкладке SIL/PIL в разделе Mode выберите SIL/PIL Simulation Only.
В Prepare разделе задайте следующие настройки:
System Under Test — Top model
SIL/PIL Mode — Software-in-the-Loop (SIL)
Для измерения времен выполнения кода для подсистем:
Нажмите кнопку.
В диалоговом окне Параметров конфигурации выберите Measure task execution time, который обеспечивает метрики времени выполнения для задачи, сгенерированной из модели верхней части rtwdemo_sil_topmodel
.
Установите Measure function execution times значение Coarse (referenced models and subsystems only)
, который обеспечивает метрики времени выполнения для функций, сгенерированных из подсистем CounterTypeA
и CounterTypeB
.
Задайте Workspace variable, например executionProfile
. Если установлен флажок Data Import/Export > Single simulation output, программа создает переменную в Simulink.SimulationOutput
заданный объект.
В раскрывающемся списке Save options выберите Metrics only
.
Нажмите OK.
В Prepare разделе нажмите Settings. В разделе Coverage нажмите кнопку Coverage Collection off.
В Run разделе нажмите Run SIL/PIL.
Симуляция генерирует переменную executionProfile
в MATLAB® базовое рабочее пространство.
Чтобы открыть отчет по профилированию выполнения кода, в окне «Профилирование» щелкните отображаемую ссылку. В разделе 2 отчет отображает профилированные секции кода как сплющенный список.
Программе не удается извлечь иерархию вызовов секций кода, поскольку эта информация не сохранена на целевом компьютере.
Фильтрация служебных данных не поддерживается, если для Save options задано значение Metrics only
.
Измерьте времена выполнения функции | Измерьте время выполнения задачи | Сохраните опции | Переменная рабочей области