Стимулируйте корневой Inport при помощи языка MATLAB

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

  • запуск

  • остановка

  • getStatus

  • reloadData

  • приостановка

Открытая модель и карта Inport к данным волны

Открытая модель 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);

Стимулируйте корневые данные Inport

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

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

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

pause(tg.Stimulation,[1]);

Остановите и запустите стимуляцию импорта 1.

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

Проверяйте состояние стимуляции импорта.

getStatus(tg.Stimulation,'all');

Создайте объект timeseries загрузить данные к импорту.

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');