exponenta event banner

Стимулирование корневого ввода с помощью языка MATLAB

В этом примере показано, как стимулировать корневой ввод в модели с помощью объекта Stimulation и связанных функций:

  • начать

  • стоп

  • getStatus

  • reloadData

  • пауза

Открыть модель и сопоставить ввод с данными волны

Открытая модель slrt_ex_osc_inport. Сохраните модель в рабочей папке. Сопоставьте входной порт для использования данных прямоугольной волны. Для ввода In1, интерполяция отключена.

model = ('slrt_ex_osc_inport');
open_system(model);
load(fullfile(matlabroot,'toolbox','slrealtime','examples','slrt_ex_inport_square.mat'));
waveform = square;
set_param(model,'ExternalInput','waveform');
set_param(model,'LoadExternalInput','on');
set_param(model,'StopTime','Inf');

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

Создание, загрузка и выполнение приложения в реальном времени.

evalc('slbuild(model)');
tg = slrealtime('TargetPC1');
load(tg,model);

Стимулирование данных корневого ввода

Запуск стимуляции ввода корня для входов 1. Откройте блок «Область» и просмотрите результаты.

start(tg.Stimulation,[1]);
start(tg);

Приостановите стимуляцию ввода корня 1.

pause(tg.Stimulation,[1]);

Остановите и начните стимуляцию входа 1.

stop(tg.Stimulation,[1]);
start(tg.Stimulation,[1]);

Проверьте состояние стимуляции вводов.

getStatus(tg.Stimulation,'all');

Создайте объект временного ряда для загрузки данных в порт ввода.

sampleTime = 0.1;
endTime = 10;
numberOfSamples = endTime * 1/sampleTime + 1;
timeVector = (0:numberOfSamples) * sampleTime;
u = timeseries(timeVector*10,timeVector);

Объект u создается в течение 10 секунд. Загрузите его на вход 1. Стимуляция ввода должна быть остановлена перед загрузкой данных.

stop(tg.Stimulation,[1]);
reloadData(tg.Stimulation,[1],u);

Остановите приложение в реальном времени и закройте все.

stop(tg);
bdclose('all');