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

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

Фоновое приобретение зависит от событий и прослушивателей, чтобы позволить вашему коду получать доступ к данным, когда оборудование получает его и реагировать на любые ошибки, как они происходят. Для получения дополнительной информации смотрите События и Прослушиватели — Концепции в документации Объектно-ориентированного программирования MATLAB. Используйте события, чтобы получить данные в фоновом режиме. В этом примере вы получаете данные из устройства NI 9205 с ID cDAQ1Mod1 с помощью прослушивателя и события DataAvailable.

Прослушиватели выполняют функцию обратного вызова, когда уведомлено, которую имело место событие. Используйте Session.addlistener , чтобы создать объект прослушивателя, который выполняет вашу функцию обратного вызова.

Создайте объект сеанса NI и канал 'Напряжения' аналогового входа на cDAQ1Mod1:

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

Добавьте прослушиватель для события DataAvailable и присвойте его переменной lh:

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

Для получения дополнительной информации о событиях смотрите События и Прослушиватели — Концепции в документации Объектно-ориентированного программирования MATLAB.

Создайте простую функцию обратного вызова, чтобы отобразить полученные данные на графике и сохранить их как plotData.m в вашей рабочей директории:

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

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

Получите данные и смотрите обновление графика, в то время как MATLAB® запускается:

startBackground(s);

Когда операция будет завершена, удалите прослушиватель:

delete (lh)

Похожие темы

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