exponenta event banner

addlistener

(Не рекомендуемый) прослушиватель события Create

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

Описание

пример

lh = addlistener(s,eventName,@callback) создает прослушиватель для заданного события, eventName, выполнить функцию обратного вызова, callback во время события. lh переменная, в которой хранится указатель прослушивателя. Создайте функцию обратного вызова, которая выполняется, когда прослушиватель обнаруживает заданное событие. Коллбэком может быть любой MATLAB® функция.

Совет

Удалите прослушиватель, если операция завершена.

delete(lh)

пример

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

Примеры

свернуть все

Создание сеанса и добавляет канал аналогового входа.

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

Добавьте прослушиватель для DataAvailable событие.

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

Создайте plotData функция обратного вызова и сохраняет его как plotData.m.

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

Получите данные в фоновом режиме.

startBackground(s);

Ожидайте операции, чтобы завершить, и удалить прослушиватель.

wait(s)
delete(lh)

Создайте сеанс и установите IsContinuous свойство к true.

s = daq.createSession('ni');
s.IsContinuous = true;

Добавьте два канала аналогового выхода и создайте выходные данные для двух каналов.

addAnalogOutputChannel(s,'cDAQ1Mod2',0:1,'Voltage');
outputData0 = linspace(-1,1,1000)';
outputData1 = linspace(-2,2,1000)';

Поставьте выходные данные в очередь.

queueOutputData(s,[outputData0 outputData1]);

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

lh = addlistener(s,'DataRequired', @(src,event)...
      src.queueOutputData([outputData0 outputData1]));

Сгенерируйте сигналы в фоновом режиме.

startBackground(s);

Выполните другие операции MATLAB, и затем остановите сеанс. Если временные задачи не позволяют достаточно времени для генерации сигнала, используйте a pause перед остановкой.

pause(5)
stop(s)

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

delete(lh)

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

свернуть все

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

Имя события, чтобы прислушаться в виде вектора символов или строки. Поддерживаемые события включают:

Типы данных: char | string

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

Входной параметр сеанса к анонимной функции в виде имени переменной. addlistener отправляет указатель на объект сеанса сбора данных в анонимную функцию как эта переменная.

Аргумент ввода событий к анонимной функции в виде имени переменной. addlistener отправляет указатель на объект инициирующего события в анонимную функцию как эта переменная.

Тело анонимной функции в виде линии исполняемого текста. Выражение может включать имена переменных входного параметра src и event.

Выходные аргументы

свернуть все

Прослушиватель события, возвращенный как указатель объекта-события. Удалите прослушиватель, если операция завершается.

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

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

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

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