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

Этот пример показывает, как постоянно генерировать сигналы. Непрерывная фоновая генерация зависит от событий и прослушивателей, чтобы позволить вашему коду включать непрерывную постановку в очередь данных и реагировать на любые ошибки, как они происходят. Для получения дополнительной информации смотрите События и Прослушиватели — Концепции в документации Объектно-ориентированного программирования 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)

Похожие темы

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