exponenta event banner

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

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

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

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

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

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

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

  • Получить статус стимуляции ввода с помощью getStatus функция.

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

Стимулирование корневого ввода с помощью языка 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');

См. также

|