exponenta event banner

DataAvailable

(Не рекомендуемый), Уведомляют, когда полученные данные доступны для процесса

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

Описание

пример

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

Совет

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

пример

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

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

Данные

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

TimeStamps

Метки времени относительно TriggerTime в m- 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. Выражение выполняется, когда триггер происходит.

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

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

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

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