exponenta event banner

startBackground

(Не рекомендуемый), Запускают фоновые работы

Этот session объектная функция не рекомендуется. Используйте DataAcquisition возразите функциям вместо этого. См. Вопросы совместимости.

Синтаксис

Описание

пример

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

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

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

Во время непрерывной генерации, 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. Используйте сеанс сбора данных для операций генерации и захвата. Создайте один сеанс на поставщика и используйте тот сеанс поставщика, чтобы выполнить все операции сбора данных.

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2020a

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