NotifyWhenDataAvailableExceeds

Управляйте увольнением события DataAvailable

Описание

Событие DataAvailable инициировано, когда количество сканирований, доступных объекту сеанса, превышает количество, заданное в свойстве NotifyWhenDataAvailableExceeds.

Вы не можете установить свойство NotifyWhenDataAvailableExceeds, когда сеанс находится в подготовленном состоянии, которое может произойти после выполнения startForeground. В этом случае вызовите release на сеансе прежде, чем установить это значение свойства.

Значения

По умолчанию событие DataAvailable инициировало, когда 1/10 вторая ценность данных доступна для анализа. Чтобы задать различный порог, измените значение NotifyWhenDataAvailableExceeds.

Примеры

Управляйте увольнением события доступных данных

Добавьте прослушиватель события, чтобы отобразить общее количество полученных сканирований и запустить событие, когда доступные данные превысят заданную сумму.

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

s = daq.createSession('ni');
addAnalogInputChannel(s,'Dev4',1,'Voltage');
lh = addlistener(s,'DataAvailable', ...
			@(src, event) disp(s.ScansAcquired));

Значением по умолчанию Rate являются 1 000 сканирований в секунду. Сеанс автоматически сконфигурирован, чтобы запустить времена уведомления 10 DataAvailable в секунду.

Увеличьте Rate до 800 000 сканирований в секунду, в то время как уведомление DataAvailable автоматически стреляет 10 раз в секунду.

s.Rate = 800000;
s.NotifyWhenDataAvailableExceeds
ans =
        80000

Выполнение приобретения вызывает количество сканирований, полученных, чтобы быть отображенным коллбэком 10 раз.

data = startForeground(s);
               80000

               160000

               240000

               320000

               400000

               480000

               560000

               640000

               720000

               800000

Увеличьте NotifyWhenDataAvailableExceeds до 160,000. NotifyWhenDataAvailableExceeds больше не конфигурируется автоматически, когда Rate изменяется.

s.NotifyWhenDataAvailableExceeds = 160000;
s.IsNotifyWhenDataAvailableExceedsAuto
ans =

     0

Запустите приобретение. Событие DataAvailable запущено только пять раз в секунду.

data = startForeground(s);
               160000

               320000

               480000

               640000

               800000

Задержите IsNotifyWhenDataAvailableExceedsAuto к true.

s.IsNotifyWhenDataAvailableExceedsAuto = true;
s.NotifyWhenDataAvailableExceeds
ans =
                80000

Это заставляет NotifyWhenDataAvailableExceeds устанавливать автоматически, когда Rate изменяется.

s.Rate = 50000;
s.NotifyWhenDataAvailableExceeds
ans =
                 5000

Смотрите также

События

DataAvailable

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