Блок SLRT Overload Options выводит текущий счет перегрузки ЦП для идентифицированной частоты дискретизации.
В этом примере показано, как спроектировать модель, которая использует блок SLRT Overload Options, чтобы контролировать уровень, на котором происходят перегрузки ЦП. Уровень информации о перегрузках ЦП может быть полезным при настройке эффективности модели, для которой низкий уровень перегрузки ЦП приемлем.
В Командном Окне MATLAB введите:
open_system(fullfile(matlabroot, 'toolbox','slrealtime','examples','slrt_ex_overload'));
Назовите сигнал, выходящий из выходного порта блока ограничителя уровня как Ограничитель Уровня, и регистрируйте его в Инспекторе Данных моделирования.
p = get_param('slrt_ex_overload/Rate Limiter','PortHandles'); l = get_param(p.Outport,'Line'); set_param(l,'Name','Rate Limiter'); Simulink.sdi.markSignalForStreaming('slrt_ex_overload/Rate Limiter',1,'on');
Создайте модель.
set_param('slrt_ex_overload', 'RTWVerbose', 'off'); slbuild('slrt_ex_overload');
### Successful completion of build procedure for: slrt_ex_overload ### Created MLDATX ..\slrt_ex_overload.mldatx Build Summary Top model targets built: Model Action Rebuild Reason ================================================================================================= slrt_ex_overload Code generated and compiled Code generation information file does not exist. 1 of 1 models built (0 models already up to date) Build duration: 0h 1m 20.857s
Загрузите приложение и запустите его на целевом компьютере.
tg = slrealtime;
connect(tg);
load(tg,'slrt_ex_overload');
start(tg);
pause(20);
stop(tg);
Чтобы просмотреть уровень, на котором происходят перегрузки ЦП, откройте Инспектора Данных моделирования.
В Командном Окне MATLAB введите:
Simulink.sdi.view;
В Инспекторе Данных моделирования график показывает:
Нижняя часть возрастающий сигнал шага ступеньки - Этот сигнал указывает на количество перегрузок ЦП, которые произошли.
Главный возрастающий сигнал шага ступеньки - Этот сигнал указывает на количество перегрузок ЦП, которые позволены, который является (произошел + 2).
Возрастающая скорость нарастания - Этот сигнал указывает на уровень, на котором происходят перегрузки ЦП. Когда возрастающая скорость нарастания становится больше, чем главный возрастающий сигнал шага ступеньки, уровень перегрузок ЦП больше, позволены.
Чтобы изменить уровень, на котором перегрузки ЦП происходят в модели, измените Constant2
значение параметров.
Чтобы изменить уровень перегрузок ЦП, которые приемлемы в модели, измените RisingSlowLimit
значение параметров.
В Командном Окне MATLAB введите:
load(tg,'slrt_ex_overload');
Изменить уровень перегрузок ЦП, которые приемлемы в модели
tg.setparam('slrt_ex_overload/Rate Limiter','RisingSlewLimit',0.004);
Изменить уровень, на котором перегрузки ЦП происходят в модели
tg.setparam('slrt_ex_overload/Constant2','Value',4);
запустите модифицированное приложение на целевом компьютере
start(tg); pause(20); stop(tg);
В Инспекторе Данных моделирования сравните данные сигнала от запусков симуляции и наблюдайте изменение в уровне перегрузки ЦП.
bdclose('all');