Вставьте событие в выполнение профильный поток

То В этом примере показано, как использовать блок Log Event, вставляет пользовательское событие в выполнение, профилирующее поток событий. Для получения дополнительной информации о профилировании выполнения, смотрите, что Выполнение Профилирует для Приложений реального времени.

Открытая модель

Чтобы открыть модель, в командном окне MATLAB, введите:

open_system(fullfile(matlabroot,'toolbox','slrealtime','examples','slrt_ex_log_event'));

mdl = 'slrt_ex_log_event';
mdlOpened = 0;
systems = find_system('type', 'block_diagram');
if ~any(strcmp(mdl, systems))
  mdlOpened = 1;
  open_system(fullfile(matlabroot,'toolbox','slrealtime','examples',mdl));
end

Установите параметры для меры времена выполнения Funtion

Откройте диалоговое окно Configuration Parameters. Выберите Code Generation> Verification.

В течение времен выполнения функции Меры выберите Detailed (все сайты вызова функции). Флажок времени выполнения задачи Меры проверяется и блокируется. Нажать ОК.

Или в окне команды MATLAB введите:

set_param('slrt_ex_log_event','CodeProfilingInstrumentation','Detailed');
set_param('slrt_ex_log_event','StopTime','30');

Создайте и загрузите приложение реального времени

Создайте модель и загрузите на целевой компьютер.

evalc('slbuild(mdl)');
tg = slrealtime;
load(tg,mdl);

Профилируйте выполнение

Запустите профилировщик и затем выполните приложение реального времени.

startProfiler(tg);
start(tg);
pause(20)
stopProfiler(tg);
stop(tg);

Отобразите профиль выполнения

Получите данные Профилировщика. Отобразите пользовательское событие в таблице.

profiler_data = getProfilerData(tg);
profiler_data.EventTrace.etData
Processing data on target computer ...
Transferring data from target computer ...
Processing data on host computer ...
 

ans =

  2×6 table

    Channel       Timestamp        Event    Value    CPU    ModelTime
    _______    ________________    _____    _____    ___    _________

      500      4391936693513734     200      200      1          2   
     1000      4391936693513734     100      700      1        6.5   

График Профиля Выполнения показывает выделение циклов выполнения через эти четыре процессора, обозначенные цветными горизонтальными планками. Разделы модели перечислены в Отчете Профилирования Выполнения кода. Ядра обозначаются числами под панелями.

Закрыть модель

Закройте модель, если она открыта.

if (mdlOpened)
  bdclose(mdl);
end