Мониторинг электроэнергии на labview

Знакомимся с 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

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}
");let k=document.querySelector(".flat_pm_modal[data-id-modal=\""+a.ID+"\"]");if(-1===d.indexOf("go"+"oglesyndication")?flatPM_setHTML(k,d):jQuery(k).html(b+d),"px"==a.how.popup.px_s)e.bind(h,()=>{e.scrollTop()>a.how.popup.after&&(e.unbind(h),f.unbind(i),j())}),void 0!==a.how.popup.close_window&&"true"==a.how.popup.close_window&&f.bind(i,()=>{e.unbind(h),f.unbind(i),j()});else{let b=setTimeout(()=>{f.unbind(i),j()},1e3*a.how.popup.after);void 0!==a.how.popup.close_window&&"true"==a.how.popup.close_window&&f.bind(i,()=>{clearTimeout(b),f.unbind(i),j()})}f.on("click",".flat_pm_modal .flat_pm_crs",()=>{jQuery.arcticmodal("close")})}if(void 0!==a.how.outgoing){let b,c="0"==a.how.outgoing.indent?"":" style=\"bottom:"+a.how.outgoing.indent+"px\"",e="true"==a.how.outgoing.cross?"":"",f=jQuery(window),g="scroll.out"+a.ID,h=void 0===flatPM_getCookie("flat_out_"+a.ID+"_mb")||"false"!=flatPM_getCookie("flat_out_"+a.ID+"_mb"),i=document.createElement("div"),j=jQuery("body"),k=()=>{void 0!==a.how.outgoing.cookie&&"false"==a.how.outgoing.cookie&&h&&(jQuery(".flat_pm_out[data-id-out=\""+a.ID+"\"]").addClass("show"),j.on("click",".flat_pm_out[data-id-out=\""+a.ID+"\"] .flat_pm_crs",function(){flatPM_setCookie("flat_out_"+a.ID+"_mb",!1)})),(void 0===a.how.outgoing.cookie||"false"!=a.how.outgoing.cookie)&&jQuery(".flat_pm_out[data-id-out=\""+a.ID+"\"]").addClass("show")};switch(a.how.outgoing.whence){case"1":b="top";break;case"2":b="bottom";break;case"3":b="left";break;case"4":b="right";}jQuery("body > *").eq(0).before("
"+e+"
");let m=document.querySelector(".flat_pm_out[data-id-out=\""+a.ID+"\"]");-1===d.indexOf("go"+"oglesyndication")?flatPM_setHTML(m,d):jQuery(m).html(e+d),"px"==a.how.outgoing.px_s?f.bind(g,()=>{f.scrollTop()>a.how.outgoing.after&&(f.unbind(g),k())}):setTimeout(()=>{k()},1e3*a.how.outgoing.after),j.on("click",".flat_pm_out .flat_pm_crs",function(){jQuery(this).parent().removeClass("show").addClass("closed")})}countMode&&(flat_count["block_"+a.ID]={},flat_count["block_"+a.ID].count=1,flat_count["block_"+a.ID].click=0,flat_count["block_"+a.ID].id=a.ID)}catch(a){console.warn(a)}}function flatPM_start(){let a=flat_pm_arr.length;if(0==a)return flat_pm_arr=[],void jQuery(".flat_pm_start, .flat_pm_end").remove();flat_body=flat_body||jQuery("body"),!flat_counter&&countMode&&(flat_counter=!0,flat_body.on("click","[data-flat-id]",function(){let a=jQuery(this),b=a.attr("data-flat-id");flat_count["block_"+b].click++}),flat_body.on("mouseenter","[data-flat-id] iframe",function(){let a=jQuery(this),b=a.closest("[data-flat-id]").attr("data-flat-id");flat_iframe=b}).on("mouseleave","[data-flat-id] iframe",function(){flat_iframe=-1}),jQuery(window).on("beforeunload",()=>{jQuery.isEmptyObject(flat_count)||jQuery.ajax({async:!1,type:"POST",url:ajaxUrlFlatPM,dataType:"json",data:{action:"flat_pm_ajax",data_me:{method:"flat_pm_block_counter",arr:flat_count}}})}).on("blur",()=>{-1!=flat_iframe&&flat_count["block_"+flat_iframe].click++})),flat_userVars.init();for(let b=0;bflat_userVars.textlen||void 0!==a.chapter_sub&&a.chapter_subflat_userVars.titlelen||void 0!==a.title_sub&&a.title_subc&&cc&&c>d&&(b=flatPM_addDays(b,-1)),b>e||cd||c-1!=flat_userVars.referer.indexOf(a))||void 0!==a.referer.referer_disabled&&-1!=a.referer.referer_disabled.findIndex(a=>-1!=flat_userVars.referer.indexOf(a)))&&(c=!0),c||void 0===a.browser||(void 0===a.browser.browser_enabled||-1!=a.browser.browser_enabled.indexOf(flat_userVars.browser))&&(void 0===a.browser.browser_disabled||-1==a.browser.browser_disabled.indexOf(flat_userVars.browser)))){if(c&&void 0!==a.browser&&void 0!==a.browser.browser_enabled&&-1!=a.browser.browser_enabled.indexOf(flat_userVars.browser)&&(c=!1),!c&&(void 0!==a.geo||void 0!==a.role)&&(""==flat_userVars.ccode||""==flat_userVars.country||""==flat_userVars.city||""==flat_userVars.role)){flat_pm_then.push(a),flatPM_setWrap(a),flat_body.hasClass("flat_pm_block_geo_role")||(flat_body.addClass("flat_pm_block_geo_role"),flatPM_ajax("flat_pm_block_geo_role")),c=!0}c||(flatPM_setWrap(a),flatPM_next(a))}}}let b=jQuery(".flatPM_sticky");b.each(function(){let a=jQuery(this),b=a.data("height")||350,c=a.data("top");a.wrap("
");let d=a.parent()[0];flatPM_sticky(this,d,c)}),debugMode||countMode||jQuery("[data-flat-id]:not([data-id-out]):not([data-id-modal])").contents().unwrap(),flat_pm_arr=[],jQuery(".flat_pm_start, .flat_pm_end").remove()}

LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) — это среда разработки и платформа для выполнения программ, созданных на графическом языке программирования «G» фирмы National Instruments (США). Первая версия LabVIEW была выпущена в 1986 году для Apple Macintosh, в настоящее существуют версии для UNIX, GNU/Linux, Mac OS и пр., а наиболее развитыми и популярными являются версии для Microsoft Windows.

LabVIEW используется в системах сбора и обработки данных, а также для управления техническими объектами и технологическими процессами.

Достоинства LabVIEW

  • Полноценный язык программирования
  • Интуитивно понятный процесс графического программирования
  • Широкие возможности сбора, обработки и анализа данных, управления приборами, генерации отчетов и обмена данных через сетевые интерфейсы
  • Драйверная поддержка более 2000 приборов
  • Возможности интерактивной генерации кода
  • Шаблоны приложений, тысячи примеров
  • Высокая скорость выполнения откомпилированных программ
  • Совместимость с операционными системами Windows2000/NT/XP, Mac OS X, Linux и Solaris.
  • Автомобильная промышленность
  • Телекоммуникации
  • Аэрокосмическая промышленность
  • Полупроводниковая промышленность
  • Разработка и производство электроники
  • Управленией технологическими процессами
  • Биомедицина

Версии программного обеспечения

Base Package представляет собой минимальную комплектацию LabVIEW. Он используется для создания стандартных приложений сбора, анализа и отображения данных, а также управления приборами.

LabVIEW Full Development System. Полный комплект LabVIEW Full Development

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

Этот комплект содержит все функции базового пакета LabVIEW Base Package плюс библиотеку анализа, содержащую более 400 математических функций, а также дополнительные средства разработки измерительных систем, событийно-управляемого программирования и дополнительные средства создания пользовательского интерфейса.

LabVIEW Professional Development System. Профессиональный комплект разработчика LabVIEW

Professional Development System включает все функции комплекта LabVIEW Full Development System, а также дополнительные инструменты для создания сложных приложений командой разработчиков и для пользователей, работающих с большим количеством ВП.

Для создания отдельно исполняемых файлов и библиотек DLL в пакет входит программа LabVIEW Application Builder. Управление исходными кодами, комплексные измерительные средства и графическое дифференцирование служат для отладки, оптимизации и контроля качества приложения.

В комплект также включены пять лицензий на удаленное управление приложениями с помощью стандартного Интернет-браузера.

Дополнительные модули и тулкиты к LabVIEW

LabVIEW FPGA Module (модуль для программирования ПЛИС)

Создание LabVIEW приложений для ПЛИС, запускаемых на реконфигурируемых системах ввода/вывода сигналов компании NI Высокоскоростное, детерминированное аппаратное исполнение блок-диаграмм с периодом исполнения циклов до 25 нс Параллельное исполнение нескольких задач

LabVIEW Embedded Development Module (модуль для программирования встраиваемых микропроцессоров)

Высокоуровневое графическое программирование Свыше 400 встроенных функций численного анализа и обработки сигналов Интерактивные средства отладки приложений Поддержка OCDI (on-chip debug interface) Генерация C кодов для интеграции со средствами разработки приложений производителей микропроцессров

LabVIEW DSP Module (программирование сигнальных процессоров NI SPEEDY-33 и TI DSK)

Сотни встроенных функций для работы с сигнальными процессорами Экспресс ВП для ускорения процесса разработки приложений Работа с тремя типами сигнальных процессоров Поддержка цифровых фильтров Разработка автономных приложений

LabVIEW PDA Module (модуль для программирования КПК)

Разработка приложений для КПК (Palm OS и Microsoft Pocket PC 2003) с использованием LabVIEW Поддержка CompactFlash или PCMCIA устройств сбора данных, цифровых мультиметров и устройств CAN Обмен данными по протоколам Bluetooth, Wi-Fi, IrDA, RS232

LabVIEW Vision Development Module (модуль технического зрения)

Измерение расстояний и углов Высокоуровневые функции машинного зрения и обработки видеоизображений Обработка черно-белых, цветных и бинарных изображений Высокоскоростной поиск по шаблону Потоковая запись на диск с поддержкой формата AVI

LabVIEW Datalogging and Supervisory Control Module (модуль АСУТП)

Регистрация данных Встроенные средства безопасности Обработка тревог и регистрация событий OPC соединения

Digital Filter Design Toolkit
Разработка цифровых фильтров.

LabVIEW Sound and Vibration Toolkit
Дробный октавный анализ в соответствии со стандартами ANSI и IEC; измерение уровней; весовые коэффициенты A, B, C; калибровка; другие средства анализа виброакустических сигналов.

LabVIEW Order Analysis Toolkit
Порядковый анализ.

LabVIEW Signal Processing Toolset
Современные алгоритмы анализа и выявления характеристик реальных сигналов; компоненты для разработки цифровых фильтров и спектрального анализа высокого разрешения, основанного на моделях.

Modulation Toolkit
Модуляция и демодуляция аналоговых и цифровых сигналов (амплитудная, частотная, фазовая и т.п.).

Spectral Measurement Toolkit
Спектральный анализ сигналов; анализ сигналов в полосе частот.

Vision and Image Processing Обработка изображений; распознавание образов; распознавание текста; поиск объектов.

Средства профессиональной разработки приложений

LabVIEW Execution Trace Toolkit
Для LabVIEW Real-Time; создание лог-файлов работы приложения реального времени; детальная визуализация работы потоков и виртуальных приборов; измерение времени исполнения кода с наносекундной точностью; слежение за выделением и резервированием памяти, наличием конфликтов доступа к ресурсам.

LabVIEW Express VI Development Toolkit
Создание Экспресс ВП.

LabVIEW State Diagram Toolkit
Автоматическое создание кода LabVIEW по диаграмме, определяющей логику работы приложения.

LabVIEW VI Analyzer Toolkit
Улучшение качества кода за счет анализа режимов его работы с последующей генерацией отчета.

Расширение возможностей LabVIEW

Application Builder
Создание исполнимых файлов ЕХЕ; создание динамически загружаемых библиотек DLL.

Remote Panels
Удаленное управление приложениями LabVIEW из окна web-браузера.

LabVIEW Internet Development Toolkit
Разработка интернет приложений; XML, FTP, CGI, SMTP.

Motion Control
Разработка систем управлени двигателями; поддержка шаговых и серво-приводов.

Средства обмена данными с продуктами других производителей

LabVIEW Report Generation Toolkit for Microsoft Office
Простота создания и форматирования отчетов для Microsoft Word и Excel; простые в использовании ВП и большое количество примеров отчетов.

LabVIEW Database Connectivity Toolset
Взаимодействие с базами данных.

Math Interface Toolkit
Интеграция LabVIEW и Mathlab®; конвертация ВП LabVIEW в MEX функции Mathlab®.

LabVIEW Enterprise Connectivity Toolset
Взаимодействие LabVIEW c локальными и удаленными базами данных; расширенные Интернет возможности для LabVIEW приложений; SPC средства для приложений мониторинга процессов.

LabVIEW Simulation Interface Toolkit
Быстрое создание прототипов контроллеров и систем полного аппаратно-программного тестирования на базе моделей The MathWorks Simulink®; просмотр и управление данными в графическом режиме в Simulink с помощью запатентованной технологии LabVIEW.

IVI Driver Toolkit
Разработка IVI драйверов для приборов; симуляция приборов.

NI Industrial Automation OPC Servers
Создание интерфейсов для ПЛК и промышленных сетей Allen-Bradley, Applicom, DeviceNet, Siemens, GE Fanuc, Koyo, Mitsubishi, Modbus, Omron, Optomux, PROFIBUS.

Средства моделирования и разрботки систем управления

System Identification Toolkit
Разработка моделей систем на основе измерения реальных сигналов отклика при внешнем воздействии; интеграция со средствами разработки систем управления и моделирования.

Control Design Toolkit
Интерактивная разработка систем управления; разработка моделей в пространстве состояний, с использованием передаточных функций, и на основе задания нулей и полюсов; интеграция с LabVIEW Simulation Module; анализ устойчивости.

Simulation Module
Разработка моделей динамических систем и контроллеров; внедрение моделей в аппартные системы управления реального времени; моделирование линейных, нелинейных и дискретных систем; поддержка моделей созданных в The MathWorks, Inc. Simulink®.

LabVIEW Simulation Interface Toolkit
Быстрое создание прототипов контроллеров и систем полного аппаратно-программного тестирования на базе моделей The MathWorks Simulink®; просмотр и управление данными в графическом режиме в Simulink с помощью запатентованной технологии LabVIEW.

LabVIEW State Diagram Toolkit
Автоматическое создание кода LabVIEW по диаграмме, определяющей логику работы приложения.

LabVIEW PID Control Toolset
ПИД регулирование; разработка систем управления на основе нечеткой логики.