Во время программного обеспечения в цикле (SIL) или процессоре в цикле (PIL) симуляция, можно использовать Инспектора Данных моделирования, чтобы наблюдать переданные потоком времена выполнения. В конце симуляции вы можете:
Просмотрите метрики времени выполнения для профилируемого компонента модели.
Откройте отчет метрик времени выполнения для всех профилируемых компонентов.
Используйте Инспектора Данных моделирования, чтобы построить и сравнить времена выполнения от различных симуляций.
Рассмотрите модель rtwdemo_sil_topmodel
, которая имеет две подсистемы CounterTypeA
и CounterTypeB
. Измерять времена выполнения кода для подсистем, на Configuration Parameters> Code Generation> панель Verification:
Выберите Measure task execution time, который обеспечивает метрики времени выполнения для задачи, сгенерированной от топ-модели rtwdemo_sil_topmodel
.
Установите Measure function execution times на Coarse (referenced models and subsystems only)
, который обеспечивает метрики времени выполнения для функций, сгенерированных от подсистем CounterTypeA
и CounterTypeB
.
Задайте Workspace variable, например, executionProfile
.
От Save options выпадающий список выберите All data
.
Выполнение симуляции генерирует переменную executionProfile
в базовом рабочем пространстве MATLAB®.
Если вы устанавливаете флажок Data Import/Export> Single simulation output, симуляция создает переменную в вашем заданном объекте Simulink.SimulationOutput
.
Чтобы просмотреть переданные потоком времена выполнения во время симуляции, откройте Инспектора Данных моделирования. На панели инструментов Editor Simulink® нажмите кнопку Simulation Data Inspector.
Когда симуляция завершена, профилируемые компоненты модели окрашены в синий. Чтобы просмотреть метрики времени выполнения для профилируемого компонента, кликните по компоненту. Например, подсистема CounterTypeB
.
Окно экрана также имеет ссылки на:
Полный профильный отчет, который обеспечивает метрики времени выполнения для всех профилируемых секций кода.
Профилируемая секция кода в отчете генерации кода.
Инспектор Данных моделирования, который позволяет вам строить и сравнивать измерения времени выполнения для профилируемой секции кода.
Для топ-модели SIL или PIL симуляции, Редактор Simulink фон также окрашен в синий. Когда вы кликаете по фону, окно экрана показывает метрики времени выполнения для задач топ-модели.
Если вы закрываете модель или окно экрана, можно вновь открыть цветную модель и окно экрана с этой командой строки:
>> annotate(executionProfile)
В конце симуляции можно открыть этот отчет через метрическое окно экрана или с этой командой строки:
>> report(executionProfile)
Часть 1 предоставляет сводные данные. Часть 2 содержит информацию о профилируемых секциях кода.
Расширьте и сверните профилируемые разделы в части 2 путем нажатия [+] и [–] соответственно. Эта диаграмма показы полностью расширила разделы.
Отчет содержит измерения времени для:
Образцовая инициализация функционирует rtwdemo_sil_topmodel_initialize
.
Задача представлена ступенчатой функцией rtwdemo_sil_topmodel_step [0.1 0]
.
Функции сгенерировали от подсистем CounterTypeA
и CounterTypeB
.
Можно перейти к профилируемой секции кода в представлении Generated Code Отчета Генерации кода. В Отчете Профилирования Выполнения кода, на строке секции кода, кликают по значку. Например, если вы кликаете по значку для задачи rtwdemo_sil_topmodel_initialize
, вы видите зонды измерения вокруг сайта вызова в приложении SIL.
Если вы кликаете по значку для функции, сайт вызова подсвечен.
Из Отчета Профилирования Выполнения кода можно проследить компонент модели, который производит набор метрик. Например, в столбце Section, если вы кликаете по гиперссылке CounterTypeA
, Редактор Simulink идентифицирует подсистему.
По умолчанию отчет отображает время в наносекундах (10-9 секунд). Можно задать формат цифрового дисплея и единица измерения времени. Например, чтобы отобразить время в микросекундах (10-6 секунд), используйте следующую команду:
>>report(executionProfile,... 'Units', 'Seconds', ... 'ScaleFactor', '1e-06', ... 'NumericFormat', '%0.3f')
Отчет отображает время в секундах, только если таймер калибруется, то есть, количество меток деления таймера в секунду известно. На машине Windows® программное обеспечение определяет это значение для SIL симуляции. На машине Linux® калибруйте таймер вручную. Например, если ваша скорость процессора составляет 1 ГГц, задайте количество меток деления таймера в секунду:
>>executionProfile.TimerTicksPerSecond = 1e9;
Чтобы отобразить измеренные времена выполнения для задачи или функции, кликните по Инспектору Данных моделирования значок на соответствующей строке. Используйте Инспектора Данных моделирования, чтобы управлять и сравнить графики от различных симуляций.
Чтобы наблюдать, как секции кода вызываются по временной шкале выполнения, используйте функцию timeline
.
Следующая таблица описывает информацию, предоставленную в профилях секции кода.
Столбец | Описание |
---|---|
Раздел | Имя задачи, топ-модели, подсистемы или блока Model. Щелкните по ссылке, чтобы перейти к модели. С задачей демонстрационный период и демонстрационное смещение перечислены рядом с именем задачи. Например, |
Максимальный Срок выполнения работы (Simulink Real-Time™ и пакеты поддержки в режиме реального времени режим) | Самое долгое время между запуском и концом секции кода. Включает время вытеснения. |
Среднее время цикла (Simulink Real-Time и пакеты поддержки в режиме реального времени режим) | Среднее время между запуском и концом секции кода. Включает время вытеснения. |
Максимальное время выполнения | Самое долгое время между запуском и концом секции кода. |
Среднее время выполнения | Среднее время между запуском и концом секции кода. |
Максимум сам время | Максимальное время выполнения, исключая время в дочерних разделах. |
Среднее значение сам время | Среднее время выполнения, исключая время в дочерних разделах. |
Вызовы | Количество вызовов секции кода. |
Значок, по которому вы кликаете, чтобы видеть профилируемую секцию кода в представлении Generated Code Отчета Генерации кода. Секция кода может быть задачей или функцией. Заданная переменная рабочей области, например, | |
Значок, по которому вы кликаете, чтобы отобразить профилируемую секцию кода в Командном окне. Эквивалентный выполнению команды Заданная переменная рабочей области, например, | |
Значок, по которому вы кликаете, чтобы отобразить измеренные времена выполнения с Инспектором Данных моделирования. Заданная переменная рабочей области, например, |