УДК 004.94
А.В. Рязанов
канд. техн. наук, доцент, кафедра конструирования
и технологии РЭС, Арзамасский политехнический институт (филиал) ФГБОУ ВПО «Нижегородский государственный технический
университет им. Р.Е. Алексеева» А.С. Сахаров
аспирант, кафедра конструирования и технологии РЭС, Арзамасский политехнический институт (филиал) ФГБОУ ВПО «Нижегородский государственный технический
университет им. Р.Е. Алексеева»
ВИРТУАЛЬНЫЙ ПРИБОР ДЛЯ РУЧНОГО ИССЛЕДОВАНИЯ ЧАСТОТНЫХ ХАРАКТЕРИСТИК ЭЛЕКТРОННЫХ УЗЛОВ НА ОСНОВЕ ПРОГРАММНОЙ СРЕДЫ LabVIEW
Аннотация. В данной работе рассмотрены вопросы разработки в среде LabVIEW виртуального прибора, используемого при ручном исследовании частотных характеристик электронных узлов.
Ключевые слова: виртуальный прибор, частотная характеристика.
A.V. Ryazanov, Nizhni Novgorod State Technical University (Arzamas Branch)
A.S. Sakharov, Nizhni Novgorod State Technical University (Arzamas Branch)
THE VIRTUAL DEVICE FOR MANUAL RESEARCH OF FREQUENCY CHARACTERISTICS OF ELECTRONIC
KNOTS ON THE BASIS OF THE LABVIEW PROGRAM ENVIRONMENT
Abstract. In this work questions of development in the environment of LabVIEW of the virtual device used at research of frequency characteristics of electronic knots are considered.
Keywords: virtual device, frequency characteristic.
В настоящее время на предприятиях и в учебных заведениях высшего профессионального образования для выполнения измерений, наблюдений и контроля сложных физико-технических процессов применяются физические измерительные устройства. Однако высокая производительность современных компьютеров позволяет использовать их для реализации алгоритмов, заложенных в традиционных измерительных приборах, путем создания виртуальных приборов [1].
Таким образом, задача разработки виртуального прибора для исследования частотных характеристик электронных узлов является актуальной.
Виртуальные приборы, как правило, имеют иерархическую структуру. Такая структура при разработке удобна тем, что позволяет отделить функциональные модули друг от друга для лучшего понимания кода и упрощения отладки [1].
Следовательно, для решения поставленной задачи необходимо разработать виртуальный прибор, реализующий режим ручного измерения частотной характеристики электронных узлов. Решению этой задачи и посвящена настоящая работа.
Исходя из требуемой функциональности, основными модулями разрабатываемого виртуального прибора должны стать генератор и вольтметр [2]. Для измерения значений в реальном времени эти два модуля должны работать одновременно. Одновременность работы в текстовых языках программирования достигается с помощью использования потоков. Но в LabVIEW функция для создания потока отсутствует, поэтому для реализации одновременной работы двух модулей нужно использовать два цикла «While Loop», помещенных в один общий цикл «While Loop» [1]. При этом каждый модуль обрабатывается в своем внутреннем цикле, и процессорное время делится поровну между циклами.
Для внесения корректировок в параметры генерации и считывания сигнала (таких как рабочие каналы, частота выборки, количество выборок) необходимо предусмотреть дополнительное окно настроек, которое будет вызываться по нажатию соответствующей кнопки на панели прибора.
Во время работы с любым программным обеспечением могут возникать исключительные ситуации и ошибки. Причиной этому может служить как невнимательность пользователя при вводе данных, так и внутренние сбои системы. Для выявления таких ситуаций должен быть предусмотрен модуль обработки ошибок. Его работу нужно организовать так, чтобы при обнаружении ошибки в работе одного из модулей, измерения останавливались, и выводилось диалоговое окно, информирующее пользователя о причине остановки.
И, наконец, для фиксирования изменения параметров генерируемого сигнала, таких как напряжение и частота, необходимо включить в состав прибора структуру события «Event Structure» [3]. Такая
структура позволяет фиксировать события (нажатие кнопки или выбор значения из списка) и выполнять группу соответствующих событию функций.
Таким образом, общая модульная структура разрабатываемого виртуального прибора будет иметь вид, представленный на рисунке 1.
"К"« +Г
модуль генератора
□
модуль вольтметра
□
модуль обрлботки ошибок
□
¿ЗН ЛлП'Яар': КсуОсж " ^
1 Т|гг*е
Рисунок 1 - Общая модульная структура виртуального прибора Модуль генератора можно ассоциировать с частью для ввода исходных данных, т.к. именно в этой части устанавливаются необходимые параметры сигнала, который должен поступить на вход электронного узла.
Для обеспечения комфортной работы с виртуальным прибором, модуль генератора должен предусматривать возможность установки уровня входного напряжения и частоты генерируемого сигнала, который впоследствии поступает на вход исследуемого узла. При этом для обеспечения точности результатов измерения частоту сигнала необходимо регулировать плавно. Поэтому регулировку частоты было решено реализовать при помощи двух управляющих органов, один из которых осуществляет грубую регулировку, а второй - точную. Итоговая частота будет формироваться как сумма установленных значений.
Рисунок 2 - Блок-диаграмма модуля генератора
Для удобства работы, а также из практических соображений было решено предусмотреть возможность изменения таких параметров аппаратной части, как рабочие каналы виртуального прибора, частоту выборки и количество выборок. Рабочими каналами в разрабатываемом приборе являются:
- канал, на который будет подаваться сигнал с модуля генератора - выходной канал;
- канал, с которого модулем вольтметра будет считываться напряжение - входной канал.
Для индикации возможных ошибок в модуле генератора использован узел свойств Property Node [3], который позволяет ссылаться как на значение элемента, к которому он привязан, так и на такие свойства, как рабочее состояние элемента. Блок-диаграмма разработанного модуля генератора приведена на рисунке 2.
На рассмотренном уровне иерархии происходит сбор информации необходимой для генерации сигнала. Далее собранные данные передаются на более низкий уровень иерархии, который реализован виртуальным подприбором (ВПП) Gen Voltage.vi (рис. 3).
Для генерации сигнала можно воспользоваться существующей в библиотеках LabVIEW функциональностью DAQ Assistant. Основными недостатками такого подхода является то, что после окончательного формирования DAQ Assistant отсутствует возможность динамически изменять некоторые необходимые параметры, такие как рабочий канал, диапазон напряжения, частота выборки и др. [3].
Для генерации сигнала можно воспользоваться стандартной функциональностью DAQ Assistant. Основными недостатками такого подхода является то, что после окончательного формирования DAQ Assistant отсутствует возможность динамически изменять некоторые параметры, такие как рабочий канал, диапазон напряжения, частота выборки и др. [3].
Поэтому на базе DAQ Assistant был разработан виртуальный подприбор generation.vi и сконфигурирован на генерацию синусоидального сигнала путем добавления дополнительных параметров. Виртуальный подприбор generation.vi реализует более низкий уровень иерархии, на который передаются ранее собранные данные (рис. 4).
Для создания задачи генерации сигнала была использована функция DAQmx Create Task.vi [3]. При этом к задаче были добавлены следующие параметры:
- выходной канал при помощи функции DAQmx Create Virtual Channel.vi;
- дополнительные временные параметры с помощью DAQmx Timing.vi;
- осциллограмма генерируемого сигнала функцией DAQmx Write.vi.
Для увеличения быстродействия программы некоторые из функций помещены в структуру варианта «Case Structure». Благодаря этому не придется тратить процессорное время на вызов функции, если параметры задачи не были изменены.
Модуль вольтметра можно ассоциировать с частью для индикации результата, т.к. именно в этой части отображается результат измерений сигнала, прошедшего через исследуемый электронный узел.
Измерение параметров сигнала, полученного после прохождения через электронный узел, удобно проводить стандартной функцией Amplitude and Level Measurements [3]. Она настраивается с помощью диалогового окна при разработке программы и позволяет на своем выходе получить значения параметров поданного на её вход сигнала. В разработанном виртуальном приборе в качестве выходного параметра будем использовать вычисленное среднеквадратическое значение входного сигнала.
Для того чтобы в поле индикатора не происходило частых скачков значения параметра необходимо усреднить значение, полученное при помощи Amplitude and Level Measurements. Для этого удобно воспользоваться функцией Mean PtByPt.vi [3]. Блок - диаграмма модуля вольтметра показана на рисунке 5.
На рассмотренном уровне иерархии происходит выделение нужных параметров из сигнала. Непосредственно, считывание сигнала происходит на более низком уровне, который реализован при помощи виртуального подприбора Acq Voltage.vi (рис. 6).
number cf ятрГк
íreq_<l«ri<j «j U2L¡I
Рисунок 4 - Блок-диаграмма ВПП депегайоп^
Рисунок 5 - Блок-диаграмма модуля вольтметра
Рисунок 6 - Блок-диаграмма ВПП Acq Voltage.vi
На этом уровне добавляются дополнительные данные, необходимые для чтения сигнала. Для их сбора на основе DAQ Assistant был разработан виртуальный подприбор acquisition.vi (рис. 7), который реализует еще более низкий уровень иерархии, на котором и происходит считывание сигнала с входного канала.
Рисунок 7 - Блок-диаграмма ВПП acquisition.vi
Для создания задачи считывания канала была использована функция DAQmx Create Task.vi с добавлением дополнительных параметров:
- входного канала при помощи функции DAQmx Create Virtual Channel.vi;
- вспомогательных временных параметров при помощи функции DAQmx Timing.vi.
На модуль обработки ошибок подается информация, собранная в кластеры и содержащая данные
о возникшем исключении. Так как информация приходит с двух модулей (модуля генератора и модуля вольтметра), для ее объединения использована функция слияния ошибок Merge Errors. Вывод диалогового окна с описанием ошибки реализован при помощи функции Simple Error Handle.vi. Блок-диаграмма модуля обработки ошибок представлена на рисунке 8.
Для изменения рабочих каналов виртуального прибора, частоты выборки и количества выборок служит диалоговое окно настроек, которое вызывается по нажатию кнопки «Настройки», которая соответствует терминалу settings, будет вызываться виртуальный подприбор settings.vi.
Рисунок 8 - Блок-диаграмма модуля обработки ошибок
Таким образом, в процессе решения поставленных задач была разработана система виртуальных приборов для ручного исследования характеристик электронных узлов. Проведенные экспериментальные исследования показали, что разработанный прибор позволяет проводить измерения с относительной погрешностью не более 1,5% по сравнению с физическими измерительными приборами.
Список литературы:
1. Автоматизация физических исследований и эксперимента: компьютерные измерения и виртуальные приборы на основе LabVIEW 7 / под ред. Бутырина П.А. - М.: ДМК Пресс, 2005. - 264 с.
2. Сахаров, А.С. Разработка в среде LabVlEW виртуального прибора для исследования характеристик активных фильтров. / А.С. Сахаров, А.В. Рязанов // Проблемы информатики в образовании, управлении, экономике и технике: сборник статей XII Международной НТК. - Пенза: Приволж. дом знаний, 2012. - С. 66-71.
3. Измерения в LabVIEW: руководство по применению / пер. с англ. - Новосибирск: National Instruments, 2006. - 148 с.