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

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

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

a. Поместите ВП DAQmx Is Task Done, расположенный в палитре Functions»All Functions»NI Measurements»DAQmx – Data Acquisition»DAQmx Advanced Task Options на блок-диаграмму. Этот ВП запрашивает текущий статус задачи и возвращает логическое значение о завершении ее выполнения. Поместите этот ВП в тело цикла по условию для слежения за состоянием задачи и ожидания возникновения ошибки или момента, когда пользователь нажмет кнопку STOP.

5. На лицевой панели установите для элемента управления физические каналы значение Dev X/ao0, где X соответствует номеру вашего DAQ устройства.

6. Установите ручку громкости динамиков в среднее положение.

7. Запустите ВП. Возникнет диалоговое окно, запрашивающее WAV файл. Выберите NISoundFile.wav, расположенный в директории C:\Exercises\LabVIEW DAQ.

8. Вы должны услышать WAV файл из динамиков. Нажмите кнопку STOP для остановки выполнения ВП.

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

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

Упражнение 7-6 (Необязательное). Непрерывная буферизированная генерация сигнала.

Задача: Создать ВП для непрерывной генерации осциллограммы, имитирующей сирену.

Примечание. Замените упражнение 7-5 данным упражнением для систем, не имеющих звуковых колонок со встроенным усилителем.

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

1. На испытательной коробке присоедините аналоговый вывод 0 к аналоговому вводу 1.

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

2. Откройте ВП Tone Generation (7-4), который вы создали в упражнении 7-4.

Измените лицевую панель, как показано на следующей иллюстрации.

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

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

a. Поместите ВП DAQmx Create Virtual Channel, расположенный в палитре Functions»All Functions»NI Measurements»DAQmx – Data Acquisition на блок-диаграмму. Этот ВП создает виртуальный канал для заданного физического канала. Выберите из выпадающего меню конфигуратора этого ВП опции Analog Output»Voltage. Щелкните правой кнопкой мыши на вводе physical channels и выберите Create»Control из появившегося контекстного меню.

b. Поместите ВП Sine Waveform, расположенный в палитре Functions»All Functions»Waveform»Waveform Generation, на блок-диаграмму. Этот ВП генерирует синусоидальный сигнал. Необходимо использовать два таких ВП.

Крайний левый ВП Sine Waveform генерирует синусоидальный сигнал с частотой Frequency. Второй ВП Sine Waveform генерирует сигнал с частотой 1/2 Frequency. Затем один из этих сигналов добавляется в конец другого и, таким образом, получается осциллограмма удвоенной длины. ВП DAQmx Write записывает эту объединенную осциллограмму в буфер.

c. Поместите функцию деления, расположенную в палитре Functions»Arithmetic & Comparison»Express Numeric, на блок-диаграмму. Щелкните правой кнопкой мыши на вводе y этой функции и выберите Create»Constant из контекстного меню.

d. Поместите ВП Append Waveforms, расположенный в палитре Functions»All Functions»Waveform»Waveform Operations на блок-диаграмму. Присоедините осциллограмму B в конец осциллограммы A. Если частоты выборок этих осциллограмм не будут совпадать, то функция возвратит ошибку через кластер ошибок.

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

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

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

h. Поместите ВП DAQmx Is Task Done, расположенный в палитре Functions»All Functions»NI Measurements»DAQmx – Data Acquisition»DAQmx Advanced Task Options на блок-диаграмму. Этот ВП запрашивает текущий статус задачи и возвращает логическое значение о завершении ее выполнения. Используйте этот ВП внутри цикла по условию для слежения за состоянием задачи и ожидания возникновения ошибки или момента, когда пользователь нажмет кнопку STOP.

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

j. Поместите ВП Simple Error Handler, расположенный в палитре Functions»All Functions» Time & Dialog на блок-диаграмму. В случае возникновения ошибки этот ВП вызовет диалоговое окно с информацией об ошибке и месте ее возникновения.

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

5. Откройте ВП Continuous Acquire with MIO, расположенный в директории C:\Exercises\LabVIEW DAQ, для наблюдения осциллограммы, сгенерированной ВП Siren.

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

  • Физический канал: Dev X/ai1, где X cсоответствует номеру вашего DAQ устройства

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

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

7. Запустите ВП Continuous Acquire with MIO.

8. На лицевой панели ВП Siren установите следующие значения для элементов управления:

  • Физический канал: Dev X/ao0, где X соответствует номеру вашего DAQ устройства

  • Амплитуда: 1

  • Частота: 1000

  • Параметры выборки

Fs: 10000

#s: 500

#s Задает число выборок осциллограммы, которую генерирует ВП Sine Waveform. Этот параметр равен половине буфера Buffer Size, поскольку конечная осциллограмма состоит из двух частей. Если вы зададите #s, равное 1000, каждый из ВП Sine Waveform создаст по 1000 точек, и вы никогда не увидите осциллограммы, сгенерированной вторым ВП Sine Waveform.

9. Запустите ВП.

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

10. Закройте все ВП.

Конец упражнения 7-6

Упражнение 7-7. Непрерывная генерация тонального сигнала с использованием триггера

Задача: Создать ВП для триггерного запуска операции аналогового вывода.

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

Примечание. Это упражнение предусматривает использование звуковых колонок (динамиков) со встроенным усилителем. Если в ваше системе их нет, то перейдите к выполнению упражнения 7-8.

1. Присоедините один провод от колонок к аналоговому выводу 0 на испытательной коробке. Другой провод от колонок присоедините к контакту GND также на испытательной коробке. О полярности подключения можно не заботиться.

2. Откройте ВП Continuous Tone Generation (7-5), который вы создали в упражнении 7-5.

3. Выберите в меню File опцию Save As и сохраните ВП с именем Triggered Continuous Tone Generation Option A.vi в директории C:\Exercises\LabVIEW DAQ.

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