Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lesson 4.doc
Скачиваний:
17
Добавлен:
11.07.2019
Размер:
650.75 Кб
Скачать

Межбуферная передача данных

Передача данных между буфером ПК и буфером LabVIEW является одной из важнейших операций аналогового ввода. Входной терминал number of samples per channel ВП DAQmx Timing назначает буфер ПК. При выполнении буферизированного сбора данных сбор начинается, когда вы вызываете ВП DAQmx Start Task. После начала сбора данных буфер ПК заполняется данными до тех пор, пока не станет полным. Скорость наполнения определяется частотой, которую вы установили в ВП DAQmx Timing. После заполнения буфера ПК ВП DAQmx Read переносит данные из него в буфер LabVIEW. При буферизированном сборе ВП DAQmx Read перемещает все данные за раз.

Упражнение 4-4. Буферизированный ввод ограниченного количества данных

Задача: Получить массив данных, используя конфигурацию буферизированного ввода ограниченного количества данных.

При использовании буферизированного ввода ограниченного количества данных LabVIEW задает, сколько точек необходимо получить и с какой частотой. После этого вся забота о тактировании ложится на DAQ устройство. При буферизированном вводе DAQ устройство управляет всеми аспектами сбора данных. В противоположность этому, при сборе данных с программным тактированием за управление сбором отвечает только компьютер, что может быть проблематично, если компьютер вдруг не сможет дать достаточного приоритета процессу сбора данных.

Лицевая панель

1. Откройте новый ВП и постройте следующую лицевую панель.

Большинство показанных выше элементов управления вы можете создать с блок-диаграммы, вызывая контекстное меню соответствующих терминалов виртуальных приборов и выбирая в них опцию Create»Control (Создать»Элемент управления).

В данном упражнении вы будете получать данные из одного канала испытательной коробки и отображать их на графике. Установите значение 1000 для элемента управления #выборок на канал (размер буфера) и частоту выборки – 10000. Выберите в элементе управления Имя DAQmx канала значение Sine Wave.

2. Присоедините выход синусоидального сигнала к входу аналогового канала CH1 на испытательной коробке.

Блок-диаграмма

3. Постройте следующую блок-диаграмму.

a. Поместите ВП DAQmx Timing, расположенный в палитре Functions»All Functions»NI Measurements»DAQmx - Data Acquisition, на блок-диаграмме. Этот ВП настраивает тактирование и размер буфера (число выборок на канал) для задачи. Для использования внутреннего генератора DAQ устройства выберите опцию Sample Clock выпадающего меню конфигуратора.

b. Поместите ВП DAQmx Start Task, расположенный в палитре Functions»All Functions»NI Measurements»DAQmx - Data Acquisition, на блок-диаграмме. Этот ВП запускает измерительную задачу.

c. Поместите ВП DAQmx Read, расположенный в палитре Functions»All Functions»NI Measurements»DAQmx - Data Acquisition, на блок-диаграмме. Этот ВП выполняет считывание такого типа, которое вы зададите в выпадающем меню его конфигуратора. Выберите опцию Analog»Single Channel»Multiple Samples»1D DBL, чтобы возвратить одномерный массив чисел с плавающей запятой удвоенной точности из одного канала.

d. Поместите ВП DAQmx Stop Task, расположенный в палитре Functions»All Functions»NI Measurements»DAQmx - Data Acquisition, на блок-диаграмме. Этот ВП останавливает измерительную задачу.

4. Сохраните ВП под именем Buffered Acquisition.vi в директории C:\Exercises\LabVIEW DAQ.

5. Переключитесь на лицевую панель и запустите ВП. На графике должен отобразиться синусоидальный сигнал.

6. Закройте ВП.

Конец упражнения 4-4.

Упражнение 4-5. Буферизированный сбор данных с исследованием осциллограммы.

Задача: Получить осциллограммы, используя буферизированный сбор данных, и проанализировать эти данные для нахождения максимального и минимального значений.

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

1. Откройте созданный вами в упражнении 4-4 ВП Buffered Acquisition, расположенный в директории C:\Exercises\LabVIEW DAQ.

2. Выберите в меню File опцию Save As и сохраните ВП под именем Buffered Acquisition (min max).vi в директории C:\Exercises\LabVIEW DAQ.

3. На лицевой панели замените элемент управления Имя DAQmx канала, щелкая на нем правой кнопкой мыши и выбирая в контекстном меню опцию Replace»I/O»DAQmx Name Controls»DAQmx Task Name.

4. Измените блок-диаграмму, как показано на следующей иллюстрации.

a. Поместите функцию Index Waveform Array, расположенную в палитре Functions»All Functions»Waveform»Waveform Operations, на блок-диаграмме. Эта функция выбирает осциллограмму из массива осциллограмм.

b. Поместите экспресс-ВП Amplitude and Level Measurements, расположенный в палитре Functions»Signal Analysis, на блок-диаграмме. В данном упражнении этот ВП определяет максимальное и минимальное значения сигнала.

  • В появившемся диалоговом окне Configure Amplitude and Level Measurements (Настройка измерений амплитуды и уровня) поставьте отметки напротив опций Maximum peak и Minimum peak.

  • Нажмите кнопку OK для применения изменений и закрытия диалогового окна.

5. Для создания индикаторов Минимальное отрицательное пиковое значение и Максимальное положительное пиковое значение на лицевой панели вызовите контекстные меню соответствующих выходов экспресс-ВП Amplitude and Level Measurements и выберите опцию Create»Numeric Indicator (Создать»Числовой индикатор).

6. Установите следующие значения для элементов управления на лицевой панели:

  • Имя задачи DAQmx: My Voltage Task

  • #выборок на канал: 1000

  • Частота выборки: 10000

7. Присоедините выход синусоидального сигнала к аналоговому вводу CH1, а выход меандра к аналоговому вводу CH2 на испытательной коробке.

8. Запустите ВП. Определите максимальное и минимальное значения прямоугольного сигнала, изменив значение элемента управления Номер выбранной осциллограммы на 2.

Примечание. Поскольку осциллограммы индексируются, начиная с нуля, номера осциллограмм равны 0, 1 и 2.

9. Дважды щелкните кнопкой мыши на терминале Экспресс-ВП Amplitude and Level Measurements и выберите опции для определения других характеристик сигнала. Создайте индикаторы для этих значений и запустите ВП.

10. Сохраните и закройте ВП.

Конец упражнения 4-5.

F. Блок-схема непрерывного сбора данных

Основное отличие буферизированного сбора ограниченного количества данных от непрерывного буферизированного сбора данных заключается в количестве точек, которое необходимо получить. В первом случае вы получаете некоторое число точек. Во втором – вы можете собрать неограниченное количество данных. Следующая блок-схема демонстрирует непрерывный буферизированный сбор данных.

Первые три этапа на этой блок-схеме совпадают с этапами на блок-схеме буферизированного сбора данных. Они отвечают за настройку DAQ устройства виртуальным прибором DAQmx Timing, за запуск сбора данных ВП DAQmx Start Task и подготовку к считыванию данных ВП DAQmx Read. Поскольку вы собираете данные непрерывно, и считывать данные также необходимо непрерывно. Поэтому поместите ВП DAQmx Read в цикл. Цикл завершит выполняться, если возникнет ошибка, или если вы остановите его с лицевой панели. При каждом выполнении цикла ВП DAQmx Read будет возвращать данные. Когда же выполнение цикла закончится, ВП DAQmx Stop Task остановит задачу и высвободит ресурсы. ВП Simple Error Handler покажет ошибки, возникшие в процессе выполнения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]