Смекни!
smekni.com

Среда разработки и платформа для выполнения программ LabVIEW (стр. 1 из 3)

Теоретические основы

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

LabVIEW используется в системах сбора и обработки данных, а также для управления техническими объектами и технологическими процессами. Идеологически LabVIEW очень близка к SCADA-системам, но в отличие от них в большей степени ориентирована на решение задач не столько в области АСУ ТП, сколько в области АСНИ.

Программирование, основанное на потоках данных

Графический язык программирования «G», используемый в LabVIEW, основан на архитектуре потоков данных. Последовательность выполнения операторов в таких языках определяется не порядком их следования (как в императивных языках программирования), а наличием данных на входах этих операторов. Операторы, не связанные по данным, выполняются параллельно в произвольном порядке.

В основе программирования в LabVIEW лежит понятие Виртуальных приборов (Virtual Instruments, VI). На лицевой панели, как и положено, располагаются элементы управления программой — кнопки, графики, выключатели и тому подобное. Блок-схема — это, по сути, и есть сама программа. При написании (а вернее создании, потому что писать приходится не так уж и много) программы используется такое понятие, как «поток данных» (Data Flow). Суть его в том, что все элементы программы (которые представлены графически) связываются между собой связями (проводами, нитками) по которым и происходит передача данных. В общем, описать это довольно сложно, лучше посмотреть на картинку, рис.1.

Рис. 1. Простейший прибор.

Цифрами обозначены:

· 1- точки, элементы программы (Nodes);

· 2 - терминалы индикаторов (Indicator Terminals);

· 3 - связи (Wires);

· 4 - терминалы управляющих элементов (Control Terminals)

Итак, в LabVIEW вы создаете пользовательский интерфейс (лицевую панель), с управляющими элементами и индикаторами. Управляющие элементы — это тумблеры, кнопки, поля ввода и прочие устройства ввода. Индикаторы — это графики, шкалы, лампочки, текстовые поля и тому подобное. После создания пользовательского интерфейса, вы добавляете программный код, который управляет объектами на лицевой панели. Этот код содержится в схеме (block diagram). Этот код чем-то напоминает собой блок-схему, хотя отличий много.

LabVIEW можно использовать для того, чтобы управлять различным оборудованием, таким, как, устройства сбора данных, различные датчики, устройства наблюдения, двигательные устройства (например, шаговые моторы) и тому подобное, а так же GPIB, PXI, VXI, RS-232 b RS-484 устройства. Также в LabVIEW имеются встроенные средства для подключения созданных программ к сети, используя LabVIEW Web Server и различные стандартные протоколы и средства, такие как TCP/IP и ActiveX.

Используя LabVIEW, можно создавать приложения для тестирования и измерений, сбора данных, управления различными внешними устройствами, генерации отчетов. Так же можно создать независимые исполняемые файлы и библиотеки функций, такие как DLL, так как LabVIEW — это полноценный 32-битный компилятор.

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

· полноценный язык программирования;

· интуитивно понятный процесс графического программирования;

· широкие возможности сбора, обработки и анализа данных, управления приборами, генерации отчетов и обмена данных через сетевые интерфейсы;

· драйверная поддержка более 2000 приборов;

· возможности интерактивной генерации кода;

· шаблоны приложений, тысячи примеров;

· высокая скорость выполнения откомпилированных программ;

· совместимость с операционными системами Windows2000/NT/XP, Mac OS X, Linux и Solaris.

LabVIEW поддерживает огромный спектр оборудования различных производителей и имеет в своём составе (либо позволяет добавлять к базовому пакету) многочисленные библиотеки компонентов:

· для подключения внешнего оборудования по наиболее распространённым интерфейсам и протоколам (RS-232, GPIB 488, TCP/IP и пр.);

· для удалённого управления ходом эксперимента;

· для управления роботами и системами машинного зрения;

· для генерации и цифровой обработки сигналов;

· для применения разнообразных математических методов обработки данных;

· для визуализации данных и результатов их обработки (включая 3D-модели);

· для моделирования сложных систем;

· для хранения информации в базах данных и генерации отчетов;

· для взаимодействия с другими приложениями в рамках концепции COM/DCOM/OLE и пр.

Вместе с тем LabVIEW — очень простая и интуитивно понятная система. Неискушённый пользователь, не являясь программистом, за сравнительно короткое время (от нескольких минут до нескольких часов) способен создать сложную программу для сбора данных и управления объектами, обладающую красивым и удобным человеко-машинным интерфейсом. Например, средствами LabVIEW можно быстро превратить старый компьютер, снабжённый звуковой картой, в мощную измерительную лабораторию.

Специальный компонент LabVIEW — Application Builder, позволяет выполнять LabVIEW-программы на тех компьютерах, на которых не установлена полная среда разработки.

Интерфейс панелиLabVIEW и окно редактирования диаграмм

Запустите LabVIEW. В появившемся окне (рис.2) выберите пункт New>Blank VI.

Рис. 2. Окно запуска программы.

После выбора создания нового прибора раскрываются два окна: интерфейсная панель (Front Panel) (рис.3) и окно редактирования диаграмм (Block Diagram) (рис.4), которое по своей сути является программой в графическом виде.

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

Установленные на переднюю панель элементы управления и индикаторы, отображаются соответствующими иконками (терминалами) во втором окне – окне редактирования диаграмм. Т.е. каждому установленному элементу на интерфейсной панели соответствует иконка в окне редактирования. В этом окне и "пишется" программа - создается графический код VI. Удалив, например, управляющий элемент в интерфейсном окне, исчезнет и соответствующая иконка (терминал) в окне редактирования диаграмм.

Рис. 3. Интерфейсная панель.

Рис. 4. Окно редактирования диаграмм

Иконки или терминалы показывают тип данных элементов управления или индикаторов. Терминалы осуществляют связь между интерфейсной панелью и диаграммой.

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

Связи — это соединительные линии между иконками (терминалами). Они являются аналогом переменных в обычных языках программирования. Причем данные могут передаваться только в одном направлении - от терминала-источника к одному или нескольким терминалам-приемникам. Различный вид и цвет соединений соответствует различным типам передаваемых данных. Неправильная связь терминалов или незаконченное соединение изображается штриховой линией.

Структуры - это графическое представление циклов и операторов выбора в тексториентированных языках программирования. Терминалы, функции, связи и структуры - это весь синтаксис языка программирования LabVIEW.

Линейка инструментов. Оба окна, как интерфейсное, так и окно редактирования диаграмм имеют линейки инструментов, которые содержат служебные кнопки и индикаторы состояния, предназначенные для контроля Виртуальных Инструментов. Одна из линеек инструментов всегда доступна, и ее вид зависит от того, в каком окне Вы находитесь. Линейка инструментов интерфейсного окна содержит 8 кнопок, рис. 5.

Рис. 5. Линейка инструментов интерфейсного окна


· 1 - кнопка запуска программы на выполнение, пока приложение выполняется, значок меняет свой внешний вид;

· 2 - кнопка запуска программы на выполнение в циклическом режиме, пока приложение выполняется, значок меняет свой внешний вид;

· 3 - когда приложение запущено, эта кнопка находится в активном состоянии, используйте ее для прекращения выполнения программы;

· 4 - кнопка "ПАУЗА" приостанавливает исполнение программы до последующего нажатия на эту же кнопку;

· 5 - выпадающее меню редактирования свойств шрифта: тип, размер, стиль и цвет;

· 6 - выпадающие меню, позволяющие осуществлять выравнивание и позиционирование объектов, распределять графические объекты передней панели VI.

· 7 - если вы устанавливаете объект поверх другого объекта, то нижний объект может быть перекрыт и недоступен, используйте это выпадающее меню размещения объекта поверх или под желаемым.

Если приложение не может быть запущено на выполнение по какой-либо причине, то линейка инструментов примет следующий вид:

Рис. 6. Линейка инструментов – программа не может быть запущена

Линейка инструментов окна редактирования диаграмм имеет такие же кнопки, как и интерфейсная панель, плюс свои собственные, предназначенные для отладки (debugging) программы, рис. 7: