Во время программного обеспечения в цикле (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 Отчета Генерации кода. Секция кода может быть задачей или функцией. Заданная переменная рабочей области, например, | |
Значок, по которому вы кликаете, чтобы отобразить профилируемую секцию кода в Командном окне. Эквивалентный выполнению команды Заданная переменная рабочей области, например, | |
Значок, по которому вы кликаете, чтобы отобразить измеренные времена выполнения с Инспектором Данных моделирования. Заданная переменная рабочей области, например, |