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

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

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

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

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

Чтобы запустить выполнение в реальном времени в режиме external mode, на вкладке Desktop Real-Time, нажимают Run в режиме реального времени. Сборки модели, подключения к Simulink в режиме external mode, и запускаются.

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

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

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

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

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

clear
close all
bdclose all

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