addlistener

Пакет: daq

Создайте прослушиватель события

Описание

пример

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

Совет

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

delete(lh)

пример

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

Примеры

свернуть все

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

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, и затем остановите сеанс. Если временные задачи не позволяют достаточно времени для генерации сигнала, используйте pause перед остановкой.

pause(5)
stop(s)

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

delete(lh)

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

свернуть все

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

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

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

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

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

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

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

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

свернуть все

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

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

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