Измерение времени выполнения и профилирование блока

В этом примере показано, как анализировать эффективность выполнения модели в Simulink Desktop Real-Time™. Примером является многоскоростная многозадачная модель, которая выполняет интенсивные действия времени умножения матриц и нахождения минимума в получившемся матричном произведении. Это делается для двух различных матричных размеров на уровне двух различных частот дискретизации.

Информация об эффективности уровня задачи возвращена блоком Execution Time. Первый выходной порт показывает общее время выполнения каждого шага базовой ставки целой модели. Второй выходной порт показывает время выполнения каждой задачи.

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

Примечание: Этот пример должен быть запущен в Запущенном в Привилегированном режиме и требует Simulink Coder™.

  1. Чтобы переключиться, чтобы Запуститься в Привилегированном режиме, на *вкладка Desktop Real-Time, выбирают Mode> Run in Kernel.

  2. Чтобы запустить выполнение в реальном времени, нажмите Run в режиме реального времени.

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

Откройте модель

open_system(fullfile(matlabroot,'toolbox','sldrt','sldrtexamples','sldrtex_profiling'));

Закройте открытые осциллографы

close_system(find_system(gcs ,'BlockType', 'Scope'));

Очистите модель

clear
close all
bdclose all

Смотрите также