DataAvailable

Уведомите, когда полученные данные будут доступны процессу

Синтаксис

lh = addlistener(session,'DataAvailable',callbackfct);
lh = addlistener(session,'DataAvailable',@(src,event) expr)

Описание

пример

lh = addlistener(session,'DataAvailable',callbackfct); создает прослушиватель для события DataAvailable. Когда данные доступны процессу, коллбэк выполняется. Коллбэк может быть любой функцией MATLAB® с подписью (src,event).

Совет

Частотой, с которой запущено событие DataAvailable, управляет NotifyWhenDataAvailableExceeds

пример

lh = addlistener(session,'DataAvailable',@(src,event) expr) создает прослушиватель для события DataAvailable и запускает анонимную функцию обратного вызова. Анонимная функция требует заданных входных параметров и выполняет операцию, заданную в выражении expr. Анонимные функции обеспечивают быстрые средние значения создания простых функций, не храня вашу функцию в отдельном файле. Для получения дополнительной информации см. Анонимные функции (MATLAB).

Коллбэк имеет два обязательных параметра: src и event. src является объектом сеанса для прослушивателя, и event является объектом daq.DataAvailableInfo, содержащим сопоставленные данные и синхронизирующим информацию. Свойства daq.DataAvailableInfo:

Данные

m-by-n матрица удваивается, где m является количеством сканирований, полученных, и n является количеством входных каналов на сеансе.

TimeStamps

Метки времени относительно TriggerTime в m-by-1 массив, где m является количеством полученных сканирований.

TriggerTime

MATLAB последовательная метка времени даты, представляющая абсолютное время триггер приобретения, происходит.

Примеры

свернуть все

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

Создайте сеанс, добавьте канал аналогового входа и измените длительность приобретения.

s = daq.createSession('ni');
addAnalogInputChannel(s,'cDAQ1Mod1','ai0','Voltage');
s.DurationInSeconds = 5;

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

lh = addlistener(s,'DataAvailable',@plotData);

Создайте функцию, которая отображает данные на графике, когда событие имеет место.

 function plotData(src,event)
     plot(event.TimeStamps,event.Data)
end

Запустите приобретение и ожидайте.

startBackground(s);
wait(s)

Удалите прослушиватель.

delete(lh)

Этот пример показывает, как создать событие с помощью вызова анонимной функции, чтобы отобразить данные на графике, когда событие имеет место.

Создайте сеанс, добавьте канал аналогового входа и измените длительность приобретения.

s = daq.createSession('ni');
addAnalogInputChannel(s,'cDAQ1Mod1','ai0','Voltage');
s.DurationInSeconds = 5;

Добавьте слушать с вызовом анонимной функции.

lh = s.addlistener('DataAvailable', ...
          @(src,event) plot(event.TimeStamps, event.Data));

Получите данные.

s.startBackground();

Удалите прослушиватель.

delete(lh)

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

свернуть все

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

Функция обратного вызова, заданная как указатель на функцию.

Анонимная функция обратного вызова, заданная как операция MATLAB. Выражение выполняется, когда триггер происходит.

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

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