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

Одновременный запуск измерений

Для одновременного запуска операций аналогового ввода и вывода инициируйте их с помощью аппаратного или программного триггеров. При использовании аппаратного триггера операции аналогового ввода и вывода запускаются сигналом с одного и того же контакта PFI или RTSI. Большую информацию об RTSI можно найти в параграфе Перенаправление сигналов и RTSI данного раздела.

Следующая блок-диаграмма демонстрирует выполнение операции с данным типом триггера.

При использовании программного триггера операция аналогового ввода запускается внешним сигналом на контакте PFI или RTSI, а операция аналогового вывода запускается внутренним сигналом AI Start Trigger. AI Start Trigger – внутренний сигнал, который подается по внутренней линии, соединяющей подсистемы аналогового ввода и вывода. Метод программного триггера чуть более точен, чем метод аппаратного триггера, поскольку внешний сигнал должен пройти только по одной главной линии, чтобы достичь обеих подсистем. Однако эта задержка, как правило, несущественна на частотах, с которыми работают многофункциональные устройства семейства MIO. Следующая блок-диаграмма иллюстрирует данную методику.

В этом примере операции настроены таким образом, что аналоговый ввод инициируется триггером запуска на контакте PFI0, настроенным с помощью ВП DAQmx Trigger. Аналоговый вывод использует ВП DAQmx Trigger для запуска по внутреннему триггеру AI Start Trigger. Обратите внимание, что операция аналогового вывода должна быть начата ранее операции аналогового ввода, чтобы не возникло такой ситуации, что ввод начался и был отправлен внутренний сигнал AI Start Trigger, а операция аналогового вывода еще не была готова получить сигнал запуска.

Другой пример одновременного запуска с использованием программного триггера: аналоговый ввод запускается вызовом программы, а не аппаратным триггером. Аналоговый вывод, как и в предыдущем случае, запускается внутренним сигналом AI Start Trigger. Следующая диаграмма иллюстрирует пример приложения с полностью программно запускаемыми операциями ввода/вывода.

Если операции были запущены одновременно, в дальнейшем они не будут обязательно синхронизированы. Операции ввода и вывода могут быть настроены на сбор/генерацию данных с независимыми друг от друга частотами.

Упражнение 10-2. Операции аналогового ввода и вывода с одновременным запуском

Задача: Использовать два различных метода для одновременного запуска операций аналогового ввода и вывода.

В первом методе данного упражнения для запуска операции аналогового ввода используется аппаратный триггер, во втором – программный. Оба метода используют ВП DAQmx Timing для запуска аналогового вывода внутренним сигналом AI Start Trigger.

Метод I – с аппаратным запуском

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

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

Не создавайте элемент управления тип сигнала на лицевой панели. Этот элемент будет создан с блок-диаграммы.

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

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

a. Поместите ВП DAQmx Create Virtual Channel, расположенный в палитре Functions»All Functions»NI Measurements»DAQmx – Data Acquisition, на блок-диаграмму. Этот ВП создает новый виртуальный канал. Используйте два таких виртуальных прибора. Из выпадающего меню конфигуратора первого ВП выберите Analog Input»Voltage. Из выпадающего меню конфигуратора второго ВП выберите Analog Output»Voltage.

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

c. Поместите ВП DAQmx Trigger, расположенный в палитре Functions»All Functions»NI Measurements»DAQmx – Data Acquisition, на блок-диаграмму. Этот ВП настраивает триггер для задачи. Для задачи аналогового ввода установите в качестве источника /Dev X/PFI0. Для задачи аналогового вывода установите для источника значение /Dev X/ai/ StartTrigger. Где X соответствует в обоих случаях номеру вашего DAQ устройства.

d. Поместите ВП Basic Function Generator, расположенный в палитре Functions»All Functions»Waveform»Analog Waveform»Waveform Generation, на блок-диаграмму. Этот ВП создает осциллограмму такого типа, который вы зададите на вводе signal type. Щелкните правой кнопкой мыши на вводе signal type и выберите Create»Control из контекстного меню.

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

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

g. Поместите ВП DAQmx Read, расположенный в палитре Functions»All Functions»NI Measurements»DAQmx – Data Acquisition, на блок-диаграмму. Выберите опции Analog»MultipleChannels»Multiple Samples»Waveform из выпадающего меню конфигуратора этого ВП.

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

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

j. Поместите функцию Unbundle by Name, расположенную в палитре Functions»All Functions»Cluster, на блок-диаграмму.

k. Поместите функцию Or, расположенную в палитре Functions»Arithmetic & Comparison»Boolean, на блок-диаграмму.

l. Поместите ВП Simple Error Handler, расположенный в палитре Functions»All Functions»Time & Dialog, на блок-диаграмму.

3. Сохраните ВП с именем Simultaneous AI AO Start - HW.vi в директории C:\Exercises\LabVIEW DAQ.

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

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

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

  • Частота выборки входного сигнала: 1000

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

  • Частота регенерации: 1000

  • тип сигнала: Sine Wave

  • Частота: 100

6. Запустите ВП. операций.

7. Остановите ВП.

8. Измените развертку осциллограммы, чтобы отобразить данные в более приветливой форме.

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

10. Остановите ВП, но не закрывайте его.

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