Можно транслировать данные во входные порты приложения реального времени на целевом компьютере с помощью Target.Stimulation
объект и функции. Функции позволяют вам управлять стимуляцией входящих портов для отдельных или всех входных портов и контролировать статус стимуляции.
Чтобы загрузить данные в входные порты, создайте объект временных рядов с помощью, например, функции timeseries. Загрузите объект во входной порт. Не останавливайте и не останавливайте стимуляцию входных портов до или во время стимуляции. Пауза или остановка генерирует ошибку стимуляции.
Для управления или мониторинга стимуляции входных портов в приложении реального времени:
Запустите стимуляцию определенного входного порта или всех входных портов с помощью start
функция.
Приостановите стимуляцию определенного входного порта или всех входных портов с помощью pause
функция.
Остановите стимуляцию определенного входного порта или всех входных портов, используя stop
функция.
Получите статус стимуляции входных портов при помощи getStatus
функция.
Загрузка данных в определенные входные порты при помощи reloadData
функция.
Этот пример показывает, как стимулировать корневые входные порты в модели с помощью объекта Стимуляции и связанных функций:
начать
стоп
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');