Управляйте и обновляйте стимуляцию входных портов к приложению реального времени

Можно транслировать данные во входные порты приложения реального времени на целевом компьютере с помощью Target.Stimulation объект и функции. Функции позволяют вам управлять стимуляцией входящих портов для отдельных или всех входных портов и контролировать статус стимуляции.

Чтобы загрузить данные в входные порты, создайте объект временных рядов с помощью, например, функции timeseries. Загрузите объект во входной порт. Не останавливайте и не останавливайте стимуляцию входных портов до или во время стимуляции. Пауза или остановка генерирует ошибку стимуляции.

Для управления или мониторинга стимуляции входных портов в приложении реального времени:

  • Запустите стимуляцию определенного входного порта или всех входных портов с помощью start функция.

  • Приостановите стимуляцию определенного входного порта или всех входных портов с помощью pause функция.

  • Остановите стимуляцию определенного входного порта или всех входных портов, используя stop функция.

  • Получите статус стимуляции входных портов при помощи getStatus функция.

  • Загрузка данных в определенные входные порты при помощи reloadData функция.

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

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

  • начать

  • стоп

  • 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. Откройте блок 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');

См. также

|