startBackground

Запустите фоновые работы

Синтаксис

startBackground(s);

Описание

пример

startBackground(s); запускает операцию объекта сеанса, s, не блокируя командную строку MATLAB и другой код. К выполнению блока MATLAB используйте startForeground.

Когда вы используете startBackground(s) с каналами аналогового входа, операция использует событие DataAvailable, чтобы поставить полученные данные. Это событие запускается периодически, в то время как приобретение происходит. Для получения дополнительной информации смотрите Событие и Концепции прослушивателя (MATLAB).

Когда вы добавляете каналы аналогового выхода в сеанс, необходимо вызвать queueOutputData() прежде, чем вызвать startBackground().

Во время непрерывной генерации событие DataRequired запущено периодически, чтобы запросить дополнительные данные, которые будут поставлены в очередь к сеансу. Смотрите DataRequired для получения дополнительной информации.

По умолчанию свойство IsContinuous установлено в false, и операция останавливается автоматически. Если вы установили его на true, используйте stop, чтобы остановить фоновые работы явным образом.

Используйте wait для выполнения блока MATLAB, пока фоновая работа не будет завершена.

Советы

  • Создайте сеанс приобретения и добавьте канал, прежде чем вы будете использовать этот метод. Смотрите daq.createSession для получения дополнительной информации.

  • Если ваш сеанс имеет каналы аналогового входа, необходимо использовать событие DataAvailable, чтобы получить полученные данные в фоновом приобретении.

  • Если ваш сеанс имеет каналы аналогового выхода и непрерывен, можно использовать событие DataRequired, чтобы поставить дополнительные данные в очередь во время фоновых поколений.

  • Вызовите prepare, чтобы уменьшать задержку, сопоставленную с запуском и предварительно выделить ресурсы.

  • Используйте событие ErrorOccurred, чтобы отобразить ошибки во время операции.

Примеры

свернуть все

Создайте сеанс и добавьте прослушиватель. Используйте функцию обратного вызова прослушивателя, чтобы получить доступ к полученным данным.

s = daq.createSession('ni');
addAnalogInputChannel(s,'cDAQ1Mod1','ai0','Voltage');
lh = addlistener(s,'DataAvailable',@plotData); 
 
function plotData(src,event)
     plot(event.TimeStamps,event.Data)
end

Запустите сеанс и выполните другие операции MATLAB®.

startBackground(s);

Выполните другие операции MATLAB.

Для непрерывной фоновой генерации добавьте событие прослушивателя, чтобы поставить в очередь дополнительные данные, которые будут выведены.

s = daq.createSession('ni');
addAnalogOutputChannel(s,'cDAQ1Mod2',0,'Voltage');
s.IsContinuous = true;
s.Rate=10000;
data=linspace(-1,1,5000)';
lh = addlistener(s,'DataRequired', ...
        @(src,event) src.queueOutputData(data));
queueOutputData(s,data) 
startBackground(s); 

Выполните другие операции MATLAB во время генерации.

Входные параметры

свернуть все

Сеанс сбора данных, заданный как объект сеанса. Создайте объект сеанса использование daq.createSession. Используйте сеанс сбора данных для операций приобретения и генерации. Создайте один сеанс на поставщика и используйте тот сеанс поставщика, чтобы выполнить все операции сбора данных.

Представленный в R2010b

Для просмотра документации необходимо авторизоваться на сайте