Знакомимся с LabView
Практически у всех разработчиков устройств на микроконтроллерах, будь то любители или профессионалы, рано или поздно возникает необходимость подключить микроконтроллерный девайс к его «старшему брату», а именно к PC.
Вот тогда и встает вопрос, а какой софт использовать для обмена с микроконтроллером, анализировать и обрабатывать полученные от него данные? Часто для обмена МК с компьютером используют интерфейс и протокол RS232 — старый добрый COM порт в той или иной реализации.
На стороне компьютера применяют различные терминальные программы, коих сотни. Но эти программы обеспечивают лишь прием и передачу информации. Как то обрабатывать и визуализировать ее в наглядной форме затруднительно.
Некоторые пишут подобное ПО самостоятельно на каком либо языке программирования (Delphi, C++), наделяя необходимым функционалом.
Но эта задача не из легких, нужно знать, помимо самого языка, устройство операционной системы, способы работы с комуникационными портами, множество других технических тонкостей, которые отвлекают от главного — реализации алгоритма программы. В общем, быть попутно еще Windows/Unix программистом.
На фоне этих подходов резко отличается концепция виртуальных приборов (vi). В этой статье пойдет речь о программном продукте LabView фирмы Nationals Instruments. Я только начинаю осваивать этот замечательный продукт, поэтому могу допускать неточности и ошибки. Спецы поправят :-)) Собственно что такое LabView?
LabView — это среда разработки и платформа для выполнения программ, созданных на графическом языке программирования «G» фирмы National Instruments.
Говоря простым языком, LabView — Это среда создания приложений для задач сбора, обработки, визуализации информации от различных приборов, лабораторных установок и т.п. А также для управления технологическими процессами и устройствами. Однако с помощью LabView можно создавать вполне себе обычное прикладное ПО. У меня нет цели подробно описывать этот продукт и работу с ним.
По LabView написаны тысячи страниц отличной документации и сотни книг. В интернете полно ресурсов, посвященных LabView, на которых можно получить ответы на все вопросы.
Цель статьи — показать насколько просто и удобно, по сравнению с традиционным программированием, можно создавать приложения для ПК и какую мощь несет в себе LabView. (На самом деле спорно, т.к.
в традиционном программировании, на той же Delphi сделать не сложней. И по эффективности вряд ли хуже, если не лучше. Но для этого дельфу надо гораздо дольше изучать. Тут же все быстро и понятно почти сразу. Пару методичек проштудировал и вперед городить циферблаты всякие. Так что для программистов оно как собаке пятая нога, а вот таким далеким от компа товарищам как я — самое то.
Я когда то, за полчаса, впервые увидев LabView, по тоненькой методичке сваял зверскую систему управления поливом и отоплением для конопляной теплицы. С ПИД регуляторами всякими. Вывел на потенциометры и датчики лабораторного стенда, что стоял в нашем технаре и запустил этот адский агрегат. Причем все заработало сразу, без отладки.
Кстати, на LabView работает вся аппаратура адронного коллайдера, а также очень много научной аппаратуры. прим. DI HALT) Ведь большинству электронщиков чуждо программирование для PC, верно? Вот это мы и попробуем исправить. Дабы не изучать сферических вакуумных коней, поставим для себя и реализуем простенькую задачу.
Задача действительно проста, но на основе нее можно понять основные принципы программирования в LabView. Мы будем использовать LabView версии 2010. Для других версий отличия будут минимальны.
Задача
У нас есть плата с микроконтроллером AVR, соединенная с компьютером по RS232.
В контроллер залита прошивка, согласно которой контроллер измеряет значение напряжения на одном из входов АЦП, и передает код АЦП (от 0 до 1023) в компьютер по последовательному каналу.
Необходимо написать программу для ПК, которая будет принимать поток данных от АЦП, отображать код АЦП, преобразовывать код АЦП в значение напряжения в вольтах, отображать значение напряжения в вольтах, строить график изменения напряжения во времени.
Ну наверное хватит лирики, начнем пожалуй!
Итак что нам потребуется для работы:
- Собственно сама LabView. Можно скачать с сайта NI триал версию: http://www.ni.com/trylabview/. Также без проблем нагугливается пиратская версия. Кстати, на rutracker.org, помимо прорвы пиратских, лежит и версия под Linux на которую регистрация вроде как не требуется вообще. NI решила пойти навстречу опенсорцу?
- Также обязательно необходимо скачать компонент NI VISA. Без этой программы LabView не «увидит» COM порт на компьютере. VISA содержит в себе функции для работы с комуникационными портами и много чего еще. Скачать ее можно с joule.ni.com. Устанавливаем LabView и VISA. Установка этого ПО стандартная, каких либо особенностей не имеет.
Первым делом нам нужно убедится, что VISA нашла в системе COM порт и корректно с ним работает. Проверить это можно так: запускаем программу Measurement & Automation. Она ставится вместе с LabView. Если она не установилась, установить можно вручную. На диске (образе с LabView она есть).
В левой части окна мы видим оборудование, обнаруженное в системе. Среди всего прочего находим наш COM порт. Справа есть кнопка Open Visa test panel. С помощью нее можно протестировать выбранное устройство.
В случае с COM портом там можно отправить или принять заданную по умолчанию или произвольную последовательность символов. Если с портом все в порядке, можно приступать к непосредственно созданию нашей программы.
Запускаем LabView. В окне Getting Started выбираем пункт Blank Vi, тобишь новый виртуальный прибор.
Получаем вот такую штуку:
Итак что мы имеем. Рабочая область состоит из двух больших панелей Front Panel и Block Diagram. На лицевой панели мы будем составлять интерфейс нашей программы, используя элементы управления с панели Controls.
Эти элементы представляют собой привычные нам ручки переменных резисторов, светодиоды, кнопки, стрелочные приборы, экран осциллографа и т.п. Они служат для ввода информации в программу и отображения результатов выполнения. На панели Block Diagram распологается непосредственно программный код.
Тут надо немного отступить и пояснить принцип программирования на LabView. Небольшой пример. Принято работу над прогой начинать с оформления интерфейса, а затем реализации алгоритма работы на блок-диаграмме. Сделаем простейшую прогу умножения двух чисел.
Для этого разместим на лицевой панели путем перетаскивания три элемента управления, скажем элементы Knob и Numeric Indicator для отображения результата.
Сформируем интерфейс как душа пожелает, например вот так:
Ок, теперь нам необходимо реализовать собственно умножение. Переходим на панель Block diagram и видим что для каждого из наших контролов создался соответствующий значек. Лучше всего сразу перевести режим отображения в виде терминалов. Не будет так загромождаться диаграмма.
Кроме того в терминалах виден тип данных, которыми оперирует тот или иной контрол. Для этого щелкаем ПКМ по значку и снимаем галку View as icon. Вверху на скрине контрол в виде терминала, внизу и справа в виде иконки.
Для того чтобы настроить вид на блок-диаграмме в виде терминалов по умолчанию, нужно выбрать пункт меню Tools->Options, слева выбрать Block diagram и снять галку Place front panel terminals as icons. Очень полезно вывести контекстной справки. Вывести его можно комбинацией Ctrl+H.
В этом окошке отображается информация о объекте на котором в данный момент налодится курсор. Мега удобная вещь.
Теперь нужно добавить на блок-диаграмму функцию умножения. Щелкаем ПКМ на блок-диаграмме и из палитры Numeric выбираем функцию умножения Multiply. Преносим ее на диаграмму. Стоит заметить, что LabView имеет просто огромный набор функций. Это и различная математика, статистика, анализ сигналов, PID регулирование, обработка видео, звука и изображений. Всего не перечислишь.
Важнейшей концепцией программирования на LabView является концепция потоков данных DataFlow.
Суть такова: В отличие от императивных языков программирования, где операторы выполняются в порядке следования, в LabView функции работают только если на всех входах функции есть информация (каждая функция имеет входные и выходные значения).
Только тогда функция реализует свой алгоритм, а результат направляет на выход, который может быть использован другой функцией. Таким образом в пределах одного виртуального прибора функции могут работать независимо друг от друга.
Теперь, для того чтобы оживить наш примерчик, нам необходимо последовать этой концепции и подать на вход функции числовые значения, которые мы устанавливаем контролами, а с выхода получить результат и отобразить его.
Для соединения элементов на блок-диаграмме используется инструмент Connect Wire с панели Tools. Выбираем его и рисуем наши соединения.
Собственно все, можно запустить эту тупую программку на циклическое выполнение и покрутить ручки, наблюдая результат умножения.
Как видно, ничего сложного вроде бы нет. Но в то же время LabView позволяет решать задачи любой сложности! Епт, система управления БАК на нем сделана! Так то.
Ну а теперь займемся более интересными вещами, а именно сделаем наш простейший вольтметр, о котором я говорил в самом начале.
Итак, что нам необходимо сделать. Сначала нужно настроить и проинициализировать последовательный порт. Запустить бесконечный цикл . В цикле мы используем функцию чтения из порта и принимаем информацию. Преобразуем инфу для отображения на графике, пересчитываем код АЦП в значение напряжения в вольтах.
При выходе из цикла закрываем порт.
Так в интерфейсе нашей проги не будет никаких управляющих элементов кроме кнопки Стоп, а будет лишь отображение результата, мы поступим так: сначала создадим блок-диаграмму, а потом добавим недостающие элементы на лицевую панель.
Хотя делать нужно наоборот! Но в данном случае так удобнее.
На панели блок-диаграммы помещаем из палитры Structures элемент While Loop, это наш бесконечный цикл. Обводим рамкой цикла область, достаточную для размещения внутри алгоритма. В правом нижнем углу есть красная точка, щелкнем по ней ПКМ и выберем Create Control. На лицевой панели у нас тут же появится кнопка Stop. При щелчке на ней наша прога завершится.
Теперь вне цикла мы должны разместить функции инициализации и закрытия порта. Слева инициализация, справа закрытие. Опять же щелкаем ПКМ и выбираем функции Configure Port, Read и Close. Эти функции находятся в палитре Instrument I/O —> Serial. Функцию чтения помещаем внутрь цикла.
Соединяем с помощью катушки с проводами выходы и входы функций. Для функции Read мы должны задать количество байт, которая она будет принимать. Щелкаем ПКМ на среднем входе функции Read и выбираем Create->Constant, вводим значение, например 200.
На данном этапе должно получится как на скрине.
Нужно создать контролы для функции инициализации порта. Нам вполне хватит двух — скорость порта и имя порта. Точно так же как мы создавали константу для функции чтения, создаем контролы. ПКМ на нужных входах функции инициализации и пункт
Create->Control.
Нас интересуют два входа: Visa resourse name и Baud Rate (по умолчанию 9600). Таперь перейдем на лицевую панель и добавим необходимые компоненты, а именно экран отрисовки графика и метки для отображения кода АЦП и напряжения в вольтах.
Соответственно это элементы Waweform Chart c палитры Graph и два элемента Numeric Indicator с палитры Numeric.
Вернемся к блок-диаграмме и переместим появившиеся элементы внутрь цикла. Мы близимся к завершению! Единственное, нам нужно еще преобразовать строку символов, поступающих с выхода функции Read к формату, который переварят наши индикаторы. И еще реализовать простейшую математику по переводу кода АЦП в вольты. Ниже скрины лицевой панели и блок-диаграммы на данном этапе:
Для преобразования строки мы воспользуемся функцией Scan from string из палитры String. Помещаем ее внутрь цикла. Теперь математика.
Для того чтобы преобразовать код АЦП в значение напряжения в вольтах нужно умножить код на величину опорного напряжения (в моем случае это пять вольт) и получившееся значение разделить на 1023 (так как АЦП имеет разрядность 10 бит).
Необходимые функции умножения и деления, а также константы (5 и 1023) разместим в цикле. Скрины каждого соединения делать не буду, ибо и так картинок дофига. Приведу финальный скрин всех соединений. Там все предельно просто.
Я думаю все понятно, если будут вопросы спрашивайте в каментах. Вместе разберемся :-))) Тем временем прога готова.
Перейдем к нашему интерфейсу и немного настроим график. Выделим нижнее значение по оси Y и поставим 0. Выделем верхнее и поставим 5. Таким образом наша шкала по оси Y в диапазоне 0-5 вольт.
Ну что, выбираем COM порт, вводим скорость обмена, запускаем по кнопке со стрелкой нашу прогу и яростно крутим резистор на плате, невозбранно наблюдая при этом на экране результат нашего труда.
Щелкаем на кнопке Stop чтобы остановить прогу.
Как видите все достаточно просто. Данный пример это лишь мизерная часть всех возможностей LabView. Если кому поможет данная статья, буду рад. Только в коментах сильно не бейте я же не профи.
Еще один маленький трюк. Если диаграмма стала похожа на Ктулху, можно попробовать воспользоваться кнопкой CleanUp Diagram. Она приведет диаграмму в более-менее божеский вид, но пользоваться надо осторожно.
Вот результат ее работы
А еще можно куски объединять в функциональные блоки, чтобы они не загромождали схему.
Много книжек по LabView можно качнуть на automationlabs.ru
Bomond для Easyelectronics.ru
Источник: http://easyelectronics.ru/znakomimsya-s-labview.html
Подключаем Arduino к счетчику электроэнергии
Нет, эта статья не об очередном способе обмануть этот злосчастный прибор. Здесь пойдет речь о том, как с помощью Arduino и среды LabView превратить свой счетчик электроэнергии в средство мониторинга потребляемой мощности или даже в амперметр!
Самый первый счетчик электроэнергии был индукционным. Принцип его работы до смешного прост — по сути это электродвигатель, ротором которого является алюминиевый диск, вращающий циферблат. Чем больше потребляемый ток- тем быстрее крутится диск. Устройство чисто аналоговое.
Однако сегодня индукционные счетчики сдают свои позиции, уступая место своим более дешевым электронным собратьям. И как раз один такой и станет подопытным:
Принцип работы не сильно изменился — в данном случае диск заменен электроникой, которая генерирует импульсы в соответствии с величиной потребляемой электроэнергии. Как правило, в большинстве приборов эти импульсы показывает светодиодный индикатор.
Соответственно, чем быстрее мигает эта лампочка — тем больше сжигается драгоценных кВт.
Кроме того, на лицевой панели любого устройства есть передаточное соотношение счетчика А — число импульсов на 1 кВт*ч. Как видно из фото, у подопытного А=12800.
Из этой информации можно сделать следующие выводы:
— С каждым импульсом счетчик фиксирует потребление, равное 1/12800 части от 1 кВт*ч. Если включить к счетчику нагрузку и начать просто считать импульсы, то потом легко получить потребленное ею количество электроэнергии (кВт*ч), разделив количество импульсов на передаточное соотношение.
— Так как индикатор изменяет скорость своего моргания, то можно вывести зависимость между мощностью (кВт) и временем одного импульса счетчика, что позволит получить данные о мощности/токе.
Не будем загружать статью расчетами, но если нужно то
вот ониВоистину, передаточное число счетчика — великая вещь, так как зная ее можно выразить как мощность так и ток:
Составим пропорцию из нашего передаточного соотношения (А=12800 имп/кВт*ч) и неизвестного передаточного соотношения, которое будет при нагрузке X и за время одного единственного импульса (моргания лампочки):
Здесь X — неизвестная мощность, а t — время одного импульса. Выражаем отсюда неизвестную мощность и вот оно:
Ток считается с применением следующей пропорции передаточных соотношений и токов известных и неизвестных при нагрузке X.:
Что в общем-то приводит к идентичной формуле, но для тока (ток измеряется в Амперах а индексы означают нагрузку, при которой будет данный ток):
Тут можно заметить подводный камень — нужно знать ток при идеальной нагрузке в 1 кВт. Если необходима хорошая точность — лучше его измерить самостоятельно, а если нет- то приблизительно можно посчитать по формуле (напряжение и мощность известны), но будет более грубо, так как не учитывается коэффициент мощности.
Таким образом, все упирается в измерение времени одного импульса (моргания индикатора). В своих изысканиях я опирался на этот отличный проект. Некий итальянец сделал в среде Labview интерфейс для мониторинга мощности и придумал схему для измерения импульсов. Но в его проекте красовалась огромная недоработка — он подходил только лишь для счетчиков с передаточным соотношением 1000 имп/кВт*ч.
Верхний график — средняя мощность за 5 минут, нижний — в реальном времени. Интерфейс довольно гибкий и легко модифицируется под свои нужды. Если Вы еще не имели дела со средой LabView — рекомендую познакомиться.
Чтобы все заработало, оказалось достаточно внести один единственный блок в алгоритм программы, в соответствии с формулой выше.
Выглядит это следующим образом
Казалось бы просто, но до этого надо еще додуматься!
Итак, если Вы все-таки решите реализовать мониторинг мощности, то есть два варианта:
1. Ваш счетчик закрыт и запломбирован по самое не балуйся. А значит, считывать импульсы можно только с помощью фоторезистора, реагирующего на моргание лампочки. Его необходимо прикрепить синей изолентой напротив светодиодного индикатора на лицевой панели счетчика.
Схема будет выглядеть следующим образом:
Схема для бесконтактного снятия импульсов
Программа просто сравнивает значение сопротивления на фоторезисторе и потенциометре. Причем последний позволяет выставить чувствительность такого датчика во избежание ложного срабатывания и настроиться под яркость индикатора.
2. У Вас есть доступ к импульсному выходу счетчика. На многих моделях имеется импульсный выход, который дублирует мигания лапочки. Это сделано для того, чтобы была возможность подключать прибор к системе автоматизированного учета.
Представляет собой транзистор, открывающийся при горящем индикаторе и закрывающийся при погасшем. Подключиться напрямую к нему не составляет труда — для этого потребуется всего один подтягивающий резистор.
Однако прежде чем делать это, удостоверьтесь что это именно импульсный выход, а не что-либо иное! (в паспорте всегда есть схема)
Схема для подключения к телеметрическому выходу
В моем случае — доступ полный, поэтому заморачиваться я особо не стал. Устанавливаем LabView и вперед измерять! Все графики представляют собой мощность (Вт) в реальном времени.
Первым под раздачу попал многострадальный чайник.
Крышечка гласит что мощность у него 2,2 кВт, однако судя по графику, исправно потребляет лишь 1700 Вт. Обратите внимание, что потребление более-менее постоянно во времени.
Это означает что нагревательный элемент (скорее всего нихром) очень слабо изменяет свое сопротивление в течении всего процесса вскипячивания.
Совсем другое дело клеевой пистолет — заявленная мощность 20 Вт.Он ведет себя в соответствии с законами физики — при нагреве сопротивление нагревателя увеличивается, а ток соответственно уменьшается. Проверял мультиметром — все так и есть.
Старый радиоприемник «Весна». Здесь график ушел вверх в начале из-за того, что я запустил измерение во время импульса, соответственно это повлияло на данные. Горки на графике показывают, как я крутил ручку громкости. Чем громче — тем больше радио кушает.
Перфоратор с заявленной мощностью 700 Вт. Нажал на кнопку до упора, чуть чуть подождал и отпустил, но не плавно. На графике хорошо видно бросок тока при пуске двигателя. Именно поэтому моргает свет, когда добрый сосед начинает долбить свою любимую стену.
А теперь самое интересное. Я провел небольшой эксперимент со своим стареньким ноутбуком, результат которого приведен на картинке:
Оранжевой точкой отмечено время, когда я запустил сразу несколько «тяжелых» программ. Как видите, графики загрузки процессора и возросшее потребление имеют нечто общее между собой. Недавно была одна интересная статья которая наталкивает на некоторые мысли. Не уверен что с помощью мониторинга мощности можно слить ключи шифрования, однако факт налицо.
(Трепещите параноики!)
В общем, из обычного счетчика и дешевой Arduino, можно сделать довольно простое и интересное решение для самодельного «умного дома». Кроме, собственно, мониторинга потребления электроэнергии есть вполне неплохая возможность организовать систему контроля включенных приборов, которая по изменению потребления и его характеру будет угадывать что включили. Без каких-либо дополнительных датчиков.
Исходники скетча для Arduino и файл LabView можно скачать на странице автора. После установки доработать напильником добавить блок в соответствии с описанием выше.
Источник: http://www.pvsm.ru/arduino/71382
Разработка системы регистрации качества электроэнергии
РАЗРАБОТКА СИСТЕМЫ РЕГИСТРАЦИИ КАЧЕСТВА ЭЛЕКТРОЭНЕРГИИ
Муравлев Вячеслав Константинович
канд. физ.-мат. наук, зав.кафедрой приборостроения, доцент Карагандинского государственного технического университета, Республика Казахстан, г. Караганды
Мурзаханова Самал Жанатовна
м агистрант Карагандинского государственного технического университета, Республика Казахстан, г. Караганды
E-mail:
DEVELOPMENT OF POWER QUALITY REGISTRATION SYSTEM
Muravlev Vyacheslav
candidate of Physical and Mathematical Sciences , Head of Instrument Engineering department, assistant professor of Karaganda State Technical University, Republic of Kazakhstan, Karaganda
Murzakhanova Samal
undergraduate student of Karaganda State Technical University, Republic of Kazakhstan, Karaganda
АННОТАЦИЯ
Цель статьи заключается в разработке наиболее надежной, простой и удобной в использовании системы регистрации качества элеткроэнергии. В разработке системы предлагается использовать технологию виртуальных приборов.
Была разработана структурная схема системы и предложен вариант необходимого технического средства.
Внедрение данной системы обеспечит не только простой и надежный сбор и регистрацию данных, но и дает преимущество использования интуитивно понятного и мощного программного обеспечения (ПО) в сочетании с гибко настраиваемой модульной аппаратурой.
ABSTRACT
The purpose of my article is to develop the most reliable, simple and easy-to-use power quality registration system. The development of the system is proposed to use the technology of virtual instruments.
It was developed structural diagram of the system and offered the option of the necessary technical means.
Implementation of this system will provide not only a simple and reliable collection and recording of data, but also gives you the advantage of using an intuitive and powerful software in combination with the flexibility to customize the modular equipment.
Ключевые слова: система регистрации; электрическая энергия; качество электроэнергии; виртуальные приборы; сбор информации.
Keywords: registration system; electrical energy; power quality; virtual instruments; data acquisition.
В любых производственных процессах производится сбор и регистрация информации. Существуют различные методы и средства сбора и регистрации информации. Однако, проблема обеспечения высокого быстродействия, надежности и точности измерения всегда актуальна.
Выбору программно-аппаратного обеспечения так же отводится большая роль. За последние десятилетия появились усовершенствованные протоколы, контроллеры и технологии, что дает новые возможности в разработке систем сбора информации.
В данной статье предлагается проводить сбор и регистрацию информации, как качество электроэнергии.
Электрическая энергия в нынешнее время оценивается как товар, соответственно, как товар, используется во всех сферах жизнедеятельности человека, обладает совокупностью специфических свойств и характеристик.
Что касается качества данного товара, то качество электрической энергии — степень соответствия характеристик электрической энергии их установленным значениям.
В свою очередь, характеристика либо параметр электрической энергии — величина, которая количественно характеризует какое-либо свойство электрической энергии [2].
В связи с вышеуказанными актуальными проблемами, цель статьи заключается в разработке наиболее надежной, простой и удобной в использовании, пригодной для работы в лаборатории системы. Вопрос импортозамещения и финансовой выгодности так же немаловажен.
При разработке данной системы учитывались стандарты, связанные с нормированием показателей качества электроэнергии [1], а также общие технические требования к средствам измерений.
Начиная с 1 июля 2014 года в РФ сертификация электрической энергии проводиться на соответствие ГОСТ 32144-2013 [1].
Настоящий стандарт устанавливает показатели качества электрической энергии в точках передачи электрической энергии пользователям электрических сетей низкого, среднего и высокого напряжения систем электроснабжения общего назначения переменного тока частотой 50 Гц [1].
Разработанная система осуществляет автоматизированный контроль качества электроэнергии, сбор, регистрацию показателей качества электроэнергии. Структурная схема системы сбора информации о качестве электроэнергии приведена ниже.
Рисунок 1. Структурная схема системы регистрации и сбора: ИП — источник питания, Д — делитель напряжения, БСОИ — блок сбора и обработки информации, ПК — персональный компьютер
В состав технических средств системы входят делитель напряжения, блок сбора и обработки информации и персональный компьютер (ПК).
На вход делителя напряжения на резисторах поступает сигнал в виде напряжения. Для уменьшения значения входного (питающего) напряжения используют делитель напряжения на резисторах.
В нём, выходное напряжение зависит от значения входного (питающего) напряжения и значения сопротивления резисторов. В данном случае на вход делителя поступает напряжение 220 В.
Напряжение уменьшается до уровня (приблизительно до уровня входного напряжения АЦП — 10 В), необходимого для нормальной работы блока сбора и обработки информации.
В блоке сбора и обработки информации значения сигналов преобразуются в цифровые коды с помощью АЦП. В данном устройстве сигнал подвергается оцифровке с помощью встроенного 16-разрядного АЦП, а так же дополнительной обработке для последующей передачи на персональный компьютер.
Результаты измерений заносятся в энергонезависимую память. С помощью интерфейса USB осуществляется вывод результатов измерений на персональный компьютер.
С помощью специального программного обеспечения результаты в наглядном и удобном виде отображаются на монитор компьютера, где так же можно следить за изменениями и отклонениями от нормы показателей качества электроэнергии. персональном компьютере информация регистрируется и отображается на мониторе ПК.
С помощью программной среды, например как LabView, можно проводить контроль и мониторинг данных о качестве электроэнергии.
Программа устроена так, что с входных сигналов она определяет основные виды показателей качества электроэнергии, а так же отображает насколько изменяются текущие показатели от заданных норм. Нормы показателей, а так же их погрешности учтены в соответствии с госстандартами [1]. Кроме того, программное обеспечение позволит осуществить имитационную модель виртуального прибора.
В данной системе в качества блока сбора и обработки сигнала предлагается использовать мультифункциональное устройство сбора информации NI USB 6002. Рисунок приведен ниже.
Рисунок 2. NI USB 6002
NI USB-6002 — высокоскоростное USB устройство сбора данных, имеет восемь аналоговых входных каналов с 16 бит разрешения и 50 Кс / с частотой дискретизации, 13 цифровых линий ввода / вывода, один основной счетчик и два аналоговых выходных канала. Имеет легкий механический корпус и USB питание от шины для портативности. Поддерживает следующие языки программирования — ANSI C; C # .NET; VisualBasic .NET; и NI LabVIEW, LabWindows / CVI и MeasurementStudio [3].
Таблица 1.
Технические характеристики NI USB-6002
Параметр | Значение |
Количество аналоговых входов | 4(дифференциальный) |
Разрядность АЦП,бит | 16 |
Диапазон входного напряжения, В | |
Рабочее напряжение, В | |
Входной импеданс,ГОм | 1 |
Количество аналоговых выходов | 2 |
Выходной ток,мА | |
Выходное сопротивление,Ом | 0,2 |
Разрешение,бит | 32 |
Преимущества использования технологии виртуальных приборов (ВП) при разработке системы очевидны при решении многих задач автоматизации измерений.
Одним из важнейших преимуществ данной технологии является возможность синтеза различных приборов с использованием LabView и модульных приборов, что позволяет сэкономить место и траты на разработку тестовых систем.
В статье предложена система регистрации качества электроэнергии на основе платы сбора данных National Instruments, при помощи которой был произведен контроль качества электроэнергии на основе измерений основных показателей качества электроэнергии.
Кроме того, была разработана в соответствии с госстандартами структурная схема.
Внедрение данной системы обеспечит не только простой, надежный сбор и регистрацию данных, но и дает преимущество использования интуитивно понятного программного обеспечения (ПО) в сочетании с гибко настраиваемой модульной аппаратурой.
Программная составляющая определяет функциональность системы и позволяет настраивать и расширять возможности системы. Данная система дополняет ряд средств измерений показателей качества электроэнергии, которые отличаются своей простотой и удобностью в использовании, надежности.
В результате использования данной информационно-измерительной системы можно получить информацию об отклонениях от нормы и погрешностях основных показателей качества электроэнергии.
Анализируя полученные значения ПКЭ, можно сделать выводы в целом о всей системе энергоснабжения.
Это, в свою очередь, поможет предпринять правильные шаги по повышению качества электроэнергии, определений источников возникновения и распространения помех.
Список литературы :
1.ГОСТ 32144-2013. Электрическая энергия. Совместимость технических средств электромагнитная. Контроль и мониторинг качества электрической энергии в системах электроснабжения общего назначения [Текст]. Введ.2013-07-01. М.: Стандартинформ, 2014.
2.Качество электрической энергии // Википедия. — 2014. — [Электронный ресурс] — Режим доступа. — URL: http://ru.wikipedia.org/?oldid=65068891 (дата обращения: 26.08.2014).
Источник: https://sibac.info/node/41998?set_science=1
Возможность использования многоплатформенной среды LabVIEW для решения задач высоковольтной электроэнергетики
УДК 621. 311. 1
И. С. Шиханов, А. С. Карпов, В. В. Ярошевич
ВОЗМОЖНОСТЬ ИСПОЛЬЗОВАНИЯ МНОГОПЛАТФОРМЕННОЙ СРЕДЫ LABVIEW ДЛЯ РЕШЕНИЯ ЗАДАЧ ВЫСОКОВОЛЬТНОЙ ЭЛЕКТРОЭНЕРГЕТИКИ
Аннотация
Рассмотрена среда программирования LabVIEW, которая широко используется в промышленности, научно-исследовательских лабораториях и образовании различных профилей.
Показана перспектива ее использования в энергетике для моделирования процессов в высоковольтной сети.
С помощью нее реализована работающая модель участка сети, которая позволяет рассмотреть влияние новых потребителей еще до присоединения к сети, а также проанализировать реакцию воздействия уже подключенных потребителей на новых (и наоборот).
Ключевые слова:
программирование, моделирование участка сети, виртуальный прибор, генератор сигнала, панель управления, блок-диаграмма, параметры сети, электромагнитная совместимость, высоковольтная сеть, подстанция.
I. S. Shikhanov, A. S. Karpov, V. V. Yaroshevich
POSSIBILITY OF USING THE MULTIPLATFORM PROGRAMMING ENVIRONMENT LABVIEW FOR THE SOLUTION OF TASKS IN HIGH-VOLTAGE POWER INDUSTRY
Abstract
The article describes the programming environment LabVIEW which is widely used in the industry, research laboratories and in education of various profiles. We have showed the prospect of its use in power engineering for model operation of processes in a high-voltage network.
Using LabVIEW we have developed a working model of the network site which allows to see the influence of new consumers even before accession to a network is realized as well as to analyse reaction of influence of already connected consumers on the new ones (and vice versa).
Keywords:
programming, model operation of a network site, virtual instrument, signal generator, control panel, block-diagram, network parameters, electromagnetic compatibility, high-voltage network, substation.
Существуют различные среды программирования, отличающиеся друг от друга своими функциями, графической оболочкой и конкретной направленностью.
Одной из таких сред является Laboratory Virtual Instrumentation Engineering Workbench (сокращенно LabVIEW).
Работа в ней осуществляется при помощи графического интерфейса, который облегчает программирование до соединения различных функциональных блоков, структур и виртуальных приборов (ВП; рис.1).
LabVIEW представляет собой среду графического программирования, которая широко используется в промышленности, образовании и научно-исследовательских лабораториях в качестве стандартного инструмента для сбора данных и управления приборами. Она является мощной, гибкой и многоплатформенной программной средой, которая применяется для проведения измерений и анализа полученных данных [1]. LabVIEW можно использовать на различных операционных системах (ОС): Windows,
MacOS, Linux, Solaris и HP-UX. Процесс создания ВП в данной среде является удобным и интуитивно понятным, что значительно ускоряет и упрощает разработку и применение программ.
Рис. 1. Визуальное представление оболочки LabVIEW
Компания «National Instruments» (NI) была основана в 1976 г. в г. Остин (штат Техас) Джеймсом Тручардом (James Truchard), Джеффом Кодоски (Jeff Kodosky) и Биллом Новлиным (Bill Nowlin).
Через 10 лет после создания NI была выпущена первая версия среды программирования LabVIEW, но только для AppleMacintosh. Вскоре, в 1993 г., вышла кроссплатформенная версия данной среды, включающая в себя ОС Windows.
Было выпущено множество модификаций, и дальнейшее описание и моделирование производились в версии LabVIEW 2015.
Концепция LabVIEW включает в себя весь набор инструментов, необходимых для сбора данных, их анализа и представления полученных результатов. С помощью графического языка программирования LabVIEW, именуемого G (Джей), можно программировать вашу задачу из графической блок-диаграммы, которая компилирует алгоритм, в машинный код [1].
Также преимуществом данной среды программирования является то, что у компании «National Instruments» имеется большой контингент уже готового физического оборудования для различных задач, которые облегчат исследования или мониторинг определенных процессов.
Преимуществом данного оборудования является то, что оно корректно взаимодействует со средой программирования LabVIEW. Однако можно использовать и любое другое оборудование, не относящейся к компании «National Instruments», но которое имеет стандартизированный интерфейс (порт) передачи данных, такой как COM, Ethernet и др. [2].
Для облегчения соединения стороннего оборудования с ПК (на базе ОС Windows) вместе с LabVIEW идет модуль
Measurement & Automation Explorer (MAX) [3], с помощью которого можно настраивать подключение и тестировать правильность работы конкретного оборудования, проверять и устанавливать необходимое ПО для прибора. Также с помощью данной утилиты можно производить настраиваемые измерения определенными приборами от компании NI без использования при этом среды программирования LabVIEW.
Важнейшим плюсом LabVIEW является то, что можно создать ВП, который будет обладать такими же функциями, что и физический прибор.
Например, зная, что нужное нам оборудование собирает данные, которые представлены в виде сигналов, можно сымитировать этот процесс, создав программу, которая будет генерировать сигналы с нужными параметрами (частоты, амплитуды, смещения и т. д.).
И на основе этого можно разработать программу для обработки этих сигналов, которая в дальнейшем подойдет и к физическому оборудованию.
Например, возьмем действующую трансформаторную подстанцию и предположим, что к ней хотят присоединить конкретного потребителя, у которого известно достаточно параметров, чтобы оценить его вклад, а именно его:
– гармонические составляющие (в соответствии с ГОСТ 32144-2013 [4] минимум до 2 кГц);
– уровни потребления (величина тока и характер его изменения) [5-10];
– специфика нагрузки (активная/реактивная; источник/потребитель реактивной энергии [11-17]).
Чтобы оценить воздействие потребителя на выбранную сеть, достаточно создать ВП с регулировкой выше перечисленных параметров, изменение которых отразятся на графиках сигналов.
На первом этапе моделирования нужно понять, из скольких виртуальных подприборов будет состоять конечный результат, которым является модель участка сети.
Во-первых, сеть будет трехфазная, следовательно, будет состоять из фазы А, В и С, которые будут смещены друг относительно друга на 120 градусов.
Во-вторых, такие параметры, как частота выборок, частота дискретизации, частота сигнала, напряжение, угол фи, значения гармонических составляющих, ток потребления – могут регулироваться пользователем, в зависимости от объекта исследования.
В-третьих, результат должен выводиться в виде имитации движения трехфазных сигналов для напряжения и для тока, а для их более детального осмотра следует создать возможность замедления и остановки осциллограммы. И, в-четвертых, необходимо вывести амплитудные и мгновенные значения напряжений и токов, чтобы оценить воздействие различных параметров.
В среде программирования LabVIEW присутствует функция создания подпрограмм, позволяющая из простых или готовых комплектующих создавать более сложные программы, которые в дальнейшем можно использовать как составную часть в следующем ВП. Данная функция значительно облегчает процесс написания многосоставной программы.
В LabVIEW есть огромное количество различных готовых подприборов, такие как генерация осциллограмм различных сигналов с регулировкой определенных параметров, готовые функции сбора данных, анализаторы различных сигналов и многое другое.
Отличительной особенностью LabVIEW является то, что все эти виртуальные подприборы не являются эталонными и могут быть изменены в зависимости от поставленных задач.
Например, для создания трехфазного генератора сигналов потребуется генератор фазы А, фазы В и фазы С. Можно его построить как единое целое, что значительно усложнит и удлинит процесс. А можно создать однофазный генератор с возможностью изменения параметров сдвига угла фазы, а затем эти три сигнала поместить на один график. Созданный ВПП показан на рис.2.
Рис. 2. Виртуальный подприбор «Генератор А»
Панель управления данного подприбора изображена на рис.3, в ней изначально задаются параметры кластера «Исходные данные фазы А», а в дальнейшем во время работы программы можно менять значения частоты и напряжения, а числовой контроллер<\p>
Источник: https://cyberleninka.ru/article/n/vozmozhnost-ispolzovaniya-mnogoplatformennoy-sredy-labview-dlya-resheniya-zadach-vysokovoltnoy-elektroenergetiki
Программный комплекс LabVIEW
Источник: http://www.automationlabs.ru/index.php/ni/141—labview
Adblockdetector