- •2. Аппаратные средства и программное обеспечение систем сбора данных 12
- •3. Аналоговый ввод 35
- •4. Аналоговый вывод 64
- •5. Цифровой ввод-вывод 77
- •6. Счетчики 91
- •7. Согласование сигналов 123
- •8. Синхронизация 132
- •2. Аппаратные средства и программное обеспечение систем сбора данных
- •Часть II: Создание задачи daQmx
- •Часть I: Создание глобальных виртуальных каналов daQmx.
- •Часть III: Пользовательская шкала температур
- •Часть IV: Генерация кода LabView, используя задачу daQmx LabView
- •3. Аналоговый ввод
- •Часть I
- •ЧастьIi
- •4. Аналоговый вывод
- •5. Цифровой ввод-вывод
- •6. Счетчики
- •Конец упражнения 6-1
- •Конец упражнения 6-2
- •Конец упражнения 6-3
- •Конец упражнения 6-4
- •Конец упражнения 6-5
- •Часть а: Измерение длительности импульса
- •Часть b: Измерение периода
- •Конец упражнения 6-6
- •Конец упражнения 6-7
- •7. Согласование сигналов
- •Конец упражнения 7-1
- •Конец упражнения 7-2
- •8. Синхронизация
- •Часть I: Метод программного запуска
- •Часть II: Метод аппаратного запуска
- •Конец упражнения 8-2
- •Конец упражнения 8-3
Сохраните VI.
Тестирование
Установите следующие значения элементов управления на лицевой панели:
Lines: Dev1/port0
AO Sample Clock Source: /Dev1/ao/SampleClock
Примечание: DAQ-устройства М-серии не имеют выделенного тактового генератора для задач цифрового ввода-вывода; поэтому, чтобы тактировать операцию цифрового ввода-вывода, необходимо использовать в задаче тактовый сигнал из другого источника. В данном случае вы используете сигнал синхронизации аналогового вывода.
Max AO Clock Rate: 100
Установите восемь элементов в числовом массиве равными 00000001, 00000010, 00000100, 00001000, 00010000, 00100000, 01000000 и 10000000, как показано на рисунке 5-7.
Протестируйте VI.
Запустите VI.
Наблюдайте за светодиодами на BNC-2120. Меняется ли их состояние?
Задача цифрового вывода в этом VI должна получить тактирующий сигнал от заданного источника, прежде чем сможет вывести следующий отсчет цифровых данных на индикатор.
Сгенерируйте тактовые сигналы на заданном источнике сигналов для тестирования VI.
Откройте <Exercises>\DAQ and Signal Conditioning\Digital\Generate AO Sample Clock.vi.
Задайте следующие значения элементов управления на лицевой панели Generate AO Sample Clock VI :
Physical Channels: Dev1/ao0
Output Clock Rate (Hz): 2
Запустите VI.
Generate AO Sample Clock VI непрерывно генерирует отсчеты напряжения на выбранном канале аналогового вывода. Элемент управления Output Clock Rate (Hz) управляет частотой импульсов синхронизации аналогового вывода.
Наблюдайте, как изменяется состояние светодиодов.
Измените значение Output Clock Rate (Hz), чтобы изменить частоту вывода цифровых данных.
Поскольку цифровой вывод использует в качестве источника сигнала синхронизации тактовые импульсы аналогового вывода, цифровой вывод синхронизирован с генерацией аналоговых сигналов.
Когда закончите упражнение, остановите и закройте все VI.
Конец упражнения 5-3
Заметки
6
6. Счетчики
Упражнение 6-1. Простой счет фронтов
Цель упражнения
Создать VI для счета количество фронтов импульсного сигнала, получаемых путем вращения регулятора квадратурного энкодера.
Сценарий
Вам предстоит построить VI, который регистрирует количество фронтов сигнала.
Назначение терминалов счетчика по умолчанию в DAQmx
Здесь вы ознакомитесь с назначением по умолчанию терминалов счетчика для вашего DAQ-устройства Dev1.
Откройте утилиту MAX
Щелкните правой кнопкой мыши по пункту “Dev1” в разделе My System»Devices and Interfaces и в контекстном меню выберите пункт Device Pinouts.
В окне NI-DAQmx Device Terminals Help просмотрите таблицу Default NI-DAQmx Counter Terminals.
Обратите внимание на то, что каждый сигнал счетчика/таймера по умолчанию соответствует некоторой PFI линии. На этом занятии вы будете подсоединять сигналы счетчика, выведенные в блоке BNC-2120 с использованием линий PFI.
Оставьте окно NI-DAQmx Device Terminals Help открытым до конца занятия в качестве справки.
Конфигурирование BNC-2120
Соедините проводником клемму PULSES или CLK с клеммой PFI 8, которая по умолчанию соответствует линии Source счетчика 0 и находится в отсеке Timing I/O.
|
Примечание: В некоторых модификациях блока BNC-2120 терминал одного и того же функционального назначения обозначен PULSES, а в некоторых CLK. |
Порядок выполнения
Откройте Simple Edge Counting VI из папки <Exercises>\DAQ and Signal Conditioning\Counter.
В соответствии с рисунком 6-1 модифицируйте блок-диаграмму этого VI для запоминания количества фронтов импульсного сигнала, используйте при этом следующие блоки:
Рисунок 6-1. Блок-диаграмма Simple Edge Counting VI
V
I
DAQmx Create Virtual Channel
В выпадающем списке выберите вариант Counter Input»Count Edges.
Щелкните правой кнопкой мыши по входам counter, initial count и count direction и в контекстном меню выберите команду Create»Control.
V
I
DAQmx Read
В выпадающем списке выберите вариант Counter»Single Sample»DBL, чтобы со счетчика считывалось одно число в формате с плавающей точкой с двойной точностью.
Щелкните правой кнопкой мыши по выходу data и в контекстном меню выберите команду Create»Indicator. Измените имя индикатора на Count.
Ф
ункция
Wait Until Next ms Multiple
Щелкните правой кнопкой мыши по входу millisecond multiple и выберите команду Create»Constant. Введите в созданную константу значение 100.
Расположите на лицевой панели элементы управления в соответствии с рисунком 6-2.
Рисунок 6-2. Лицевая панель Simple Edge Counting VI
Присвойте элементам управления (Рисунок 6-2) следующие значения:
Counter: Dev1/ctr0
Initial Count: 0
Count direction: Count Up
Сохраните VI.
Тестирование
Протестируйте VI
Запустите VI.
Покрутите регулятор квадратурного энкодера на блоке BNC-2120. На выходах PULSES или CLK появляются по четыре импульса на каждый механический щелчок квадратурного энкодера, которые подаются на вход Source счетчика 0.
Значение индикатора Count должно увеличиваться по каждому импульсу, пришедшему на вход Source счетчика 0.
Остановите VI, однако оставьте его открытым для выполнения упражнения 6-2.
Конец упражнения 6-1
Упражнение 6-2. Усовершенствованный счет фронтов
Цель упражнения
Реализовать счет фронтов с паузой (приостановкой) и буферизацией конечного числа отсчетов.
Часть A: Счет фронтов с паузами (стробированием)
При счете с паузами или стробированием используется дополнительная линия для управления счетчиком по входу Gate. Инкремент или декремент счетчика приостанавливается по высокому или низкому уровню на входе Gate (в зависимости от выбранных вами настроек).
Конфигурирование BNC-2120
Соедините проводником винтовую клемму линии 7 из зоны Digital I/O с винтовой клеммой PFI 7 в зоне Timing I/O.
Соедините проводником винтовую клемму PULSES или CLK с винтовой клеммой PFI 8, которая находится в зоне Timing I/O и по умолчанию соответствует линии Source счетчика 0.
|
Примечание: В некоторых моделях блока BNC-2120 клемма одного и того же назначения называется PULSES, а в других – CLK. |
Порядок выполнения
Если необходимо, откройте Simple Edge Counting VI из папки <Exercises>\DAQ and Signal Conditioning\Counter.
В главном меню выберите команду File»Save As»Copy»Substitute copy for original и сохраните этот VI под именем Edge Counting – Gated.vi в папке <Exercises>\DAQ and Signal Conditioning\Counter.
Модифицируйте блок-диаграмму в соответствии с Рисунок 6-3, добавив следующий узел для стробирования счета фронтов:
Рисунок 6-3. Блок-диаграмма Simple Edge Counting – Gated VI
У
зел
свойств DAQmx Trigger
– выполняет дополнительное конфигурирование
режима запуска задачи.
Измените размер этого узла свойств так, чтобы были видны три элемента.
Щелкните правой кнопкой мыши по каждому из элементов и в контекстном меню выберите соответственно следующие свойства:
Select Properties»More»Pause»Trigger Type
Select Properties»More»Pause»Digital Level»Source
Select Properties»More»Pause» Digital Level»Pause When
Щелкните правой кнопкой по любому из элементов и в контекстном меню выберите команду Change All to Write.
Щелкните правой кнопкой по входу каждого из этих элементов и в контекстном меню выберите команду Create»Control.
Расположите элементы управления на лицевой панели в соответствии с рисунком 6-4.
Рисунок 6-4. Лицевая панель Simple Edge Counting – Gated VI
Присвойте элементам управления следующие значения:
Counter: Dev1/ctr0
Initial Count: 0
Count direction: Count Up
Trigger Type: Digital Level
Source: /Dev1/PFI7
Линия PFI 7 должна быть соединена с винтовой клеммой линии 7. В разделе «Тестирование» вы будете выдавать цифровой сигнал высокого или низкого уровня с винтовой клеммы на линию 7.
Pause When: Low
Сохраните VI.
Тестирование
Установите низкий уровень цифрового сигнала на линии Pulse Trigger.
Откройте Digital Write VI, который находится в папке <Exercises>\DAQ and Signal Conditioning\ Digital.
На лицевой панели щелкните мышью по выпадающему списку элемента управления линиями и выберите команду Browse.
Удерживая нажатой клавишу <Shift>, выделите линии с 07.
Запустите Digital Write VI.
«Погасите» соответствующую кнопку в массиве элементов управления Boolean на лицевой панели, чтобы установить низкий уровень сигнала на винтовой клемме линии 7.
Протестируйте Simple Edge Counting – Gated VI.
Запустите Simple Edge Counting – Gated VI.
Покрутите регулятор квадратурного энкодера. Обратите внимание на то, что показания на числовом индикаторе не меняются. При появлении на входе pause trigger низкого уровня сигнала счет приостанавливается.
Чтобы продолжить счет, необходимо «зажечь» на лицевой панели Digital Write VI соответствующую кнопку в массиве элементов управления Boolean, чтобы задать высокий уровень сигнала на винтовой клемме линии 7.
Снова покрутите регулятор энкодера. Обратите внимание на то, что теперь показания на числовом индикаторе инкрементируются. Счет продолжается до тех пор, пока на входе pause trigger – высокий уровень сигнала.
Остановите VI и измените значение элемента управления Pause When на High.
Снова запустите VI и понаблюдайте за его поведением при таком режиме запуска.
По окончании тестирования остановите оба VI. Закройте Digital Write VI, оставив открытым Simple Edge Counting – Gated VI.
Часть B: Счет с буферизацией конечного числа отсчетов
При счете импульсов с буферизацией конечного числа отсчетов задается полное количество фронтов, которые необходимо сосчитать, при достижении которого счет прекращается.
Конфигурирование BNC-2120
Соедините с помощью проводника винтовую клемму PULSES или CLK с винтовой клеммой PFI 9, которая находится в зоне Timing I/O и по умолчанию соответствует линии Counter 0 Gate.
|
Примечание: В некоторых модификациях блока BNC-2120 терминал одного и того же функционального назначения обозначен PULSES, а в некоторых CLK. |
Порядок выполнения
Если необходимо, откройте Simple Edge Counting VI из папки <Exercises>\DAQ and Signal Conditioning\Counter.
В главном меню выберите команду File»Save As»Copy»Substitute copy for original и сохраните этот VI под именем Edge Counting – Finite Buffered.vi в папке <Exercises>\DAQ and Signal Conditioning\Counter.
Модифицируйте блок-диаграмму в соответствии с рисунком 6-5 так, чтобы реализовать счет импульсов с буферизацией конечного числа отсчетов, с использованием следующих блоков:
Рисунок 6-5. Блок-диаграмма Simple Edge Counting – Finite Buffered VI
Щелкните правой кнопкой мыши по циклу While и в контекстном меню выберите команду Remove While Loop.
У
зел
свойств DAQmx Channel
Щелкните правой кнопкой по терминалу узла и выберите в контекстном меню команду Select Property»Counter Input»Count Edges»Input Terminal.
Еще раз щелкните по терминалу правой кнопкой и выберите команду Change All to Write.
Снова правой кнопкой мыши щелкните по терминалу и выберите команду Create»Constant. Присвойте созданной константе значение /Dev1/20MHzTimebase.
Вместо того, чтобы считать щелчки квадратурного энкодера, этот VI будет считать фронты внутреннего сигнала опорной частоты DAQ-устройства.
D
AQmx
Timing VI
В выпадающем списке выберите пункт Sample Clock.
Щелкните правой кнопкой мыши по входам active edge и sample mode и в выпадающем списке выберите пункт Create»Constant. Присвойте созданной константе sample mode значение Finite Samples.
Щелкните правой кнопкой мыши по входам source, rate и samples per channel и в контекстном меню выберите команду Create»Control.
Настройте VI DAQmx Read на считывание одного или более отсчетов со счетчика.
Выберите в выпадающем списке команду Counter»Multiple Samples»1D DBL, чтобы считать со счетчика одно или более чисел с плавающей точкой с двойной точностью.
Удалите числовой индикатор count.
Щелкните правой кнопкой мыши по выходу data и в контекстном меню выберите команду Create»Indicator для вывода на экран одномерного массива отсчетов.
Расположите элементы управления на лицевой панели в соответствии с рисунком 6-6.
Рисунок 6-6. Лицевая панель Simple Edge Counting – Finite Buffered VI
Присвойте элементам управления (Рисунок 6-6) следующие значения:
Counter: Dev1/ctr0
Initial Count: 0
Count direction: Count Up
Samples per Channel: 8
Rate: 1000
Source: /Dev1/PFI9. PFI 9 является контактом по умолчанию для входа Gate счетчика 0.
Тестирование
Запустите VI
Дважды крутаните регулятор энкодера, чтобы увидеть восемь значений счетного регистра, сохраненных в массиве числовых данных. По каждому нарастающему фронту сигнала Gate в регистр попадает одно значение. Если в массиве видно более, чем восемь элементов, то все лишние элементы остаются равными нулю.
Примечание: На терминал PULSES или CLK выдаются по четыре импульса на один механический щелчок квадратурного энкодера. Поворот регулятора на два щелчка приведет к генерации восьми импульсов.
По окончании тестирования сохраните и закройте VI.
Конец упражнения 6-2
Упражнение 6-3. Генерация импульса
Цель упражнения
Создать VI, который с помощью счетчика генерирует одиночный импульс.
Сценарий
На примере VI, который предстоит построить, демонстрируется, каким образом реализуется таймерный вывод. Несмотря на то, то при выполнении данного упражнения вывод производится заданием частоты, вы можете также определять вывод в тактах или единицах времени таким же способом, что и в данном упражнении.
Конфигурирование BNC-2120
Соедините с помощью проводника винтовую клемму PFI 12 выхода Out счетчика 0 из зоны Timing I/O с винтовой клеммой USER1 в зоне сигналов, определяемых пользователем.
Соедините BNC разъем USER1 с BNC разъемом канала 2 в зоне Analog Inputs.
Убедитесь, чтобы переключатель FS/GS под BNC разъемом канала 2 находится в положении GS.
Порядок выполнения
Откройте Single Pulse Generation VI из папки <Exercises>\DAQ and Signal Conditioning\Counter.
Для формирования одиночного импульса модифицируйте блок-диаграмму этого VI в соответствии с рисунком 6-7, используя следующие блоки:
Рисунок 6-7. Блок-диаграмма Single Pulse Generation VI
D AQmx Create Virtual Channel VI
В выпадающем списке выберите пункт Counter Input»Pulse Generation»Frequency.
Щелкните правой кнопкой мыши по входам counter, duty cycle, idle state и initial delay и в контекстном меню выберите команду Create»Control.
D
AQmx
Wait Until Done VI
Щелкните правой кнопкой мыши по входу timeout и в контекстном меню выберите команду Create»Constant. Присвойте созданное константе значение 10.
Расположите элементы управления на лицевой панели в соответствии с рисунком 6-8
Рисунок 6-8. Лицевая панель Single Pulse Generation VI
Сохраните VI.
Тестирование
Сконфигурируйте VI для наблюдения канала 2 аналогового ввода DAQ-устройства.
С помощью команды главного меню Help»Find Examples откройте поисковик NI Example Finder.
Перейдите в папку Hardware Input and Output»DAQmx»Analog Measurements»Voltage и откройте файл Cont Acq&Graph Voltage-Int Clk.vi.
Присвойте элементам управления на лицевой панели Cont Acq&Graph Voltage-Int Clk VI следующие значения:
Physical Channels: Dev/ai2
Sample Rate(Hz): 10000
Samples to Read: 1000
Запустите Cont Acq&Graph Voltage-Int Clk VI. Теперь VI измеряет и выводит на экран результат измерения напряжения на входе канала 2 аналогового ввода.
Протестируйте Single Pulse Generation VI.
Присвойте элементам управления на лицевой панели VI Single Pulse Generation следующие значения:
Counter: Dev1/ctr0
Duty Cycle: 0.5
Frequency: 1
Idle State: Low
Initial Delay: 0.25
Наблюдая за графическим индикатором на лицевой панели Cont Acq&Graph Voltage-Int Clk VI, запустите Single Pulse Generation VI.
При каждом запуске Single Pulse Generation VI на лицевой панели Cont Acq&Graph Voltage-Int Clk VI вы должны видеть появление импульса. Обратите внимание на то, что сигнал начинается с низкого уровня, затем переходит к высокому уровню и снова возвращается к низкому.
|
Примечание: Проще наблюдать импульс, если режим Autoscale Y отключен. В процессе работы VI автомасштабирование отключается щелчком правой кнопки по графическому индикатору и снятием флажка с пункта контекстного меню AutoScale Y. Наиболее подходящий для наблюдения импульса масштаб по оси y: от –1 до 6. |
По окончании тестирования остановите Cont Acq&Graph Voltage-Int Clk VI, оставив его открытым, так как он понадобится в следующем упражнении.
Сохраните и закройте Single Pulse Generation VI.
Конец упражнения 6-3
Упражнение 6-4. Генерация последовательности импульсов
Цель упражнения
Создать VI, который с помощью счетчика генерирует последовательность импульсов.
Сценарий
В этом упражнении вам предстоит создать VI, который генерирует последовательность импульсов.
Конфигурирование блока BNC-2120
Соедините с помощью проводника винтовую клемму PFI 12 выхода Out счетчика 0 из зоны Timing I/O с винтовой клеммой USER1 в зоне сигналов, определяемых пользователем.
Соедините BNC разъем USER1 с BNC разъемом канала 2 в зоне Analog Inputs.
Убедитесь, что переключатель FS/GS под BNC разъемом канала 2 находится в положении GS.
Порядок выполнения
Откройте Pulse Train Generator VI из папки <Exercises>\DAQ and Signal Conditioning\Counter.
Для генерации последовательности импульсов модифицируйте блок-диаграмму этого VI в соответствии с рисунком 6-9, используя следующие элементы:
Рисунок 6-9. Блок-диаграмма Pulse Train Generator VI
D AQmx Timing VI
В выпадающем списке выберите вариант Implicit, при котором задачи настраивается на неявную синхронизацию формирования отсчетов.
Такой режим идеально подходит для генерации последовательности импульсов, поскольку сама последовательность содержит в себе все параметры синхронизации.
Щ
елкните
правой кнопкой мыши по входу sample
mode и выберите в
контекстном меню Create»Constant.
Присвойте созданной константе значение
Continuous Samples.
DAQmx Is Task Done VI
Ф ункция Wait Until Next ms Multiple
Щелкните правой кнопкой мыши по входу Millisecond Multiple и выберите команду Create»Constant. Введите в созданную константу значение 100.
Расположите элементы управления на лицевой панели в соответствии с рисунком 6-10.
Рисунок 6-10. Лицевая панель Pulse Train Generator VI
Сохраните VI.
Тестирование
Сконфигурируйте VI для наблюдения канала 2 аналогового ввода DAQ-устройства.
Если необходимо, откройте с помощью команды главного меню Help»Find Examples поисковик NI Example Finder. Перейдите в папку Hardware Input and Output»DAQmx»Analog Measurements»Voltage и откройте файл Cont Acq&Graph Voltage-Int Clk.vi.
Присвойте элементам управления на лицевой панели VI Cont Acq&Graph Voltage-Int Clk следующие значения:
Physical Channels: Dev/ai2
Sample Rate(Hz): 10000
Samples to Read: 1000
Запустите Cont Acq&Graph Voltage-Int Clk VI. Теперь VI измеряет и выводит на экран результаты измерения напряжения на входе канала 2 аналогового ввода.
Протестируйте Pulse Train Generator VI.
Присвойте элементам управления на лицевой панели Pulse Train Generator VI следующие значения:
Counter: Dev1/ctr0
Duty Cycle: 0.5
Frequency: 1
Idle State: Low
Initial Delay: 0.25
Наблюдая за графиком на лицевой панели Cont Acq&Graph Voltage-Int Clk VI, запустите Pulse Train Generator VI.
На лицевой панели Cont Acq&Graph Voltage-Int Clk VI вы должны видеть последовательность импульсов.
|
Проще наблюдать импульс, если режим Autoscale Y отключен. В процессе работы VI автомасштабирование отключается щелчком правой кнопки по графическому индикатору и снятием флажка с пункта контекстного меню AutoScale Y. Наиболее подходящий для наблюдения импульса масштаб по оси y: от –1 до 6. |
По окончании тестирования остановите Pulse Train Generator VI и оставьте его открытым, поскольку вам предстоит его модифицировать при выполнении упражнения 6-5.
Также остановите Cont Acq&Graph Voltage-Int Clk VI, оставив его открытым, так как он понадобится в упражнении 6-5.
Конец упражнения 6-4
Упражнение 6-5. Генерация импульсной последовательности с перезапуском
Цель упражнения
Создать VI, который с помощью счетчика генерирует импульсную последовательность конечной длительности с перезапуском.
Сценарий
Вы можете реализовать генерацию одиночного импульса и конечной последовательности импульсов с перезапуском. После генерации первого импульса счетчик остается загруженным и может формировать на выходе импульс по сигналу запуска на входе Gate. В этом упражнении вам предстоит модифицировать Pulse Train Generator VI так, чтобы он генерировал перезапускаемую последовательность импульсов.
Конфигурирование BNC-2120
Соедините с помощью проводника винтовую клемму PULSES или CLK с винтовой клеммой PFI 1, которая находится в зоне Timing I/O.
Соедините с помощью проводника винтовую клемму PFI 12, которой по умолчанию соответствует выход Out счетчика 0 в зоне Timing I/O, с винтовой клеммой USER1 в зоне для сигналов, определяемых пользователем.
Соедините BNC разъем USER1 с BNC разъемом канала 2 в зоне Analog Inputs.
Убедитесь, что переключатель FS/GS под BNC разъемом канала 2 находится в положении GS.
Порядок выполнения
Если необходимо, откройте Pulse Train Generator VI из папки <Exercises>\DAQ and Signal Conditioning\Counter.
В главном меню выберите команду File»Save As»Copy»Substitute copy for original и сохраните этот VI под именем Retriggerable Pulse Train.vi в папке <Exercises>\DAQ and Signal Conditioning\Counter.
Чтобы этот VI генерировал перезапускаемую последовательность импульсов, модифицируйте блок-диаграмму в соответствии с рисунком 6-11, используя следующие элементы:
Рисунок 6-11. Блок-диаграмма Retriggerable Pulse Train VI
D AQmx Timing VI
Установите режим вывода Finite Samples.
Щелкните правой кнопкой мыши по входу samples per channel и выберите в контекстном меню Create»Control.
D
AQmx
Trigger VI
В выпадающем списке выберите вариант Start»Digital Edge.
Щелкните правой кнопкой мыши по входу source и выберите команду Create»Constant. Присвойте созданной константе значение /Dev1/PFI1.
У зел свойств DAQmx Trigger Property Node – служит для дополнительного конфигурирования режима запуска задачи.
Щелкните правой кнопкой мыши по элементу этого узла и в контекстном меню выберите команду Select Properties»Start» More»Retriggerable.
Щелкните правой кнопкой по входу элемента Start.Retriggerable и в контекстном меню выберите команду Create»Constant. Присвойте созданной константе булевского типа значение True, чтобы формирование последовательности импульсов выполнялось с перезапуском.
Расположите элементы управления на лицевой панели в соответствии с рисунком 6-12.
Рисунок 6-12. Лицевая панель Retriggerable Pulse Train VI
Сохраните VI.
Тестирование
Сконфигурируйте VI для контроля сигнала в канале 2 аналогового ввода DAQ-устройства.
Если необходимо, с помощью команды главного меню Help»Find Examples откройте поисковик NI Example Finder. Перейдите в папку Hardware Input and Output»DAQmx»Analog Measurements»Voltage и откройте файл Cont Acq&Graph Voltage-Int Clk.vi.
Присвойте элементам управления на лицевой панели Cont Acq&Graph Voltage-Int Clk VI следующие значения:
Physical Channels: Dev/ai2
Sample Rate(Hz): 10000
Samples to Read: 1000
Запустите Cont Acq&Graph Voltage-Int Clk VI. Теперь VI управляет измерениями и отображает на экране результаты измерения напряжение в канале 2 аналогового ввода.
Протестируйте Retriggerable Pulse Train VI.
Присвойте элементам управления на лицевой панели VI Retriggerable Pulse Train следующие значения:
Counter: Dev1/ctr0
Duty Cycle: 0.5
Frequency: 1
Idle State: Low
Initial Delay: 0
Samples per channel: 5
Наблюдая за графиком на лицевой панели Cont Acq&Graph Voltage-Int Clk VI, запустите Retriggerable Pulse Train Generator VI.
На лицевой панели Cont Acq&Graph Voltage-Int Clk VI вы не увидите импульсов, поскольку вначале нужно запустить генерацию последовательности импульсов.
Чтобы запустить генерацию последовательности импульсов, покрутите регулятор квадратурного энкодера на блоке BNC-2120.
Посмотрите на графический индикатор на лицевой панели Cont Acq&Graph Voltage-Int Clk VI и посчитайте количество импульсов, которое должно быть равно значению на элементе управления samples per channel.
Снова покрутите регулятор квадратурного энкодера. Последовательность импульсов генерируется при формировании сигнала запуска, т.е. последовательность является перезапускаемой.
|
Примечание: Проще наблюдать последовательность импульсов, если отключить опцию Autoscale Y в процессе работы VI щелчком правой кнопки мыши по графическому индикатору и снять флажок с пункта меню AutoScale Y. Наиболее подходящий для наблюдения последовательности импульсов масштаб по оси y: от –1 до 6. |
По окончании тестирования остановите оба VI.
Конец упражнения 6-5
Упражнение 6-6. Измерение длительности и периода следования импульсов
Цель упражнения
Создать VI для измерения длительности и периода следования импульсов.
Конфигурирование BNC-2120
Соедините проводником винтовую клемму PFI13, которой соответствует выход счетчика 1, с винтовой клеммой PFI9 в зоне Timing I/O – входом Gate счетчика 0.
Порядок выполнения
Часть а: Измерение длительности импульса
Суть измерения длительности импульса заключается в измерении интервала времени между нарастающим и ниспадающим фронтом или, наоборот, между ниспадающим и нарастающим фронтом.
Откройте Pulse Width Measurement VI из папки <Exercises>\DAQ and Signal Conditioning\Counter.
Для измерения длительности импульсов модифицируйте блок-диаграмму этого VI в соответствии с рисунком 6-13, используя следующие элементы:
Рисунок 6-13. Блок-диаграмма VI Pulse Width Measurement
D AQmx Create Virtual Channel VI
В выпадающем списке выберите вариант Counter Input»Pulse Width.
Щелкните правой кнопкой мыши по входам minimum value, maximum value, counter, units и starting edge и в контекстном меню выберите команду Create»Control.
D AQmx Read VI
В выпадающем списке выберите вариант Counter»Single Sample»DBL, чтобы считать со счетчика одно число в формате с плавающей точкой с двойной точностью.
Щелкните правой кнопкой мыши по выходу data и в контекстном меню выберите команду Create»Indicator.
Измените имя индикатора на Pulse Width
Сохраните VI.
Тестирование
Сгенерируйте последовательность импульсов частотой 10 Гц, в которых 20 % периода занимает высокий уровень, а 80 % – низкий уровень.
Откройте Pulse Train Generator VI из папки <Exercises>\DAQ and Signal Conditioning\Counter, который вы создали при выполнении упражнения 6-4.
Присвойте элементам управления на лицевой панели Pulse Train Generator VI следующие значения:
Counter: Dev1/ctr1
Duty Cycle: 0.20
Frequency: 10
Idle State: Low
Initial Delay: 0.000000
Запустите Pulse Train Generator VI. Теперь данный VI формирует непрерывную последовательность импульсов.
Как вы считаете, чему будет равна длительность высокого уровня импульса?
Как вы считаете, чему будет равна длительность низкого уровня импульса?
Измерьте длительность импульса в последовательности импульсов
Присвойте элементам управления на лицевой панели Pulse Width Measurement VI следующие значения:
Counter: Dev1/ctr0
Starting Edge: Rising
Units: Seconds
Maximum Value: 0.100000
Minimum Value: 0.0000001
|
Примечание: При измерении длительности высокого уровня измеряемый сигнал должен начинаться с низкого уровня, и в этом случае вам необходимо выбрать в качестве начального нарастающий фронт. Аналогично при измерении длительности низкого уровня измеряемый сигнал должен начинаться с высокого уровня и нужно выбрать в качестве начального ниспадающий фронт |
Запустите Pulse Width Measurement VI.
Результат измерения длительности импульса с помощью VI должен быть 0.02 с.
Измените значение элемента управления Starting Edge в Pulse Width Measurement VI на Falling.
Снова запустите Pulse Width Measurement VI.
Теперь результат измерения длительности импульса должен получиться равным 0.08 с.
Соответствуют ли полученные результаты значениям, заданным в пункте 1?
Остановите Pulse Train Generator VI. Оставьте оба VI открытыми, поскольку они понадобятся в следующей части данного упражнения.
Часть b: Измерение периода
Суть измерения периода заключается в измерении интервала времени между соседними нарастающими или ниспадающими фронтами.
Если необходимо, откройте Pulse Width Measurement VI из папки <Exercises>\DAQ and Signal Conditioning\Counter.
В главном меню выберите команду File»Save As»Copy»Substitute copy for original и сохраните этот VI под именем Period Measurement.vi в папке <Exercises>\DAQ and Signal Conditioning\Counter.
Модифицируйте блок-диаграмму этого VI в соответствии с рисунком 6-14 так, чтобы он измерял период.
Рисунок 6-14. Блок-диаграмма Period Measurement VI
В выпадающем списке DAQmx Virtual Channel VI выберите вариант Control Input»Period.
Щелкните правой кнопкой мыши по входу measurement time и в контекстном меню выберите команду Create»Control.
Измените имя созданного элемента управления Pulse Width на Period Measurement
Сохраните VI.
Тестирование
Сгенерируйте последовательность импульсов частотой 10 Гц, в которых 20 % периода занимает высокий уровень, а 80 % л – низкий уровень.
Если необходимо, откройте Pulse Train Generator VI из папки <Exercises>\DAQ and Signal Conditioning\Counter, который вы создали при выполнении упражнения 6-4.
Присвойте элементам управления на лицевой панели Pulse Train Generator VI следующие значения:
Counter: Dev1/ctr1
Duty Cycle: 0.20
Frequency: 10
Idle State: Low
Initial Delay: 0.000000
Запустите VI Pulse Train Generator. Теперь этот VI выдает непрерывную последовательность импульсов.
Как вы считаете, чему равен период последовательности импульсов частотой 10 Гц?
Измерьте период следования импульсов.
Присвойте элементам управления на лицевой панели Period Measurement VI следующие значения:
Counter: Dev1/ctr0
Starting Edge: Rising
Units: Seconds
Maximum Value: 0.100000
Minimum Value: 0.0000001
Measurement Time: 0.05
Запустите Period Measurement VI.
Результат измерения периода с помощью этого VI должен быть равен 0.1 с.
Соответствует ли этот результат измерений вашему прогнозу на шаге 1?
На лицевой панели Pulse Width Measurement VI присвойте элементу управления edge control значение Falling.
Запустите Period measurement VI.
Зависит ли результат измерения периода от состояния элемента управления Starting Edge: Rising или Falling? Почему?
По окончании тестирования остановите Pulse Train Generator VI и закройте все VI.
Конец упражнения 6-6
Упражнение 6-7. Измерение частоты
Цель упражнения
Создать VI для измерения частоты с помощью счетчика.
Краткое описание
В этом упражнении вам предстоит исследовать три различных метода измерения частоты:
Метод измерения низкой частоты с помощью одного счетчика (Low Frequency with 1 Counter)
Метод измерения высокой частоты с помощью двух счетчиков (High Frequency with 2 Counters)
Метод измерения частоты в широком диапазоне с помощью двух счетчиков (Large Range with 2 Counters)
Часть A: Метод Low Frequency with 1 Counter
Этот метод заключается в использовании опорного сигнала постоянной частоты для измерения частоты входного сигнала.
Конфигурирование BNC-2120
Соедините BNC разъем TTL Square Wave из зоны Function Generator с BNC разъемом USER 1 в зоне сигналов, определяемых пользователем.
Соедините винтовую клемму USER 1 из зоны сигналов, определяемых пользователем, с винтовой клеммой PFI 9, которой соответствует вход Gate счетчика 0, в зоне Timing I/O.
Порядок выполнения
Откройте Frequency Measurements - Low Frequency with 1 Counter VI из папки <Exercises>\DAQ and Signal Conditioning\Counter.
Модифицируйте блок-диаграмму этого VI в соответствии с рисунком 6-15 так, чтобы он измерял низкую частоту с помощью одного счетчика, используя следующие блоки:
Рисунок 6-15. Блок-диаграмма Frequency Measurements - Low Frequency with 1 Counter VI
DAQmx Create Virtual Channel VI
В выпадающем списке выберите вариант Counter Input»Frequency.
Щелкните правой кнопкой мыши по входу counter и в контекстном меню выберите команду Create»Control.
Щелкните правой кнопкой мыши по входу measurement method и в контекстном меню выберите команду Create»Constant. Присвойте созданной константе значение Low Frequency with 1 Counter.
D AQmx Read VI
В выпадающем списке выберите вариант Counter»Single Sample»DBL.
Щелкните правой кнопкой мыши по выходу data и в контекстном меню выберите команду Create»Indicator.
Измените имя индикатора на Frequency (Hz).
Ф ункция Wait Until Next ms Multiple
Щелкните правой кнопкой мыши по входу millisecond multiple и выберите команду Create»Constant. Введите в созданную константу значение 100.
Сохраните VI.
Тестирование
Исследуйте погрешность дискретности для метода Low Frequency with 1 Counter.
В главном меню выберите пункт Help»Search the LabVIEW Help, чтобы открыть справочную систему LabVIEW Help.
В окне LabVIEW Help перейдите на закладку Search.
В текстовое поле введите quantization error и щелкните мышью по кнопке List Topics.
В появившемся списке выберите пункт Quantization Error и щелкните по кнопке Display.
Проанализируйте таблицу в разделе Quantization Error with One Counter Time Measurements. Обратите внимание на то, как влияют параметры Actual Frequency of Input Signal и Counter Timebase на параметр Quantization Error.
Оставьте окно LabVIEW Help открытым.
Методом Low Frequency with 1 Counter измерьте частоту повторения ТТЛ сигнала прямоугольной формы.
На лицевой панели Frequency Measurements - Low Frequency with 1 Counter VI присвойте элементу управления значение:
Counter: Dev1/ctr0
Установите переключатель Frequency Selection на блоке BNC-2120 в крайнее левое положение. Поверните регулятор Frequency Adjust до минимума, насколько возможно. Теперь функциональный генератор должен формировать сигнал частотой 100 Гц.
Запустите VI. На индикатор Frequency (Hz) должно выводиться значение примерно 100 Гц.
Поэкспериментируйте с VI, вращая регулятор Frequency Adjust и меняя положение переключателя Frequency Selection.
Остановите VI.
Часть B: Метод High Frequency with 2 Counters
Этот метод заключается в использовании двух счетчиков для подсчета количества импульсов измеряемого сигнала в течение интервала времени измерения, заданного пользователем.
Конфигурирование BNC-2120
Соедините винтовую клемму USER 1 из зоны сигналов, определяемых пользователем, с винтовой клеммой PFI 8 в зоне Timing I/O, которой соответствует вход Source счетчика 0.
Порядок выполнения
Если необходимо, откройте Frequency Measurements - Low Frequency with 1 Counter VI из папки <Exercises>\DAQ and Signal Conditioning\Counter.
В главном меню выберите команду File»Save As»Copy»Substitute copy for original и сохраните этот VI под именем Frequency Measurements – High Frequency with 2 Counters.vi в папке <Exercises>\DAQ and Signal Conditioning\Counter.
Чтобы этот VI измерял частоту с помощью двух счетчиков, модифицируйте блок-диаграмму VI в соответствии с рисунком 6-16, изменив следующий элемент:
Рисунок 6-16. Блок-диаграмма Frequency Measurements - High Frequency with 2 Counters VI
DAQmx Create Virtual Channel VI
Измените значение константы measurement method на High Frequency with 2 Counters.
Щелкните правой кнопкой мыши по входу measurement time и в контекстном меню выберите пункт Create»Control.
Сохраните VI.
Тестирование
Исследуйте погрешность дискретности для метода High Frequency with 2 Counters.
Откройте окно LabVIEW Help, в котором отображается раздел Quantization Error.
Проанализируйте таблицу в разделе Quantization Error with High Frequency Two Counter Method. Обратите внимание на то, как влияют параметры Actual Frequency of Input Signal и Measurement Time на параметр Quantization Error.
Оставьте окно LabVIEW Help открытым.
Методом High Frequency with 2 Counters измерьте частоту повторения ТТЛ сигнала прямоугольной формы.
На лицевой панели Frequency Measurement - High Frequency with 2 Counters VI присвойте элементам управления следующие значения:
Counter: Dev1/ctr0
Measurement Time: 1.0
|
Примечание: Время измерения – это интервал времени в секундах, в течение которого измеряется частота или период сигнала методом High Frequency with 2 Counters. Погрешность измерений уменьшается с ростом времени измерения и увеличением частоты сигнала. Если время измерения высокочастотного сигнала слишком большое, то счетный регистр может переполниться и сброситься, что послужит причиной получения некорректного результата измерений. |
Установите переключатель Frequency Selection на блоке BNC-2120 в крайнее правое положение. Поверните регулятор Frequency Adjust до максимума, насколько возможно. Теперь функциональный генератор должен формировать сигнал частотой 1 МГц.
Запустите VI. На индикатор Frequency (Hz) должно выводиться значение примерно 1 МГц.
Поэкспериментируйте с VI, вращая регулятор Frequency Adjust и меняя положение переключателя Frequency Selection.
Остановите VI.
Часть C: Метод Large Range with 2 Counters
Этот метод заключается в использовании одного счетчика для деления частоты входного сигнала на некоторый делитель, чтобы получить низкочастотный сигнал, который легко сможет измерить второй счетчик.
Конфигурирование BNC-2120
Соедините винтовую клемму USER 1 из зоны сигналов, определяемых пользователем, с винтовой клеммой PFI 8 в зоне Timing I/O, которая соответствует входу Source счетчика 0.
Порядок выполнения
Если необходимо, откройте Frequency Measurements - High Frequency with 2 Counters VI в папке <Exercises>\DAQ and Signal Conditioning\Counter.
В главном меню выберите команду File»Save As»Copy»Substitute copy for original и сохраните этот VI под именем Frequency Measurements – Large Range with 2 Counters.vi в папке <Exercises>\DAQ and Signal Conditioning\Counter.
Чтобы этот VI измерял частоту в широком диапазоне с помощью двух счетчиков, модифицируйте блок-диаграмму VI в соответствии с рисунком 6-17 так, изменив следующий элемент:
Рисунок 6-17. Блок-диаграмма Frequency Measurements - Large Range with 2 Counters VI
DAQmx Create Virtual Channel VI
Измените значение константы measurement method на Large Range with 2 Counters.
Удалите элемент управление measurement time.
Щелкните правой кнопкой мыши по входу divisor и в контекстном меню выберите пункт Create»Control.
Сохраните VI.
Тестирование
Исследуйте погрешность дискретности для метода Large Range with 2 Counters.
Откройте окно LabVIEW Help, в котором отображается раздел Quantization Error.
Проанализируйте таблицу в разделе Quantization Error with Large Range Two Counter Method. Обратите внимание на то, как влияют параметры Actual Frequency of Input Signal и Divisor на параметр Quantization Error.
Оставьте окно LabVIEW Help открытым.
Методом Large Range with 2 Counters измерьте частоту повторения ТТЛ сигнала прямоугольной формы.
На лицевой панели Frequency Measurements - Large Range with 2 Counters VI присвойте элементам управления следующие значения:
Counter: Dev1/ctr0
Divisor: 4
|
Примечание: Делитель – это значение, на которое делится частота входного сигнала при измерении методом Large Range with 2 Counters. Погрешность измерений уменьшается с увеличением делителя. Однако, если делитель слишком большой, то счетный регистр может переполниться и, что послужит причиной получения некорректного результата измерений. |
Установите переключатель Frequency Selection на блоке BNC-2120 в крайнее правое положение. Поверните регулятор Frequency Adjust до максимума, насколько возможно. Теперь функциональный генератор должен формировать сигнал частотой 1 МГц.
Запустите VI. На индикатор Frequency (Hz) должно выводиться значение примерно 1 МГц.
Поэкспериментируйте с VI, вращая регулятор Frequency Adjust и меняя положение переключателя Frequency Selection.
Остановите VI.
По окончании тестирования закройте все VI и окно LabVIEW Help.
Конец упражнения 6-7
Заметки
7
7. Согласование сигналов
Упражнение 7-1. Измерения с помощью термопары
Цель
Измерить температуру с помощью термопары и устройства NI 9219
Конфигурирование cDAQ-устройства
Присоедините термопару типа J к каналу channel 1 устройства NI 9219.
Порядок выполнения
Откройте Thermocouple VI из папки <Exercises>\DAQ and Signal Conditioning\Signal Conditioning.
Чтобы Thermocouple VI считывал результаты измерения температуры с термопары и контролировал соответствие значений температуры заданным пользователем пределам, модифицируйте этот VI в соответствии с рисунком 7-1, используя следующие элементы:
Рисунок 7-1. Блок-диаграмма Thermocouple VI
D AQmx Create Virtual Channel VI
В выпадающем списке выберите вариант Analog Input»Temperature»Thermocouple.
Щелкните правой кнопкой мыши по входам minimum value, maximum value, physical channel, units, thermocouple type и cjc source, и в контекстном меню выберите команду Create»Control.
Измените имя элемента управления minimum value на minimum value (degrees).
Измените имя элемента управления maximum value на maximum value (degrees).
Измените имя элемента управления physical channels на Thermocouple channel.
У зел свойств DAQmx Channel Property Node – с помощью этого узла устанавливается режим синхронизации устройства NI 9219 для подавления помех.
Щелкните правой кнопкой по элементу узла и выберите в контекстном меню команду Select Property»Analog Input»General Properties»Digitizer/ADC»Timing Mode.
Еще раз щелкните по элементу правой кнопкой и выберите команду Change All to Write.
Снова правой кнопкой мыши щелкните по входу элемента и в контекстном меню выберите команду Create»Constant. Присвойте созданной константе значение High Resolution.
|
Примечание: Устройство NI 9219 поддерживает четыре различных режима синхронизации, которые оптимизированы для четырех типов приложений, использующих разное времени преобразования АЦП. Режим High Speed оптимизирован для высокоскоростных приложений за счет ухудшения помехозащищенности, Best 60 Hz Rejection оптимизирован для подавления помехи 60 Гц, Best 50 Hz Rejection оптимизирован для подавления помехи 50 Гц, High Resolution оптимизирован для обеспечения максимальной общей помехозащищенности, а также подавления помех 50 Гц и 60 Гц. В режиме High Resolution устройство NI 9219 может выполнять измерения с помощью термопары каждые 510 мс.
|
Расположите элементы управления на лицевой панели в соответствии с рисунком 7-2 и замените, если необходимо, некоторые элементы управления и индикаторы. Законченная лицевая панель должна выглядеть так, как на Рисунок 7-2.
Рисунок 7-2. Лицевая панель Thermocouple VI
Сохраните VI.
Присвойте элементам управления следующие значения:
Thermocouple Channel: cDAQ1Mod1/ai1
Thermocouple Type: J
CJC Source: Built-In
Примечание: В каждом канале NI 9219 есть встроенный термистор для компенсации температуры холодного спая. Если элементу cjc source присвоено значение Built-In, Tehrmocouple VI будет использовать результаты измерений температуры этого термистора, чтобы устранить влияние паразитных термоЭДС холодных спаев.
Units: Deg C
Minimum Value (degrees): 15.00
Maximum Value (degrees): 35.00
|
Примечание: Предельные значения измеряемой величины. – это минимальное и максимальное значения, которые вы ожидаете получить. Качество измерений можно повысить за счет установления предельных значений для более узкого диапазона измерений. DAQ-устройство автоматически выбирает наиболее подходящие и доступные коэффициент усиления и диапазон измерений в соответствии с заданными предельными значениями. |
Sample Rate: 1.0
Temperature Limit: 30
Тестирование
Протестируйте Theormocouple VI
Запустите Theormocouple VI
Коснитесь пальцем или рукой термопары, чтобы изменить ее температура.
Чтобы поэкспериментировать с предельным значением, изменяйте значения на элементе управления Temperature Limit.
По окончании эксперимента остановите VI.
Конец упражнения 7-1
Упражнение 7-2. Измерение деформации
Цель
Выполнить измерения с помощью тензодатчика и устройства NI 9219, для уменьшения погрешности измерений применить коррекцию нуля.
Конфигурирование cDAQ-устройства
Присоедините четвертьмостовой тензодатчик к каналу Channel 3 устройства NI 9219. Один проводник соедините с контактом pin 3, а другой – с контактом pin 5.
Порядок выполнения
Откройте Thermocouple VI из папки <Exercises>\DAQ and Signal Conditioning\Signal Conditioning.
В главном меню выберите команду File»Save As»Copy»Substitute copy for original и сохраните этот VI под именем Strain.vi в папке <Exercises>\DAQ and Signal Conditioning.
Чтобы измерять деформацию, модифицируйте блок-диаграмму в соответствии с рисунком 7-3, используя следующие блоки:
Рисунок 7-3. Блок-диаграмма Strain VI
DAQmx Create Virtual Channel VI
В выпадающем списке выберите вариант Analog Input»Strain» Strain Gage.
Измените имена соответствующих элементов управления на minimum value (strain), maximum value (strain), Strain Gage Channel.
Удалите элементы управления units, Thermocouple Type и cjc source.
Щелкните правой кнопкой по входам bridge information и strain gage information и в контекстном меню выберите команду Create Control.
Узел свойств DAQmx Channel Property Node.
Измените свойство AI.ADCTimingMode на Best 60 Hz Rejection.
|
Примечание: Устройство NI 9219 поддерживает четыре различных режима синхронизации, которые оптимизированы для четырех типов приложений, использующих разное времени преобразования АЦП. Режим High Speed оптимизирован для высокоскоростных приложений за счет ухудшения помехозащищенности, Best 60 Hz Rejection оптимизирован для подавления помехи 60 Гц, Best 50 Hz Rejection оптимизирован для подавления помехи 50 Гц, High Resolution оптимизирован для обеспечения максимальной общей помехозащищенности, а также подавления помех 50 Гц и 60 Гц. В режиме Best 60 Hz Rejection и при отсутствии каналов, работающих в режиме Thermocouple, данное устройство может выполнять измерения каждые 110 мс. |
Удалите элемент управления Temperature Limit, функцию Greater?, функцию Bundle, индикатор Limit Exceed?, индикатор Thermocouple Data и соответствующие проводники из цикла While.
Отредактируйте включение DAQmx Read VI
В выпадающем списке выберите вариант Analog»Single Channel»Multiple Samples»Waveform.
Щелкните правой кнопкой по входу samples per channel и в контекстном меню выберите команду Create»Control. Измените имя созданного элемента управления на Samples to Read.
Щелкните правой кнопкой по входу timeout и в контекстном меню выберите команду Create»Constant. Созданной константе присвойте значение 10.
Щелкните правой кнопкой по выходу data и в контекстном меню выберите команду Create Indicator. Измените имя индикатор на Strain Measurement.
Добавьте фрагмент программного кода для коррекции нуля в соответствии с рисунком 7-4.
Рисунок 7-4. Блок-диаграмма фрагмента программного кода для коррекции нуля
П
оместите
DAQmx Perform Bridge Offset Nulling Calibration VI между
DAQmx Timing VI и DAQmx Start VI.Д
обавьте
Case структуру вокруг DAQmx
Perform Bridge
Offset Nulling
Calibration VI,
что позволит вам сравнивать результаты
измерений с калибровкой и без калибровки.
Учтите, что этот VI находится
во фрейме True.
Во фрейме False протяните через структуру Case проводник задачи и проводник ошибки.
Щелкните правой кнопкой по входу селектора выбора и в контекстном меню выберите пункт Create»Control. Измените имя созданного элемента управления на Do Offset Nulling?.
Сгруппируйте элементы управления на лицевой панели, объединив их логически, в соответствии с рисунком 7-5.
Рисунок 7-5. Лицевая панель Strain VI
Создайте графический индикатор типа Waveform Chart, на котором будут наглядно отображаться результаты выполняемых измерений.
Щелкните правой кнопкой по индикатору Strain Measurement и в контекстном меню выберите Replace»Graph»Waveform Chart.
Щелкните правой кнопкой по графическому индикатору и в контекстном меню выберите Y scale»Autoscale, чтобы запретить автомасштабирование.
Щелкните правой кнопкой по оси Y и выберите команду Formatting.
На закладке Display Format установите следующие значения параметров:
Type: Floating Point
Digits: 3
Precision Type: Digits of Precision.
Измените обозначение оси Y на Strain.
Установите на оси Y максимальное и минимальное значения соответственно 0.005 и –0.005.
Сохраните VI.
Тестирование
Присвойте элементам управления приведенные ниже значения. Если элемента управления нет в списке, оставьте его значение по умолчанию.
Strain Gage Channel: cDAQ1Mod1/ai3
Minimum Value (Strain): -0.010
Maximum Value (Strain): 0.010
Sample Rate: 9
Sample to Read: 9
Nominal Gage Resistance: 120
Strain Configuration: Quarter Bridge I
В главном меню выберите команду Edit»Make Current Values Default.
Сохраните VI.
При первом запуске VI оставьте коррекцию нуля отключенной – элемент управления Do Offset Nulling? в положении False.
Запустите VI.
Изогните поверхность, на которой закреплен тензодатчик.
Находится ли результат измерений вблизи нуля, когда нет деформации?
Чаще всего это не так, крайне редко измерение начальной деформации дает правильный результат. Поэтому необходимо выполнить коррекцию нуля.
Остановите VI.
Присвойте элементу управления Do Offset Nulling? значение True.
Запустите VI.
Проанализируйте различия между результатами измерения при отсутствии и при наличии коррекции нуля.
Остановите и закройте VI.
Конец упражнения 7-2
Заметки
8.
8. Синхронизация
Упражнение 8-1. Одновременный запуск аналогового ввода и аналогового вывода
Цель упражнения
Реализовать одновременный запуск операций аналогового ввода и аналогового вывода двумя различными методами.
Конфигурирование BNC-2120
Соедините BNC разъем канала 0 в из зоны Analog Outputs с BNC разъемом канала 2 в зоне Analog Inputs.
Убедитесь в том, что переключатель FS/GS под BNC разъемом канала 2 находится в положении GS.
В зоне Timing I/O соедините винтовую клемму PULSES или CLK с винтовой клеммой PFI1.
|
Примечание: В некоторых модификациях блока BNC-2120 терминал с одним и тем же функциональным назначением имеет обозначение PULSES, а в некоторых CLK. |
Часть I: Метод программного запуска
Откройте Simultaneous Start VI из папки <Exercises>\DAQ and Signal Conditioning\Synchronization.
Проанализируйте блок-диаграмму.
Обратите внимание на то, что VI в верхнем ряду соответствуют задаче непрерывного аналогового ввода с буферизацией и отображения полученных данных на графическом индикаторе типа Waveform Chart.
Следует также отметить, что VI в нижнем ряду соответствуют задаче непрерывного аналогового вывода сигнала, который генерируется с помощью Sine Waveform VI.
Чтобы в VI эти две задачи запускались одновременно, измените VI в соответствии с рисунком 8-1, используя следующие элементы:
Рисунок 8-1. Блок-диаграмма Simultaneous Start VI
D AQmx Trigger VI
Выберите в выпадающем списке вариант Start»Digital Edge.
Чтобы измерение аналогового сигнала начался не раньше формирования сигнала в порту аналогового вывода, вам необходимо сделать запуск задачи аналогового ввода раньше, чем запуск задачи аналогового вывода, причем запуск операции ввода должен быть зависимым от запуска вывода.
На входе source DAQmx Trigger VI создайте константу и присвойте ей значение /Dev1/ao/StartTrigger, чтобы сделать этот VI зависимым от аналогового вывода.
П
оместите
Merge Errors
VI между DAQmx
Start Task VI
для задач аналогового ввода и аналогового
вывода.
Локальная переменная Output Rate от DAQmx Timing VI
Щелкните правой кнопкой по элементу управления output rate и в контекстном меню выберите команду Create»Local Variable.
Щелкните правой по созданной локальной переменной и в контекстном меню выберите команду Change To Read.
Выполните соединения и упорядочьте блок-диаграмму в соответствии с Рисунок 8-1.
Сохраните VI.
Расположите элементы на лицевой панели в соответствии с рисунком 8-2.
Рисунок 8-2. Лицевая панель Simultaneous Start VI
Тестирование
На лицевой панели VI Simultaneous Start установите следующие значения элементов управления:
AI Channel: Dev1/ai2
Input Rate: 1000
AO Channel: Dev1/ao0
Output Rate: 1000
Запустите VI.
Визуально воспринимается, что эти задачи начинаются примерно в одно и то же время, однако различий не будет заметно даже, если вы просто запустите одновременно обе задачи без привязки к сигналам запуска. Тем не менее, на аппаратном уровне обе задачи начинаются точно по одному и тому же тактовому импульсу.
Изменяйте в сторону увеличения и уменьшения тактовую частоту для выходного сигнала с помощью элемента управления output rate.
Примечание: Можно установить разные частоты дискретизации для ввода и для вывода, т.к. при одновременном запуске задач, они не обязательно должны выполняться с одной и той же скоростью.
Остановите VI.
Часть II: Метод аппаратного запуска
В соответствии с Рисунок 8-3 дополните VI аппаратным запуском, чтобы обе задачи начали работать одновременно:
Рисунок 8-3. DAQmx Trigger VI, введенный в задачу аналогового вывода
Вставьте DAQmx Trigger VI в задачу аналогового вывода
В выпадающем списке выберите вариант Start»Digital Edge.
Щелкните правой кнопкой по входам source и edge и в контекстном меню выберите пункт Create»Constant.
Присвойте константе source значение /Dev1/PFI1.
Присвойте константе edge значение Falling, чтобы запуск происходил по отрицательному фронту импульсов, формируемых при вращении регулятора квадратурного энкодера блока BNC-2120.
Сохраните VI как копию под именем Simultaneous Start with Hardware Trigger.vi в папке <Exercises>\DAQ and Signal Conditioning\Synchronization в режиме Copy and Substitute copy for the original.
Тестирование
Запустите VI.
Поверните регулятор энкодера на блоке BNC-2120.
Помните о том, что когда вы поворачиваете регулятор энкодера, на выходе появляется импульс, поступающий на терминал PULSES или CLK, соединенный с линией PFI 1. По приходу отрицательного фронта на линию PFI 1 начинает выполняться задача аналогового вывода. Задача аналогового ввода сконфигурирована так, чтобы она начинала выполняться по первому фронту сигнала синхронизации отсчетов аналогового вывода, т.е. и задача аналогового ввода, и задача аналогового вывода запустятся одновременно.
Остановите VI и оставьте его открытым для следующего упражнения.
Конец упражнения 8-1
Упражнение 8-2. Синхронный аналоговый ввод и аналоговый вывод
Цель
Синхронизировать операции аналогового ввода и вывода выполняемых на отдельных DAQ-устройствах.
Конфигурирование BNC-2120
Соедините винтовую клемму PFI 5 из зоны Timing I/O с винтовой клеммой USER 1, который находится в зоне сигналов, определяемых пользователем.
Конфигурирование cDAQ устройства
Соедините BNC разъем TRIG 0 на шасси cDAQ-9178 с BNC разъемом USER 1 на блоке BNC-2120.
Тестирование
Если необходимо, откройте файл <Exercises>\DAQ and Signal Conditioning\Synchronization\Multi-Device\Simultaneous Start with Hardware Trigger.vi.
Сохраните VI в файле под именем <Exercises>\DAQ and Signal Conditioning\Synchronization\Multi-Device Synchronous AI and AO.vi.
Модифицируйте блок-диаграмму в соответствии с Рисунок 8-4 так, чтобы сигнал синхронизации отсчетов аналогового вывода на устройства Dev1 DAQ-устройства использовался и задачей измерения температуры, выполняемой с помощью термопары cDAQ-устройством. Используйте следующие элементы:
Рисунок 8-4. Блок-диаграмма Multi-Device Synchronous AI and AO VI
Удалите все DAQmx Trigger VI и все связанные с ними элементы управления и константы.
Удалите элемент управления input rate.
Соедините элемент управления output rate со входами rate обоих DAQmx Timing VI.
Измените VI DAQmx Create Virtual Channel так, чтобы создалась задача измерений с помощью термопары.
В выпадающем списке выберите вариант Analog Input»Temperature»Thermocouple.
Щелкните правой кнопкой по входам units, thermocouple type и cjc source и в контекстном меню выбрать команду Create»Constant. Созданным константам присвойте значения соответственно Deg C, J и Built-In.
Д обавьте узел свойств DAQmx Channel Property Node.
Щелкните правой кнопкой по узлу и выберите в контекстном меню команду Select Property»Analog Input»General Properties»Digitizer/ADC»Timing Mode.
Еще раз щелкните по элементу правой кнопкой и выберите команду Change All to Write.
Снова правой кнопкой мыши щелкните по входу элемента и в контекстном меню выберите команду Create»Constant. Присвойте созданной константе значение High Speed.
|
Примечание: Устройство NI 9219 поддерживает четыре различных режима синхронизации, которые оптимизированы для четырех типов приложений, использующих разное времени преобразования АЦП. Режим High Speed оптимизирован для высокоскоростных приложений за счет ухудшения помехозащищенности, Best 60 Hz Rejection оптимизирован для подавления помехи 60 Гц, Best 50 Hz Rejection оптимизирован для подавления помехи 50 Гц, High Resolution оптимизирован для обеспечения максимальной общей помехозащищенности, а также подавления помех 50 Гц и 60 Гц. В режиме High Speed данное устройство может снимать новый результат измерения с термопары каждые 20 мс. |
Д
обавьте
DAQmx Connect Terminals VI
Щелкните правой кнопкой по входу source terminal и в контекстном меню выберите команду Create»Constant. Созданной константе присвойте значение /Dev1/ao/SampleClock.
Щелкните правой кнопкой по входу destination terminal и в контекстном меню выберите команду Create»Constant. Созданной константе присвойте значение /Dev1/PFI5.
Когда вы запустите этот VI, на линию PFI5 будет выдаваться сигнал синхронизации отсчетов аналогового вывода.
Щелкните правой кнопкой по входу source DAQmx Timing VI, относящегося к задаче аналогового вывода, и в контекстном меню выберите команду Create»Constant. Присвойте созданной константе имя /cDAQ/PFI0.
В разделе Конфигурирование BNC-2120 вы соединили линию PFI5 устройства Dev1 с BNC разъемом TRIG0 шасси cDAQ. Поскольку на линию PFI5 будет выдаваться сигнал синхронизации отсчетов аналогового вывода устройства Dev1, а сигнал Trig0 соответствует линии PFI0 шасси cDAQ, вы теперь можете синхронизировать задачи, работающие на cDAQ устройстве с задачей аналогового вывода на устройстве Dev1.
Для DAQmx Read VI измените значение константы number of samples per channel на 10.
Д
обавьте
DAQmx Disconnect Terminals VI между
DAQmx Clear Task VI и Simple Error
Handler VI.
Расположите элементы управления и индикаторы в соответствии с Рисунок 8-5.
Рисунок 8-5. Лицевая панель Multi-device Synchronous AI and AO VI
Установите диапазон допустимых значений для элемента управления output rate от 10 до 50.
Установите диапазон значений по оси Y графика data типа Waveform Chart от 15 до 35.
Сохраните VI.
Тестирование
Присвойте элементам управления следующие значения
AI channel: cDAQ1Mod1/ai1
AO channel: Dev1/ao0
Output Rate: 50
Запустите VI.
Изменяйте значение на элементе управления output rate во время изменения температуры. Чтобы изменение температуры продолжалось, попеременно то удерживайте, то отпускайте термопару.
Задача аналогового ввода, работающая на cDAQ устройстве, настроена на получение массива из 10 отсчетов. Следует учесть, что когда частота дискретизации аналогового вывода для задачи на устройстве Dev1 уменьшается, задача аналогового ввода с помощью термопары на cDAQ устройстве требует больше времени, чтобы измерить 10 отсчетов, поскольку частота дискретизации аналогового ввода синхронизирована с частотой дискретизации аналогового вывода.
По окончании упражнения остановите и закройте VI.
Конец упражнения 8-2
Упражнение 8-3. Перезапускаемый аналоговый ввод для устройств с контроллером STC2 (для самостоятельного выполнения)
Цель
Синхронизировать задачи аналогового ввода от сигнала на внутреннем входе счетчика.
Сценарий
Выполняемые задачи аналогового ввода для устройств с контроллером синхронизации типа STC2 обычно могут получать только один импульс запуска и затем считывать данные. Однако, в задачах, где используется счетчик, могут формироваться перезапускаемые последовательности импульсов.
Конфигурирование BNC-2120
В зоне Timing I/O соедините винтовую клемму PULSES или CLK с винтовой клеммой PFI1.
Примечание: В некоторых модификациях блока BNC-2120 терминал с одни и тем же функциональным назначением имеет обозначение PULSES, а в некоторых CLK.
Соедините BNC разъем Sine/Triangle из зоны Function Generator с BNC разъемом канала 2 в зоне Analog Inputs.
Убедитесь, что переключатель Sine/Triangle находится в положении Sine.
Убедитесь, что переключатель FS/GS под разъемом канала 2 находится в положении GS.
Порядок выполнения
Откройте файл <Exercises>\DAQ and Signal Conditioning\Synchronization\Retriggerable Analog Input (STC2).vi.
Проанализируйте блок-диаграмму.
Обратите внимание на то, что VI в верхнем ряду соответствуют задаче аналогового ввода. Также следует отметить, что VI в нижнем ряду соответствуют задаче генерации перезапускаемой последовательности импульсов, которую вы создали при выполнении упражнения 6-5.
Чтобы задача аналогового ввода управлялась перезапускаемой последовательностью импульсов со счетчика, измените блок-диаграмму в соответствии с рисунком 8-6, используя следующие блоки:
Рисунок 8-6. Блок-диаграмма Retriggerable Analog Input (STC2) VI
DAQmx Timing VI
В выпадающем списке выберите вариант Sample Clock.
Соедините элемент управления frequency со входом rate DAQmx Timing VI.
Щелкните правой кнопкой мыши по входу sample mode и в контекстном меню выберите пункт Create»Constant. Присвойте созданной константе значение Continuous Samples.
Щелкните правой кнопкой мыши по входу source и в контекстном меню выберите команду Create»Constant.
Щелкните правой кнопкой по константе source и в контекстном меню выберите пункт I/O Name Filtering. Установите флажок Include Advanced Terminals и щелкните мышью по кнопке OK.
Присвойте константе source значение /Dev1/Ctr0InternalOutput.
Узел свойств DAQmx Read Property Node.
Щелкните правой кнопкой по этому узлу свойств и в контекстном меню выберите пункт Select Properties»Status»Available Samples Per Channel.
Функция Greater Than 0?
Заполните фрейм True структуры Case в соответствии с рисунком 8-8, чтобы приложение делало попытку чтения данных с помощью DAQmx Read VI только в том случае, если есть отсчеты.
Рисунок 8-7. Ветвь True Case-структуры
DAQmx Read VI
В выпадающем списке выберите вариант Analog»Single Sample»Multiple Samples»1D DBL.
Расположите элементы на лицевой панели в соответствии с рисунком 8-9.
Рисунок 8-8. Лицевая панель Retriggerable Analog Input (STC2) VI
Сохраните VI.
Тестирование
На лицевой панели установите следующие значения элементов управления:
Analog input channels: Dev1/ai2
Counter: Dev1/ctr0
duty cycle: 0.5
Frequency: 10
Samples per channel: 10
Idle state: Low
Initial Delay: 0
Запустите VI.
Обратите внимание на то, что на графическом индикаторе нет отсчетов. Задача вывода с помощью счетчика ожидает ниспадающего фронта в канале /Dev1/PFI1. Задача аналогового ввода ожидает тактового сигнала с выхода счетчика.
Чтобы получить 10 отсчетов с канала аналогового ввода, поверните регулятор квадратурного энкодера.
Поскольку элементу Samples per channel присвоено значение 10, а частота задана равной 10 Гц, VI будет собирать отсчеты в течение 1 секунды после поворота регулятора энкодера.
После каждого поворота этого регулятора из канала аналогового ввода будут поступать по 10 отсчетов, поскольку в задаче аналогового ввода в качестве сигнала синхронизации отсчетов используется перезапускаемый таймерный вывод конечного числа отсчетов.
По окончании тестирования остановите и закройте VI.
Перезапускаемый аналоговый ввод с помощью устройства с контроллером STC3
В некоторых DAQ-устройствах с контроллером синхронизации типа STC3 вы можете создать задачу перезапускаемого аналогового ввода без использования задачи со счетчиком. Вам требуется только DAQmx Trigger VI и узел свойств DAQmx Trigger Property Node, у которого свойству Start»More»Retriggerable присвоено значение true.
Откройте файл <Exercises>\DAQ and Signal Conditioning\Synchronization\Retriggerable Analog Input (STC3).vi.
Проанализируйте блок-диаграмму и обратите внимание на то, что свойство Retriggerable можно использовать в задаче аналогового ввода, если в DAQ-устройстве есть контроллер синхронизации типа STC3.
По окончании тестирования закройте VI.
Конец упражнения 8-3
Заметки
А
Приложение А. Обработка сигналов
Упражнение A-1 Спектр мощности
Цель упражнения
Построить VI, определяющий частотный спектр сгенерированного сигнала.
Сценарий
Быстрое преобразование Фурье (БПФ) – мощный метод расчетов, который вы можете использовать для спектрального анализа дискретных данных, полученных из DAQ-системы.
В этом упражнении используются LabVIEW Express VI для генерации сигнала и спектрального анализа данных.
Реализация
Откройте пустой VI и создайте блок-диаграмму, показанную на рисунке А-1, используя следующие элементы:
Рисунок A-1. Блок-диаграмма Power Spectrum Express VI
|
– Создайте кнопку «Стоп» для терминала выхода из цикла While. |
|
|
Рисунок A-2. Диалог Configure Simulate Signal
Щелкните по кнопке OK для закрытия диалогового окна.
На блок-диаграмме измените размер Simulate Signals Express VI для отображения элемента error out.
Щелкните правой кнопкой мыши по входу Frequency и выберите Create»Control.
Щелкните правой кнопкой мыши по входу Amplitude и выберите Create»Control.
Щелкните правой кнопкой мыши по выходу sine и выберите Create»Graph Indicator. Назовите индикатор Time Domain.
|
|
Рисунок A-3. Диалог Configure Spectral Measurements
Щелкните по кнопке OK для закрытия диалогового окна.
На блок-диаграмме измените размер Spectral Measurements Express VI для отображения элементов error in (no error) и error out.
Щелкните правой кнопкой мыши по выходу Power Spectrum и выберите Create»Graph Indicator из контекстного меню. Назовите индикатор Power Spectrum.
|
|
|
|
Расположите элементы на лицевой панели, как показано на рисунке А-4.
Рисунок A-4. Лицевая панель Power Spectrum Express VI
Сохраните VI как Power Spectrum Express.vi в папке <Exercises>\DAQ and Signal Conditioning
Тестирование
Установите следующие значения элементов управления лицевой панели Power Spectrum Express VI:
Frequency: 1000
Amplitude: 3
Запустите VI.
Измените частоту сигнала, генерируемого Simulate Signal Express VI. Обратите внимание, как в соответствии с изменением генерируемой частоты перемещается пик на графике спектра.
Сохраните и закройте VI.
Конец упражнения A-1
Упражнение A-2 Window Comparison VI
Цель упражнения
Построить VI для сравнения влияния различных оконных функций на просачивание спектральных составляющих и компоненты малой мощности сигнала.
Сценарий
В этом упражнении складываются две синусоиды с разными амплитудами и переводятся в частотную область. Амплитуда синусоиды 1 значительно меньше, чем синусоиды 2. Применяется оконная функция, которая изменяет форму сигнала и влияет на спектр мощности. Результаты отображаются на графике в частотной области, так что вы можете сравнить эффект наложения различных оконных функций.
Реализация
Откройте пустой VI и создайте блок-диаграмму, показанную на рисунке А-5, используя следующие элементы:
Рисунок A-5. Блок-диаграмма Window Comparison VI
|
– Создайте кнопку «Стоп» для терминала выхода из цикла While. |
|
|
В диалоговом окне Configure Simulate Signals задайте следующие настройки:
Samples per Second (Hz): 1000
Снимите флажок Automatic
Number of Samples: 1000
Снимите флажок Use signal type name
Назовите сигнал Sine1
Щелкните по кнопке OK.
На блок-диаграмме измените размер Simulate Signals Express VI для отображения элемента error out.
Щелкните правой кнопкой мыши по терминалам frequency и amplitude и выберите Create»Control. Назовите элементы управления Frequency 1 и Amplitude 1.
|
|
В диалоговом окне Configure Simulate Signals задайте следующие настройки:
Samples per Second (Hz): 1000
Снимите флажок Automatic
Number of Samples: 1000
Снимите флажок Use signal type name
Назовите сигнал Sine2
Щелкните по кнопке OK.
На блок-диаграмме измените размер Simulate Signals Express VI для отображения элемента error out.
Щелкните правой кнопкой мыши по терминалам frequency и amplitude и выберите Create»Control. Назовите элементы управления Frequency 2 и Amplitude 2.
|
|
Щелкните правой кнопкой мыши по выходу функции Add и выберите Create» Graph Indicator. Назовите графический индикатор Sine 1 + Sine 2.
|
|
Щелкните правой кнопкой мыши по входу window и выберите Create»Control.
Щелкните правой кнопкой мыши по входу dB On (F) и выберите Create»Constant.
Установите константу равной True.
Щелкните правой кнопкой мыши по входу restart averaging (F) и выберите Create»Constant. Установите константу равной True.
Подключите графический индикатор Sine 1 + Sine 2 ко входу time signals FFT Power Spectrum VI.
Щелкните правой кнопкой мыши по выходу power spectra и выберите Create»Graph Indicator. Назовите графический индикатор Power Spectrum.
|
|
|
|
|
|
Расположите элементы лицевой панели, как показано на рисунке А-6.
Рисунок A-6. Лицевая панель Window Comparison VI
Замените массив Power Spectrum на график waveform graph.
Замените числовые элементы управления Frequency 1 и Frequency 2 на регуляторы. Щелкните правой кнопкой мыши по каждому регулятору и выберите Visible Items»Digital Display.
Сохраните VI как Window Comparison.vi в папке <Exercises>\DAQ and Signal Conditioning.
Тестирование
Установите следующие значения элементов управления лицевой панели Window Comparison VI:
Amplitude 1: 0.001
Frequency 1: 155.37
Amplitude 2: 1.00
Frequency 2: 75.12
Window: Hanning
Запустите VI.
Выберите окно Flat Top и обратите внимание на форму сигнала на графике спектра мощности. Окно Flat Top содержит больше косинусных членов, чем все остальные типы окон. Поэтому окно Flat Top используется для точных измерений амплитуды основной гармоники.
Сравните различные оконные функции, выбирая их на лицевой панели и наблюдая за изменениями спектра мощности.
Поэкспериментируйте со значениями частоты и пронаблюдайте за изменениями спектра.
Остановите и закройте VI.
Конец упражнения А-2
Упражнение A-3 Цифровые БИХ-фильтры
Цель упражнения
Использовать цифровую фильтрацию в приложении сбора данных
Сценарий
Фильтры часто применяются с данными, собранными DAQ-устройством. В этом упражнении вы создадите VI, выполняющих цифровую БИХ-фильтрацию собранных DAQ-устройством данных. Этот VI сравнивает результаты фильтрации. Вы можете просмотреть исходный и отфильтрованный сигнал во временной и частотной областях и увидеть преимущества цифровой фильтрации.
Конфигурирование BNC-2120
Подключите BNC разъем Sine/Triangle из зоны Function Generator к разъему BNC канала 2 в зоне Analog Inputs.
Убедитесь, что переключатель Sine/Triangle находится в положении Sine.
Убедитесь, что переключатель FS/GS под разъемом BNC канала 2 находится в положении GS.
Реализация
Откройте пустой VI и создайте блок-диаграмму, показанную на рисунке А-7, используя следующие элементы:
Рисунок A-7. Блок-диаграмма IIR Digital Filter VI
|
|
|
|
Щелкните правой кнопкой мыши по входам samples per channel и rate inputs и выберите Create»Control из контекстного меню.
|
|
|
|
Создайте кнопку "Стоп" для терминала выхода из цикла While.
|
|
Выберите вариант Analog»Single Channel»Multiple Samples»Waveform из выпадающего списка.
Щелкните правой кнопкой мыши по выходу data и выберите Create»Indicator. Назовите индикатор Prefiltered Time Domain.
|
|
|
|
|
|
В появившемся диалоге задайте тип входных данных Input в Single Waveform.
Щелкните по кнопке OK.
|
|
В диалоговом окне Configure Spectral Measurements задайте настройки, показанные на рисунке A-8.
Рисунок A-8. Диалог Configure Spectral Measurements
Щелкните по кнопке OK.
На блок-диаграмме измените размер Spectral Measurements Express VI для отображения элементов error in (no error) и error out.
|
|
В диалоговом окне Configure Filter задайте настройки, показанные на рисунке A-9.
Рисунок A-9. Диалог Configure Filter
Щелкните по кнопке OK.
На блок-диаграмме измените размер Spectral Measurements Express VI для отображения элементов error in (no error) и error out.
|
|
|
|
|
|
Выполните соединения на блок-диаграмме, как показано на рисунке А-7. После подключения всех Express VIs создайте следующие графические индикаторы:
Щелкните правой кнопкой мыши по выходу Power Spectrum первого Spectral Measurements Express VI и выберите Create»Graph Indicator. Назовите индикатор Prefiltered Frequency Domain.
Щелкните правой кнопкой мыши по выходу Filtered Signal в Filter Express VI и выберите Create»Graph Indicator. Назовите индикатор Filtered Time Domain.
Щелкните правой кнопкой мыши по выходу Power Spectrum второго Spectral Measurements Express VI и выберите Create»Graph Indicator. Назовите индикатор Filtered Frequency Domain.
Расположите элементы управления лицевой панели, как показано на рисунке А-10.
Рисунок A-10. Лицевая панель IIR Digital Filter VI
Замените массив Prefiltered Time Domain на индикатор waveform graph.
Щелкните правой кнопкой мыши по каждой из двух диаграмм Time Domain и выберите Y scale»Autoscale Y для отключения автомасштабирования. Установите пределы шкалы от -1.25 до 1.25.
Сохраните VI как IIR DAQ Filter.vi в папке <Exercises>\DAQ and Signal Conditioning.
Тестирование
Настройте функциональный генератор в блоке BNC-2120 на формирование синусоиды частотой 100 Гц.
На BNC-2120 установите переключатель Frequency Selection функционального генератора в крайнюю левую позицию.
Поверните рукоятку Frequency Adjust BNC-2120 в положение LO.
Задайте следующие значения элементов управления лицевой панели Continuous Buffered Acquisition VI:
Physical Channels: Dev1/ai2
Rate: 15000
Samples per Channel: 15000
Запустите IIR DAQ Filter VI. Рассмотрите появившиеся на графических индикаторах четыре сигнала.
На индикаторе Prefiltered Time Domain синусоидальный аналоговый сигнал представлен дискретными отсчетами. Поэтому сгенерированная синусоида, помимо основных, содержит и высокочастотные компоненты. Эти высокочастотные компоненты видны на графике Prefiltered Frequency Domain. Низкочастотный цифровой БИХ-фильтр ослабляет эти высокочастотные компоненты, что дает почти идеальную синусоиду на графиках Filtered Time Domain и Filtered Frequency Domain. Не забывайте об искажении спектра. Цифровой фильтр не удаляет наложений спектральных составляющих.
Измените частоту, медленно вращая регулятор Frequency Adjust по часовой стрелке. Вы увидите основной пик на частоте около 1000 Гц. Искажение спектра – серьезная проблема цифровых фильтров. При увеличении частоты свыше 1000 Гц происходит ослабление сигнала, но оно никогда не бывает полным. Псевдоаналоговый сигнал, генерируемый в этом VI, содержит много высокочастотной составляющих. Из-за отсутствия аппаратных фильтров защиты от алиасинга, высокочастотные компоненты приводят к искажению спектра на частотах между 0 и 5 кГц. Цифровой БИХ-фильтр подавляет эти высокочастотные компоненты, но не устраняет их полностью. Это подчеркивает важность использования аппаратных антиалиасинговых фильтров.
Уменьшите частоту срезу до 500 Гц, сохранив топологию фильтра Баттерворта и порядок фильтра 5.
Остановите VI и перейдите на блок-диаграмму.
Дважды щелкните по Filter Express VI для открытия диалогового окна.
Установите частоту среза Cutoff Frequency (Hz) равной 500.
Входной сигнал ослабляется не полностью. Переходная область фильтра Баттерворта становится круче с увеличением порядка фильтра.
Увеличьте значение Order, и фильтр станет подавлять сигнал лучше. Увеличивайте параметр Order, пока вас не удовлетворит уровень ослабления сигнала.
Как правило, фильтры имеют порядок от 1 до 20, верхний предел – 30. При более высоком порядке фильтра компьютеру нужно больше времени на обработку, что повышает вероятность появления ошибок вычислений с плавающей запятой.
Щелкните по кнопке OK.
Запустите VI.
Поэкспериментируйте с различными топологиями фильтра, порядками и частотами среза.
Остановите и закройте VI.
Конец упражнения A-3
Заметки
B
Приложение B Дополнительная информация и ресурсы
В этом приложении содержится дополнительная информация о технической поддержке National Instruments и ресурсах LabVIEW.
Техническая поддержка National Instruments
Обратитесь к следующим разделам отмеченного наградами веб-сайта National Instruments ni.com для получения технической поддержки и профессиональных услуг:
Support (Поддержка) – техническая поддержка по адресу ni.com/support включают следующие разделы:
Self-Help Technical Resources (Технические ресурсы для самостоятельного решения проблем) – обратитесь за ответами и решениями на сайт ni.com/support, где находятся программные драйвера и обновления, База знаний с возможностью поиска, руководства по продукции NI, мастера по пошаговому поиску и устранению неисправностей, тысячи образцов программ, учебных пособий, драйверов измерительных приборов и т.д. Зарегистрированные пользователи получают также доступ к дискуссионным форумам NI по адресу ni.com/forums. Специалисты по применению NI гарантируют ответ в режиме он-лайн на каждый заданный вопрос.
Standard Service Program Membership (Членство в стандартной программе обслуживания) – эта программа позволяет ее участникам обращаться непосредственно к специалистам по применению NI в режиме «тет-а-тет» по телефону и электронной почте для получения технической поддержки, а также обеспечивает эксклюзивный доступ по требованию к учебным модулям через Services Resource Center (Услуги ресурсного центра). NI предлагает дополнительное членство в течение года после покупки, затем вы можете его продлить.
Для получения информации о других возможностях технической поддержки в вашем регионе, посетите сайт ni.com/services или обратитесь в местный офис по ni.com/contact.
System Integration (Системная интеграция) – если вы столкнулись с ограничениями по времени, техническим ресурсам и иными сложностями при работе над проектом, члены National Instruments Alliance Partner (Альянс партнеров NI) могут вам помочь. NI Alliance Partner объединяет системных интеграторов, консультантов и поставщиков технических средств, которые проводят экспертизу и предоставляют пользователям всестороннюю помощь. Программа NI Alliance Partner гарантирует квалифицированную помощь специалистов при разработке систем и приложений. Для получения дополнительной информации, свяжитесь с местным офисом NI или посетите сайт ni.com/alliance.
Если вы провели поиск по сайту ni.com и не нашли ответа на свои вопросы, обратитесь в ваш местный офис или в центральный офис NI. Номера телефонов наших офисов во всем мире можно найти в начале данного руководства. Вы можете также посетить раздел Worldwide Offices на сайте ni.com/niglobal для доступа к веб-сайтам филиалов, где имеется обновляемая контактная информация, телефоны службы поддержки, адреса электронной почты и информация о текущих событиях.
Другие учебные курсы National Instruments
National Instruments предлагает несколько учебных курсов для пользователей LabVIEW. Эти курсы продолжают обучение, начатое вами в настоящем курсе и продвигают знания на новый уровень. Посетите сайт ni.com/training для приобретения материалов курса или записи на практические курсы с инструктором, проводимые по всему миру.
Сертификация National Instruments
Сертификат NI подтверждает вашу квалификацию в работе с продукцией и технологиями NI. Предприятия средств автоматизации и измерений, ваши работодатели, клиенты и коллеги распознают ваш сертификат NI, как признак знаний и навыков, которые вы получили на практике. Посетите сайт ni.com/training для получения дополнительной информации о программе сертификации NI.
Ресурсы LabVIEW
Ниже описано, как вы можете получить дополнительную информацию о LabVIEW.
Публикации о LabVIEW
О программировании и применении LabVIEW написано много книг. Веб-сайт National Instruments содержит список всех книг о LabVIEW с ссылками на места, где их можно приобрести. Также приведена информация об издателях, чтобы вы могли напрямую связаться с издательством для получения дополнительной информации о содержании и порядке приобретения книг о LabVIEW и родственных книг о компьютерных измерениях и автоматизации.
Web-сайты
ni.com/products
ni.com/labview
ni.com/dataacquisition
ni.com/sensors
ni.com/signalconditioning
Заметки
