В этом примере показано, как использовать журнал сигналов Simulink ® Real-Time™ и инспектор данных моделирования. Сигналы регистрируются во время выполнения модели. В конце прогона в интерфейсе Simulation Data Inspector отображается сигнал. В этом примере показано, как получить сигналы из интерфейса Simulation Data Inspectore с помощью командной строки.
Открытие модели slrt_ex_soc_dist. Эта модель калибрует усилия по контролю через социальное дистанцирование при вспышке инфекционного заболевания.
Откройте модель.
mdl = 'slrt_ex_soc_dist'; mdlOpen = 0; systems = find_system('type', 'block_diagram'); if all(~strcmp(mdl, systems)) mdlOpen = 1; open_system(fullfile(matlabroot,'toolbox','slrealtime','examples','slrt_ex_soc_dist.slx')); end

Создайте модель и загрузите ее на целевой компьютер:
Настройка для построения, отличного от Verbose.
Создайте и загрузите приложение.
set_param(mdl,'RTWVerbose','off'); slbuild(mdl);
### Generated code for 'slrt_ex_soc_dist' is up to date because no structural, parameter or code replacement library changes were found. ### Successful completion of build procedure for: slrt_ex_soc_dist ### Created MLDATX ..\slrt_ex_soc_dist.mldatx Build Summary 0 of 1 models built (1 models already up to date) Build duration: 0h 0m 7.325s
Закройте открытую модель.
if (mdlOpen) bdclose(mdl); end
Используя переменную объекта Simulink Real-Time, tg, загрузить и запустить модель, а также изменить параметры модели.
tg = slrealtime; tg.load(mdl); tg.setparam('','soc_dist_level',1); tg.setparam('','thresh_int_level',1); tg.start; while ~strcmp(tg.status,'stopped') pause(5); end tg.stop;
Используя переменную объекта Simulink Real-Time, tg, загрузить и запустить модель, а также изменить параметры модели
tg = slrealtime; tg.load(mdl); tg.setparam('','soc_dist_level',0.2); tg.setparam('','thresh_int_level',0.2); tg.start; while ~strcmp(tg.status,'stopped') pause(5); end tg.stop;
Для просмотра выводимых на печать данных о сигналах откройте Инспектор данных моделирования.
Simulink.sdi.view
Можно также извлечь данные сигнала из SDI и построить график данных с помощью этих команд.
Получить все пробежки
Получение информации о выполнении
Получи сигнал.
Получить сигнальные объекты.
Принимать только значения инфекционных групп.
Постройте график сигналов.
Результат показывает, что социальное дистанцирование может сократить число госпитализированных
runIds = Simulink.sdi.getAllRunIDs(); for i = 1:length(runIds) run = Simulink.sdi.getRun(runIds(i)); signalID = run.getSignalIDsByName('hospitalized'); if ~isempty(signalID) signalObj = Simulink.sdi.getSignal(signalID); signalArray(:,i) = signalObj.Values(:,1).Data; timeValues = 100*(signalObj.Values(:,1).Time); plot(timeValues,signalArray); drawnow; end end grid on; xlabel('Time in days'); ylabel('hospitalized people');

Параметры перегрузки SLRT | slrtTETMonitor