Блок-диаграмма
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.