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