- •Дискретизация сигналов
- •Частота выборки
- •Наложение частот
- •Определение частоты выборки
- •B. Фильтр защиты от наложения частот
- •Тип данных осциллограмма
- •Терминология, применяемая при дискретизации сигналов
- •Интервальная выборка
- •Циклическая выборка
- •Одновременная выборка
- •Блок-схема буферизированного сбора данных
- •Пример буферизированного сбора данных
- •Что происходит на самом деле?
- •Межбуферная передача данных
- •Блок-диаграмма
- •Непрерывный буферизированный сбор данных
- •Циклический буфер
- •Ошибка наложения записей
- •Ошибка переполнения
- •1. Откройте новый вп и создайте следующую лицевую панель.
- •Блок-диаграмма
- •Потоковая запись на диск
- •Примечания
Тип данных осциллограмма
Тип данных осциллограмма – кластер, состоящий из следующих элементов:
Y – Одномерный массив числовых данных, которыми могут быть единственная точка или несколько, в зависимости от операции сбора данных. Элементы массива имеют представление чисел с плавающей запятой удвоенной точности (DBL).
t0 – Скалярное значение, представляющее время получения первой точки массива Y в соответствии с системными часами. Этот элемент называю также начальным временем или отметкой времени (timestamp).
t – Скалярное значение, представляющее временной интервал между точками данных массива Y.
Attributes (Атрибуты) – Строка, позволяющая добавлять к осциллограмме дополнительную информацию, такую как номер устройства или канала.
Тип данных осциллограммы имеет много преимуществ перед обычным массивом масштабированных данных.
Наличие t0 – Когда этого типа данных не существовало, вы не могли определить время получения данных. Теперь же тип данных осциллограмма автоматически возвращает реальное время в виде элемента t0.
Более легкое отображение на графике – Тип данных осциллограмма упрощает построение данных на графике. Предыдущие версии LabVIEW требовали объединения значения начальной точки (x0) и интервала между точками (x) с данными (массив Y). Тип данных осциллограмма содержит все эти элементы, так что все, что вам остается сделать – это присоединить тип данных осциллограмма к графику осциллограмм.
Более легкое построение нескольких графиков – Тип данных осциллограмма упрощает построение нескольких графиков. Предыдущие версии LabVIEW требовали объединения x0, x и массива Y для каждого из графиков, затем построения из этих кластеров массива для отображения нескольких графиков. Используя тип данных осциллограмма, вы просто присоединяете 1D массив осциллограмм к графическому индикатору для построения на нем нескольких графиков. Если вы собираете данные из нескольких каналов при помощи ВП аналогового ввода, то последний возвращает 1D массив, который вы можете подсоединить непосредственно к графическому индикатору.
Упражнение 4-2. ВП Вольтметр
Задача: получить аналоговый сигнал, используя устройство сбора данных.
Выполните следующие шаги для создания ВП, измеряющего напряжение, которое возвращает датчик температуры на испытательной коробке. Датчик температуры возвращает напряжение, пропорциональное температуре, и соединен с нулевым каналом устройства сбора данных.
Лицевая панель
1. Откройте новый ВП и постройте следующую лицевую панель.
Настройте шкалу стрелочного индикатора для отображения диапазона 0.0 – 0.4. Дважды щелкните на отметке 10.0 и напечатайте 0.4. Возможно, вам придется увеличить индикатор для более подробного отображения шкалы.
Блок-диаграмма
2. Создайте следующую блок-диаграмму.
|
а. Поместите ВП DAQmx Create Virtual Channel, расположенный в палитре Functions»All Functions»NI Measurements»DAQmx – Data Acquisition, на блок-диаграмму. Этот ВП создает виртуальный канал такого типа, который вы зададите в выпадающем меню конфигуратора входов этого ВП. Выберите тип AI Voltage из этого выпадающего меню. |
|
b. Поместите ВП DAQmx Start Task, расположенный в палитре Functions»All Functions»NI Measurements»DAQmx – Data Acquisition, на блок-диаграмму. Этот ВП запускает измерительную задачу. |
|
с. Поместите цикл по условию (While Loop), расположенный в палитре Functions»All Functions»Structures, на блок-диаграмму. Этот цикл повторяет поддиаграмму, расположенную внутри него, до тех пор, пока терминал условия выхода из цикла не получит определенное булевское значение. |
|
d. Поместите ВП DAQmx Read, расположенный в палитре Functions»All Functions»NI Measurements»DAQmx – Data Acquisition, на блок-диаграмму. Этот ВП совершает операцию чтения, заданную вами в меню конфигуратора. Выберите следующие опции настройки ввода: Analog»Single Channel»Single Sample»DBL. При такой настройке прибор возвращает одну выборку данных в виде числа удвоенной точности с плавающей запятой из одного канала аналогового ввода. |
|
e. Поместите функцию Wait Until Next ms Multiple (Задержка до следующего кратного интервала, мс), расположенную в палитре Functions»All Functions»Time & Dialog, на блок-диаграмму. Эта функция заставляет выполняться цикл каждые 100 мс. |
|
f. Поместите ВП DAQmx Stop Task, расположенный в палитре Functions»All Functions»NI Measurements»DAQmx – Data Acquisition, на блок-диаграмму. Этот ВП останавливает выполнение измерительной задачи. |
|
g. Поместите простейший обработчик ошибок – ВП Simple Error Handler, расположенный в палитре Functions»All Functions»Time & Dialog, на блок-диаграмму. В случае возникновения ошибки этот ВП вызовет диалоговое окно с информацией об этой ошибке и месте ее возникновения. |
3. Сохраните ВП с именем Voltmeter.vi в директории C:\Exercises\LabVIEW DAQ.
4. Перейдите на лицевую панель и установите для физического канала значение Dev X/ai0, где X – это номер вашего DAQ устройства в MAX.
5. Запустите ВП. Индикатор покажет значение напряжения на выходе датчика температуры. Дотроньтесь пальцем до датчика и посмотрите, как возрастает напряжение.
6. Остановите ВП.
7. Поместите ВП DAQmx Global Channel, расположенный в палитре Controls»All Controls»I/O»DAQmx Name Controls, на лицевой панели.
8. Переключитесь на блок-диаграмму, удалите ВП DAQmx Create Virtual Channel и элемент управления физические каналы.
9. Присоедините терминал элемента управления DAQmx Global Channel к вводу task/channels in виртуального прибора DAQmx Start Task.
10. Возвратитесь на лицевую панель и выберите канал Temperature Sensor. Запустите ВП. Теперь на индикаторе отобразится температура. Значения температуры в 100 раз больше величин напряжения, поскольку NI-DAQmx канал использует созданный масштаб, где напряжение умножается на 100. Измените шкалу индикатора, чтобы увидеть правильные значения температуры.
11. Сохраните и закройте ВП.
Конец упражнения 4-2.
D. Архитектуры устройств сбора данных
Число и расположение компонентов используемого устройства сбора данных зависят от его типа. Архитектура устройства влияет на способ дискретизации сигнала. DAQ-устройства аналогового ввода компании National Instruments могут иметь одну из двух наиболее распространенных архитектур. Они показаны в следующей таблице.
Архитектуры интервальной и циклической выборки состоят из одного мультиплексора (коммутатора), инструментального усилителя и АЦП. В такой схеме все входные каналы должны совместно использовать один АЦП. Использование только одного АЦП делает подобную архитектуру эффективной с точки зрения цены, поэтому она применяется в устройствах Е- и М-серии. Архитектура одновременной выборки состоит из инструментального усилителя и АЦП для каждого из каналов. Эта архитектура применяется в семействе устройств PCI-611X. Хотя эта архитектура более дорогостоящая по сравнению с использующей один АЦП на все каналы, она позволяет производить одновременные выборки из разных каналов.