Генерируйте сигналы в фоновом режиме постоянно

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

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

Создайте сеанс NI, возражают и добавляют аналоговый выход 'Voltage' образуйте канал на cDAQ1Mod2:

s = daq.createSession('ni');
addAnalogOutputChannel(s,'cDAQ1Mod2', 'ao0', 'Voltage');

Задайте ID канала на устройствах NI с помощью терминального имени, как 'ao1', или числовой эквивалент как 1.

Создайте данные, чтобы вывести и поставить выходные данные в очередь.

queueOutputData(s,linspace(1, 10, 1000)');

Добавьте прослушиватель DataRequired событие и присвоение это к переменной lh:

lh = addlistener(s,'DataRequired',@queueMoreData);

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

  function queueMoreData(src,event)
        queueOutputData(s,linspace(1, 10, 1000)');
  end

Сгенерируйте сигнал:

startBackground(s);

Можно выполнить другие команды MATLAB®, в то время как генерация происходит. В этом примере выпустите pause(), который заставляет командную строку MATLAB ожидать вас, чтобы нажать любую клавишу.

pause();

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

delete(lh)

Похожие темы

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